skills/design-validate/SKILL.md
(Tester/Reviewer) Validate a feature Design Doc for clarity, completeness, edge cases, and testability; writes a validation report under docs/runs/<feature_id>/...
npx skillsauth add dvduongth/skills design-validateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce an actionable validation report for a feature Design Doc:
Use after design-doc has produced the canonical design doc at docs/design-docs/<feature_id>/design-doc.md.
You are an independent reviewer. Treat the design doc as a black box — do not assume anything was handled correctly during design_doc. Do not give credit for effort; only verify results. Your review must surface issues that a first-time reader would find, not issues the author already knows about.
Output language: Vietnamese
canonical (default) or explicit path
docs/design-docs/<feature_id>/design-doc.mdlatestdocs/runs/<feature_id>/<ingest_run>/ingest-summary.mddocs/design-docs/<feature_id>/manifest.md — determines which companion docs (e.g., layout-detail.md) to validatelayout-detail.md with status draft or approved: validate docs/design-docs/<feature_id>/layout-detail.md using templates/references/checklists.md Layout Detail ChecklistSections marked [OPTIONAL] in the template:
S-xx [§N Section Name — vắng mặt] (non-blocking suggestion)V-xx [§N Section Name — trống] (must-fix blocking)Known Bugs tracking is NOT a CV item and does NOT affect PASS/FAIL outcome.
design-docdev-specs (on PASS)Pre-flight is BLOCKING: validate_structure.py must pass (exit 0) before LLM validation begins. Exit code 1 = report structural issues and stop — do NOT proceed to LLM content review.
Run before reading the design doc:
python tools/validate_structure.py <feature_id>
python tools/scaffold_run.py <feature_id> validate
Creates the run folder + input.md. Note the printed path.Walk each item sequentially. Mark pass/fail with evidence.
Items marked
(game feature)apply only when the feature is a game mechanic.
Execute all four steps in order. Step results feed directly into the corresponding §5 sub-sections.
For every step in every flow, evaluate each of the five categories below. Record a row in the §5 table ONLY for combinations that are MISSING or need a note. COVERED steps with no issues may be omitted from the table. The five categories derive from the ZPS Design Constitution (memory/constitution.md).
| Category | Question to ask | |---|---| | Connectivity | Can this step be interrupted by a disconnect? How does reconnect handle it? | | Resources | Does this step require a resource (chips, materials, energy, lives)? What happens if insufficient? | | Timeout | Does this step have a timer? What happens when it expires? What happens on action timeout (server no response)? | | User error | What can the user do wrong here? (double-tap, back button, spam, invalid input) | | System error | Can a server error or exception occur here? What is the UI fallback? |
Record findings in §5 "Per-step edge case scan results".
For every element that has a state (UI component, game object, session, timer):
Find the analytics/metrics section in the design doc by searching for a section titled "Analytics", "Metrics", or "Analytics events to instrument". Use the section title as the primary identifier (section number varies by doc).
Severity guidance for metrics gaps:
V-xx [Analytics — section absent]game_start, match_start) → suggestion: S-xx [Analytics — entry event missing]exit or error event types → suggestion: S-xx [Analytics — exit/error event missing]progress or complete events when a primary KPI depends on them → must-fix (blocking): V-xx [Analytics — progress/complete event missing]Record findings in §5 "Metrics coverage".
Create: docs/runs/<feature_id>/<YYYYMMDD_HHMM>_step1_validate/
Write: validation-report.md
validation-report.md structure (MUST follow)IMPORTANT: Do not begin writing this report until all four scanning protocol steps are complete. Write the report only after the scanning protocol has been fully executed.
§1 Summary
§2 Must-fix issues (blocking) For each issue:
§3 Suggestions (non-blocking)
§4 Testability check
UNRESOLVED [§N Section — keyword]: in this section.§5 Coverage check (states & edges)
Flow coverage:
Per-step edge case scan results (MISSING or notable rows only):
| Flow | Step | Category | Covered? | Notes | |---|---|---|---|---| | e.g. Main flow | 2. Place bet | Resources | MISSING | No behavior defined for insufficient chips |
State machine coverage:
Metrics coverage (analytics events):
§6 Mapping readiness
§7 Constitution compliance (only if memory/constitution.md was read)
Run the Review Checklist (Quick) from constitution.md against the full design package:
For each item: PASS / FAIL. Any FAIL = must-fix blocking issue (add to §2 Must-fix list with format V-xx [Constitution — <item name>]).
§8 Game sections coverage (only if is_game_feature detected)
Check design-doc for presence and quality of game-specific sections:
Check layout-detail.md (if status is draft/approved in manifest):
Correctness: All CV items walked sequentially with pass/fail evidence; all V-xx and S-xx IDs include [§N Section Name — keyword] suffix; all four scanning protocol steps executed before writing report.
Completeness: §5 contains all four sub-sections (flow coverage, per-step edge case scan, state machine coverage, metrics coverage) populated with findings from Steps 1–4.
Context-fit: Report is actionable — each must-fix has a suggested fix; issues surface what a first-time reader would find.
Consequence: Report does not rewrite the whole doc; surfaces issues only; report saved under the correct docs/ path.
development
Hiểu sâu bất kỳ codebase nào đã được GitNexus index — architecture, execution flows, symbol relationships, blast radius. Dùng khi hỏi về codebase architecture, symbol context, impact analysis, hoặc index status.
tools
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
tools
Gemini CLI for one-shot Q&A, summaries, and generation.