spae-inspect
Skill2 starsChanged 15 days agoMITView on GitHub
- STATE.json reads phase: inspect: validate PLAN.md against SPEC.md and codebase constraints before execution. - Find gaps and contradictions between SPEC.md, PLAN.md, and relevant codebase context; fix each fully, matching correction depth to finding severity, not diff size. - Advance the workstream to phase: build. Read only what the inspection requires: - .spae/current/SPEC.md. - .spae/current/PLAN.md. - .spae/current/STATE.json; references/STATE.md holds field reference, directives, and snapshots. - Repository source, for analysis. Never read .spae/current/VERIFY.md; SPEC.md holds every requirement. 1. GATE—Make no writes:…
In this repository21 other files it gives its agents.
- auto-commitSkill
- cleanSkill
- code-reviewSkill
- coverageSkill
- documentSkill
- purifySkill
- puritySkill
- refactorSkill
- spae-buildSkill
- spae-checkSkill
- spae-fixSkill
- spae-orchestrateSkill
- spae-planSkill
- spae-prepareSkill
- spae-spawnSkill
- spae-specSkill
- spae-verifySkill
- structureSkill
- testSkill
- tipSkill
- troubleshootSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 7 are distinctive, and 19 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
19
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Read only what the inspection requires:
- Very specific: line 33
Never read .spae/current/VERIFY.md.
- Very specific: line 45
Read SPEC.md and PLAN.md in full.
- Very specific: line 88
Write the refined PLAN.md when any repair changed it.
- Very specific: line 89
Write STATE.json per references/STATE.md exit snapshot.
- Very specific: line 115
Write scope: write only .spae/current/PLAN.md and .spae/current/STATE.json.
- Very specific: line 119
Version control and release: never permit tasks for version control (git staging, commits, branches, tags) or release operations (package …
- Distinctive: line 123
Autonomy: never ask users for input or clarification mid-execution.
- Very specific: line 128
State schema: never introduce STATE.json fields outside references/STATE.md.
- Very specific: line 139
Scope control: keep /inspect lightweight.
- Very specific: line 145
Every recorded Must fix and Should fix finding resolved in PLAN.md.
- Very specific: line 149
Every SPEC.md requirement maps to at least one task's Satisfies.
- Very specific: line 150
Every task carries an Intent line.
- Very specific: line 154
Every Dependencies ID numerically precedes its declaring task.
- Very specific: line 155
No hidden coupling: each task's Scope and Acceptance rely only on outputs of its Dependencies tasks, and only through their stated …
- Very specific: line 158
No task's Intent, Scope, Acceptance, Context, or Verification contradicts its Satisfies requirements, Out of scope, Assumptions, or Testing …
- Very specific: line 161
No two tasks linked by a dependency edge or sharing Scope files or symbols assert incompatible behavior, contracts, or file states.
- Distinctive: line 164
No task step presumes human execution, an attended or interactive terminal, or human presence.
- Very specific: line 167
Every Intent names an actionable goal.
- Distinctive: line 168
Every task stays atomic and independently verifiable.
- Very specific: line 171
Every Satisfies-bearing task's Acceptance names testable behaviors, with failure modes and edge cases when SPEC.md specifies them or task …
- Very specific: line 174
Every task's Verification includes test execution commands.
- Very specific: line 176
Every Satisfies: none task's Context states a credible enabling rationale.
- Distinctive: line 181
No files outside Write scope changed.
- Distinctive: line 186
Keep prose terse while ensuring clarity.
- Distinctive: line 189
Use lists and sub-lists for long sentences and dense paragraphs.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Inspect (SPAE)
When to use
STATE.jsonreadsphase: inspect: validatePLAN.mdagainstSPEC.mdand codebase constraints before execution.
Goal
- Find gaps and contradictions between
SPEC.md,PLAN.md, and relevant codebase context; fix each fully, matching correction depth to finding severity, not diff size. - Advance the
workstreamtophase: build.
Input
Read only what the inspection requires:
.spae/current/SPEC.md..spae/current/PLAN.md..spae/current/STATE.json;references/STATE.mdholds field reference, directives, and snapshots.- Repository source, for analysis.
Never read .spae/current/VERIFY.md; SPEC.md holds every requirement.
Workflow
- GATE—Make no writes:
- Parse
.spae/current/STATE.json; self-heal missing metadata:version("1.0"),workstream(target directory name),status("active");PERSISTwrites the healed fields. - Halt on any Halt conditions entry.
- Parse
- ORIENT—State goal in one sentence:
- Source code and
SPEC.mdstay unmodified; write nothing beforePERSIST. - Read
SPEC.mdandPLAN.mdin full; capture everyR-NNNinto a coverage checklist.
- Source code and
- PLAN—Run gap analysis:
- Evaluate
PLAN.mdagainst every VerificationMust fixandShould fixcriterion; record each failure as a finding of that class. - Record any other gap against
SPEC.mdor the codebase—concrete bug, regression, contract break—under the class its impact matches. - Log notes that shouldn't expand scope as
Observations; they change nothing. - Declare each finding's repair; halt on any Halt conditions entry.
- Evaluate
- ACT—Apply each finding's repair to a working draft of
PLAN.md; change nothing absent aMust fixorShould fixfinding:- Uncovered
R-NNN: add or extend a task to implement it. - Missing or vague
Intent: backfill or sharpen fromSPEC.md; for an enabling task, fromContextand the plan## Goal. - Plan↔spec contradiction: rewrite the task to conform;
SPEC.mdwins. - Task conflict: reconcile against
SPEC.md; whereSPEC.mdstays silent, conform the later task to the earlier task'sAcceptancecontract. - Other
SPEC.mdtension short of a Halt conditions entry: favor its requirements; log it underObservations. - Hidden coupling: add the missing dependency, or rebind the reliance
to the dependency's stated
Acceptancecontract. - Unjustified enabling task: state its rationale in
Context, else remove it. - Granularity: split a non-atomic task; merge a merge candidate.
- Version control or release step: strip it; remove a task left empty.
- Ordering: reorder so every dependency precedes its dependent; break a cycle by dropping an ungrounded edge, else merging its tasks.
- Renumber after any add, remove, or reorder, or on non-contiguous
IDs: assign contiguous IDs from
T-001; update everyT-NNNreference in lockstep—task headers,Task graphedges, the overview list, andDependenciesfields. - Apply Directives and Constraints.
- Uncovered
- VERIFY—Loop over Verification criteria for
PLAN.md:- For each failure: return to
ACT, fix, then re-enterVERIFY. - Exit only when every criterion passes.
- Halt only on a Halt conditions entry.
- For each failure: return to
- PERSIST—Write in order:
- Write the refined
PLAN.mdwhen any repair changed it. - Write
STATE.jsonperreferences/STATE.mdexit snapshot. - Re-read
STATE.json; on a mismatch against Verification state criteria, rewrite and re-read beforeREPORT.
- Write the refined
- REPORT—Emit result following result directives and using result
template:
Result:RevisedwhenPERSISTwrotePLAN.md, elseReady.- List findings under
Findingsby class:Must fix,Should fix,Observations.
Directives
- Optimize for agent, token, and context efficiency.
- Align with existing codebase patterns; avoid speculative design.
- Refine and optimize
PLAN.mdfor agent consumption: agents read it for varied purposes, with no memory of this run; keep rewritten tasks self-contained, explicit, and token-dense; write each task'sContextto supply every fact a stateless executor needs, including facts surfaced only during inspection. - Strengthen each task's
Verificationwith concrete, deterministic test-execution commands perreferences/verification-guide.md; challenge each step's feasibility and isolation; rewrite a failing step or demote it toRisk notes. - Consult
references/prose-protocol.mdbefore editingPLAN.md.
Constraints
- Write scope: write only
.spae/current/PLAN.mdand.spae/current/STATE.json; forbid all other writes. Read source code only for analysis. - Phase boundary: hand off work to
/build; don't execute tasks. - Version control and release: never permit tasks for version
control (git staging, commits, branches, tags) or release operations
(package publishing, deployments). Never stage or commit
.spae/or execute git mutations. - Autonomy: never ask users for input or clarification
mid-execution; halts and failures stop autonomously. Never leave a
task step presuming human execution, an attended or interactive
terminal, or human presence; translate such a need into automated
evidence, else record it in
Risk notesas a residual risk. - State schema: never introduce
STATE.jsonfields outsidereferences/STATE.md. - Halt conditions: halt without writing; report
Failedwith a diagnostic underFindings:.spae/currentmissing or dangling.STATE.jsonmissing or holds unparseable JSON syntax.STATE.jsonphaseother thaninspect.SPEC.mdorPLAN.mdmissing.- A
SPEC.md-internal conflict noPLAN.mdedit can resolve: mutually exclusive requirements, or a requirement anOut of scopeitem forbids.
- Scope control: keep
/inspectlightweight; add no requirement, feature, task, or approval gate absent grounding inSPEC.mdor a concrete codebase constraint.
Verification
- Every recorded
Must fixandShould fixfinding resolved inPLAN.md. Must fixcriteria—failure breaks a requirement, contract, safety, or verification:- Every
SPEC.mdrequirement maps to at least one task'sSatisfies. - Every task carries an
Intentline. - Task IDs run contiguously from
T-001; everyT-NNNreference—Task graphedges, the overview list, andDependenciesfields—resolves to a defined task. - Every
DependenciesID numerically precedes its declaring task. - No hidden coupling: each task's
ScopeandAcceptancerely only on outputs of itsDependenciestasks, and only through their statedAcceptancecontracts. - No task's
Intent,Scope,Acceptance,Context, orVerificationcontradicts itsSatisfiesrequirements,Out of scope,Assumptions, orTesting strategy. - No two tasks linked by a dependency edge or sharing
Scopefiles or symbols assert incompatible behavior, contracts, or file states. - Zero tasks mandate version control or release operations.
- No task step presumes human execution, an attended or interactive terminal, or human presence.
- Every
Should fixcriteria—failure adds risk or complicates execution:- Every
Intentnames an actionable goal. - Every task stays atomic and independently verifiable; adjacent tasks stay separate only with independent acceptance value or a dependency-ordering reason.
- Every
Satisfies-bearing task'sAcceptancenames testable behaviors, with failure modes and edge cases whenSPEC.mdspecifies them or task logic requires them. - Every task's
Verificationincludes test execution commands. Task graphedges mirror per-taskDependenciesfields.- Every
Satisfies: nonetask'sContextstates a credible enabling rationale.
- Every
STATE.jsonspecifiesphase: "build",status: "active",cursor: {"active_task_id": "T-001"}, andtasksmapping everyPLAN.mdtask ID to"todo".- No files outside Write scope changed.
Result directives
- Minimum words. Maximum signal.
- Keep prose terse while ensuring clarity.
- Optimize prose for agent, token, and context efficiency.
- Split actions, findings, and summaries into terse bullet points.
- Use lists and sub-lists for long sentences and dense paragraphs.
- Emit result template as live markdown—never in a code fence.
- Output nothing outside template.
- Source every
SPAE Statusvalue from confirmed re-read, never from working memory of intent.
Result template
<!-- prettier-ignore-start -->### Execution Summary
- **Actions**:
- [Terse list of actions taken]
- **Files**:
- [Terse list of affected files]
- **Findings**:
- [Terse list of notable findings]
- **Summary**:
- [Terse list of summary of changes]
> **`SPAE` Status** • `[workstream-name]`
> **Result**: [Ready | Revised | Failed]
> **Next Phase**: `/build` _(unless failed)_
> **Impact**: [Terse impact statement]
>
> _Run `/build` next._ _(unless failed)_<!-- prettier-ignore-end -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

