adopt-48a693 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited adopt-48a693 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
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.
This skill audits an existing project's artifacts for format compliance with the template's skill pipeline, then produces a prioritised migration plan.
This is not `/project-stage-detect`. /project-stage-detect answers: what exists? /adopt answers: will what exists actually work with the template's skills?
A project can have GDDs, ADRs, and stories — and every format-sensitive skill will still fail silently or produce wrong results if those artifacts are in the wrong internal format.
Output: docs/adoption-plan-[date].md — a persistent, checkable migration plan.
Argument modes:
Audit mode: $ARGUMENTS[0] (blank = full)
Emit one line before reading: "Scanning project artifacts..." — this confirms the skill is running during the silent read phase.
Then read silently before presenting anything else.
production/stage.txt — if present, read it (authoritative phase)design/gdd/game-concept.md — concept exists?design/gdd/systems-index.md — systems index exists?design/gdd/*.md (excluding game-concept.md and systems-index.md)docs/architecture/adr-*.mdproduction/epics/**/*.md (excluding EPIC.md).claude/docs/technical-preferences.md — engine configured?docs/engine-reference/ — engine reference docs present?docs/adoption-plan-*.md — note the filename of the most recent prior plan if any existUse the same heuristic as /project-stage-detect:
src/ → Productionproduction/epics/ → Pre-Production/start)If the project appears fresh (no artifacts at all), use AskUserQuestion:
/adopt is forprojects with work to migrate. What would you like to do?"
/start — begin guided first-time onboarding"Then stop — do not proceed with the audit regardless of which option the user picks (each option leads to a different skill or manual investigation).
Report: "Detected phase: [phase]. Found: [N] GDDs, [M] ADRs, [P] stories."
For each artifact type in scope (based on argument mode), check not just that the file exists but that it contains the internal structure the template requires.
For each GDD file found, check for the 8 required sections by scanning headings:
| Required Section | Heading pattern to look for |
|---|---|
| Overview | ## Overview |
| Player Fantasy | ## Player Fantasy |
| Detailed Rules / Design | ## Detailed or ## Core Rules or ## Detailed Design |
| Formulas | ## Formulas or ## Formula |
| Edge Cases | ## Edge Cases |
| Dependencies | ## Dependencies or ## Depends |
| Tuning Knobs | ## Tuning |
| Acceptance Criteria | ## Acceptance |
For each GDD, record:
([To be designed] or equivalent)
Also check: does each GDD have a **Status**: field in its header block? Valid values: In Design, Designed, In Review, Approved, Needs Revision.
For each ADR file found, check for these critical sections:
| Section | Impact if missing |
|---|---|
## Status | BLOCKING — /story-readiness ADR status check silently passes everything |
## ADR Dependencies | HIGH — dependency ordering in /architecture-review breaks |
## Engine Compatibility | HIGH — post-cutoff API risk is unknown |
## GDD Requirements Addressed | MEDIUM — traceability matrix loses coverage |
## Performance Implications | LOW — not pipeline-critical |
For each ADR, record: which sections present, which missing, current Status value if the Status section exists.
If design/gdd/systems-index.md exists:
parentheses: "Needs Revision (", "In Progress (", etc. These break exact-string matching in /gate-check, /create-stories, and /architecture-review. BLOCKING.
Not Started, In Progress, In Review, Designed, Approved, Needs Revision Flag any unrecognised values.
Layer, Priority, Status columns. Missing columns degrade skill functionality.
For each story file found:
TR-[a-z]+-[0-9]+ pattern? (MEDIUM — no staleness tracking)ADR- pattern)- [ ])?| Artifact | Path | Impact if missing |
|---|---|---|
| TR registry | docs/architecture/tr-registry.yaml | HIGH — no stable requirement IDs |
| Control manifest | docs/architecture/control-manifest.md | HIGH — no layer rules for stories |
| Manifest version stamp | In manifest header: Manifest Version: | MEDIUM — staleness checks blind |
| Sprint status | production/sprint-status.yaml | MEDIUM — /sprint-status falls back to markdown |
| Stage file | production/stage.txt | MEDIUM — phase auto-detect unreliable |
| Engine reference | docs/engine-reference/[engine]/VERSION.md | HIGH — ADR engine checks blind |
| Architecture traceability | docs/architecture/architecture-traceability.md | MEDIUM — no persistent matrix |
Read .claude/docs/technical-preferences.md. Check each field for [TO BE CONFIGURED]:
Organise every gap found across all audits into four severity tiers:
BLOCKING — Will cause template skills to silently produce wrong results right now. Examples: ADR missing Status field, systems-index parenthetical status values, engine not configured when ADRs exist.
HIGH — Will cause stories to be generated with missing safety checks, or infrastructure bootstrapping will fail. Examples: ADRs missing Engine Compatibility, GDDs missing Acceptance Criteria (stories can't be generated from them), tr-registry.yaml missing.
MEDIUM — Degrades quality and pipeline tracking but does not break functionality. Examples: GDDs missing Tuning Knobs or Formulas sections, stories missing TR-IDs, sprint-status.yaml missing.
LOW — Retroactive improvements that are nice-to-have but not urgent. Examples: Stories missing Manifest Version stamps, GDDs missing Open Questions section.
Count totals per tier. If zero BLOCKING and zero HIGH gaps: report that the project is template-compatible and only advisory improvements remain.
Compose a numbered, ordered action plan. Ordering rules:
For each gap, produce a plan entry with:
- [ ] for trackingSpecial case — systems-index parenthetical status values: This is always the first item if present. Show the exact values that need changing and the exact replacement text. Offer to fix this immediately before writing the plan.
Special case — ADRs missing Status field: For each affected ADR, the fix is: /architecture-decision retrofit docs/architecture/adr-[NNNN]-[slug].md List each ADR as a separate checkable item.
Special case — GDDs missing sections: For each affected GDD, list which sections are missing and the fix: /design-system retrofit design/gdd/[filename].md
Infrastructure bootstrap ordering — always present in this sequence:
/architecture-review → bootstraps tr-registry.yaml/create-control-manifest → creates manifest with version stamp/sprint-plan update → creates sprint-status.yaml/gate-check [phase] → writes stage.txt authoritativelyExisting stories — note explicitly:
"Existing stories continue to work with all template skills — all new format checks auto-pass when the fields are absent. They won't benefit from TR-ID staleness tracking or manifest version checks until they're regenerated. This is intentional: do not regenerate stories that are already in progress."
Present a compact summary before writing:
## Adoption Audit Summary
Phase detected: [phase]
Engine: [configured / NOT CONFIGURED]
GDDs audited: [N] ([X] fully compliant, [Y] with gaps)
ADRs audited: [N] ([X] fully compliant, [Y] with gaps)
Stories audited: [N]
Gap counts:
BLOCKING: [N] — template skills will malfunction without these fixes
HIGH: [N] — unsafe to run /create-stories or /story-readiness
MEDIUM: [N] — quality degradation
LOW: [N] — optional improvements
Estimated remediation: [X blocking items × ~Y min each = roughly Z hours]Before asking to write, show a Gap Preview:
(e.g. systems-index.md: 3 rows have parenthetical status values, adr-0002.md: missing ## Status section). No counts — show the actual items.
HIGH: 4, MEDIUM: 2, LOW: 1).This gives the user enough context to judge scope before committing to writing the file.
If a prior adoption plan was detected in Phase 1, add a note:
"A previous plan exists at docs/adoption-plan-[prior-date].md. The new plan will reflect current project state — it does not diff against the prior run."Use AskUserQuestion:
docs/adoption-plan-[date].md"If the user picks "Show me the full plan preview", output the complete plan as a fenced markdown block. Then ask again with the same three options.
If approved, write docs/adoption-plan-[date].md with this structure:
# Adoption Plan
> **Generated**: [date]
> **Project phase**: [phase]
> **Engine**: [name + version, or "Not configured"]
> **Template version**: v1.0+
Work through these steps in order. Check off each item as you complete it.
Re-run `/adopt` anytime to check remaining gaps.
---
## Step 1: Fix Blocking Gaps
[One sub-section per blocking gap with problem, fix command, time estimate, checkbox]
---
## Step 2: Fix High-Priority Gaps
[One sub-section per high gap]
---
## Step 3: Bootstrap Infrastructure
### 3a. Register existing requirements (creates tr-registry.yaml)
Run `/architecture-review` — even if ADRs already exist, this run bootstraps
the TR registry from your existing GDDs and ADRs.
**Time**: 1 session (review can be long for large codebases)
- [ ] tr-registry.yaml created
### 3b. Create control manifest
Run `/create-control-manifest`
**Time**: 30 min
- [ ] docs/architecture/control-manifest.md created
### 3c. Create sprint tracking file
Run `/sprint-plan update`
**Time**: 5 min (if sprint plan already exists as markdown)
- [ ] production/sprint-status.yaml created
### 3d. Set authoritative project stage
Run `/gate-check [current-phase]`
**Time**: 5 min
- [ ] production/stage.txt written
---
## Step 4: Medium-Priority Gaps
[One sub-section per medium gap]
---
## Step 5: Optional Improvements
[One sub-section per low gap]
---
## What to Expect from Existing Stories
Existing stories continue to work with all template skills. New format checks
(TR-ID validation, manifest version staleness) auto-pass when the fields are
absent — so nothing breaks. They won't benefit from staleness tracking until
regenerated. Do not regenerate stories that are in progress or done.
---
## Re-run
Run `/adopt` again after completing Step 3 to verify all blocking and high gaps
are resolved. The new run will reflect the current state of the project.After writing the adoption plan (or if the user cancels writing), check whether production/review-mode.txt exists.
If it exists: Read it and note the current mode — "Review mode is already set to [current]." — skip the prompt.
If it does not exist: Use AskUserQuestion:
Full — Director specialists review at each key workflow step. Best for teams, learning the workflow, or when you want thorough feedback on every decision.Lean (recommended) — Directors only at phase gate transitions (/gate-check). Skips per-skill reviews. Balanced for solo devs and small teams.Solo — No director reviews at all. Maximum speed. Best for game jams, prototypes, or if reviews feel like overhead.Write the choice to production/review-mode.txt immediately after selection — no separate "May I write?" needed:
Full → write fullLean (recommended) → write leanSolo → write soloCreate the production/ directory if it does not exist.
After writing the plan, don't stop there. Pick the single highest-priority gap and offer to handle it immediately using AskUserQuestion. Choose the first branch that applies:
If there are parenthetical status values in systems-index.md: Use AskUserQuestion:
systems-index.md — [N] rows have parenthetical statusvalues (e.g. Needs Revision (see notes)) that break /gate-check, /create-stories, and /architecture-review right now. I can fix these in-place."
If ADRs are missing `## Status` (and no parenthetical issue): Use AskUserQuestion:
## Status to [N] ADR(s): [list filenames].Without it, /story-readiness silently passes all ADR checks. Start with [first affected filename]?"
If GDDs are missing Acceptance Criteria (and no blocking issues above): Use AskUserQuestion:
[list filenames]. Without them, /create-stories can't generate stories. Start with [highest-priority GDD filename]?"
If no BLOCKING or HIGH gaps exist: Use AskUserQuestion:
not a list of six things to do simultaneously
do not rewrite GDDs, ADRs, or stories that already have content
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.