spae-check
Skill2 starsChanged 15 days agoMITView on GitHub
- STATE.json reads phase: check: verify the active PLAN.md task against repository evidence. - Judge the active task's implementation against its Intent, Acceptance, and Verification; record every gap in FIX.md. - Advance the workstream to phase: fix on a gap; else mark the task done and advance to phase: build or phase: verify. Read only what the check requires: - .spae/current/STATE.json; references/STATE.md holds field reference, directives, and snapshots. - .spae/current/PLAN.md: the active task in full, plus task titles and order.…
In this repository21 other files it gives its agents.
- auto-commitSkill
- cleanSkill
- code-reviewSkill
- coverageSkill
- documentSkill
- purifySkill
- puritySkill
- refactorSkill
- spae-buildSkill
- spae-fixSkill
- spae-inspectSkill
- 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
13 rules. About 0 are common, 4 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 26
Read only what the check requires:
- Very specific: line 47
Read the active task in full, plus PLAN.md task titles and order.
- Very specific: line 55
Run every task Verification step and the project checks.
- Very specific: line 56
Read the task diff with the scoped audit command in references/cleanup-guide.md.
- Very specific: line 90
Write STATE.json per the references/STATE.md exit snapshot matching the verdict.
- Very specific: line 111
Write scope: write only .spae/current/FIX.md and .spae/current/STATE.json.
- Very specific: line 118
Version control and release: never execute git mutations (staging, commits, branches, tags, pushes) or release operations.
- Distinctive: line 121
Autonomy: never ask users for input or clarification mid-execution.
- Very specific: line 125
State schema: never introduce STATE.json fields outside references/STATE.md.
- Very specific: line 144
Every Acceptance outcome, Verification step, and the Intent judged against cited evidence.
- Very specific: line 146
Every defect matching a Gap item—diff bloat and cleanup violations included—carries Gap.
- Distinctive: line 159
Keep prose terse while ensuring clarity.
- Distinctive: line 162
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
Check (SPAE)
When to use
STATE.jsonreadsphase: check: verify the activePLAN.mdtask against repository evidence.
Goal
- Judge the active task's implementation against its
Intent,Acceptance, andVerification; record every gap inFIX.md. - Advance the
workstreamtophase: fixon a gap; else mark the taskdoneand advance tophase: buildorphase: verify.
Input
Read only what the check requires:
.spae/current/STATE.json;references/STATE.mdholds field reference, directives, and snapshots..spae/current/PLAN.md: the active task in full, plus task titles and order.- Repository source, tests, docs, configuration, and logs the active task touches, for analysis.
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. - Self-heal state drift: treat a
"todo"or missingtasks[active_task_id]as"in_progress"untilPERSIST. - Halt on any Halt conditions entry.
- Parse
- ORIENT—State goal in one sentence:
PLAN.mdstays unmodified; directly modify no source or tests; write nothing beforePERSIST.- Read the active task in full, plus
PLAN.mdtask titles and order.
- PLAN—Declare the evidence map:
- Read
references/verification-guide.mdandreferences/shell-command-guide.md. - Map each
Acceptanceoutcome, eachVerificationstep, and theIntentto the evidence that proves it. - Halt on any Halt conditions entry.
- Read
- ACT—Gather evidence and label findings:
- Run every task
Verificationstep and the project checks. - Read the task diff with the scoped audit command in
references/cleanup-guide.md. - Judge each
Acceptanceoutcome and theIntentagainst step output, the diff, and source. - Label each finding with exactly one tag:
- Gap—blocks a clear verdict; cite reproducible evidence, never
a hypothetical risk or stylistic preference:
- An unmet
Acceptanceoutcome, a failingVerificationstep, or behavior diverging from theIntent. - A project-check failure the task diff causes.
- Speculative abstraction, unrequested complexity, or defensive
bloat the diff adds beyond the task
Scope. - A task-written test breaking
references/verification-guide.md. - Gap covers only task-introduced violations within the active task's declared scope: debug output, dead code, an orphan file, a commented-out block, a superseded duplicate, an unused dependency, or stray build/cache output this task's own diff introduces and leaves behind. Never flag pre-existing uncommitted files outside task scope as gaps.
- An unmet
- Observation—never a verdict input: a concern outside task scope, unrequested edge-case coverage, a defensive-code suggestion, or a theoretical risk.
- Gap—blocks a clear verdict; cite reproducible evidence, never
a hypothetical risk or stylistic preference:
- On any
Gap, draftFIX.mdperreferences/FIX.md. - Apply Directives and Constraints.
- Run every task
- VERIFY—Loop over Verification criteria for the verdict and
the
FIX.mddraft:- For each failure: return to
ACT, complete the evaluation, 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:
- On a
Gapverdict, write.spae/current/FIX.md, replacing any prior copy. - Write
STATE.jsonper thereferences/STATE.mdexit snapshot matching the verdict. - Re-read
STATE.json; on a mismatch against Verification state criteria, rewrite and re-read beforeREPORT.
- On a
- REPORT—Emit result following result directives and using result
template:
- Status block by re-read
phase:fix→Gap found,build→Clear, tasks remain,verify→Clear, final task; a halt→Failed. - List each
Gap, then eachObservation, underFindings.
- Status block by re-read
Directives
- Optimize for agent, token, and context efficiency.
- Refine and optimize
FIX.mdfor agent consumption: agents read it for varied purposes, with no memory of this run; keep it self-contained, explicit, and token-dense; make each gap closable withoutPLAN.md. - Consult
references/prose-protocol.mdbefore draftingFIX.md.
Constraints
- Write scope: write only
.spae/current/FIX.mdand.spae/current/STATE.json; forbid all other writes. Byproducts of a command run for evidence, such as a formatter's rewrites, never count as this phase's writes; never run a command for its write effect outside this scope. Read source code only for analysis. - Phase boundary: judge exactly one task; hand off work to
/fix,/build, or/verify. - Version control and release: never execute git mutations (staging,
commits, branches, tags, pushes) or release operations. Never stage or
commit
.spae/. - Autonomy: never ask users for input or clarification mid-execution; halts and failures stop autonomously. Never perform or request human execution, an attended or interactive terminal, or human presence.
- 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 thancheck.PLAN.mdmissing,cursor.active_task_idmissing, or the active task absent fromPLAN.md.tasks[active_task_id]reads"done".- A planned
Verificationstep can't run for a cause outside the task diff: missing tooling, a broken external dependency, or a need for human presence.
- Scope control: ignore pre-existing uncommitted files and modifications outside the active task's declared scope; they yield no finding.
Verification
- Every
Acceptanceoutcome,Verificationstep, and theIntentjudged against cited evidence. - Every defect matching a
Gapitem—diff bloat and cleanup violations included—carriesGap; every other finding carriesObservation. - Verdict reads clear only with zero
Gapfindings. - On a
Gapverdict, theFIX.mddraft matchesreferences/FIX.md:## Intentverbatim fromPLAN.md; everyGapwithFile,Expected,Actual, and reproducibleEvidence; noObservation. STATE.jsonmatches thereferences/STATE.mdexit snapshot for the verdict.- This phase wrote no file outside Write scope.
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 checks and verdict work]
- **Files**:
- [Terse list of affected SPAE artifacts]
- **Findings**:
- [Gaps or observations]
- **Summary**:
- [Terse task outcome]<!-- prettier-ignore-end -->Emit exactly one status block below, matching the outcome.
Gap found
<!-- prettier-ignore-start -->> **`SPAE` Status** • `[workstream-name]`
> **Result**: Gaps found, `FIX.md` written
> **Active Task**: `T-XXX` - [Task title]
>
> _Run `/fix` to close the gaps._<!-- prettier-ignore-end -->Clear, tasks remain
<!-- prettier-ignore-start -->> **`SPAE` Status** • `[workstream-name]`
> **Result**: Clear, tasks remain
> **Progress**: Task [X] of [Y] ([Z] remaining)
> **Completed**: `T-XXX` - [Task title]
> **Next Task**: `T-YYY` - [Next task title]
>
> _Run `/build` to execute the next task._<!-- prettier-ignore-end -->Clear, final task
<!-- prettier-ignore-start -->> **`SPAE` Status** • `[workstream-name]`
> **Result**: Clear, final task
> **Progress**: All [X] tasks completed
> **Completed**: `T-001` through `T-XXX`
> **Next Phase**: `/verify`
>
> _Run `/verify` to validate the implementation against the specification._<!-- prettier-ignore-end -->Failed
<!-- prettier-ignore-start -->> **`SPAE` Status** • `[workstream-name]`
> **Result**: Failed
> **Active Task**: `T-XXX` - [Task title]<!-- 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.

