From kiln
Run a PRD compliance audit against the current implementation. Called automatically at the end of /implement. Checks both directions: PRD→Spec and Spec→Code→Test. Attempts to fix gaps, or requires documented blockers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kiln:auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This audit runs as the final step of `/implement`. It checks compliance in **both directions** and either fixes gaps or documents blockers.
This audit runs as the final step of /implement. It checks compliance in both directions and either fixes gaps or documents blockers.
docs/PRD.md — extract every functional requirement, user story, and deliverable..specify/memory/constitution.md for governing principles.specs/*/spec.md — extract all FR-NNN requirements.specs/*/tasks.md — verify all are marked [x].For each requirement in the PRD (functional requirements, deliverables, user stories):
Check if at least one spec FR covers it. Produce a table:
| PRD Requirement | Covered by FR | Status |
|-----------------|---------------|--------|
| "base starter from Takeout" | FR-001, FR-002 | PASS |
| "clear docs for setup" | — | FAIL |
If any PRD requirement has NO covering FR, this is a FAIL — not a note, not LOW priority.
For each uncovered PRD requirement:
Add the missing FR to specs/<feature>/spec.md:
Add a task to specs/<feature>/tasks.md for the new FR
Implement the new FR — write the code and tests
If the FR cannot be added (PRD requirement is contradictory, out of scope, or blocked):
specs/<feature>/blockers.md (see Phase 4)Do NOT proceed to Phase 3 until every PRD requirement has a covering FR (or a documented blocker).
For each FR-NNN in the spec:
| Check | How | Grade |
|---|---|---|
| Spec → Code | Does source code contain // FR-NNN comment? | PASS / FAIL |
| Code → Test | Does a test reference the acceptance scenario? | PASS / FAIL |
| Tech stack | Does the implementation use the PRD's required tech stack? | PASS / FAIL |
| Scope creep | Is anything built that wasn't in the spec? | PASS / WARN |
Produce a summary table:
| FR | Spec→Code | Code→Test | Status |
|----|-----------|-----------|--------|
| FR-001 | PASS | PASS | ✓ |
| FR-020 | PASS | PASS | ✓ (new — added in Phase 2) |
If compliance >= 100%: Report PASS. Implementation is complete.
If compliance < 100%: For each failing check:
Attempt to fix — if the gap is:
// FR-NNN comment → add it to the correct functionIf the gap cannot be fixed — because:
Then require a blocker entry:
Create or append to specs/<feature>/blockers.md:
## Blocker: [PRD requirement or FR-NNN] — [description]
**Status**: BLOCKED
**Reason**: [specific reason this cannot be fixed]
**Impact**: [what user-facing functionality is affected]
**Resolution path**: [what would need to change — PRD update, dependency available, etc.]
**Date**: [ISO date]
After all gaps are addressed (fixed or blocked):
PRD Audit: X of Y requirements pass. Z blockers documented.
Blockers:
- [requirement]: [reason]
These are documented in specs/<feature>/blockers.md.
Do you want to proceed with these known gaps? (yes/no)
If the feature branch has no src/ changes (non-compiled feature), include validation results in the audit checklist:
| Check | Status | Details |
|-------|--------|---------|
| Non-compiled validation | [PASS/FAIL/N/A] | Frontmatter: N files, Bash syntax: N files, File refs: N files, Scaffold: [pass/fail] |
scripts/validate-non-compiled.sh ran and exited 0 during /implementsrc/ changes (compiled project) — standard coverage gate applies insteadPopulate the counts from the validation report generated during /implement step 9b. If no validation was run (compiled project), mark as N/A and do not flag it as a gap.
Final output:
PRD Coverage: XX% (Y/Z PRD requirements have covering FRs)
FR Compliance: XX% (Y/Z FRs implemented and tested)
- PASS: N requirements fully covered end-to-end
- FIXED: N gaps resolved during audit (including N new FRs added)
- BLOCKED: N requirements with documented blockers
- FAIL: N requirements still failing (should be 0)
npx claudepluginhub yoshisada/ai-repo-template --plugin kilnProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.