design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited design (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run qq scripts as${CLAUDE_PLUGIN_ROOT}/bin/<name>: they are not on PATH, so a bareqq-execute-checkpoint.pyexits 127.
Respond in the user's preferred language (detect from their recent messages, or fall back to the language setting in CLAUDE.md).
Write a game design document, the first step of the qq pipeline; /qq:plan turns it into a technical implementation plan.
Workflow: take--workflow <name>from$ARGUMENTSif present, else runqq-config.py field workflow. Onprototype-loop, write the acceptance checklist ofshared/prototype-loop.md§Design instead of the document below, and stop for the user's approval even with--auto; onheavy-review(the default), follow this file as written.
Arguments: $ARGUMENTS
This skill writes game design, not technical architecture. Explore the codebase to understand what exists, but write everything in player-facing language: the saved document contains no code identifiers: file names (Foo.cs), type names (FooManager, FooComponent, FooSystem), class or interface declarations, Service/ paths.
| Write this (design language) | Not this (implementation language) |
|---|---|
| The game flow | GameFlowManager |
| Crew get hungry and tired | NeedsComponent.Hunger, NeedsTickSystem |
| A workbench crafts items | CraftingComponent, ITaskIssuer |
| Food spoils over time | ItemProperty.Freshness float decay |
# [Feature Name] Design Document
User's request: "<their exact words, 1-3 lines>" (where and when)
## Needs the user's decision
Omit if none. Plain `- ` bullets; keep this heading in English, verbatim.
## 1. Problem & Goal
What gap this addresses. What the player experience looks like when done. (2-3 sentences)
## 2. Reference Games
| Game | How they do it | What we borrow |
## 3. Design Approach
Which approach was chosen and why. One sentence on trade-offs if relevant.
## 4. Detailed Design
- Player-facing state/flow (ASCII or Mermaid diagram)
- Game concept definitions (describe what the player sees/feels, NOT code fields)
- Player interaction flow (numbered steps of what the player does)
## 5. Scope (optional — only if user mentions MVP/minimal/first pass)
| Item | In / Out | User's words (required for Out) |
## 6. Acceptance Checklist
Numbered list (not `- [ ]` checkboxes): player-visible outcomes the finished feature is checked against. One line each, pointing to the section it checks.
1. The player can X and sees Y. (§4)
## 7. Open Questionsshared/user-decisions.md. Back each with an inline (user: "...") quote. When a section you present contains one, ask about it by name; an OK to the whole section is not the user's words for it. In --auto, or if left open, put it on the "Needs the user's decision" list and write the body with the normal rule. Everything else is your call; no tag needed./qq:design-research using the Skill tool to find 2-3 games that solve similar design problems well. Skip only when the user says no references are needed.--auto). Keep total doc to 1-3 pages; more means implementation detail that belongs in /qq:planDocs/qq/<branch-name>/<feature-name>_design.md (branch name from git branch --show-current | tr '/' '_')/qq:post-design-review using the Skill tool, passing the saved document path (without --auto; step 9 does the handoff). If the verdict is HAS GAPS or NEEDS REWORK, revise the document before proceeding. Loop until SOLID or the user explicitly accepts the gaps.--reason, say who decided: user: <their words> or author's call. qq-decisions.py add --project . --phase design --key "<decision>" --value "<choice>" --reason "<why>"--auto; don't wait for answers), and recommend /qq:plan. `--auto` mode: run qq-execute-checkpoint.py pipeline-advance --project . --completed-skill "/qq:design" --next-skill "/qq:plan" --design-doc "<saved-doc-path>", then invoke /qq:plan --auto <saved-doc-path>.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.