Authors of AGH PRDs, TechSpecs, and _tasks.md repeatedly produce drafts that miss project-specific directives — frameworks named in PRDs, prose-only TechSpecs, "fraco" test coverage. This skill loads project memory before handing off to cy-create-prd, cy-create-techspec, or cy-create-tasks, then runs the relevant post-draft checks before approval.
Required Inputs
- phase (optional): one of
prd,techspec,tasks, ortask-body. When omitted, infer from the activecy-create-*skill or from the artifact path (_prd.md,_techspec.md,_tasks.md,task_NN.md).
Procedures
Step 1: Load Project Memory
- Read
docs/_memory/spec-authoring-playbook.mdin full. - Read
docs/_memory/standing_directives.md(SD-001..SD-011). - Read
docs/_memory/glossary.md(vocabulary discipline —capabilityvsrecipe, AGH is/is-not). - Read the matching lessons by phase. Read
references/phase-lessons.mdfor the phase → lesson mapping. - Read
CLAUDE.mdAuthoring Posture, Architecture Principles, Autonomy Contracts, Security Invariants sections.
Step 2: Load Active Project Context
- Resolve the active task slug: the
.compozy/tasks/<slug>/directory the artifact targets. - If a
_techspec.mdexists at the slug, read it before authoring tasks. - If
adrs/*.mdexist, read every one before authoring techspec/tasks. - If
analysis/*.mdexist (e.g., fromcy-research-competitors), read before authoring techspec. - If a prior phase artifact exists (PRD before TechSpec, TechSpec before Tasks), read it.
Step 3: Apply Phase-Specific Checks
Phase-specific checks below. Run only the relevant block. Use the "before authoring" checks before the inner skill writes a draft, and the "after draft" checks before user approval.
Phase: prd
- Read
references/prd-checks.md. - Before authoring, confirm the active idea is framed as WHAT/WHY/WHO and not implementation detail.
- After the draft is produced, run
python3 scripts/check-prd-implementation-leak.py <prd_path>to surface framework/storage/error-code/file-format names. Strip every match unless the PRD is about the named technology. - Confirm the PRD lists explicit Goals, Non-Goals, Success Metrics, and Open Questions using the canonical
cy-create-prdtemplate. - Confirm the PRD states the agent/operator manageability outcome and extension ecosystem expectation without naming implementation details.
- Do not invoke
cy-spec-peer-reviewfor PRDs. Peer review is TechSpec-only and user-directed.
Phase: techspec
- Read
references/techspec-six-markers.md. - After draft is produced, run
python3 scripts/check-techspec-markers.py <techspec_path>to verify the six markers are present. - Confirm "No fallback / no compat shim / no placeholder" clauses are present where breaking changes apply.
- Confirm Test Plan is per-section bullet list with concrete assertions and verification commands.
- Confirm Public Interfaces / Types section enumerates routes, payloads, CLI verbs, config keys.
- Confirm Extensibility Integration Plan enumerates extension manifests, hooks, skills/capabilities, tools/resources, bundles, registries, bridge SDKs, MCP sidecars, and protocol docs that are added/changed/removed or explicitly unaffected.
- Confirm Agent Manageability Plan enumerates CLI verbs, HTTP endpoints, UDS routes, structured outputs, status/config discovery, and deterministic errors agents will use.
- Confirm Config Lifecycle section enumerates
config.tomlkeys/defaults, merge/overlay behavior, validation, examples, generated CLI/site docs, and tests that are added/changed/removed or explicitly unaffected. - Confirm Assumptions/Defaults section closes the spec.
- Confirm Web/Docs Impact is captured if any contract surface is touched (activate
cy-web-docs-impact). - After the user approves the baseline TechSpec draft and it has been saved, offer
cy-spec-peer-review. Invoke it only if the user explicitly opts in.
Phase: tasks
- Read
references/tasks-checks.md. - Confirm the table column order matches
cy-create-tasks:# | Title | Status | Complexity | Dependencies. - Confirm an MVP Boundary statement above the table.
- Confirm Dependencies column is populated for every row.
- Confirm Complexity is rated
low | medium | high | critical, with QA execution and safety primitives marked high/critical as appropriate. - Confirm last two rows are
qa-report(high) +qa-execution(critical) percy-tasks-tail-qa-pair. - Confirm Web/Docs Impact subsection exists in every backend task body (activate
cy-web-docs-impactto populate). - Confirm Extensibility / Agent Manageability / Config Lifecycle subsections exist in every feature-bearing backend task body.
- Confirm test density is proportional to behavior count per task. Reject "fraco" plans (1-2 tests for many behaviors).
- Confirm
.resources/<competitor>/pathreferences are cited per task when the TechSpec drew on competitors. - Confirm no TBD / placeholder rows.
Phase: task-body
- Confirm
<critical>ALWAYS READ _techspec.md ...</critical>block at the top. - Confirm
<critical>MINIMIZE CODE, TESTS REQUIRED, NO WORKAROUNDS</critical>block. - Confirm Files / Surfaces section enumerates touched files.
- Confirm Tests section enumerates assertions covering happy path + failure paths + concurrency stress + contract redaction (when relevant).
- Confirm Web/Docs Impact subitem.
- Confirm Extensibility / Agent Manageability / Config Lifecycle subitem.
- Confirm References section cites
.resources/<competitor>/pathpaths from the TechSpec.
Step 4: Coordinate With the Inner Skill
- Before authoring checks pass: hand off to the inner
cy-create-*skill. - The inner skill produces the artifact; this preflight skill is not the author.
- After the draft exists: run the after-draft checks above before user approval or task execution.
Error Handling
- Phase cannot be inferred: ask the user explicitly. Do not guess.
- Playbook missing: halt. The playbook is mandatory context. Direct the user to restore from git or re-run the synthesis.
scripts/check-*.pyfail with structural errors: the artifact does not match the expected shape. Surface the path that broke; do not auto-fix.- PRD names AGH-Network wire format: allowed exception per
lessons/L-013— confirm with user before stripping. - TechSpec missing markers: do not let the user skip. Pedro will reject the spec; resolve missing markers first.
_tasks.mdmissing QA pair: auto-invokecy-tasks-tail-qa-pairto repair._tasks.mdmissing Web/Docs Impact subitems: auto-invokecy-web-docs-impactto populate.- TechSpec/task lacks extensibility, agent-manageability, or config lifecycle analysis: block approval until the artifact names the impacted surfaces or gives explicit no-impact evidence.