fix(plugins): sync all 171 plugin SKILL.md files with fixed skills/ versions
Propagates Anti-Patterns sections, description rewrites, Required Inputs additions, and Quality Checks format fixes from skills/ to matching plugin SKILL.md copies. https://claude.ai/code/session_01MuGKn3a3Gbqoe8uM5Lmuqt
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: ai-ethics-review
|
||||
description: "Conduct an ethical review of an AI or ML feature, model, or product. Use when asked to run an AI ethics review, assess AI risks, audit a model for bias, or produce an AI impact assessment. Produces a structured ethics review covering fairness, transparency, privacy, safety, accountability, and societal impact with prioritised mitigations."
|
||||
description: "Conduct a structured ethical review of an AI or ML feature, model, or product. Use when preparing to deploy an AI system, assessing algorithmic risk, auditing a model for bias, or producing a responsible AI impact assessment. Produces a structured ethics review covering fairness, transparency, privacy, safety, accountability, and societal impact with a risk tier score, pre-deployment checklist, and prioritised mitigations."
|
||||
---
|
||||
|
||||
# AI Ethics Review Skill
|
||||
@@ -198,6 +198,14 @@ Ask the user for these if not provided:
|
||||
- [ ] Accountability section names real people, not teams or roles
|
||||
- [ ] Mitigations are specific and time-bound — not "monitor and review"
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not limit the affected-population analysis to users of the product — AI that makes decisions about people (hiring, credit, content moderation) affects non-users who have no opt-out
|
||||
- [ ] Do not accept "we will monitor" as a mitigation without specifying what is monitored, at what threshold, and who acts
|
||||
- [ ] Do not assign fairness analysis to the model team alone — protected characteristic analysis requires input from legal, HR, or a subject-matter expert
|
||||
- [ ] Do not defer the DPIA to post-launch — for high-risk tier systems, a DPIA is a pre-requisite for lawful deployment under GDPR
|
||||
- [ ] Do not conflate statistical accuracy with fairness — a model can be 95% accurate overall while performing significantly worse for a protected group
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Run an AI ethics review for [feature]"
|
||||
|
||||
@@ -152,6 +152,14 @@ Ask the user for these if not provided:
|
||||
- **Available data** (what training/inference data exists)
|
||||
- **ML/AI lead** (who owns the technical implementation)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not skip the "Why AI?" question — if the answer is "we want to use AI," stop and reframe around the user problem first
|
||||
- [ ] Do not launch with an undefined accuracy threshold — "good enough" is not a threshold; set a number before build begins
|
||||
- [ ] Do not design the UX to hide AI-generated output as if it were system truth — users need to know when AI is involved so they can override it
|
||||
- [ ] Do not defer the Responsible AI checklist to post-launch — bias and privacy issues are far harder to fix in production than in design
|
||||
- [ ] Do not treat model latency as a post-launch optimisation — a 6-second AI response that replaces a 1-second rule-based response is a regression, not a feature
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] "Why AI?" is answered clearly (not "because we can")
|
||||
|
||||
@@ -73,3 +73,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Success criteria are measurable or observable (not "looks good")
|
||||
- [ ] Out-of-scope section names at least one thing that might seem in scope but isn't
|
||||
- [ ] Technical constraints are specific enough for an engineer to confirm
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write the user goal in feature language ("design the checkout flow") — it must be written from the user's perspective with a motivation and outcome
|
||||
- [ ] Do not skip the "Explicitly Out of Scope" section — without it, designers will inadvertently solve problems not intended for this iteration
|
||||
- [ ] Do not list edge cases that are so generic they apply to any feature (e.g. "handle errors") — each edge case must be specific to this feature's failure modes
|
||||
- [ ] Do not hand off the brief without confirming engineering constraints are accurate — a constraint that is wrong is worse than no constraint
|
||||
- [ ] Do not omit the emotional context of the user — designs without emotional grounding produce technically correct but experientially flat results
|
||||
|
||||
@@ -67,3 +67,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Test was not stopped early (or flagged clearly if it was)
|
||||
- [ ] Practical significance assessed separately from statistical significance
|
||||
- [ ] Sample ratio mismatch is checked in results interpretation
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not define success criteria after seeing preliminary results — post-hoc success definitions are HARKing (Hypothesising After Results are Known) and invalidate the experiment
|
||||
- [ ] Do not stop a test early because the result looks significant — early stopping dramatically inflates false positive rates; the test must run to the planned sample size
|
||||
- [ ] Do not treat statistical significance as the same as practical significance — a p < 0.05 result with a 0.1% lift is real but may not be worth shipping
|
||||
- [ ] Do not run the same experiment on the same population multiple times without correction — multiple testing inflates the chance of a false positive proportionally
|
||||
- [ ] Do not use more than one primary metric — multiple primary metrics require multiple hypothesis corrections and make the ship/kill decision ambiguous
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: multi-source-signal-synthesiser
|
||||
description: "Synthesise user signals from multiple research sources into a unified insight brief, reconciling conflicting feedback. Use when asked to make sense of data from multiple sources, synthesise user research, reconcile conflicting feedback, or when the user says 'what are users really telling us' or 'make sense of all this user data'. Produces ranked insights with confidence ratings, divergent signal analysis, and research gap identification."
|
||||
description: "Synthesises user signals from multiple research sources into a unified, weighted insight brief. Use when you have data from interviews, support tickets, NPS verbatims, app reviews, or sales calls and need to reconcile contradictions, surface the underlying need behind requests, or answer 'what are users really telling us'. Produces ranked insights with confidence ratings, source weighting rationale, divergent signal analysis by user segment, and a research gap identification section."
|
||||
---
|
||||
|
||||
# Multi-Source Signal Synthesiser Skill
|
||||
@@ -60,3 +60,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Divergent signals identify the specific user segments, not just "some users disagree"
|
||||
- [ ] Confidence ratings are consistent with source diversity and weighting
|
||||
- [ ] "What the data does NOT tell us" section is honest about gaps
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not echo surface-level feature requests as insights — translate every request to the underlying need before including it as a finding
|
||||
- [ ] Do not assign High confidence to insights supported by only one source type — confidence requires corroboration across at least two distinct source types
|
||||
- [ ] Do not treat all sources as equally weighted — a single interview quote and a pattern across 200 support tickets are not comparable signals
|
||||
- [ ] Do not collapse divergent signals into a single finding — where user segments have genuinely different needs, name the segments explicitly rather than averaging them away
|
||||
- [ ] Do not omit the research gap section when key decisions rest on thin data — acting on low-confidence findings without flagging the gaps misleads product teams
|
||||
|
||||
@@ -117,6 +117,14 @@ Ask the user for these if not provided:
|
||||
- [ ] What the data cannot tell us is explicitly named
|
||||
- [ ] Recommended action includes an owner and timeline
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not present correlations as causation — always state the distinction explicitly
|
||||
- [ ] Do not report a metric movement without stating the time window and comparison baseline
|
||||
- [ ] Do not skip the "so what" — raw observations without recommended actions are incomplete analysis
|
||||
- [ ] Do not overstate confidence — label hypotheses clearly and note what data would be needed to confirm them
|
||||
- [ ] Do not ignore segment breakdowns — aggregate metrics can mask opposing trends in sub-segments
|
||||
|
||||
## Guidelines
|
||||
|
||||
- Always state what the data *cannot* tell you — never oversell confidence
|
||||
|
||||
@@ -57,3 +57,11 @@ Analyse across four layers:
|
||||
- [ ] Every flagged metric has a root cause hypothesis, not just "it dropped"
|
||||
- [ ] Observations are written for a non-technical stakeholder (no raw query language or data jargon)
|
||||
- [ ] Overall health rating is justified with specific evidence
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not report a single aggregate metric without segment breakdowns — averages hide opposing trends
|
||||
- [ ] Do not flag a metric as healthy just because it is above the target — check if the target itself is meaningful
|
||||
- [ ] Do not list metric movements without root cause hypotheses — observations without explanations are not analysis
|
||||
- [ ] Do not mix product health metrics with business KPIs without explaining the relationship between them
|
||||
- [ ] Do not omit recommended actions — a health report that only describes problems without prioritised next steps is incomplete
|
||||
|
||||
@@ -126,6 +126,14 @@ Ask the user for these if not provided:
|
||||
- [ ] Churned user interviews are recommended (not just data analysis)
|
||||
- [ ] Monitoring plan includes an alert threshold
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not recommend "improve onboarding" without specifying what specific step to change and why
|
||||
- [ ] Do not analyse retention without segmenting by cohort — aggregate retention curves hide cohort-specific patterns
|
||||
- [ ] Do not treat DAU/MAU below 5% as a retention problem — at that level, it is a product-market fit problem
|
||||
- [ ] Do not skip qualitative research — churned user interviews reveal reasons that quantitative data cannot
|
||||
- [ ] Do not set a monitoring alert without specifying the threshold that triggers it
|
||||
|
||||
## Guidelines
|
||||
|
||||
- Never recommend "improve onboarding" without specifying *what* to change and *why*
|
||||
|
||||
@@ -149,6 +149,14 @@ Ask the user for these if not provided:
|
||||
- [ ] Board asks are specific and actionable
|
||||
- [ ] Deck is ≤ 15 slides (excluding appendix)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not bury bad news after slides full of good news — boards lose trust when they discover problems were de-emphasised; lead with the honest narrative
|
||||
- [ ] Do not include slides without a "so what" — a chart that shows data without a takeaway wastes board time and signals the presenter hasn't done the analysis
|
||||
- [ ] Do not exceed 15 slides in the main deck — a longer deck usually means the presenter hasn't decided what matters most
|
||||
- [ ] Do not attend a board meeting without at least one specific ask — a board meeting with no asks is a missed opportunity to leverage the room
|
||||
- [ ] Do not report metrics without comparing them to plan or a prior period — a metric shown in isolation gives the board no basis for judgement
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Build a board deck structure for our Q[N] board meeting"
|
||||
|
||||
@@ -119,6 +119,14 @@ Hi [Investor names or "all"],
|
||||
- [ ] Total length is skimmable in 3–4 minutes
|
||||
- [ ] No spin or buzzwords
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not omit challenges or bad news — sanitised updates erode investor trust faster than bad results do
|
||||
- [ ] Do not bury the lead — use BLUF structure and put the most important news in the first paragraph
|
||||
- [ ] Do not send an update without a clear "Ask" section — investors who want to help need to know how
|
||||
- [ ] Do not use buzzwords or spin — investors see hundreds of updates and will see through vague positive language
|
||||
- [ ] Do not report metrics without a comparison baseline — numbers without context (vs. last period or target) are meaningless
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Write an investor update for [month/quarter]"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: job-application
|
||||
description: "Tailor a CV and cover letter to a specific job description. Use when asked to write a cover letter, tailor a CV or resume, optimise for ATS, match a job description, or prepare a job application. Produces an ATS-optimised tailored CV summary and a personalised cover letter."
|
||||
description: "Tailors a CV and cover letter to a specific job description. Use when asked to write a cover letter, tailor a CV or resume, optimise for ATS, match a job description, or prepare a job application. Produces an ATS-optimised tailored CV summary and a personalised cover letter aligned to the role's requirements."
|
||||
---
|
||||
|
||||
# Job Application Skill
|
||||
@@ -120,6 +120,14 @@ Before submitting:
|
||||
- [ ] Cover letter is 250–350 words
|
||||
- [ ] Gaps are either addressed or strategically omitted
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not fabricate or embellish experience — only use real achievements from the provided CV
|
||||
- [ ] Do not use the same cover letter template for every role — every letter must reference specific details of the job description
|
||||
- [ ] Do not address selection criteria that aren't in the JD — match keywords the employer actually used
|
||||
- [ ] Do not omit ATS optimisation — ensure role-specific keywords from the JD appear naturally in the CV summary
|
||||
- [ ] Do not write a cover letter that re-summarises the CV — it must add context and motivation, not repeat bullet points
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Help me apply for this job: [paste JD]"
|
||||
|
||||
@@ -84,12 +84,21 @@ An executive summary is NOT a summary of the document. It is a standalone docume
|
||||
**Client:** Lead with their problem. Show you understand before presenting recommendation.
|
||||
|
||||
## Quality Checks
|
||||
- Bottom line in first 3 sentences
|
||||
- Standalone — no need to read full document
|
||||
- Recommendation is specific
|
||||
- Fits length limit
|
||||
- Written for audience priorities not author priorities
|
||||
- Next steps have owners and dates
|
||||
|
||||
- [ ] Bottom line in first 3 sentences
|
||||
- [ ] Standalone — no need to read full document
|
||||
- [ ] Recommendation is specific
|
||||
- [ ] Fits length limit
|
||||
- [ ] Written for audience priorities not author priorities
|
||||
- [ ] Next steps have owners and dates
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not summarise the document chronologically — an executive summary that follows the structure of the source document is not an executive summary, it is an abstract
|
||||
- [ ] Do not bury the recommendation at the end — executives read the first paragraph and skim the rest; the ask must be in sentence one or two
|
||||
- [ ] Do not use the same summary for different audiences — a CEO and a board member have different decision contexts and require different framing
|
||||
- [ ] Do not include background that the reader already knows — every sentence of background must earn its place by making the bottom line more actionable
|
||||
- [ ] Do not leave the "risks of inaction" section vague — a summary that does not quantify what happens if the reader does nothing removes the urgency needed for a decision
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Write an executive summary of this report: [paste]"
|
||||
|
||||
@@ -96,6 +96,14 @@ Funder test: does this problem align with [funder] stated priorities? Make the c
|
||||
- [ ] Sustainability section explains what happens after the grant ends
|
||||
- [ ] Word limits respected
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a generic proposal — every section must be tailored to the specific funder's stated priorities
|
||||
- [ ] Do not exceed the specified word or page limits — over-length proposals are disqualified at many funders
|
||||
- [ ] Do not leave the sustainability section vague — funders need to know what happens after grant funding ends
|
||||
- [ ] Do not use jargon the funder's reviewers won't understand — write for the panel, not the project team
|
||||
- [ ] Do not underspecify the budget narrative — every significant line item must be justified with method and reasoning
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Write a grant proposal for [project] applying to [funder]"
|
||||
- "Help me write a funding application for [grant programme]"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: last-30-days-research
|
||||
description: Multi-platform research skill that gathers recent (last 30 days) opinions, sentiment, and signal on any topic from Reddit, X/Twitter, and the web. Cuts through SEO-stuffed results to surface what real people are actually saying.
|
||||
description: "Searches Reddit, X/Twitter, and the broader web for recent opinions, sentiment, and signal on any topic. Use when you need to know what real people are saying about a tool, product, trend, or event in the past 30 days — cutting through SEO content to surface genuine community reaction. Produces a structured report with consensus findings, pain points, positive signals, contrarian takes, source links, and a signal confidence rating."
|
||||
---
|
||||
|
||||
# Last 30 Days Research
|
||||
@@ -138,6 +138,14 @@ Before outputting the report, verify:
|
||||
- [ ] No vendor-authored content or press releases treated as independent signal
|
||||
- [ ] Synonyms and alternative names for the topic were searched
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not treat SEO blog posts or vendor-authored content as community signal — only count independent sources
|
||||
- [ ] Do not report findings without applying the date filter — prior knowledge mixed with recent search results produces stale, unverifiable claims
|
||||
- [ ] Do not fabricate or guess at URLs — every link in the Sources section must have been retrieved during the research session
|
||||
- [ ] Do not report a single mention as a "finding" — a finding requires corroboration from at least two independent sources
|
||||
- [ ] Do not rate Signal Confidence as High when fewer than 5 credible sources were found — this misleads the reader about how much to rely on the output
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "What are people saying about Cursor AI from the last 30 days?"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: notebooklm-connector
|
||||
description: Automates NotebookLM from Claude Code — creates notebooks, adds sources, and triggers outputs (mindmaps, audio overviews, slide decks) without manual clicking via the Claude Chrome extension.
|
||||
description: "Automates NotebookLM from Claude Code using browser automation via the Claude Chrome extension — creating notebooks, adding sources, and triggering outputs without manual clicking. Use when you want to create a NotebookLM notebook, add URLs or documents as sources, or generate mindmaps, audio overviews, or briefing docs programmatically. Produces a confirmed checklist of completed actions and a direct link to the notebook."
|
||||
---
|
||||
|
||||
# NotebookLM Connector
|
||||
@@ -164,6 +164,14 @@ If any step fails, do the following:
|
||||
- [ ] Manual workaround was offered for any step that failed
|
||||
- [ ] Output checklist accurately reflects what was completed vs. what failed
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not proceed with any browser action before the full request has been parsed into discrete steps — ambiguous source references must be clarified before navigating
|
||||
- [ ] Do not guess at source URLs if the user says "add my research sources" without specifying them — ask for the explicit list before starting
|
||||
- [ ] Do not batch actions speculatively — each action must be confirmed complete before the next one begins to avoid compounding failures
|
||||
- [ ] Do not wait for audio overview rendering to complete — audio overviews take 5–15 minutes server-side; report the trigger and move on rather than blocking the session
|
||||
- [ ] Do not attempt this skill if the Claude Chrome extension is not active — report the missing prerequisite immediately rather than attempting browser steps that will fail
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Open NotebookLM and create a notebook called 'Competitor Analysis Q2'"
|
||||
|
||||
@@ -72,6 +72,14 @@ Would a journalist care? Is the headline the full story? Is there a human angle?
|
||||
- [ ] Boilerplate is factual, not promotional
|
||||
- [ ] Embargo date and media contact are included
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not bury the news — the most important information must appear in the first paragraph (inverted pyramid)
|
||||
- [ ] Do not use promotional language or superlatives — press releases must read as news, not advertising copy
|
||||
- [ ] Do not omit the boilerplate — every press release needs the standard "About [Company]" paragraph at the end
|
||||
- [ ] Do not forget the embargo date and media contact — journalists need both to use the release
|
||||
- [ ] Do not write a headline longer than 12 words — it must be scannable and specific
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Write a press release announcing [news]"
|
||||
- "Draft a media statement about [event]"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: sycophancy-challenger
|
||||
description: Flips Claude's default from "find reasons you're right" to "find reasons you're wrong." A genuine thinking partner, not a mirror with grammar. Use before high-stakes decisions, plans, assumptions, or pitches you haven't stress-tested.
|
||||
description: "Flips Claude's default from validation to adversarial critique. Use before high-stakes decisions, plans, assumptions, or pitches you haven't stress-tested. Produces structured challenges, steelmanned counter-arguments, and the strongest case against your position — a genuine thinking partner, not a mirror."
|
||||
---
|
||||
|
||||
# Sycophancy Challenger
|
||||
@@ -143,6 +143,14 @@ These prohibitions do more work than the rules above. Follow them absolutely:
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not open with a softening phrase or acknowledgment before the challenge — the first sentence must be the critique
|
||||
- [ ] Do not retreat from a position when the user pushes back without providing new evidence — update only when genuinely persuaded
|
||||
- [ ] Do not invent flaws — every criticism must connect to something real in what the user described
|
||||
- [ ] Do not provide a list of weak objections — identify the single strongest case against the idea
|
||||
- [ ] Do not end the session because the user seems satisfied — end only when something genuinely changed or was defended
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Use the sycophancy-challenger skill — here's my plan: [describe it]"
|
||||
|
||||
@@ -110,6 +110,14 @@ By the end of this session, participants will be able to:
|
||||
- [ ] Differentiation is specified for both support and extension
|
||||
- [ ] Timing adds up to session length
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not design a lesson plan without explicitly stating the learning objectives — activities must trace back to outcomes
|
||||
- [ ] Do not allocate timing that does not add up to the total session length — the plan must be time-feasible
|
||||
- [ ] Do not create activities with no assessment component — learning must be measurable, not just delivered
|
||||
- [ ] Do not ignore differentiation — a plan with no accommodation for different learning levels or abilities is incomplete
|
||||
- [ ] Do not front-load all content delivery without interactive breaks — passive listening degrades retention after 15–20 minutes
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Write a lesson plan on [topic] for [audience]"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: churn-analysis
|
||||
description: "Analyse customer churn for a product or cohort and produce a structured churn report. Use when asked to analyse churn, understand why customers are leaving, identify churn patterns, calculate churn rate, or build a churn reduction plan. Produces a churn analysis with rate calculations, categorised reasons, early warning signals, and prioritised interventions."
|
||||
description: "Produce a structured churn analysis that separates avoidable from unavoidable churn. Use when investigating why customers are leaving, identifying at-risk segments, calculating net revenue retention, or building a retention intervention plan. Produces a churn report with rate calculations, categorised reasons by avoidability, segment breakdown, timing analysis, early warning signals, and prioritised interventions ranked by estimated impact."
|
||||
---
|
||||
|
||||
# Churn Analysis Skill
|
||||
@@ -169,6 +169,14 @@ Ranked by estimated impact × feasibility.
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not mix avoidable and unavoidable churn in intervention plans — recommending product fixes for customers who churned due to company shutdown wastes resources
|
||||
- [ ] Do not calculate churn rate using end-of-period customer count as the denominator — this understates churn; always divide churned customers by the starting cohort
|
||||
- [ ] Do not rely solely on exit survey data for churn reasons — response rates are typically low and self-selection biases the sample toward customers who are engaged enough to complete a survey
|
||||
- [ ] Do not recommend interventions without linking them to a specific churn reason — interventions disconnected from root causes will not move retention
|
||||
- [ ] Do not report only gross revenue churn — without net revenue retention (NRR), a healthy-looking retention number can hide a shrinking revenue base
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Churn rate is correctly calculated (churned ÷ starting cohort, not end-of-period total)
|
||||
|
||||
@@ -174,3 +174,11 @@ Include:
|
||||
- [ ] ARR at risk is quantified
|
||||
- [ ] Communication plan has owners and dates — not "TBD"
|
||||
- [ ] Language is professional and blameless toward individuals
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not assign blame to individuals — focus on system failures and process gaps
|
||||
- [ ] Do not downplay ARR at risk or describe churn risk vaguely without a number
|
||||
- [ ] Do not leave resolution plan ownership as "TBD" or unassigned
|
||||
- [ ] Do not write the brief without a clear ask from the escalation owner
|
||||
- [ ] Do not omit the customer's own stated position — their perspective must be represented fairly
|
||||
|
||||
@@ -139,3 +139,11 @@ Score each dimension 1–5. Weight as shown. Calculate weighted total out of 100
|
||||
- [ ] Actions have owners and deadlines
|
||||
- [ ] Renewal probability is calibrated against pipeline reality
|
||||
- [ ] Trend arrows reflect direction of change vs. last scorecard, not just current state
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not score health dimensions on gut feel — every score needs specific supporting evidence
|
||||
- [ ] Do not give a Green status to accounts with unresolved P1 issues or missed milestones
|
||||
- [ ] Do not list risks vaguely — "low engagement" without specifics is not actionable
|
||||
- [ ] Do not leave recommended actions without named owners and deadlines
|
||||
- [ ] Do not conflate product usage frequency with product value delivery
|
||||
|
||||
@@ -183,6 +183,14 @@ If the success plan falls off track:
|
||||
- [ ] Plan is written to be shared with the customer — no internal-only commentary in this document
|
||||
- [ ] Executive sponsor is identified and has an engagement role
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not define success metrics that the vendor controls — metrics must reflect the customer's business outcomes
|
||||
- [ ] Do not set milestone dates without customer confirmation — unilateral timelines undermine joint ownership
|
||||
- [ ] Do not create a plan the customer hasn't agreed to — it must be mutual, not a CSM's internal plan
|
||||
- [ ] Do not leave ownership fields blank or assigned to "CS team" — every action needs a named owner
|
||||
- [ ] Do not confuse product adoption milestones with customer business outcomes — both are needed but are not the same
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Build a success plan for [Account Name] who just signed"
|
||||
|
||||
@@ -216,3 +216,11 @@ Prompt questions:
|
||||
- [ ] Roadmap preview links each item to a customer goal
|
||||
- [ ] Mutual commitments section has real owners on both sides
|
||||
- [ ] Customer has at least 20 minutes of airtime in the agenda
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not fill the QBR with product activity metrics — lead with business outcomes the customer cares about
|
||||
- [ ] Do not present a roadmap without linking each item to a customer goal — vendor priorities are not a QBR agenda
|
||||
- [ ] Do not run a QBR as a one-sided presentation — it must include structured time for the customer to speak
|
||||
- [ ] Do not close a QBR without documented mutual commitments with named owners on both sides
|
||||
- [ ] Do not skip the "what's not working" slide — suppressing problems erodes trust and misses renewal risks
|
||||
|
||||
@@ -181,6 +181,14 @@ Prepare for the most likely objections:
|
||||
- [ ] Timeline starts at least 90 days before renewal date
|
||||
- [ ] Objection responses are specific to this account, not generic
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not start renewal conversations less than 90 days before the renewal date for accounts over $50K ARR
|
||||
- [ ] Do not build a renewal strategy without first honestly assessing account health — wishful thinking leads to last-minute churn
|
||||
- [ ] Do not treat all renewal objections as negotiating tactics — some objections signal genuine dissatisfaction that requires resolution first
|
||||
- [ ] Do not offer discounts as the first response to price objections — explore value gaps before reducing price
|
||||
- [ ] Do not close the renewal without confirming the expansion opportunity — every renewal is also an expansion conversation
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Build a renewal playbook for [Account Name] renewing in [Month]"
|
||||
|
||||
@@ -84,6 +84,13 @@ Ask the user which of these they want:
|
||||
- [ ] Assumptions about axis scale and interpolation are stated
|
||||
- [ ] CSV output is clean and directly usable
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not silently include low-confidence data points in the main table — flag them separately so the user knows which values to verify
|
||||
- [ ] Do not assume a linear scale without confirming it — logarithmic axes make extracted values incorrect by orders of magnitude if misread
|
||||
- [ ] Do not report extracted values with false precision — if the chart's Y-axis only shows gridlines every 10 units, a reported value of 37 is invented, not extracted
|
||||
- [ ] Do not omit the assumptions and caveats section — partial image quality, overlapping bars, or unlabelled axes must be disclosed
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Extract the data from this chart"
|
||||
- "Transcribe the numbers in this graph"
|
||||
|
||||
@@ -178,6 +178,14 @@ ORDER BY 1, 3;
|
||||
- [ ] Recommendations are tied to specific cohort or segment findings — not generic growth advice
|
||||
- [ ] Leading indicators are observable in production data, not just in theory
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not allow the same user to appear in multiple cohorts — overlapping cohorts produce retention numbers that cannot be compared or acted upon
|
||||
- [ ] Do not assume assumed ARPU in LTV projections — use observed revenue per retained user per period, not a blended average that hides segment differences
|
||||
- [ ] Do not draw conclusions from cohorts too small to be statistically meaningful — flag minimum cohort size thresholds and note when a cohort is too small to trust
|
||||
- [ ] Do not conflate retention rate with engagement rate — a user who logs in but does not complete the key retention event is not retained by the definition used
|
||||
- [ ] Do not make recommendations without connecting them to specific cohort or segment findings — generic growth advice that could apply to any product adds no value
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Run a cohort analysis for our SaaS product"
|
||||
|
||||
@@ -114,6 +114,14 @@ Flag any fields that may not exist in current data infrastructure.
|
||||
- [ ] Data requirements section flags any missing fields
|
||||
- [ ] Filters are practical and don't require IT to configure
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not specify metrics that the available data sources cannot actually support — always validate data availability
|
||||
- [ ] Do not include more than 8–10 primary metrics on a single dashboard — more creates noise, not insight
|
||||
- [ ] Do not skip the primary business question — a dashboard without a north-star question becomes a vanity metrics display
|
||||
- [ ] Do not choose chart types for aesthetic reasons — every chart type must match the data relationship it represents
|
||||
- [ ] Do not leave filter configurations vague — specify exact filter values, not just filter categories
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Design a dashboard to track [business process]"
|
||||
|
||||
@@ -212,6 +212,14 @@ List each transformation in execution order. For ELT pipelines, this is the dbt
|
||||
- [ ] Failure modes include a documented recovery owner
|
||||
- [ ] PII fields are identified and a treatment plan is specified
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not spec a pipeline without defining SLAs — "as fast as possible" is not an acceptable freshness target
|
||||
- [ ] Do not omit error handling and dead-letter queue strategy — every pipeline must specify what happens to failed records
|
||||
- [ ] Do not design idempotent loads without documenting the deduplication key — assume reruns will happen
|
||||
- [ ] Do not leave data quality rules implicit — schema validation, null checks, and referential integrity must be explicit
|
||||
- [ ] Do not ignore schema evolution — specify how upstream schema changes are detected and handled
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Design a data pipeline for our Salesforce to Snowflake sync"
|
||||
|
||||
@@ -94,6 +94,14 @@ Suggest a 3-tier dashboard structure:
|
||||
- [ ] Dashboard tiers are tailored to the product stage
|
||||
- [ ] All metric definitions are unambiguous (formula or clear description)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not set a North Star metric that measures business activity (revenue, pageviews) rather than customer value delivered — this creates incentives misaligned with product quality
|
||||
- [ ] Do not define metrics without specifying the formula or data source — an ambiguous metric will be measured differently by different people
|
||||
- [ ] Do not skip counter-metrics — optimising any single metric without a guard rail will eventually produce perverse incentives
|
||||
- [ ] Do not include more than 4–5 metrics in a daily team view — a dashboard with 20 metrics is a dashboard nobody looks at
|
||||
- [ ] Do not classify all metrics as "leading" — be honest about which are lagging outcome metrics and which genuinely predict future outcomes
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Build a metrics framework for [product]"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: sql-query-explainer
|
||||
description: "Explain, optimise, or translate SQL queries into plain language. Use when asked to explain a SQL query, optimise slow SQL, write a data dictionary, translate SQL to plain English for non-technical stakeholders, or review a query for correctness and performance. Works across PostgreSQL, MySQL, BigQuery, Snowflake, and standard SQL."
|
||||
description: "Explains, optimises, writes, and documents SQL queries. Use when asked to explain a SQL query, optimise slow SQL, translate SQL to plain English for non-technical stakeholders, write a query from a natural language description, or produce query documentation. Produces plain-English explanations, annotated optimised queries, or a data dictionary covering output shape, assumptions, and known limitations. Works across PostgreSQL, MySQL, BigQuery, Snowflake, and standard SQL."
|
||||
---
|
||||
|
||||
# SQL Query Explainer Skill
|
||||
|
||||
@@ -103,6 +103,14 @@ Flag if traffic is too low to reach significance in under 8 weeks — recommend
|
||||
- If traffic is very low (<1,000 users/day), recommend qualitative alternatives: moderated testing, 5-second tests, or user interviews
|
||||
- Never approve a test with no guardrail metrics — always protect revenue, retention, or core engagement
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not run a test without a directional hypothesis — "let's see what happens" produces uninterpretable results
|
||||
- [ ] Do not declare a winner before reaching the pre-planned sample size — peeking at results inflates false positive rates
|
||||
- [ ] Do not test multiple independent changes in a single variant — you won't know which change caused the result
|
||||
- [ ] Do not use engagement metrics (clicks, time-on-page) as the primary metric when the goal is revenue or retention — proxy metrics mislead
|
||||
- [ ] Do not ignore guardrail metrics — a conversion lift that causes a support ticket spike is not a win
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Hypothesis is directional (predicts a specific direction and magnitude, not "let's see")
|
||||
|
||||
@@ -131,3 +131,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Success metrics include a measurement window (30/60/90 days)
|
||||
- [ ] Rollback procedure is confirmed for Tier 1 and 2 launches
|
||||
- [ ] Post-launch retrospective is scheduled
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not build a Tier 1 GTM plan for an incremental feature update — tier the launch appropriately before planning
|
||||
- [ ] Do not create activity lists without named owners and due dates — unowned tasks do not get done
|
||||
- [ ] Do not skip the rollback procedure for Tier 1 and 2 launches — every significant launch must have an abort plan
|
||||
- [ ] Do not treat marketing and engineering as separate tracks — cross-functional coordination is the whole point of a GTM plan
|
||||
- [ ] Do not set success metrics without a defined measurement window — "increase signups" is not a measurable target
|
||||
|
||||
@@ -82,6 +82,14 @@ Order by: fixes before handoff (critical) > consistency fixes (high) > polish (m
|
||||
- [ ] Audience-appropriate concerns flagged explicitly
|
||||
- [ ] Slides without issues are listed briefly, not ignored
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not flag stylistic preferences as issues — only report genuine layout problems, overflow, and consistency errors
|
||||
- [ ] Do not produce a flat list of issues — group by severity (Critical / Major / Minor) so fixes can be prioritised
|
||||
- [ ] Do not skip slides without commenting — every slide must have an explicit pass or issue status
|
||||
- [ ] Do not suggest redesigning content — the audit scope is layout, consistency, and readability, not messaging
|
||||
- [ ] Do not report the same issue type repeatedly across slides without summarising the pattern — consolidate repeated issues
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Audit this slide deck before my board meeting"
|
||||
- "Review this PowerPoint for layout issues"
|
||||
|
||||
@@ -7,6 +7,15 @@ description: "Generate a comprehensive pre-launch, launch day, and post-launch c
|
||||
|
||||
Never launch without checking everything. Generate a complete, role-assigned checklist covering pre-launch readiness, launch day execution, and post-launch monitoring.
|
||||
|
||||
## Required Inputs
|
||||
|
||||
Ask the user for these if not provided:
|
||||
- **Launch name** and planned launch date
|
||||
- **Launch tier** (1 = major product launch, 2 = significant feature release, 3 = incremental update)
|
||||
- **Team members and their roles** (engineering lead, PM, marketing, support, etc.)
|
||||
- **Feature description** (what is being launched)
|
||||
- **Rollback capability** (can this be feature-flagged or reverted quickly?)
|
||||
|
||||
## How to Use This Skill
|
||||
|
||||
Provide:
|
||||
@@ -117,6 +126,14 @@ The skill generates a tiered checklist. Tier 3 launches use only the Essentials
|
||||
- [ ] Feature flag expansion is staged (5% → 50% → 100%), not all-at-once
|
||||
- [ ] Post-launch retrospective is scheduled at launch time
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not apply a Tier 1 checklist to an incremental update — tier the launch appropriately before generating the checklist
|
||||
- [ ] Do not launch on a Friday without confirmed weekend engineering coverage
|
||||
- [ ] Do not leave the Go/No-Go decision owner as "the team" — it must be a named individual
|
||||
- [ ] Do not skip the rollback plan for Tier 1 and 2 launches — know the revert time before going live
|
||||
- [ ] Do not close the launch without scheduling the post-launch retrospective — it must be booked at launch time, not after
|
||||
|
||||
## Guidelines
|
||||
|
||||
- The Go/No-Go decision must have a named owner — "the team" is not an owner
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: retro-analysis
|
||||
description: "Analyse sprint delivery data and produce a structured retrospective brief. Use when asked to run a retrospective, analyse sprint data, prepare a retro brief, or turn sprint metrics into discussion prompts. Produces a data-grounded retrospective brief with completion stats, pattern analysis, Start/Stop/Continue prompts, and one concrete experiment for next sprint."
|
||||
description: "Analyses sprint delivery data and produces a structured retrospective brief. Use when asked to run a retrospective, analyse sprint data, prepare a retro brief, or turn sprint metrics into discussion prompts. Produces a data-grounded retrospective brief with completion stats, pattern analysis, Start/Stop/Continue prompts, and one concrete experiment for next sprint."
|
||||
---
|
||||
|
||||
# Retrospective Analysis Skill
|
||||
@@ -51,3 +51,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Carry-over analysis identifies the ticket type or cause, not just the count
|
||||
- [ ] Data observations don't assign blame — they describe patterns
|
||||
- [ ] Velocity trend is mentioned in context (is this a one-off or a pattern?)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not assign blame to individuals in the retrospective brief — observations must describe patterns, not people
|
||||
- [ ] Do not produce Start/Stop/Continue prompts that are vague categories — each must name a specific behaviour
|
||||
- [ ] Do not recommend an experiment that cannot be completed within one sprint — small, testable experiments only
|
||||
- [ ] Do not treat carry-over tickets as a velocity problem without first identifying the root cause category
|
||||
- [ ] Do not run the same retrospective format every sprint — vary the format to prevent engagement fatigue
|
||||
|
||||
@@ -51,3 +51,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Every risk has a mitigation or owner (not just "this is a risk")
|
||||
- [ ] Carry-over items are connected to their impact on this sprint's goal
|
||||
- [ ] Definition of Done is agreed criteria, not a task list
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a sprint goal as a task list — the goal must be a single outcome-focused statement that can be scored pass/fail
|
||||
- [ ] Do not leave the critical path unnamed — "the important tickets" is not a critical path
|
||||
- [ ] Do not list risks without a mitigation or owner — a risk without a response is just a worry list
|
||||
- [ ] Do not ignore carry-over items' impact on this sprint's capacity and goal
|
||||
- [ ] Do not write a Definition of Done that mixes task completion with outcome criteria — they must be observable and agreed before the sprint starts
|
||||
|
||||
@@ -15,7 +15,7 @@ Transform raw backlog items into a structured, achievable sprint with clear goal
|
||||
- **Sprint Planning Agenda** — structured 2-hour meeting agenda with timings
|
||||
- **Risk Flags** — blockers or dependencies that could derail the sprint
|
||||
|
||||
## Inputs to Request From User
|
||||
## Required Inputs
|
||||
|
||||
Ask for (if not already provided):
|
||||
- Sprint duration (1 or 2 weeks)
|
||||
@@ -95,3 +95,11 @@ Story points to commit = Historical velocity × Availability factor
|
||||
- [ ] Every story has an acceptance criterion (flag any that don't)
|
||||
- [ ] Stories estimated at 8+ points are flagged for splitting
|
||||
- [ ] Carry-overs from last sprint are accounted for in capacity
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write sprint goals as task lists — goals must be outcome-focused and scoreable pass/fail at sprint end
|
||||
- [ ] Do not commit to 100% of available capacity — always recommend 80% to preserve slack for unplanned work
|
||||
- [ ] Do not carry stories with no acceptance criteria into the sprint — flag them as blockers before committing
|
||||
- [ ] Do not allow stories estimated at 8+ points into the sprint without splitting them first
|
||||
- [ ] Do not ignore carry-over items when calculating capacity — they consume capacity and must be accounted for before new work is pulled in
|
||||
|
||||
@@ -147,3 +147,11 @@ Error codes: [list]
|
||||
- [ ] At least 2 alternative approaches are documented with reasons for rejection
|
||||
- [ ] Security and privacy section is completed for any feature touching user data
|
||||
- [ ] All open questions have a named owner and due date (not "TBD")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not include solution language in the problem statement — the problem must be described independently of the proposed solution
|
||||
- [ ] Do not omit alternatives considered — a spec that considers only one approach has not been properly evaluated
|
||||
- [ ] Do not leave open questions as "TBD" without a named owner and due date — unresolved questions are blockers
|
||||
- [ ] Do not skip security and privacy sections for any feature that touches user data
|
||||
- [ ] Do not write a non-goals section that is empty — always list at least two things that might be assumed in scope
|
||||
|
||||
@@ -209,6 +209,14 @@ Then the export contains only invoices from Jan 2026 — not all invoices
|
||||
- [ ] Out of scope is documented — not assumed
|
||||
- [ ] Stories are independent — they can be shipped individually without depending on unreleased work (except where explicitly noted)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write user stories from a technical perspective — every story must be from the user's point of view and state their goal
|
||||
- [ ] Do not write acceptance criteria that are untestable — every criterion must have a clear pass/fail condition
|
||||
- [ ] Do not create stories that are too large to complete in a single sprint — break epics into estimable, independently deliverable stories
|
||||
- [ ] Do not omit edge cases — unhappy paths and error states are required, not optional
|
||||
- [ ] Do not skip the Definition of Done — without it, "done" means different things to different people
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Write user stories for [feature] from this brief"
|
||||
|
||||
@@ -167,6 +167,14 @@ Ask the user for these if not provided:
|
||||
- [ ] Effort estimates are included for prioritisation
|
||||
- [ ] Testing recommendations are included
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not rely solely on automated scanning tools — automated checks catch ~30% of issues; manual keyboard and screen reader testing is required
|
||||
- [ ] Do not label an issue "minor" simply because it only affects a small percentage of users — for those users it may block all access
|
||||
- [ ] Do not add ARIA roles to fix broken semantics — use correct semantic HTML first; ARIA is a last resort
|
||||
- [ ] Do not confuse colour contrast of text with colour contrast of UI components — they have different minimum ratios (4.5:1 vs 3:1)
|
||||
- [ ] Do not audit only the happy path — error states, empty states, and loading states must also meet accessibility requirements
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Audit this design for accessibility"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: design-critique
|
||||
description: "Give structured, constructive feedback on any design. Use when asked to critique a design, review a UI, give feedback on a Figma file or wireframe, assess a user flow, or evaluate a design against UX principles. Applies Jobs-to-be-Done, Gestalt principles, and usability heuristics to give actionable feedback."
|
||||
description: "Gives structured, constructive feedback on any design using UX frameworks. Use when asked to critique a design, review a UI, give feedback on a Figma file or wireframe, assess a user flow, or evaluate a design against UX principles. Applies Jobs-to-be-Done, Gestalt principles, and usability heuristics to give actionable feedback with prioritised issues and specific recommendations."
|
||||
---
|
||||
|
||||
# Design Critique Skill
|
||||
@@ -121,6 +121,14 @@ Prioritised list of the 3 most impactful changes. Each should be actionable in t
|
||||
- [ ] Priority levels (High/Medium/Low) reflect actual impact on user goal
|
||||
- [ ] Heuristic assessment only covers visible elements
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not lead with visual preference (e.g. "I don't like the colour") — every issue must reference a UX principle or user impact
|
||||
- [ ] Do not invent problems in the "What's Working" section — manufactured praise undermines the entire critique
|
||||
- [ ] Do not provide the same priority level (High/Medium/Low) to every issue — prioritisation requires genuine judgment about user impact
|
||||
- [ ] Do not skip the JTBD section for product screens — connecting feedback to the user's job-to-be-done is what separates UX critique from aesthetic opinion
|
||||
- [ ] Do not give recommendations that require a full redesign when the user is in high-fidelity — scope recommendations to the design stage
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Critique this design: [description or image]"
|
||||
|
||||
@@ -206,6 +206,14 @@ For each component, assess against these quality criteria:
|
||||
- [ ] Both Figma and code (Storybook/implementation) are assessed — not just Figma
|
||||
- [ ] Stakeholders from design, engineering, and product have reviewed the audit
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not assess only the Figma library without checking the code implementation — Figma-code drift is one of the most common and costly design system failures
|
||||
- [ ] Do not score adoption without interviewing teams — audit tool metrics miss the human reasons teams build custom components instead of using the system
|
||||
- [ ] Do not treat all component gaps equally — prioritise gaps based on how many production screens rely on custom implementations, not alphabetically
|
||||
- [ ] Do not recommend adding more components without first auditing documentation quality — an undocumented component is often worse than no component
|
||||
- [ ] Do not schedule remediation without a named owner per initiative — design system improvements without ownership consistently stall
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Audit our design system for consistency and coverage"
|
||||
|
||||
@@ -152,6 +152,14 @@ For each insight: "This means we should [design/product implication]" or "This c
|
||||
- [ ] Synthesis framework is included
|
||||
- [ ] Incentive recommendation is included
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a research plan without clearly stated research objectives — every methodology choice must flow from the objectives
|
||||
- [ ] Do not design a plan that mixes generative and evaluative research without clearly separating them
|
||||
- [ ] Do not omit screener criteria — recruiting unqualified participants invalidates the research
|
||||
- [ ] Do not write discussion guide questions that are leading — questions must be neutral and open-ended
|
||||
- [ ] Do not skip the incentive recommendation — uncompensated research has lower participant quality and completion rates
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Write a research plan for [feature or product area]"
|
||||
|
||||
@@ -51,6 +51,13 @@ Input: *"We're building a self-serve onboarding flow to reduce time-to-value for
|
||||
| Faster onboarding correlates with higher retention | Viability | 3 | 4 | 1 | Cohort analysis of current onboarding times vs. 90-day retention |
|
||||
| The current onboarding is the primary reason for slow time-to-value | Desirability | 2 | 4 | 2 | User interviews with recent churned SMB accounts |
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not only surface desirability assumptions — feasibility and viability assumptions are equally likely to kill a product and are often overlooked
|
||||
- [ ] Do not assign high confidence to an assumption just because it hasn't been challenged yet — absence of evidence is not evidence
|
||||
- [ ] Do not recommend "user interviews" as the validation method for every assumption — some assumptions require quantitative data, competitive analysis, or technical spikes
|
||||
- [ ] Do not list assumptions that cannot be tested — every assumption in the map must have a plausible validation method, or it should be flagged as unknowable and treated as a risk
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] At least one assumption per category (Desirability, Feasibility, Viability, Usability)
|
||||
|
||||
@@ -206,6 +206,14 @@ Low 😤 │ * *
|
||||
- [ ] Emotion curve shows the real experience — not an aspirationally positive version
|
||||
- [ ] Research gaps are documented — the map reflects what is known, not assumed
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not build the map from assumptions alone — ground at least the pain points in real customer data or research
|
||||
- [ ] Do not treat all journey stages as equally weighted — identify the highest-friction moments explicitly
|
||||
- [ ] Do not omit the emotional layer — a journey map without emotions is a process flow, not a customer map
|
||||
- [ ] Do not create generic touchpoints that apply to any product — each touchpoint must be specific to this product and customer
|
||||
- [ ] Do not leave opportunities unranked — prioritise by impact and feasibility
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Map the customer journey for [product]"
|
||||
|
||||
@@ -105,3 +105,11 @@ Ask the user for these if not provided:
|
||||
- If user is new to interviewing: remind them to stay silent after asking a question (aim for 80/20 participant-to-interviewer talking ratio)
|
||||
- Never synthesise during the interview — do it after, when you can look across sessions
|
||||
- Flag confirmation bias: if user writes questions that lead toward a predetermined answer, rewrite them as open-ended alternatives
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not use future-tense questions ("Would you use this?") — hypothetical responses do not predict real behaviour and produce false confidence in an idea
|
||||
- [ ] Do not mention your product or solution before problem exploration is complete — doing so anchors the participant's responses and invalidates the discovery
|
||||
- [ ] Do not synthesise across fewer than 5 interviews — themes from 2–3 interviews reflect anecdote, not pattern; wait for saturation
|
||||
- [ ] Do not write screener questions that are too easy to pass — if participants can guess the "right" answer, you will recruit the wrong people
|
||||
- [ ] Do not treat participant opinions as evidence of future behaviour — what people say they will do consistently diverges from what they actually do
|
||||
|
||||
@@ -114,6 +114,22 @@ Rate each job story on:
|
||||
- [ ] Current workaround identified for each high-opportunity story
|
||||
- [ ] Product opportunity is distinct from "build the feature" (it's an outcome)
|
||||
|
||||
## Required Inputs
|
||||
|
||||
Ask the user for these if not provided:
|
||||
- **Product or feature area** to map (e.g. onboarding, checkout, dashboard)
|
||||
- **User type or persona** (who are we mapping jobs for?)
|
||||
- **Source material** (user interview notes, support tickets, discovery findings, or describe from memory)
|
||||
- **Scope** (full product job map vs. a single feature area)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write job stories that describe a feature rather than a situation-motivation pair
|
||||
- [ ] Do not skip the social and emotional dimensions — mapping only functional jobs misses the most defensible differentiation opportunities
|
||||
- [ ] Do not define situations too broadly ("as a user who wants to manage their work") — the situation must be a specific moment or trigger
|
||||
- [ ] Do not conflate opportunity scoring with priority — a high opportunity score still requires feasibility and strategic fit assessment
|
||||
- [ ] Do not produce a job map without identifying current workarounds — the workaround reveals what the job is worth to the customer
|
||||
|
||||
## Guidelines
|
||||
|
||||
- Never write a job story for a feature — write it for the situation that makes the feature valuable
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: user-interview-synthesis
|
||||
description: "Synthesise user interview transcripts into structured research findings. Use when asked to analyse interview notes, synthesise qualitative research, identify themes from user interviews, or turn raw interview data into actionable product insights. Produces a themed synthesis with supporting quotes, 'so what' implications, and recommended next steps."
|
||||
description: "Synthesises user interview transcripts into structured research findings. Use when asked to analyse interview notes, synthesise qualitative research, identify themes from interviews, or turn raw interview data into actionable product insights. Produces a themed synthesis with supporting quotes per theme, 'so what' implications, and recommended next steps."
|
||||
---
|
||||
|
||||
# User Interview Synthesis Skill
|
||||
@@ -50,3 +50,11 @@ Ask the user for these if not provided:
|
||||
- [ ] Researcher bias check: no leading language, findings don't all support one hypothesis
|
||||
- [ ] Single-source signals are flagged separately, not mixed into main themes
|
||||
- [ ] Research questions from the study brief are each addressed (even if the answer is "inconclusive")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not mix single-source signals into main themes — insights cited by only one participant must be flagged separately
|
||||
- [ ] Do not write implications that are observations restated rather than product decisions enabled
|
||||
- [ ] Do not include themes that only support the project hypothesis — contradictory findings must be surfaced, not omitted
|
||||
- [ ] Do not present findings without quotes — every theme requires verbatim evidence from at least 3 participants
|
||||
- [ ] Do not leave research questions unanswered — each question from the study brief must be explicitly addressed, even if the answer is inconclusive
|
||||
|
||||
@@ -141,6 +141,14 @@ data = response.json()
|
||||
- [ ] Enum values are listed where applicable
|
||||
- [ ] Pagination documented if the endpoint is a list endpoint
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not document only the happy path — every endpoint must have error codes for at least 400, 401/403, 404, 429, and 500
|
||||
- [ ] Do not use placeholder values like "YOUR_ENDPOINT" or "INSERT_TOKEN" in code examples — use realistic-looking placeholders anchored to the actual base URL
|
||||
- [ ] Do not skip enum values for fields with a fixed set of accepted values — undocumented enums cause integration bugs
|
||||
- [ ] Do not omit pagination documentation on list endpoints — developers who miss this will build integrations that silently miss data
|
||||
- [ ] Do not describe what a field "is" without describing what it "does" — "the ID" is not documentation; "the unique identifier used to retrieve or update this resource" is
|
||||
|
||||
## Usage Examples
|
||||
- "Document this API endpoint: [paste spec or description]"
|
||||
- "Turn this Postman collection into developer docs"
|
||||
|
||||
@@ -301,6 +301,14 @@ builders and response parsers.
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not classify expanding an enum (new response values) as non-breaking — clients with exhaustive switch statements will break when they receive an unexpected enum value
|
||||
- [ ] Do not set a sunset date without confirming it is achievable for the largest consumer — a sunset that forces consumers to miss a legal deadline will be ignored or escalated
|
||||
- [ ] Do not maintain more than two simultaneous stable/deprecated versions — each additional supported version multiplies maintenance burden and consumer confusion
|
||||
- [ ] Do not use "monitor traffic" as the sole mechanism for knowing when all consumers have migrated — track named consumers against migration completion explicitly
|
||||
- [ ] Do not skip the migration guide — consumers will delay migration indefinitely without a step-by-step guide that estimates effort
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Versioning scheme recommendation includes explicit rationale tied to the API type and consumer type provided — not a generic recommendation
|
||||
|
||||
@@ -112,6 +112,14 @@ For each option, produce:
|
||||
- [ ] Context section states the problem explicitly in its first 1–2 sentences (does not assume the reader knows what problem the team was solving)
|
||||
- [ ] Each rejected option's "Why ruled out" explanation names a specific constraint or trade-off (not a circular statement like "didn't meet our requirements")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write an ADR after the decision has already been fully implemented and the team has moved on — ADRs written retrospectively often omit the real reasons and alternatives
|
||||
- [ ] Do not list only the chosen option — rejected options with honest reasons are the most valuable part of an ADR for future readers
|
||||
- [ ] Do not write consequences that are all positive — every architectural decision involves trade-offs; an ADR with no negative consequences was not scrutinised honestly
|
||||
- [ ] Do not leave the status as "Proposed" indefinitely — an ADR that no one has approved is not guiding anyone's decisions
|
||||
- [ ] Do not write context that assumes the reader already knows what problem was being solved — the context section exists precisely for readers who lack that background
|
||||
|
||||
## Usage Examples
|
||||
- "Write an ADR for using [technology]"
|
||||
- "Document our decision to [architectural choice]"
|
||||
|
||||
@@ -346,6 +346,14 @@ Define the thresholds that require explicit action — not retrospective fixes a
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not set capacity trigger thresholds without knowing the baseline — a "CPU > 70%" alert is meaningless if you don't know what normal looks like
|
||||
- [ ] Do not plan only for average traffic — capacity plans that don't model peak load will result in incidents during the events that matter most
|
||||
- [ ] Do not conflate vertical and horizontal scaling — adding more app servers without addressing database connection limits will not resolve the constraint
|
||||
- [ ] Do not present growth projections as certainties — all forecasts have uncertainty; state the confidence level and provide a conservative and optimistic scenario
|
||||
- [ ] Do not defer action items without a named owner and a specific date — a roadmap with no owners is a wish list
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Every resource has a quantified current utilisation and a projected months-to-ceiling — no hand-waving
|
||||
|
||||
@@ -81,6 +81,14 @@ Follow [Keep a Changelog](https://keepachangelog.com) format:
|
||||
- [ ] No entries start with past-tense verbs (no "Added", "Fixed", "Removed" — use "Add", "Fix", "Remove")
|
||||
- [ ] Every breaking change entry includes a specific migration action (not just "update your code")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not include implementation details in changelog entries — users need to know what changed for them, not how the code was refactored internally
|
||||
- [ ] Do not list every micro-commit as a separate entry — related commits should be grouped into one user-facing change
|
||||
- [ ] Do not omit the migration path for breaking changes — a breaking change entry without a specific migration action forces users to read the source code
|
||||
- [ ] Do not include empty sections — a "### Fixed" section with no entries signals the template was filled in carelessly
|
||||
- [ ] Do not write breaking changes in the same casual tone as minor additions — breaking changes must be visually prominent and call out migration requirements explicitly
|
||||
|
||||
## Usage Examples
|
||||
- "Write a changelog for version [X]" + [paste commits]
|
||||
- "Generate release notes from these commits"
|
||||
|
||||
@@ -292,6 +292,14 @@ Ask for these if not already provided:
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not describe a rollback procedure that has never been tested — a theoretical rollback is not a rollback plan; test it in staging before production
|
||||
- [ ] Do not allow deploys on Fridays or before holidays without an explicit on-call engineer who will monitor through the weekend
|
||||
- [ ] Do not commit secrets to source control even in non-production branches — secret scanning in the pipeline catches this, but prevention is the standard
|
||||
- [ ] Do not skip post-deploy monitoring after a production deploy — the deploying engineer must watch error rates and latency for the specified observation window
|
||||
- [ ] Do not suppress a security scan finding without a linked ticket and a named owner — suppressions without accountability accumulate into unmanaged risk
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Every stage has a clear owner when it fails
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: claude-superpowers
|
||||
description: "Force Claude Code to work like a senior developer: plan before coding, work in isolation, write tests first, and review its own output twice before presenting it. Use when asked to enable superpowers mode, activate the superpowers framework, or turn on superpowers for this session. Installs a 4-stage framework — Plan, Isolate, Test First, Double Review — that prevents Claude from sprinting into broken code."
|
||||
description: "Activate a 4-stage coding discipline framework that forces Claude to plan before coding, isolate changes on a branch, write tests first, and self-review output twice before presenting it. Use when starting a complex coding task, when past Claude sessions produced broken first drafts, or when you want to prevent rework cycles. Produces a confirmed written plan, isolated feature branch, test-first implementation, and a double-reviewed output with a correctness and code-quality checklist."
|
||||
---
|
||||
|
||||
# Claude Superpowers Skill
|
||||
@@ -269,6 +269,14 @@ Tell the user: "Add this to your CLAUDE.md and Superpowers will be active perman
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not proceed to Stage 2 without explicit user confirmation of the plan — coding before confirmation defeats the entire purpose of the planning stage
|
||||
- [ ] Do not write tests after the implementation and call it "test-first" — tests must be written and confirmed failing before the implementation starts
|
||||
- [ ] Do not skip the Double Review when time is tight — the review is most valuable precisely when speed is the priority, because that is when errors are most likely
|
||||
- [ ] Do not expand scope during Stage 2 without surfacing it — silent scope expansion produces code the user did not approve and may not want
|
||||
- [ ] Do not mark both reviews as clean without actually performing them — a rubber-stamp review produces false confidence and defeats the framework
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Enable superpowers mode"
|
||||
|
||||
@@ -107,6 +107,14 @@ Based on the change type and language, flag 2-3 things reviewers typically miss
|
||||
- [ ] Decision framework includes at least one named blocking condition and one named non-blocking comment condition
|
||||
- [ ] Common pitfalls are specific to the stated language + change-type combo (not generic advice like "watch out for bugs")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not generate a generic checklist that ignores the stated language — a Python checklist and a Go checklist have fundamentally different correctness concerns
|
||||
- [ ] Do not treat "looks fine" as a valid review outcome — the checklist exists to surface specific concerns, not validate a superficial read
|
||||
- [ ] Do not scope a "high risk" review the same as a "low risk" review — depth must scale with the stated risk level
|
||||
- [ ] Do not flag every stylistic preference as a blocking issue — distinguish between blocking correctness issues and non-blocking comments
|
||||
- [ ] Do not skip the "common pitfalls" section for the stated language and change-type combination — this is where the most valuable knowledge lives
|
||||
|
||||
## Usage Examples
|
||||
- "Generate a code review checklist for [PR description]"
|
||||
- "What should I check in this pull request?"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: context-mode
|
||||
description: "Activate output filtering, session logging, and auto-resume to keep Claude Code sessions running for hours without context bloat or memory loss. Use when asked to enable context mode, turn on long session mode, or activate session persistence. Installs a session log at project root, filters verbose command output before it enters context, and auto-resumes after Claude resets."
|
||||
description: "Activate output filtering, session logging, and auto-resume to keep Claude Code sessions productive across resets. Use when starting a long or complex coding session, when previous sessions lost context mid-task, or when you need Claude to resume exactly where it left off after a reset. Installs a session.log at project root, filters verbose command output to preserve context, and automatically resumes in-progress tasks after any Claude reset."
|
||||
---
|
||||
|
||||
# Context Mode Skill
|
||||
|
||||
@@ -452,3 +452,11 @@ Follow this checklist on the day of migration. Mark each step as done before pro
|
||||
- [ ] Lock types are identified for every DDL statement — no "should be fine" assumptions
|
||||
- [ ] The deployment runbook names who runs each step, not just what to run
|
||||
- [ ] Phase 4 (contract) is explicitly gated on the rollback window passing — not run on the same day as Phase 3
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not combine the expand and contract phases into a single deployment — they must be separated by a deployment cycle
|
||||
- [ ] Do not run DDL changes without first testing on a production-sized data clone
|
||||
- [ ] Do not skip the NOT VALID + VALIDATE pattern for constraint additions on large tables — it causes full table locks
|
||||
- [ ] Do not define a rollback as "restore from backup" — each phase must have an explicit, fast rollback procedure
|
||||
- [ ] Do not omit dual-write logic during the transition period — removing the old column before all writers are updated causes data loss
|
||||
|
||||
@@ -354,3 +354,11 @@ If this schema is being introduced to an existing system, note the migration app
|
||||
- [ ] JSONB columns are justified — not used as a substitute for proper schema design on queryable fields
|
||||
- [ ] Normalization decisions are documented with reasoning, not just stated
|
||||
- [ ] Migration notes address existing data if this is a schema change, not a greenfield schema
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not use JSONB columns as a substitute for proper relational schema design on fields that will be queried
|
||||
- [ ] Do not add indexes speculatively — every index must be justified by a specific access pattern
|
||||
- [ ] Do not omit timezone-awareness — use TIMESTAMPTZ, never plain TIMESTAMP
|
||||
- [ ] Do not design without documenting normalization decisions — future maintainers need the reasoning, not just the structure
|
||||
- [ ] Do not skip the access patterns section — schema without query patterns cannot be evaluated for correctness
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: debugging-log-analyser
|
||||
description: "Parse error logs, stack traces, and crash reports into a structured root cause diagnosis. Use when sharing a log, stack trace, error output, or crash dump. Produces a structured diagnosis with probable root cause, affected code path, suggested fix, and next debugging steps."
|
||||
description: "Parse error logs, stack traces, and crash reports into a structured root cause diagnosis. Use when an application is throwing exceptions, crashing, or producing unexpected errors and you need to understand why and what to fix. Produces a structured diagnosis with error classification, stack trace walkthrough, probable root cause with confidence level, affected code path, a concrete code-level fix suggestion, and ordered next debugging steps."
|
||||
---
|
||||
|
||||
# Debugging Log Analyser Skill
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: dependency-audit
|
||||
description: "Conduct a dependency audit for a project — checking for security vulnerabilities, license compliance issues, outdated packages, and transitive dependency risk. Use when asked to audit dependencies, review package security, check license compliance, assess dependency health, or produce a vulnerability report. Produces a vulnerability findings table, license compliance matrix, update priority matrix, dependency health score, and 30-day remediation plan."
|
||||
description: "Audits project dependencies for security vulnerabilities, license compliance issues, outdated packages, and transitive dependency risk. Use when asked to audit dependencies, review package security, check license compliance, assess dependency health, or produce a vulnerability report. Produces a vulnerability findings table, license compliance matrix, update priority matrix, dependency health score, and 30-day remediation plan."
|
||||
---
|
||||
|
||||
# Dependency Audit Skill
|
||||
@@ -330,3 +330,11 @@ go-licenses check ./... --allowed_licenses=MIT,Apache-2.0,BSD-2-Clause,BSD-3-Cla
|
||||
- [ ] CI pipeline change is included — the audit findings should be the last time these are caught manually
|
||||
- [ ] The dependency health score is calculated from actual findings, not estimated
|
||||
- [ ] Remediation plan actions are specific commands or steps, not "upgrade package X" without version targets
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not report only direct dependencies — transitive dependency vulnerabilities are often more dangerous and are the most commonly missed
|
||||
- [ ] Do not present raw audit tool output without interpretation — a table of 200 CVEs with no prioritisation is worse than no audit at all
|
||||
- [ ] Do not assign all Critical CVEs as "fix immediately" without checking whether an exploitable path exists in your usage context
|
||||
- [ ] Do not make license compliance decisions without legal input — flagging a GPL dependency without a recommendation is incomplete work
|
||||
- [ ] Do not complete the audit without including a CI/CD pipeline step — a one-time audit that leaves the door open for new vulnerabilities is not a remediation
|
||||
|
||||
@@ -330,3 +330,11 @@ curl http://localhost:[PORT]/health
|
||||
- [ ] On-call section has real links, not placeholders
|
||||
- [ ] Contacts are current — team members with real Slack handles
|
||||
- [ ] Troubleshooting covers the top 3 actual questions new joiners ask
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not document the ideal setup — document the actual setup; real oddities and gotchas are what new engineers need most
|
||||
- [ ] Do not leave placeholder contacts like "ask your manager" — name specific people for each domain or the doc becomes useless when the new joiner has an urgent question
|
||||
- [ ] Do not write the onboarding doc without reviewing it with a recent joiner — the author is blind to what they take for granted
|
||||
- [ ] Do not include every piece of architectural detail — an onboarding doc that covers everything teaches nothing; link to deeper docs instead
|
||||
- [ ] Do not skip the "things that might surprise you" section — undocumented non-obvious patterns are the number one cause of wasted engineering time in the first week
|
||||
|
||||
@@ -558,3 +558,11 @@ Run this checklist quarterly and before any major infrastructure change:
|
||||
- [ ] Contact list contains current phone numbers, not just Slack handles (Slack may be down during a DR event)
|
||||
- [ ] Security breach runbook (3.5) explicitly names the security team contact and does not attempt self-remediation
|
||||
- [ ] All thresholds (RTO/RPO) are visible in the monitoring dashboard so actual vs. target is measurable in real time
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write runbook commands without testing them — an untested command in a runbook is actively dangerous during a real disaster when cognitive load is highest
|
||||
- [ ] Do not set RTO/RPO targets without business sign-off — technical teams often set aspirational targets that do not reflect actual business cost tolerance for downtime
|
||||
- [ ] Do not include only the "happy path" of each failover scenario — runbooks must explicitly cover what to do when the recovery step itself fails
|
||||
- [ ] Do not list Slack handles as the only escalation contact — Slack may be unavailable during a region-wide failure; phone numbers are mandatory
|
||||
- [ ] Do not schedule DR game days without pre-committing to fix the gaps found — a game day that produces action items no one owns is theater, not preparedness
|
||||
|
||||
@@ -336,3 +336,11 @@ Brief every interviewer on these before they conduct their first interview for t
|
||||
- [ ] Scorecard uses observable behavior fields ("What did the candidate do or say") — not impression fields
|
||||
- [ ] Must-hire competencies are explicitly named for the role and level
|
||||
- [ ] Debrief agenda enforces written scorecard submission before verbal discussion to prevent anchoring
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not use a single behavioral anchor description per competency — you must define what Strong Hire AND No Hire look like separately, or interviewers cannot calibrate
|
||||
- [ ] Do not allow "culture fit" as a standalone assessment dimension — it masks similarity bias; all judgments must use observable behavioral evidence
|
||||
- [ ] Do not let interviewers share scorecard feedback before the debrief — verbal pre-debrief discussion anchors everyone to the first opinion expressed
|
||||
- [ ] Do not set the same must-hire competency list for all engineering roles — a senior backend engineer and a frontend engineer have different non-negotiable competencies
|
||||
- [ ] Do not skip the calibration bias notes section — interviewers who have never been briefed on halo effect, recency bias, and credential bias will reproduce them in every loop
|
||||
|
||||
@@ -162,3 +162,11 @@ If no decisions are pending: *No decisions pending.*
|
||||
- [ ] Escalations that need leadership attention are called out explicitly in the Risks section — not just buried in a table row
|
||||
- [ ] The entire report is readable in under 2 minutes — if it is longer than one printed page, trim it
|
||||
- [ ] Report period (week number and date range) is clearly stated in the header
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not fabricate metrics — if data is not available, mark the field as `[data needed]` rather than estimating; stakeholders making decisions on invented numbers is actively harmful
|
||||
- [ ] Do not write next week's priorities as activities ("work on X") — they must be outcomes ("ship X", "complete Y migration") so stakeholders can evaluate whether the team delivered
|
||||
- [ ] Do not bury escalations inside a risk table row — anything needing leadership attention must be called out explicitly in the Escalations section
|
||||
- [ ] Do not list blocked items without naming a specific owner and a concrete unblocking action — "waiting on X" is not a blocker entry, it is a placeholder
|
||||
- [ ] Do not write a report that exceeds two printed pages — length signals the author has not done the editorial work of deciding what matters to stakeholders
|
||||
|
||||
@@ -367,3 +367,11 @@ All flag changes in production must be traceable. Ensure the following are confi
|
||||
- [ ] Stale flag detection runs automatically and results are reviewed weekly
|
||||
- [ ] Code review checklist includes: "Does this PR introduce a flag? If yes, is the creation checklist complete?"
|
||||
- [ ] At least one person other than the flag owner knows how to disable any given flag in an emergency
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not create release flags without a cleanup date — flags without expiry dates become permanent technical debt that accumulates silently until the codebase is unmaintainable
|
||||
- [ ] Do not skip monitoring setup for flags between 1–99% rollout — a partially-rolled-out flag without metric comparison is a risk without a sensor
|
||||
- [ ] Do not nest flags inside other flags — compound flag logic makes cleanup nearly impossible and creates untestable code paths
|
||||
- [ ] Do not allow flag owners to leave the team without reassigning ownership — orphan flags with no owner never get cleaned up
|
||||
- [ ] Do not use feature flags as a permanent configuration system — flags that have been at 100% or 0% for more than 30 days must be cleaned up; using flags as permanent config couples business logic to a feature flag platform
|
||||
|
||||
@@ -140,6 +140,14 @@ Rules for action items:
|
||||
- [ ] No action item contains vague language like "improve monitoring", "increase resilience", or "better testing" — each must name a specific change
|
||||
- [ ] Executive summary is readable by non-technical leadership
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not assign blame to individuals — postmortems must focus on system and process failures
|
||||
- [ ] Do not write action items with vague language like "improve monitoring" — each must name a specific, ownable change
|
||||
- [ ] Do not skip the contributing factors — root cause alone misses the systemic issues that enable incidents
|
||||
- [ ] Do not omit the detection timeline — how long it took to detect matters as much as how long it took to resolve
|
||||
- [ ] Do not treat the postmortem as closed until all action items have named owners and due dates
|
||||
|
||||
## Usage Examples
|
||||
- "Write a postmortem for the [incident name] outage"
|
||||
- "Help me write a P1 incident report"
|
||||
|
||||
@@ -290,3 +290,11 @@ Medium and Low findings should be tracked as follow-up issues with a committed r
|
||||
- [ ] Code snippets in findings show both the problematic code AND the corrected version
|
||||
- [ ] Overall risk rating is justified by the highest-severity open finding
|
||||
- [ ] Checklist items are binary (checkable) — not narrative observations
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not mark a finding as Low if it involves hardcoded credentials or secrets in any form — always Critical
|
||||
- [ ] Do not review IaC in isolation from the deployment context — networking and IAM must be evaluated together
|
||||
- [ ] Do not produce narrative findings without the specific resource name, file, and line number
|
||||
- [ ] Do not skip the "Required Actions Before Merge" summary — reviewers need a clear blocking list, not just a full report
|
||||
- [ ] Do not approve code where encryption at rest or in transit is missing on data stores, even if not explicitly flagged by the requester
|
||||
|
||||
@@ -430,3 +430,11 @@ load-test:
|
||||
- [ ] CI integration blocks promotion on threshold failure — not just records results
|
||||
- [ ] Soak test has been run at least once to establish a memory and connection pool baseline
|
||||
- [ ] Results comparison to previous run is part of the analysis — not just absolute pass/fail
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not set thresholds without grounding them in actual SLO targets or production baselines — arbitrary numbers produce meaningless pass/fail results
|
||||
- [ ] Do not run the load generator on the same host as the service under test — this contaminates both the test results and the service metrics
|
||||
- [ ] Do not use production user data in load test seeding — all test data must be synthetic, tagged, and cleaned up after each run
|
||||
- [ ] Do not skip the soak test on first deployment — only a soak test reveals slow memory leaks and connection pool exhaustion that short tests miss
|
||||
- [ ] Do not treat a passing baseline test as evidence the service handles spikes — baseline, stress, spike, and soak scenarios test fundamentally different failure modes
|
||||
|
||||
@@ -482,3 +482,11 @@ Before opening your first pull request, verify:
|
||||
- [ ] Docker Compose version and Docker Desktop memory requirements are stated explicitly
|
||||
- [ ] "Expected output" is shown for key commands so engineers know whether a step succeeded
|
||||
- [ ] Setup time estimate is honest — verified by timing a real onboarding session, not estimated
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write setup steps from memory without testing them on a clean machine — steps that skip implicit knowledge break for new engineers
|
||||
- [ ] Do not leave environment variables undocumented — every variable in .env.example must appear in the Variables table with a description and source
|
||||
- [ ] Do not write troubleshooting entries for theoretical issues — only include problems that have actually occurred during real onboarding sessions
|
||||
- [ ] Do not assume Docker Desktop is configured correctly — memory limits and platform (M1/M2) compatibility must be explicitly called out
|
||||
- [ ] Do not omit expected output for key commands — without "expected output", engineers cannot tell whether a step succeeded or silently failed
|
||||
|
||||
@@ -288,3 +288,11 @@ Conway's Law: the architecture of a system mirrors the communication structure o
|
||||
- [ ] If decomposing a monolith, the strangler fig migration plan has phases with durations, dependencies, and success criteria
|
||||
- [ ] Risk register addresses at minimum: data consistency, distributed transactions, and Conway's Law alignment
|
||||
- [ ] Organizational alignment section maps services to teams and identifies misalignments that need to be resolved
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not define service boundaries before completing the domain analysis — services derived without bounded context mapping will split the wrong things and couple the wrong things
|
||||
- [ ] Do not assign multiple teams as co-owners of a single service — shared ownership is no ownership; every service needs exactly one team accountable for it
|
||||
- [ ] Do not default to synchronous REST calls for all inter-service communication — using sync calls where async events would decouple services creates cascading failure modes
|
||||
- [ ] Do not propose more than one service per bounded context without a clear justification — over-decomposition (nanoservices) creates operational overhead that exceeds the decomposition benefit
|
||||
- [ ] Do not begin migration without deploying distributed tracing first — migrating without observability means flying blind when the first extraction causes a production incident
|
||||
|
||||
@@ -434,3 +434,11 @@ Honest assessment of what is missing today and what the priority to add it is:
|
||||
- [ ] The primary dashboard answers "is the service healthy?" in under 10 seconds — no hunting for the right panel
|
||||
- [ ] Business metrics are tracked alongside infrastructure metrics — not just four golden signals
|
||||
- [ ] Observability debt items have owners and dates — not just "would be nice to have"
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not create alerts without a specific on-call action — an alert that just says "investigate" trains engineers to ignore it
|
||||
- [ ] Do not set alert thresholds from a template without calibrating against production baselines — uncalibrated thresholds cause either alert fatigue or missed incidents
|
||||
- [ ] Do not log PII, tokens, or secrets — a logging standard is incomplete without an explicit list of what must never be logged
|
||||
- [ ] Do not measure only the four golden signals without adding at least one business metric alert — infrastructure health can be green while the business-critical path is silently failing
|
||||
- [ ] Do not deploy distributed tracing without verifying that trace IDs propagate across all service boundaries — partial tracing is worse than no tracing because it produces misleading incomplete traces
|
||||
|
||||
@@ -362,3 +362,11 @@ ANYTHING ELSE:
|
||||
- [ ] Diagnostic commands work — they have been run by at least one person recently
|
||||
- [ ] Handoff template is used at every shift change — not just during incidents
|
||||
- [ ] "Things I had to figure out that weren't documented" are added to this runbook after every incident
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write alert runbooks with vague diagnostic steps like "check the logs" — every step must specify the exact command, dashboard link, or query to run
|
||||
- [ ] Do not include an alert in the runbook that has no specific on-call action — an alert that pages someone with no defined response path creates panic, not resolution
|
||||
- [ ] Do not leave the rollback command undocumented or untested — a rollback procedure that has never been run will fail when needed most
|
||||
- [ ] Do not list escalation contacts without phone numbers and Slack handles — email-only escalation paths are useless during a 3am incident
|
||||
- [ ] Do not write the runbook once and treat it as permanent — runbooks go stale after incidents; every incident must trigger a review of the relevant runbook entries
|
||||
|
||||
@@ -275,3 +275,11 @@ When a breach is detected, work through this checklist in order:
|
||||
- [ ] Budget breach response process names specific Slack channels and owners
|
||||
- [ ] Budget thresholds are anchored to baseline measurements or a justified target — not pulled from thin air
|
||||
- [ ] Per-journey targets are defined for critical user journeys, not just global averages
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not set budget thresholds without measuring a current baseline first — targets must be anchored to reality
|
||||
- [ ] Do not define global averages only — critical user journeys need individual budgets as they may diverge significantly
|
||||
- [ ] Do not omit CI enforcement — a performance budget that is not enforced in the build pipeline will not be respected
|
||||
- [ ] Do not leave the breach response process without named owners and escalation channels
|
||||
- [ ] Do not set budgets that apply only to one environment — production and staging targets should be documented separately if they differ
|
||||
|
||||
@@ -82,6 +82,14 @@ Flag anything that warrants extra attention:
|
||||
- [ ] Testing steps are reproducible by someone unfamiliar with the code
|
||||
- [ ] For high-risk PRs, Reviewer Notes flags at least one specific area of concern or deliberate trade-off; for low-risk PRs, Reviewer Notes is either omitted or kept to one line
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a description that only restates what changed — explain why the change was made
|
||||
- [ ] Do not skip the testing steps — reviewers need to know how to verify the change works
|
||||
- [ ] Do not omit the reviewer notes for high-risk PRs — flag deliberate trade-offs and areas needing careful review
|
||||
- [ ] Do not describe implementation details that are obvious from the diff — add context that the diff cannot convey
|
||||
- [ ] Do not produce a single paragraph — structure with headers so reviewers can navigate to what they need
|
||||
|
||||
## Usage Examples
|
||||
- "Write a PR description for these changes" + [paste diff or description]
|
||||
- "Draft a pull request for [feature]"
|
||||
|
||||
@@ -397,3 +397,11 @@ Accept the current state and revisit the problem in [timeframe].
|
||||
- [ ] Open questions are assigned to named owners with deadlines — not floating
|
||||
- [ ] The RFC is written to be read by someone who was not in the planning conversations
|
||||
- [ ] Migration plan addresses all affected parties — users, API consumers, data — not just the technical steps
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write the RFC as a persuasion document — its purpose is to expose trade-offs, not sell a decision
|
||||
- [ ] Do not list alternatives without explicit rejection reasons — "we preferred the proposed solution" is not a reason
|
||||
- [ ] Do not leave the security implications section blank or write "N/A" without a reasoned explanation
|
||||
- [ ] Do not write open questions without assigning a named owner and a resolution deadline
|
||||
- [ ] Do not skip the "impact of not solving this" section — without it, reviewers cannot assess urgency
|
||||
|
||||
@@ -145,3 +145,11 @@ After completing the runbook:
|
||||
- "I need a runbook for [procedure]"
|
||||
- "Document the operational procedure for [X]"
|
||||
- "Write an ops playbook for [scenario]"
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write steps as vague actions like "run the deploy script" — every step must include the exact command
|
||||
- [ ] Do not leave the rollback section as a placeholder — a runbook without a tested rollback procedure is incomplete and dangerous
|
||||
- [ ] Do not omit expected output for each step — without it, the on-call engineer cannot tell if the step succeeded
|
||||
- [ ] Do not write escalation contacts as "[Team name]" — every escalation row must have a real contact or an explicit flag to fill in
|
||||
- [ ] Do not assume the reader knows the system — write for someone who has never touched it before
|
||||
|
||||
@@ -251,3 +251,11 @@ Accepted risks are threats the team has decided not to mitigate right now. Every
|
||||
- [ ] STRIDE analysis covers all major components — not just the API layer
|
||||
- [ ] Mitigation actions are specific enough to become a ticket (not "improve security")
|
||||
- [ ] The ASCII trust boundary diagram matches the architecture description provided
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not restrict STRIDE analysis to only the API layer — threats exist at every component including the database and internal services
|
||||
- [ ] Do not leave mitigations as vague directives like "improve security" — every mitigation must be specific enough to become a ticket
|
||||
- [ ] Do not accept risks without a named owner and a review date — unowned accepted risks are not managed risks
|
||||
- [ ] Do not write a threat model that covers only theoretical threats — prioritise by likelihood and impact using the risk register
|
||||
- [ ] Do not omit the asset register — without knowing what is being protected, the STRIDE analysis has no anchor
|
||||
|
||||
@@ -290,3 +290,11 @@ Document limitations honestly — this section prevents other teams from buildin
|
||||
- [ ] All runbook links are live — not broken references or TODO placeholders
|
||||
- [ ] Data classification includes retention period and encryption status — not just sensitivity level
|
||||
- [ ] The entry has been reviewed by at least one consumer team to confirm it matches their experience of the service
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write aspirational SLO targets — targets must be agreed with stakeholders and based on historical data, not copied from a template
|
||||
- [ ] Do not leave runbook links as TODO placeholders — broken or missing links make the catalog entry worse than useless during an incident
|
||||
- [ ] Do not omit the "Known Limitations" section to make the service look better — undisclosed limitations cause incorrect integrations and downstream incidents
|
||||
- [ ] Do not list API error codes without testing them — aspirational error documentation misleads consumers
|
||||
- [ ] Do not write the "What It Does" section with jargon — a new engineer from another team must understand it in under 2 minutes
|
||||
|
||||
@@ -229,3 +229,11 @@ This policy defines what to do with the error budget — both when it's healthy
|
||||
- [ ] Error budget policy has clear triggers and clear actions — not "discuss as a team"
|
||||
- [ ] Burn rate alerts have different windows to catch both fast burns and slow burns
|
||||
- [ ] Exclusions are documented so they don't silently inflate the SLO number
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not set SLO targets at 100% — this discourages feature development and does not reflect how users experience reliability
|
||||
- [ ] Do not measure internal system metrics as SLIs — SLIs must reflect what users directly experience, not internal CPU or memory
|
||||
- [ ] Do not write an error budget policy with vague triggers — "discuss as a team" is not an actionable policy; triggers must be specific percentages
|
||||
- [ ] Do not base targets on aspirational round numbers — always derive from historical baseline data
|
||||
- [ ] Do not configure only one burn-rate alert window — a single window misses both fast burns and slow burns that exhaust the budget quietly
|
||||
|
||||
@@ -261,3 +261,11 @@ If cycle time data was not provided: *Cycle time data was not included in this a
|
||||
- [ ] Next-sprint capacity forecast uses historical average as the baseline and deducts specific known reducers
|
||||
- [ ] Health diagnosis table uses Red/Yellow/Green with evidence cited in the Evidence column — no unsupported scores
|
||||
- [ ] If metrics are missing (cycle time, blocker log), the report explicitly calls them out as recommended additions
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not generate the velocity chart from placeholder data — it must reflect the actual sprint data provided
|
||||
- [ ] Do not diagnose trend direction without computing trailing vs leading averages — "it looks like it's declining" is not a diagnosis
|
||||
- [ ] Do not list carry-over as a generic observation — identify root cause categories with counts for the analysis to be actionable
|
||||
- [ ] Do not produce recommendations without a named owner, a start date, and a measurable target
|
||||
- [ ] Do not score health dimensions without citing evidence in the Evidence column — unsupported Red/Yellow/Green scores are not credible
|
||||
|
||||
@@ -125,6 +125,14 @@ Things to tackle in production but out of scope for this design session:
|
||||
- [ ] Trade-offs section is honest (not just benefits of chosen approach)
|
||||
- [ ] Data flow is described end-to-end for the critical path
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not jump to solutions before clarifying requirements — always establish functional and non-functional requirements first
|
||||
- [ ] Do not present a design without discussing trade-offs — every architecture decision has costs and benefits that must be acknowledged
|
||||
- [ ] Do not use vague capacity estimates — show the actual calculation (QPS, storage bytes, bandwidth) not just "this handles scale"
|
||||
- [ ] Do not design for unlimited scale by default — match the design to the requirements stated
|
||||
- [ ] Do not skip the data model — a system design without entity definitions and data flow is incomplete
|
||||
|
||||
## Usage Examples
|
||||
- "Help me answer a system design interview: [question]"
|
||||
- "Design [system] for a system design interview"
|
||||
|
||||
@@ -288,3 +288,11 @@ This log records every ring movement since the radar's first edition. Use it to
|
||||
- [ ] Maintenance process includes: nomination channel, review cadence, who decides, and ring-change criteria
|
||||
- [ ] Technologies identified as "strategic bets" in the inputs are placed in Adopt (if proven) or Trial (if being rolled out)
|
||||
- [ ] Technologies identified for deprecation are in Hold with a rationale that references the replacement
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not place a technology in Adopt without evidence it is proven at the team's scale — aspirational placements mislead engineers
|
||||
- [ ] Do not add a blip without a written rationale paragraph — table rows without context are unusable
|
||||
- [ ] Do not create a Hold entry without specifying a concrete migration path or target technology
|
||||
- [ ] Do not skip the maintenance process — a radar with no process for updates becomes stale within two quarters
|
||||
- [ ] Do not omit ring definitions — engineers need to know what they should do in response to each ring, not just what the ring means
|
||||
|
||||
@@ -258,3 +258,11 @@ Items where the cost of remediation currently exceeds the business value, accept
|
||||
- [ ] Accepted/deferred items have a review date and a named owner — no permanently deferred items
|
||||
- [ ] The register distinguishes between debt (deliberate or accumulated shortcuts) and bugs (unintended defects)
|
||||
- [ ] Items are closed as resolved only when acceptance criteria are met — not when the PR is merged
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not score debt items arbitrarily — priority scores must be calculated using the documented formula
|
||||
- [ ] Do not conflate technical debt (deliberate shortcuts) with bugs (unintended defects) — they require different remediation strategies
|
||||
- [ ] Do not underrate security and dependency items because they feel abstract — score based on actual business impact
|
||||
- [ ] Do not create "permanently deferred" items — every accepted item must have a review date and named owner
|
||||
- [ ] Do not include resolution plans that are vague descriptions — each plan must have specific, ticketable steps
|
||||
|
||||
@@ -122,6 +122,14 @@ Testing is complete when:
|
||||
- [ ] Each test type names a concrete tool (not "some testing framework")
|
||||
- [ ] Definition of Done is measurable (not "tests are done when QA is happy")
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a test strategy without a risk table that drives test priority — generic coverage targets are not a strategy
|
||||
- [ ] Do not leave the "out of scope" section blank — every test strategy must explicitly name what is not being tested and why
|
||||
- [ ] Do not specify test types without naming a concrete tool for each — "some testing framework" is not actionable
|
||||
- [ ] Do not define a Definition of Done that is not measurable — "QA is happy" is not a completion criterion
|
||||
- [ ] Do not create P0 risk areas without corresponding P0 test cases — risk rating must map to test coverage
|
||||
|
||||
## Usage Examples
|
||||
- "Write a test strategy for [feature]" + [paste spec or PRD]
|
||||
- "Create a test plan for [system]"
|
||||
|
||||
@@ -84,6 +84,13 @@ Position competitors on two key dimensions relevant to the market:
|
||||
**Medium-term (3-12 months):**
|
||||
1. [Action] — [Rationale]
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not present competitor feature claims as facts without citing a source or flagging them as assumptions — outdated or incorrect feature data misleads sales and product decisions
|
||||
- [ ] Do not build a competitive analysis that only covers features — pricing, messaging, go-to-market motion, and who they hire for are equally strategic signals
|
||||
- [ ] Do not treat all buyers as identical — the same product may win against Competitor A in the enterprise segment and lose in SMB; segment-specific win/loss matters
|
||||
- [ ] Do not soften weaknesses and threats in the SWOT to avoid internal discomfort — an honest SWOT is only useful if the negatives are real
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] All competitor claims cite a source or are flagged as assumptions
|
||||
|
||||
@@ -110,6 +110,14 @@ Instructions for applying the redline:
|
||||
- [ ] Pattern issues identified separately from individual changes
|
||||
- [ ] Application instructions match the target platform
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not paraphrase original text when creating tracked deletions — the original text must be preserved exactly, character for character, or the tracked change cannot be reviewed against source
|
||||
- [ ] Do not mix substantive changes with stylistic edits in the same section — reviewers need to approve substantive changes at a different threshold than copy edits
|
||||
- [ ] Do not write margin comments as meta-commentary about the review process ("This section needs work") — comments must be actionable instructions the author can act on
|
||||
- [ ] Do not flag every imperfect sentence as a change — over-redlining trains authors to accept changes without reading, which defeats the purpose of tracked review
|
||||
- [ ] Do not produce a redline without a summary of top-level changes — reviewers read the summary first and use it to decide which changes to scrutinise in detail
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Redline this contract"
|
||||
- "Create tracked changes for this document"
|
||||
|
||||
@@ -7,6 +7,14 @@ description: "Structure and format meeting notes following PM best practices. Us
|
||||
|
||||
This skill structures meeting notes to maximize value and ensure follow-through.
|
||||
|
||||
## Required Inputs
|
||||
|
||||
Ask the user for these if not provided:
|
||||
- **Meeting title and date**
|
||||
- **Attendees** (names and roles)
|
||||
- **Raw notes or transcript** (paste discussion notes, a transcript, or describe what was discussed)
|
||||
- **Meeting type** (1:1 / sprint planning / product review / stakeholder sync / other) — determines which template to use
|
||||
|
||||
## Standard Meeting Notes Template
|
||||
|
||||
### Meeting Header
|
||||
@@ -251,6 +259,14 @@ Template additions:
|
||||
- [ ] Open questions have an owner and a "by when"
|
||||
- [ ] No verbatim transcripts — synthesis only
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not assign action items to "the team" or "everyone" — every action item must have exactly one named owner or it will not be completed
|
||||
- [ ] Do not capture verbatim transcript content — meeting notes record decisions and commitments, not the full conversational path to get there
|
||||
- [ ] Do not omit the context for decisions — a decision without its rationale is useless when someone asks "why did we do that?" six months later
|
||||
- [ ] Do not leave open questions without an owner and deadline — an unanswered question with no follow-up assigned is a blocked decision
|
||||
- [ ] Do not delay sending notes beyond 2 hours after the meeting — notes sent the next day miss the window when action item owners can act on commitments while fresh
|
||||
|
||||
## Notes Distribution
|
||||
|
||||
**Subject Line Format**: "[Meeting Type] Notes - [Date] - [Key Topic]"
|
||||
|
||||
@@ -110,6 +110,14 @@ Format: "As a [user type], I want to [action] so that [benefit]"
|
||||
- [ ] Open questions are listed explicitly
|
||||
- [ ] Implementation plan distinguishes MVP from future phases
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write requirements from the company's perspective — every requirement must trace back to a user need
|
||||
- [ ] Do not include vague requirements like "the system should be fast" — every requirement must be testable
|
||||
- [ ] Do not conflate MVP with future phases — be explicit about what is and is not in scope for the first release
|
||||
- [ ] Do not leave success metrics as percentages without baselines — specify the current state and the target
|
||||
- [ ] Do not skip open questions — unresolved assumptions are risks; surfacing them is the PM's job
|
||||
|
||||
## Example PRD Opening
|
||||
|
||||
```
|
||||
|
||||
@@ -234,3 +234,11 @@ Only include issues that matter at executive level.
|
||||
- [ ] Every risk has a mitigation and a "help needed" flag if stakeholder action is required
|
||||
- [ ] Decisions needed have specific options and a clear recommendation
|
||||
- [ ] Total length is under 1 page / 2 minutes reading time
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not bury the status assessment at the bottom — BLUF means the most important information comes first
|
||||
- [ ] Do not report metrics without a target or prior-period comparison — raw numbers without context are not useful
|
||||
- [ ] Do not list risks without mitigation actions and clear flags for stakeholder help needed
|
||||
- [ ] Do not write decisions needed as questions without providing a clear recommendation — executives need options, not open-ended questions
|
||||
- [ ] Do not allow the update to exceed one page — if it requires more, the message needs editing, not expanding
|
||||
|
||||
@@ -123,21 +123,21 @@ Research gaps identified:
|
||||
- Quantify when possible ("7 out of 10 users...")
|
||||
- Connect themes to business objectives
|
||||
|
||||
## Quality Standards
|
||||
## Quality Checks
|
||||
|
||||
✅ **Good Synthesis:**
|
||||
- Identifies patterns, not just individual responses
|
||||
- Connects insights to product decisions
|
||||
- Includes supporting evidence for each claim
|
||||
- Separates observations from interpretations
|
||||
- Prioritizes findings by impact
|
||||
- [ ] Themes identify patterns across multiple participants, not individual responses
|
||||
- [ ] Insights connect to specific product decisions, not just observations
|
||||
- [ ] Each claim includes supporting evidence (quotes, counts, or examples)
|
||||
- [ ] Observations and interpretations are clearly separated
|
||||
- [ ] Findings are prioritised by impact, not just listed
|
||||
|
||||
❌ **Poor Synthesis:**
|
||||
- Lists every individual comment
|
||||
- Lacks evidence or examples
|
||||
- Makes unsupported leaps
|
||||
- Focuses on solutions before understanding problems
|
||||
- Ignores contradictory data
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not list every individual comment — synthesis must identify patterns across participants
|
||||
- [ ] Do not make interpretive leaps without supporting evidence from the data
|
||||
- [ ] Do not focus on feature requests before understanding the underlying problem — always identify the job-to-be-done first
|
||||
- [ ] Do not ignore contradictory data — conflicting findings must be surfaced and noted
|
||||
- [ ] Do not present results without quantifying prevalence — state how many participants held each view
|
||||
|
||||
## Example Theme
|
||||
|
||||
|
||||
@@ -56,6 +56,14 @@ Touch targets, screen reader labels, focus order, colour contrast, motion prefer
|
||||
- [ ] Empty states specified
|
||||
- [ ] Edge cases listed as actionable questions
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not annotate only the happy path — error states, loading states, and empty states must all be documented
|
||||
- [ ] Do not use vague spacing descriptions like "some padding" — specify exact pixel values or token names
|
||||
- [ ] Do not skip accessibility annotations — focus order, ARIA labels, and colour contrast ratios must be included
|
||||
- [ ] Do not leave interaction behaviour undescribed — every interactive element needs a documented response
|
||||
- [ ] Do not produce annotations without edge cases — developers need to know what happens at boundaries
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Write dev annotations for this Figma screen"
|
||||
- "Create developer handoff notes for [screen/component]"
|
||||
|
||||
@@ -66,6 +66,14 @@ Naming convention to enforce:
|
||||
- [ ] Fix plan is ordered by impact-to-effort ratio
|
||||
- [ ] Variant completeness covers all interactive states
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not flag naming issues without providing a specific, consistent naming convention to adopt
|
||||
- [ ] Do not audit only visual consistency — also check for missing interactive states and accessibility compliance
|
||||
- [ ] Do not list all issues at equal priority — group by impact (Critical / Major / Minor) so the fix plan is actionable
|
||||
- [ ] Do not omit variant completeness — every interactive component must cover all required states
|
||||
- [ ] Do not leave coverage gaps without recommending specific missing components to add
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Audit my Figma component library"
|
||||
- "Review our design system for consistency issues"
|
||||
|
||||
@@ -60,6 +60,14 @@ Feature, PM, Designer, Platform, Design due, Dev handoff dates.
|
||||
- [ ] Constraints include accessibility requirements
|
||||
- [ ] Open questions have owners
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write a design brief that describes the solution — the brief must describe the problem and constraints, not the design answer
|
||||
- [ ] Do not skip the success criteria — designers need to know what "done" looks like before starting
|
||||
- [ ] Do not omit existing components to reuse — briefs that ignore the design system lead to inconsistent implementations
|
||||
- [ ] Do not leave open questions unresolved — escalate them before design work starts, not during it
|
||||
- [ ] Do not confuse requirements with design instructions — the brief defines what, not how
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Write a design brief for [feature]"
|
||||
- "Turn this PRD into a Figma design brief"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: figma-design-critique-pm
|
||||
description: "Run a PM-perspective design critique focused on product outcomes, user goals, and business requirements — not aesthetics. Use when asked for a PM design critique, a product review of a design, feedback on a Figma design from a product perspective, or when you want to critique a design without being a designer. Produces structured outcome-based feedback tied to user goals and business metrics."
|
||||
description: "Runs a PM-perspective design critique focused on product outcomes and user goals, not aesthetics. Use when asked for a PM design critique, a product review of a Figma design, or feedback from a product perspective without needing to be a designer. Produces structured outcome-based feedback tied to user goals, business metrics, and requirement coverage."
|
||||
---
|
||||
|
||||
# Figma Design Critique — PM Perspective Skill
|
||||
@@ -68,6 +68,14 @@ Approve / Approve with changes (list) / Revise and re-review (one focus area onl
|
||||
- [ ] PM recommendation is explicit
|
||||
- [ ] Evidence basis stated honestly
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not critique visual aesthetics — PM feedback must focus on product outcomes, user goals, and business requirements
|
||||
- [ ] Do not provide feedback without stating the evidence basis — distinguish between observed design facts and assumed user behaviour
|
||||
- [ ] Do not give vague feedback like "the flow feels confusing" — every concern must reference a specific screen state or interaction
|
||||
- [ ] Do not ignore what is working — balanced critique includes explicit acknowledgment of design decisions that are well-executed
|
||||
- [ ] Do not critique without knowing the design constraints — always ask about technical, time, or resource limitations before judging decisions
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Give me a PM critique of this design"
|
||||
- "Review this design from a product perspective"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: figma-design-qa
|
||||
description: "Run a pre-handoff QA checklist on any Figma design before it goes to engineering. Use when asked to QA a Figma design, do a pre-handoff check, review a design before engineering, or validate a Figma file is ready to build. Produces a structured QA checklist covering file hygiene, component usage, accessibility, and handoff readiness with pass/fail status. Optimised for Opus 4.7 and newer models."
|
||||
description: "Runs a pre-handoff QA checklist on a Figma design before it goes to engineering. Use when asked to QA a Figma design, do a pre-handoff check, or validate a Figma file is ready to build. Produces a structured QA report covering file hygiene, component usage, accessibility, and handoff readiness with explicit pass/fail status per item. Optimised for Opus 4.7 and newer models."
|
||||
---
|
||||
|
||||
# Figma Design QA Skill
|
||||
@@ -81,6 +81,14 @@ Status, signed off by, date.
|
||||
- [ ] Blocking issues separated from minor ones
|
||||
- [ ] Handoff decision is explicit
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not produce a partial QA — every checklist category must be evaluated, not just the ones that are obviously problematic
|
||||
- [ ] Do not leave the handoff decision ambiguous — the output must explicitly state pass, pass with conditions, or fail
|
||||
- [ ] Do not skip accessibility checks — colour contrast, tap target size, and screen reader labels are required, not optional
|
||||
- [ ] Do not report issues without specifying which screen or component they appear on
|
||||
- [ ] Do not approve a design if any component is detached from the library without a documented reason
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "QA this Figma design before handoff"
|
||||
- "Run a pre-handoff check on [feature] design"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: figma-design-review
|
||||
description: "Run a structured PM design review against product requirements. Use when asked to review a Figma design, check a design against requirements, do a PM design review, or assess whether a design meets the product spec. Produces a requirements coverage check, UX concerns, open questions, and explicit approval status."
|
||||
description: "Runs a structured PM design review against product requirements. Use when asked to review a Figma design, check a design against requirements, or assess whether a design meets the product spec. Produces a requirements coverage check, UX concerns, open questions, and an explicit approval status — approved, approved with conditions, or not approved."
|
||||
---
|
||||
|
||||
# Figma Design Review Skill
|
||||
@@ -60,6 +60,14 @@ Approved / Approved with changes (list) / Needs revision (focus area + next revi
|
||||
- [ ] Open questions have owners
|
||||
- [ ] Approval status is explicit
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not review a design without a list of requirements to check against — always ask for the PRD, design brief, or acceptance criteria first
|
||||
- [ ] Do not give a vague approval status — the decision must be explicitly "approved", "approved with conditions", or "not approved"
|
||||
- [ ] Do not conflate requirements gaps with UX concerns — track them separately so engineers and designers can act independently
|
||||
- [ ] Do not raise concerns without suggesting what information is needed to resolve them
|
||||
- [ ] Do not skip open questions — unresolved assumptions at review time become bugs after engineering handoff
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Review this Figma design against the requirements"
|
||||
- "Do a PM design review for [feature]"
|
||||
|
||||
@@ -76,6 +76,14 @@ Success when: [Specific trigger]
|
||||
- [ ] Success criteria defined for each task
|
||||
- [ ] Reset process defined for between participants
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not prototype everything — scope must be limited to the interactions that answer the specific research questions
|
||||
- [ ] Do not design prototype flows without also writing the test task scripts — the two must align exactly
|
||||
- [ ] Do not skip the reset process between participants — unsettled prototype state contaminates results
|
||||
- [ ] Do not plan a prototype without specifying which interactions are clickable vs static — ambiguity causes scope creep
|
||||
- [ ] Do not scope a prototype without first defining the research questions it needs to answer
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Plan the Figma prototype for our user test on [feature]"
|
||||
- "What interactions do I need to build for this prototype?"
|
||||
|
||||
@@ -69,6 +69,14 @@ Desktop (1440px): 12 columns, margin [value], gutter [value], max content width
|
||||
- [ ] Component conventions cover common decisions
|
||||
- [ ] Figma implementation steps included
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not create a spacing scale with arbitrary values — the scale must follow a consistent mathematical ratio (e.g. 4px base, 8-4-2 system)
|
||||
- [ ] Do not define spacing tokens without Figma implementation instructions — token names alone are not actionable
|
||||
- [ ] Do not create a spacing system that doesn't account for component-level spacing conventions — global tokens and component usage must both be documented
|
||||
- [ ] Do not skip grid definitions — spacing without a grid system is incomplete layout foundation documentation
|
||||
- [ ] Do not produce a spacing system that ignores responsive behaviour — define how spacing adapts across breakpoints
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Create a spacing system for our Figma design system"
|
||||
- "Define our spacing tokens for Figma"
|
||||
|
||||
@@ -68,6 +68,14 @@ Feature name/
|
||||
- [ ] Out-of-scope section is explicit
|
||||
- [ ] Figma file structure matches screen map
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not plan only the happy path — all error states, empty states, and edge cases must be mapped before designing starts
|
||||
- [ ] Do not produce a flow map that doesn't match the Figma file structure — the page structure must reflect the flow map
|
||||
- [ ] Do not define screens without specifying all required states — a screen without its variants is an incomplete design scope
|
||||
- [ ] Do not start designing before entry and exit points are fully documented — unclear boundaries cause scope creep
|
||||
- [ ] Do not plan user flows without tying each step back to a user goal — every screen must justify its existence
|
||||
|
||||
## Example Trigger Phrases
|
||||
- "Plan the user flow for [feature] in Figma"
|
||||
- "What screens do I need to design for [feature]?"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user