WCAG 2.1 AA audit — perceivable, operable, understandable, robust criteria. Deep-dive for /launch-check accessibility.
The English summary is being prepared. Showing the original description.
Lightweight 5-question pre-spec gate between /idea and /write-spec — catches "this isn't worth speccing" in 10 minutes.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Writing: read docs/skills/shared/writing-rule.md before you write a durable artifact.
A 10-minute, 5-question check before committing the time of /write-spec. Most ideas should die before the PRD round; this skill makes that decision explicit. Invokable standalone, and offered as an optional follow-up step inside /idea (after capture) and /handover (when the project looks dormant).
What this is not. Not Wardley mapping. Not event storming. Not business-model canvas. No scoring rubric. Five plain questions, one per turn, then a verdict.
Read the registry path via portfolio_registry, the per-project docs dir via portfolio_projects_dir, and the ideas backlog via portfolio_ideas_backlog — all from .claude/hooks/_lib-portfolio-paths.sh. Source the helper at the top of any bash block that touches those paths:
source "$(git rev-parse --show-toplevel)/.claude/hooks/_lib-read-config.sh"
source "$(git rev-parse --show-toplevel)/.claude/hooks/_lib-portfolio-paths.sh"
registry=$(portfolio_registry)
Defaults match today's single-fork layout (./apexyard.projects.yaml, ./projects, ./projects/ideas-backlog.md). Adopters in split-portfolio mode override the portfolio.{registry, projects_dir, ideas_backlog} keys in .claude/project-config.json. Don't hardcode literal apexyard.projects.yaml or projects/ paths in bash blocks — the helper resolves whichever mode the adopter is in. See docs/multi-project.md.
When /validate-idea runs, activate the Product Manager role for the validation read-out, with optional handoff to Head of Product if the verdict is green and a roadmap-impact call is needed. The role's "is this worth doing?" lens is exactly the right perspective.
See .claude/rules/role-triggers.md for the activation protocol.
/validate-idea IDEA-042 # validate a backlog entry by ID
/validate-idea sample-app # validate a registered project (handover follow-up)
/validate-idea AI-powered linter # free-form description (no IDEA-NNN yet)
IDEA-NNN form — read projects/ideas-backlog.md; pull the row's title + one-line description as starting context. Output path: projects/<project>/validation/<IDEA-NNN>-validation.md (or projects/_inbox/validation/<IDEA-NNN>-validation.md if the IDEA hasn't been assigned to a project yet).apexyard.projects.yaml; pull the project's README + handover-assessment if available, as starting context. Output path: projects/<project>/validation/handover-validation.md.projects/_inbox/validation/<slug>.md.If the input is ambiguous or absent, ask:
What are you validating? An IDEA-NNN, a project name, or a free-form pitch?
Print whatever you pulled from step 1 (3-5 lines max), so the user can read what the skill thinks the idea is before answering questions. If the user disagrees, they can correct in their first answer.
Never batch. Wait for the answer before asking the next.
Who specifically is this for? Be concrete — a role, a context, a moment of need.
"Everyone" is a red flag; "freelance designers who manage three or more
client invoices a month" is the right level.
If the answer is "everyone" / "anyone" / vague: probe once with Pick the narrowest plausible group — even if you'll expand later. Who would benefit MOST from this in the first 30 days?
What do they do today instead?
Possible answers: a competitor product (specific name), a manual workaround (e.g. "a spreadsheet"), or "nothing — it's just an unmet need." If "nothing", probe: If there's no alternative, the gap is either real-but-low-priority or fictional. Which? What evidence?
What's the smallest thing you could build that would prove this is valuable?
1-2 days of work, max. Not "the MVP" — the SMALLEST testable slice.
If the answer is large (≥ 1 week of work): probe Cut it in half. What's the half that, if it works, tells you the rest is worth building?
What would prove this is wrong? What would you observe — concretely —
that would tell you to park this?
This question is the one most ideas can't answer cleanly. Inability to articulate kill criteria is itself signal — note it in the output.
Is this:
- BUILD (genuinely differentiating — your moat is the implementation)
- BUY / OSS (commodity — someone has already shipped this; just adopt)
- RENT (utility — pay a SaaS, don't build infrastructure for it)
If the answer is "build" but Q2's alternative is a working competitor product, probe: If <competitor> already does this, what's your specific angle they don't have? If "I'd do it better" — that's not a moat; surface a real differentiator or move to BUY.
Read all five answers together. Score in the PM's head (no rubric — this is a judgement call):
/write-spec.WONTDO.The verdict is a one-line statement at the bottom of the output, in bold, with a one-sentence reason.
Output template (~50 lines):
# {Title} — Validation
**Date**: YYYY-MM-DD
**Source**: {IDEA-NNN | project name | free-form}
**Verdict**: **{GREEN | YELLOW | RED}** — {one-sentence reason}
## Starting context
{3-5 lines from step 2}
## Q1. Target user
{user's answer + any probe response}
## Q2. Current alternative
{user's answer}
## Q3. Smallest version
{user's answer}
## Q4. Kill criteria
{user's answer; note explicitly if it was hard to articulate}
## Q5. Build / buy / rent
{user's answer + any probe}
## Read-out
{2-4 sentences synthesising the answers — what stood out, what's strong,
what's weak}
## Next step
{ONE of:
- GREEN → "Proceed to `/write-spec {title}`."
- YELLOW → "Park for {N} days. Revisit when {sharpening criterion} is in place."
- RED → "Archive. Updating `projects/ideas-backlog.md` row to status WONTDO."
}
NEW (or whatever it was). The skill does NOT advance status; that's /write-spec's job.projects/ideas-backlog.md: change Status from current to WONTDO. Append a one-line reason to the row's notes.Validation written: projects/<...>/validation/<...>-validation.md
Verdict: {GREEN | YELLOW | RED}
{Side effect, if any: "ideas-backlog.md updated to WONTDO." | nothing}
RED updates the backlog automatically — WONTDO is a recoverable state (the row stays); no destruction.GREEN does NOT auto-trigger /write-spec. The user makes that call. Decoupling validation from spec-authoring keeps each step's intent explicit./ideaAfter the IDEA-NNN is captured (and the optional GitHub Issue is offered), /idea adds a third optional step:
Validate now? Run /validate-idea {IDEA-NNN} — y/n (default n)
Default-no respects /idea's lightweight-capture intent. Most users batch-validate later.
/handoverAt the end of the integration-plan emit, IF the project is dormant by the heuristic (last commit > 90 days ago AND zero open PRs AND no recent issue activity), /handover adds:
This project looks dormant — run /validate-idea {project-name} to confirm
it's still worth investing in? y/n (default n)
Healthy active projects don't see the prompt. Dormant ones do.
User: /validate-idea AI-powered grocery picker
Agent: [batches all 5 questions in one message]
1. Who is this for?
2. What's the alternative?
3. Smallest version?
4. Kill criteria?
5. Build, buy, or rent?
Wrong. Batching defeats the validation purpose — the user gives surface-level answers without thinking. Ask one, wait, then the next.
/idea — captures the idea pre-validation/write-spec — authors the PRD post-validation (only on GREEN)/decide — captures the technical decision once the spec is in flightPart of ApexYard — multi-project SDLC framework for Claude Code · MIT.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
WCAG 2.1 AA audit — perceivable, operable, understandable, robust criteria. Deep-dive for /launch-check accessibility.
The English summary is being prepared. Showing the original description.
WCAG 2.2 AA audit — perceivable, operable, understandable, robust criteria. Deep-dive for /launch-check accessibility.
The English summary is being prepared. Showing the original description.
Browse / search / show / stats AgDRs across the portfolio — recalls "have we decided this before?".
The English summary is being prepared. Showing the original description.
Analytics audit — SDK config, event naming, funnel completeness, dashboards. Deep-dive for /launch-check analytics.
The English summary is being prepared. Showing the original description.
Record per-PR architecture-review approval for design-artifact PRs (required by the architecture gate). ONLY on an explicit per-PR architect "approved".
The English summary is being prepared. Showing the original description.
Record per-PR design-review approval (UI merge gate). ONLY on an explicit per-PR designer "approved".
The English summary is being prepared. Showing the original description.