Not in the top 1,000 by GitHub stars
chhoumann/t3-pstack
pstack for T3 Code: poteto's pstack (via Michael Denyer's pstack-claude) with panels and fan-outs dispatched across Claude, GPT, and Grok through T3's orchestration.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/pstack/skills/architect/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/arena/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/automate-me/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/benchmark-checklist/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/blast-radius/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/bro/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/correct/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/create-formal-verification-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/create-verification-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/deslop/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/figure-it-out/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/fix-ci/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/fix-merge-conflicts/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/get-pr-comments/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/how/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/in-your-own-words/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/interrogate/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/ketchup/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/ketchup-video/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/maintain-formal-verification-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/maintain-verification-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/make-pr-easy-to-review/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/no-comments/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/poteto-help/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/poteto-mode/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-attack-the-premise/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-boundary-discipline/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-build-the-lever/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-encode-lessons-in-structure/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-exhaust-the-design-space/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-experience-first/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-explain-the-number/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-fix-root-causes/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-foundational-thinking/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-guard-the-context-window/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-laziness-protocol/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-make-operations-idempotent/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-minimize-reader-load/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-model-the-domain/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-never-block-on-the-human/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-outcome-oriented-execution/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-prove-it-works/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-redesign-from-first-principles/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-separate-before-serializing-shared-state/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-sequence-verifiable-units/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-subtract-before-you-add/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-test-behavior-not-implementation/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/principle-type-system-discipline/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/recall/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/reflect/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/setup-pstack/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/sharpen/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/show-me-your-work/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/statechart/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/swarm/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/tdd/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/teach/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/technical-writing/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/thermo-nuclear-code-quality-review/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/thermo-nuclear-review/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/thermos/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/typescript-best-practices/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/unslop/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/what-did-i-get-done/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
plugins/pstack/skills/why/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → eb1fb6bbc74c
No earlier version was observed for comparison.
Verified commit eb1fb6bbc74c47633d02e8e646fe4632f6415e9f
git clone --filter=blob:none --no-checkout https://github.com/chhoumann/t3-pstack.git .hotskills/chhoumann-t3-pstack && git -C .hotskills/chhoumann-t3-pstack checkout --detach eb1fb6bbc74c47633d02e8e646fe4632f6415e9f
# Copy each selected skill directory from .hotskills/chhoumann-t3-pstack into .claude/skills/<skill-name>/Heat
8.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- architect
plugins/pstack/skills/architect - arena
plugins/pstack/skills/arena - automate-me
plugins/pstack/skills/automate-me - benchmark-checklist
plugins/pstack/skills/benchmark-checklist - blast-radius
plugins/pstack/skills/blast-radius - bro
plugins/pstack/skills/bro - correct
plugins/pstack/skills/correct - create-formal-verification-skill
plugins/pstack/skills/create-formal-verification-skill - create-verification-skill
plugins/pstack/skills/create-verification-skill - deslop
plugins/pstack/skills/deslop - figure-it-out
plugins/pstack/skills/figure-it-out - fix-ci
plugins/pstack/skills/fix-ci - fix-merge-conflicts
plugins/pstack/skills/fix-merge-conflicts - get-pr-comments
plugins/pstack/skills/get-pr-comments - how
plugins/pstack/skills/how - in-your-own-words
plugins/pstack/skills/in-your-own-words - interrogate
plugins/pstack/skills/interrogate - ketchup
plugins/pstack/skills/ketchup - ketchup-video
plugins/pstack/skills/ketchup-video - maintain-formal-verification-skill
plugins/pstack/skills/maintain-formal-verification-skill - maintain-verification-skill
plugins/pstack/skills/maintain-verification-skill - make-pr-easy-to-review
plugins/pstack/skills/make-pr-easy-to-review - no-comments
plugins/pstack/skills/no-comments - poteto-help
plugins/pstack/skills/poteto-help - poteto-mode
plugins/pstack/skills/poteto-mode - principle-attack-the-premise
plugins/pstack/skills/principle-attack-the-premise - principle-boundary-discipline
plugins/pstack/skills/principle-boundary-discipline - principle-build-the-lever
plugins/pstack/skills/principle-build-the-lever - principle-encode-lessons-in-structure
plugins/pstack/skills/principle-encode-lessons-in-structure - principle-exhaust-the-design-space
plugins/pstack/skills/principle-exhaust-the-design-space - principle-experience-first
plugins/pstack/skills/principle-experience-first - principle-explain-the-number
plugins/pstack/skills/principle-explain-the-number - principle-fix-root-causes
plugins/pstack/skills/principle-fix-root-causes - principle-foundational-thinking
plugins/pstack/skills/principle-foundational-thinking - principle-guard-the-context-window
plugins/pstack/skills/principle-guard-the-context-window - principle-laziness-protocol
plugins/pstack/skills/principle-laziness-protocol - principle-make-operations-idempotent
plugins/pstack/skills/principle-make-operations-idempotent - principle-migrate-callers-then-delete-legacy-apis
plugins/pstack/skills/principle-migrate-callers-then-delete-legacy-apis - principle-minimize-reader-load
plugins/pstack/skills/principle-minimize-reader-load - principle-model-the-domain
plugins/pstack/skills/principle-model-the-domain - principle-never-block-on-the-human
plugins/pstack/skills/principle-never-block-on-the-human - principle-outcome-oriented-execution
plugins/pstack/skills/principle-outcome-oriented-execution - principle-prove-it-works
plugins/pstack/skills/principle-prove-it-works - principle-redesign-from-first-principles
plugins/pstack/skills/principle-redesign-from-first-principles - principle-separate-before-serializing-shared-state
plugins/pstack/skills/principle-separate-before-serializing-shared-state - principle-sequence-verifiable-units
plugins/pstack/skills/principle-sequence-verifiable-units - principle-subtract-before-you-add
plugins/pstack/skills/principle-subtract-before-you-add - principle-test-behavior-not-implementation
plugins/pstack/skills/principle-test-behavior-not-implementation - principle-type-system-discipline
plugins/pstack/skills/principle-type-system-discipline - recall
plugins/pstack/skills/recall - reflect
plugins/pstack/skills/reflect - setup-pstack
plugins/pstack/skills/setup-pstack - sharpen
plugins/pstack/skills/sharpen - show-me-your-work
plugins/pstack/skills/show-me-your-work - statechart
plugins/pstack/skills/statechart - swarm
plugins/pstack/skills/swarm - tdd
plugins/pstack/skills/tdd - teach
plugins/pstack/skills/teach - technical-writing
plugins/pstack/skills/technical-writing - thermo-nuclear-code-quality-review
plugins/pstack/skills/thermo-nuclear-code-quality-review - thermo-nuclear-review
plugins/pstack/skills/thermo-nuclear-review - thermos
plugins/pstack/skills/thermos - typescript-best-practices
plugins/pstack/skills/typescript-best-practices - unslop
plugins/pstack/skills/unslop - what-did-i-get-done
plugins/pstack/skills/what-did-i-get-done - why
plugins/pstack/skills/why
How it works
architect
When your agent uses it
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,412 tokensWhen the skill is activated
Reference documents
3,566 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Ground the problem
- Phase B: Sketch
- Phase C: Agree (opt-in)
- Phase D: Implement against the sketch
- Phase E: Scrap when the architecture is wrong
- Outputs
- Models
Files
../../../../.claude-plugin/marketplace.jsonasset636 bytes../../.claude-plugin/icon.pngasset955,906 bytes../../.claude-plugin/plugin.jsonasset1,020 bytes../../agents/comment-sicko.mddoc2,230 bytes../../agents/poteto-agent.mddoc1,424 bytes../../agents/thermo-nuclear-code-quality-review-subagent.mddoc1,847 bytes../../agents/thermo-nuclear-review-subagent.mddoc2,230 bytes../../hooks/hooks.jsonasset281 bytesSKILL.mdcore6,512 bytesreferences/design-red-flags.mddoc3,009 bytesreferences/rationale-template.mddoc3,050 bytesreferences/runner-prompt.mddoc3,092 bytes
Read SKILL.md
# Architect
Sketch types, function signatures, class shapes, and module boundaries with `not implemented` bodies and pseudocode. Synthesize across multiple model perspectives, then fill in code against the chosen sketch.
## Start
Open a todolist with one entry per phase before starting.
1. Ground
2. Sketch
3. Agree
4. Implement
5. Scrap
View the complete source on GitHubarena
When your agent uses it
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
1,672 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Phase A: Frame
- Phase B: Fan out
- Phase C: Cross-judge
- Phase D: Pick a base
- Phase E: Graft
- Phase F: Verify
- Outputs
- Models
Files
SKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytes
Read SKILL.md
# Arena
Open a todolist with one entry per phase (Frame, Fan out, Cross-judge, Pick, Graft, Verify) before launching anything.
## Phase A: Frame
Every candidate gets the same prompt, so the prompt is the contract.
1. State the artifact each candidate is producing.
2. Derive the rubric, 3-6 concrete gradeable criteria for what success looks like on *this* task. It is the picker's tool in Phase D. Candidates only see the task.
3. Pick the runners. Use the `arena runners` line in the model sheet. If the sheet or that line is missing, run one each on the defaults in [Models](#models). An `auto` or `inherit-parent` entry in this line means the parent model, so omit `target` for it. If `delegate_task` rejects a configured entry, run that seat on another target of the same family from `orchestrator_capabilities` and say so. A model's family is the first segment of its ID's last `/` part, such as `claude`, `gpt`, or `grok`, whatever provider instance serves it. If the family has no other target, or `delegate_task` rejects that one too, drop the seat and say so. If dropped seats leave fewer than two runners, add runners until there are two, or one when the line has one entry. Run each added runner on a remaining runner's model, or omit `target` so it runs on the parent model when none remain, and say so. Spawn more runners when the arena covers multiple design directions. Use the same model N times when the work is generation-bound rather than judgment-sensitive. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill.
4. Give each candidate its own output location (a git worktree where possible, otherwise `/tmp/arena-<slug>/candidate-<n>/`), per the **separate-before-serializing-shared-state** principle skill.
## Phase B: Fan outView the complete source on GitHubautomate-me
When your agent uses it
Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how the user works. Drafts or revises a personal -mode skill via skill-creator + unslop, optionally pulling fresh evidence from recent transcripts.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
1,766 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Flow
- Guardrails
- Evaluation
- When not to use
Files
SKILL.mdcore7,825 bytes
Read SKILL.md
# Automate me
A guided flow for turning the user's working conventions into a skill agents will follow. The output is one `-mode` skill tailored to them (e.g. `jay-mode`, `priya-mode`).
This skill orchestrates three others: an inline mining pass (see step 1), the harness's skill-authoring skill (`skill-creator` where installed, else the Agent Skills format), and the **unslop** skill (prose discipline). It sequences them. It doesn't replace them.
## Flow
### 0. Check for an existing skill
Look recursively for `*-mode/SKILL.md` in the project's and the user's skills directories (`.claude/skills/` and `~/.claude/skills/` on Claude Code, `.agents/skills/` and `~/.agents/skills/` on Codex and most other harnesses) matching the user's handle. Mode skills can live in a personal category directory (`<skills dir>/<handle>/`), not only at the top level. If one exists, confirm intent with a multiple-choice question (`AskUserQuestion` on Claude Code, numbered options in plain text elsewhere) (unless they already said "update my skill" or similar):
- Update the existing skill (default for repeat runs)
- Start fresh (rare, ask why before doing it)View the complete source on GitHubbenchmark-checklist
When your agent uses it
Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you run a benchmark or report a speedup or regression you measured.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
1,175 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before you run anything
- The questions
- Report
- Other perf material
Files
SKILL.mdcore5,002 bytes
Read SKILL.md
# Benchmark checklist
Use this when you produce a performance number: a PR's before and after, a regression claim, a hillclimb harness, or a library or config choice. Answer each question with evidence from a run, not a guess about the code.
For a quick ballpark the user asked for, one run is enough. Still check questions 4 and 7, and say that it is one run. Skip the rest unless that run looks wrong. A choice between options is never a ballpark.
## Before you run anything
- Write down the claim you expect to make, in the words you would ship ("export is 30% faster at p50 on the 60k-row dataset"). The questions test that sentence.
- Read the measurement script. Note what it times, counts, and ignores.
- Check the load average with `uptime` and the core count with `nproc`. If the machine is busy, find out what is running. If you cannot stop it, interleave the sides so both see the same noise, and say so in the report.
## The questions
View the complete source on GitHubblast-radius
When your agent uses it
Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of writing it up. Use for 'blast radius of X', 'what could this break', or reviewing a small diff you don't trust.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
903 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Don't trust your own writeup
- Steps
- What to hand back
Files
SKILL.mdcore3,856 bytesSKILL.mdcore3,856 bytes
Read SKILL.md
# Blast radius
Find what a change breaks somewhere else, before it ships. Use for "blast radius of X", "what could this break", or reviewing a small diff you don't trust yet.
Companion to `how` and `why`. `how` tells you what the code does. `why` tells you why it's shaped that way. Blast radius tells you what it breaks somewhere else.
Listing the callers is not the job. The agent can grep those in a second. The job is the breakage grep won't show you.
## Don't trust your own writeup
A blast-radius writeup that sounds right is worthless. It reads as convincing whether or not it's true. So don't hand back the writeup. Find the one or two facts the whole thing depends on and prove them by running code.
### How sure are you
View the complete source on GitHubbro
When your agent uses it
Restate the last message in plain human language, with no jargon.
What it loads into context
Frontmatter
27 tokensAlways available to the agent
SKILL.md
60 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore267 bytes
Read SKILL.md
Restate your last message. Stop using jargon and speak coherently. State it more simply and concisely, like one human talking to another.View the complete source on GitHubcorrect
When your agent uses it
Find the mistakes agents keep repeating in this repo and make each one impossible. Try architecture first, then types, then a lint whose error names the fix, then a test, and write docs last. Prove each check fails on a real past mistake. Repeat this each time the operator corrects you. Use for /correct.
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
544 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Find the mistake classes
- Fix each class at the highest level that works
- Fix and prove
- Keep the rule table
Files
SKILL.mdcore2,478 bytesSKILL.mdcore2,478 bytes
Read SKILL.md
# Correct
The operator keeps correcting agents in this repo for the same mistakes. Change the repo so the next agent can't make them.
Assume every contributor is an agent that sees only the files it opened, copies the nearest example, and takes the shortest path that compiles. Design the repo so a change that looks right from one file is right for the whole repo.
## Find the mistake classes
First, read recent commits, reverts, review comments, agent instruction files, and comments that explain workarounds. Group the mistakes into classes. A class counts once it has happened twice.
## Fix each class at the highest level that works
1. **Eliminate it with architecture.** Give each piece of state one owner and each task one supported way. Hide internals so the wrong import fails. Replace hand-synced lists with one source of truth. Delete old ways and dead code an agent would copy.
2. **Enforce it with types so the bad state can't be written.** If bad code still compiles, add a lint or CI check whose error names the file, type, or function to use instead. If the pattern is already common, fail only when a change adds more.View the complete source on GitHubcreate-formal-verification-skill
When your agent uses it
Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in any language, with whichever verification tool fits. Use for /create-formal-verification-skill, "model-check this race", "prove this invariant", or when concurrency, retries, state machines, parsers, or unsafe code need more than tests.
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
1,216 tokensWhen the skill is activated
Reference documents
2,168 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose the target from the code
- Let the question choose the tool
- What makes it good
- Generate the verify skill
- Prove it before you hand off
- Hand off
Files
SKILL.mdcore5,626 bytes../statechart/SKILL.mddoc9,100 bytes
Read SKILL.md
# Create a formal verification skill
A test checks the cases that someone thought to write. Formal verification checks every case in a stated scope: every order of steps in a model, every input up to a bound, or every input. This skill finds the part of the repo where that matters most, verifies one property of it, and leaves a project-local skill that lets the next agent check a change against that property. Write that skill for an agent who reads it cold, mid-change, and has never seen your work. The user must be able to trust the result and act on it without learning the verification language.
## Choose the target from the code
Answer from the codebase, and ask the user only what you cannot observe. If the user named an area or a bug, start there.
A good target is a promise the code makes, where a break harms users and tests rarely reach the case that breaks it. Choose the strongest such target in the repo, not the one that is easiest to verify.
## Let the question choose the tool
Pick the tool that answers the question at the lowest cost: a model checker, a proof assistant, an SMT-backed verifier, or another tool. Whether events can happen in a bad order usually suits a model checker over a small model of the design, and TLA+ is the default for that in any language. Whether the code itself behaves for every input, as with memory safety, overflow, or a data-structure invariant, usually suits a verifier that runs on the code. If no verifier runs on this language, say so, and test the real code with generated inputs, not a hand model of the function. A property that must hold at every size, where a bound is not enough, can need a proof. Prefer a tool that the repo's developers can install and run, and tell the user why you chose it.
View the complete source on GitHubcreate-verification-skill
When your agent uses it
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform. Use for /create-verification-skill, "make a control skill for this repo", or when a project has no scripted way to prove UI/CLI/service behavior.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
1,460 tokensWhen the skill is activated
Reference documents
2,066 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Interview the repo, not the user
- 2. Generate the skill
- 3. Seed the feature map
- 4. Prove the generated skill before handing it over
- 5. Offer the maintenance loop
Files
SKILL.mdcore6,615 bytesreferences/feature-map-example/README.mddoc2,601 bytesreferences/feature-map-example/create-note.mddoc2,926 bytesreferences/feature-map-example/search.mddoc3,478 bytes
Read SKILL.md
# Create a verification skill
Every serious project needs a scripted way to drive the real app and prove behavior: launch it, exercise a feature the way a user would, and capture evidence. This skill generates that as a project-local skill (`<skills dir>/verify-<app>/`, where `<skills dir>` is `.claude/skills` on Claude Code and `.agents/skills` elsewhere) tailored to the repo. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.
## 1. Interview the repo, not the user
Answer these from the codebase and only ask the user what you cannot observe:
- **Surface:** what does a user actually touch? A web UI, a CLI/TUI, a desktop app, an API, a mobile app, a library? A repo can have several; pick the primary one and note the rest.
- **Run:** how does the app start locally? Prefer the repo's own documented dev command (package scripts, Makefile, README quickstart). Note ports, env vars, seed data, auth.
- **Drive:** how can an agent interact with it programmatically? Existing harnesses first — Playwright/Cypress specs, expect scripts, PTY helpers, curl-able endpoints, a debug port. Only then pick a generic recipe: browser/CDP for web and Electron, a tmux/PTY harness for CLI/TUI, plain HTTP for services.
- **Observe:** what evidence can be captured? Screenshots, terminal transcripts, response bodies, logs, exit codes, DB state.
- **Isolate:** can two instances run side by side (ports, data dirs, profiles)? If not, say so in the generated skill: refusing to double-drive a shared instance beats corrupting the user's session.
View the complete source on GitHubdeslop
When your agent uses it
Remove AI-generated code slop and clean up code style
What it loads into context
Frontmatter
18 tokensAlways available to the agent
SKILL.md
152 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Focus Areas
- Guardrails
Files
SKILL.mdcore719 bytes
Read SKILL.md
# Remove AI code slop
Check the diff against main and remove AI-generated slop introduced in the branch.
## Focus Areas
- Extra comments that are unnecessary or inconsistent with local style
- Defensive checks or try/catch blocks that are abnormal for trusted code paths
- Casts to `any` used only to bypass type issues
- Deeply nested code that should be simplified with early returns
- Other patterns inconsistent with the file and surrounding codebase
## Guardrails
View the complete source on GitHubfigure-it-out
When your agent uses it
Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a human reviews after stepping away. Scales rigor to the task, runs a hypothesis loop, and logs decisions. Use for /figure-it-out or 'figure it out'.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
897 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Frame
- Phase B: Design the workflow
- Phase C: Run the loop
- Phase D: Keep the audit trail
- Phase E: Verify and hand back
Files
SKILL.mdcore4,111 bytes
Read SKILL.md
# Figure it out
When the task matches no playbook, design one. The deliverable before any code is the workflow itself: a sequence of phases that scales rigor to the task, runs the scientific method, and leaves a decision trail a human can audit after stepping away.
## Start
Open a todolist whose first item is to read the Principles section of the **poteto-mode** skill. Then add the phases below as todos.
## Phase A: Frame
Ground first, then commit. Don't start the run until you can state:
- The definition of done as a falsifiable predicate (the **prove-it-works** principle skill).
- Scope, quantified: rough units and effort, plus the blockers grounding surfaced.View the complete source on GitHubfix-ci
When your agent uses it
Find failing PR checks, inspect logs or external check links, and apply focused fixes
What it loads into context
Frontmatter
23 tokensAlways available to the agent
SKILL.md
203 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore901 bytesSKILL.mdcore901 bytes
Read SKILL.md
# Fix CI
## Trigger
Branch or PR CI is failing and needs a fast, iterative path to green checks.
## Workflow
1. Resolve the active PR and inspect `gh pr checks --json name,bucket,state,workflow,link`.
2. Inspect failed jobs and extract the first actionable error. Use GitHub Actions logs when available; otherwise use the check link to identify the failing command or service.
3. Apply the smallest safe fix.
4. Push, re-check the PR check set, and repeat until green.
## GuardrailsView the complete source on GitHubfix-merge-conflicts
When your agent uses it
Resolve merge conflicts non-interactively, validate build and tests, and finalize conflict resolution
What it loads into context
Frontmatter
26 tokensAlways available to the agent
SKILL.md
199 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore988 bytes
Read SKILL.md
# Fix merge conflicts
## Trigger
Branch has unresolved merge conflicts and needs a reliable path to a buildable state.
## Workflow
1. Detect all conflicting files from git status and conflict markers.
2. Resolve each conflict with minimal, correctness-first edits.
3. Prefer preserving both sides when safe. Otherwise, choose the variant that compiles and keeps public behavior stable.
4. Regenerate lockfiles with package manager tools instead of hand-editing.
5. Run compile, lint, and relevant tests.
6. Stage resolved files and summarize key decisions.View the complete source on GitHubget-pr-comments
When your agent uses it
Fetch and summarize review comments from the active pull request
What it loads into context
Frontmatter
18 tokensAlways available to the agent
SKILL.md
107 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Output
Files
SKILL.mdcore529 bytes
Read SKILL.md
# Get PR comments
## Trigger
Need a concise, actionable summary of feedback on the active pull request.
## Workflow
1. Resolve the active PR for the current branch.
2. Fetch review comments and discussion comments.
3. Group feedback by severity and actionability.
4. Return a concise action list.
## OutputView the complete source on GitHubhow
When your agent uses it
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Use why for motivation.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
892 tokensWhen the skill is activated
Reference documents
857 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Assess complexity
- 2. Explore (complex only)
- 3. Synthesize (complex only)
- 4. Present
- Output format
- Models
Files
SKILL.mdcore3,722 bytesSKILL.mdcore3,722 bytesreferences/explainer-prompt.mddoc3,085 bytesreferences/explorer-prompt.mddoc1,135 bytes
Read SKILL.md
# How
Explore the codebase to answer "how does X work?" questions. Produce architectural explanations at the level of a senior engineer onboarding onto a subsystem, enough to build a working mental model, not so much that it reads like annotated source code.
Every spawn is a `delegate_task` child with `role: "research"` and a brief that says to inspect only and change no file. Explorers use the `how explorer` line in the model sheet (default in [Models](#models)), and every explainer uses the `how explainer` line (default in [Models](#models)). Set `target` from that line's entry, or from the default if the sheet or the line is missing. Leave `target` unset when the value is `auto` or `inherit-parent`. If `delegate_task` rejects an entry, use the default and say so. If it rejects the default, use another target of the same family from `orchestrator_capabilities`. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill.
## 1. Assess complexity
If the scope is ambiguous, state your interpretation and explore. The user can redirect.
- **Simple** (a single module, a small utility, a narrow question such as "how does function X work"): no explorers. Spawn one explainer that explores and explains in one pass, built from `references/explainer-prompt.md` without the explorer-findings section. Go to step 4.
- **Complex** (a subsystem spanning multiple files or services, a cross-cutting feature, a full architectural overview): go to step 2.
When in doubt, take the simple path.View the complete source on GitHubin-your-own-words
When your agent uses it
Restate in your own words what you think the user's goals are and what problem they're trying to solve. Use for /in-your-own-words.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
72 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore315 bytes
Read SKILL.md
Restate in your own words what you think the user's goals are and what problem they're trying to solve.View the complete source on GitHubinterrogate
When your agent uses it
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Adversaries try to break a change or design, and only findings proven by a run survive.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
847 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Frame
- Fan out
- Verify
- Output
- Models
Files
SKILL.mdcore3,439 bytes
Read SKILL.md
# Interrogate
Adversaries try to break a change or a design. A finding survives only when a run proves it. Report the findings. Do not apply fixes.
## Frame
The scope is what the user names. Otherwise it is the branch diff from its merge base with the base branch, through the working tree. State the intent with the **in-your-own-words** skill, from the user's message, the commits, and the PR description. Ask the user when the intent is unclear.
## Fan out
Run Phase A steps 3 and 4 and Phase B of the **arena** skill, with four changes. Read the `interrogate reviewers` line in place of `arena runners`. Copy the scope's uncommitted changes into each worktree. Spawn each adversary as a `delegate_task` child with `role: "review"` and no persona brief. In place of the arena task and rationale, give each adversary the scope, the intent, and this brief:
> Break this change. Prove each finding with a run against the real code, such as a failing test, a repro script, or command output that shows the wrong behavior. For a design or plan, run a prototype or probe the current tree. Keep repros in your own worktree. Report each finding with a title, the exact command, the output it printed, and the output the intent requires. Leave out anything you did not run. That covers style, naming, structure, and risks that need a future change to matter. No findings is a valid result.
View the complete source on GitHubketchup
When your agent uses it
Catch the user up on what changed in this chat since their last message, in plain words and small visuals. List every item waiting on them with what they need to decide it from the reply alone. Use for /ketchup.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
1,480 tokensWhen the skill is activated
Reference documents
60 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Gather what changed
- Write the reply
- Visuals
Files
../bro/SKILL.mddoc267 bytesSKILL.mdcore6,569 bytes
Read SKILL.md
# Ketchup
Catch the user up on what changed in this chat since the last message they wrote before `/ketchup`, and help them understand each change, not only where it stands. Then lay out every call waiting on them so they can make it from your reply alone. Notifications and subagent results are not their messages. Assume the user remembers their last message and nothing after it.
Use [`/bro`](../bro/SKILL.md)'s voice, not its task: plain words, short sentences, no jargon, like one person catching up another. Say what changed for the user, not how you did it. Say "the tests pass", not "CI is green". Leave out hashes, file paths, commands, build numbers, and test counts unless the user needs one to act. Call each PR, branch, or agent by a name the user would know, not by a label you invented. If a fact needs context to make sense, give the context or leave the fact out.
## Gather what changed
Keep this turn read-only. Make visuals only from what you already have: do not change code, start an app or a job, or post anything. Collect your own work since that message, reports from subagents, and messages from anyone else in this chat. Check the current state of each PR, CI run, or agent this chat touched, with `task_status` for a delegated child and `list_thread_pull_requests` for this thread's PRs. Check each number you will show against the facts it comes from, and say so when you correct one.
An action item is a call or step only the user can take, such as a product choice, an approval, an irreversible action, or access you lack. Include any still waiting on the user, even one raised before their last message. Work you can still do yourself is not an action item. Never make up a call to fill the reply. A step the user did not ask for and the work does not need is not an action item, unless it is irreversible and waiting on the user: give it one line and no visual.
One call can cover many items, such as each PR in a set awaiting merge. For each item, collect its link, what it changes for users, the evidence behind your pick, its risk, and your pick. Write "unknown" for a fact the call needs that you do not know. Leave out a link you do not have.
View the complete source on GitHubketchup-video
When your agent uses it
Catch the user up like /ketchup, with a short subtitled video of slides for what happened and the waiting calls as text under it. Use for /ketchup-video.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
886 tokensWhen the skill is activated
Reference documents
1,480 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Slides
- Subtitles
- Render
Files
SKILL.mdcore3,994 bytes../ketchup/SKILL.mddoc6,569 bytes
Read SKILL.md
# Ketchup video
Follow [`/ketchup`](../ketchup/SKILL.md), but show what happened in a short subtitled video instead of its summary and visuals. Its window starts at the last message the user wrote before `/ketchup-video`, not before any earlier `/ketchup`. Writing and rendering the video, outside the repo, is the one exception to its read-only rule. The reply is ketchup's opening sentence, the embedded video, one line naming any work left that you can do yourself, and the action items. Embed the video as a Markdown image whose target is the video's absolute path, which T3 shows as a player. When the video shows a call's options, call each option by the name the video gives it. If the render fails, say so in one line and give only the calls.
## Slides
Use the screenshots, recordings, diffs, and data the work produced, not the chat's prose about them. Before you draw, write the one sentence the user should leave with and one line per slide. Drop each slide that does not change what the user knows. Use at most 10 slides, and fewer is better. Neither note goes in the reply.
Each slide makes one point. Build the slides on one picture and change it from slide to slide, rather than cut to an unrelated one. A color or shape means the same thing on every slide. Show the work in pictures, such as how a system works, a PR stack with each PR's state, a before and after of a fix, or options side by side. Point at what changed with arrows, highlights, and motion. A slide is never a bullet list, a status list, a table, or boxes with nothing connecting them.
Keep text to the minimum. Put each label on the thing it names, in plain words a person would say, not tags like "Tests: pass". Never caption what a picture shows, and never give a fact twice, across slides or in the text under them.
Show what came of each thing the user asked for, and whether it is done, still running, failed, or not checked. Never show something done that still waits on the user. Show any bug found and fixed on the way. If a visible change has no screenshot, say so on its slide and name what changed on screen. Draw only from facts you have. Never invent a number, and never draw a screen you did not capture.
View the complete source on GitHubmaintain-formal-verification-skill
When your agent uses it
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model, harness, or properties to describe the code as it is now, rerun, and say whether each failure is drift in the verification or a bug in the code. Use for /maintain-formal-verification-skill, "is the model still true to the code", or after merges and refactors that touched verified code without rechecking it.
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
1,534 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Outcomes
- Edit scope
- Pass
- Report
Files
SKILL.mdcore7,012 bytes
Read SKILL.md
# Maintain a formal verification skill
A formal check proves a property of what it describes. When the code changes and the verification does not, the check can keep passing while it describes code that no longer exists. That pass is the dangerous case, because it looks like a proof. This skill is the upkeep loop for a verify skill that `/create-formal-verification-skill` generated, or for any project-local skill that runs a model checker, prover, or code-level verifier against named code. The project-local skill handles a change that an agent makes while it uses that skill. This skill handles the changes that skipped it: merges, edits made without the skill, and drift that builds up across many commits.
## Outcomes
Give each check one outcome, and say which:
- **in sync**: no change since the last sync alters what the check describes, and the check passes.
- **updated**: the code changed, the verification now describes the new code, and the check passes.
- **bug**: the verification describes the current code, and the code breaks the property. This is a finding about the code. It is not drift.
- **blocked**: the check could not be brought back in line or could not run. Say exactly why.
A check can be both updated and bug: the update makes the verification describe the code again, and then the property fails on it.View the complete source on GitHubmaintain-verification-skill
When your agent uses it
Periodic pass that keeps a project's verification skill and feature map honest: parallel source readers per feature, one live session driving every feature, at most one PR of proven corrections. Use for /maintain-verification-skill or "audit the verify skill".
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
1,044 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Outcomes
- Edit scope
- Pass
Files
SKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytesSKILL.mdcore4,977 bytes
Read SKILL.md
# Maintain a verification skill
A feature map rots the moment the app changes. This skill is the upkeep loop for a skill generated by `/create-verification-skill` (or any project-local verification skill with a feature map). The unit of rigor is the feature, not every sentence: cover every feature file from source and exercise every feature live, without terminalising every bullet.
## Outcomes
Pick one, and say which:
- **clean** — every feature got source and live coverage; nothing worth shipping. No branch, no PR.
- **changed** — one PR ships proven doc, harness, or map corrections.
- **blocked** — coverage could not finish or a proven fix could not ship safely. Say exactly what blocked it.
## Edit scope
View the complete source on GitHubmake-pr-easy-to-review
When your agent uses it
Prepare PRs for review by cleaning noisy history, improving PR descriptions, and adding reviewer guidance without changing code behavior. Use for "make this easy to review", "tidy this PR", "clean up commits", or "annotate the diff".
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
496 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- History Cleanup
- Reviewer Guidance
- Guardrails
Files
SKILL.mdcore2,275 bytesSKILL.mdcore2,275 bytesSKILL.mdcore2,275 bytes
Read SKILL.md
# Make PR Easy to Review
Prepare a PR so a reviewer can quickly understand the intent, important files, and risk. The default goal is reviewability without behavior changes.
## Workflow
1. Resolve the target PR from the user-provided URL or current branch.
2. Inspect commits, diff size, changed paths, generated files, and PR description.
3. Identify reviewability issues: noisy commits, stale description, unrelated changes, mixed mechanical and logic changes, missing tests, or unclear reviewer entry points.
4. Propose a plan before rewriting history or force-pushing.
5. Apply safe improvements, then verify the tree or diff still matches the intended code.
## History Cleanup
View the complete source on GitHubno-comments
When your agent uses it
Spawn Comment Sicko, fix accepted findings, and offer encodings for claimed constraints.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
662 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope
- Steps
Files
SKILL.mdcore2,955 bytes
Read SKILL.md
# No comments
Spawn Comment Sicko. Act on accepted findings.
Defer to Comment Sicko's fresh perspective.
## Scope
Use the caller's files or diff. Otherwise use the current diff against the base branch, default `main`, including the working tree.
## Steps
1. Dispatch one `delegate_task` child (`mode: "async"`, `role: "review"`) whose brief opens with "Read `<plugin root>/agents/comment-sicko.md` in full and act as it says" (`<plugin root>` is the directory that holds this plugin's `skills/`). Pass the scope, and no worktree, because a worktree lacks the scope's uncommitted changes. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill. Do not restate its rules.
2. Inspect its report and diff. Reject application-code edits, scope escapes, exception-protected deletions, misstated `MUST KILL` reasons, and flags that treat kept intentional code as guilty. Reshape flags on our-code surprises stay actionable. Do not restore those comments. A keep survives only with proof it is about something we cannot change. Audit missed scoped lint and TypeScript suppressions. Correctness or safety suppressions stay actionable `MUST KILL`s. Restore deletions only with exact exceptions and scoped proof. Before accepting thin `IMPORTANT` or `do not remove` kills or keeps, run `/how` or `/why` on their symbol. If a kill is ambiguous, do not restore. If a keep is refuted or still ambiguous, delete it. Revert and rerun one rejected report with the failure named. Reject a second, report it open, and fail `/no-comments`.View the complete source on GitHubpoteto-help
When your agent uses it
Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
3,880 tokensWhen the skill is activated
Reference documents
48,416 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Find out what they need
- Get set up
- Start a task with `/poteto-mode`
- Pick a skill
- Playbooks and principles
- Fix a run that went wrong
- Make pstack my own
- Reply
Files
../architect/SKILL.mddoc6,512 bytes../arena/SKILL.mddoc7,105 bytes../automate-me/SKILL.mddoc7,825 bytes../benchmark-checklist/SKILL.mddoc5,002 bytes../blast-radius/SKILL.mddoc3,856 bytes../bro/SKILL.mddoc267 bytes../correct/SKILL.mddoc2,478 bytes../create-formal-verification-skill/SKILL.mddoc5,626 bytes../create-verification-skill/SKILL.mddoc6,615 bytes../figure-it-out/SKILL.mddoc4,111 bytes../how/SKILL.mddoc3,722 bytes../in-your-own-words/SKILL.mddoc315 bytes../interrogate/SKILL.mddoc3,439 bytes../ketchup-video/SKILL.mddoc3,994 bytes../ketchup/SKILL.mddoc6,569 bytes../maintain-formal-verification-skill/SKILL.mddoc7,012 bytes../maintain-verification-skill/SKILL.mddoc4,977 bytes../no-comments/SKILL.mddoc2,955 bytesSKILL.mdcore15,717 bytesreferences/prompting.mddoc3,167 bytesreferences/recipes.mddoc3,661 bytes../poteto-mode/SKILL.mddoc28,627 bytes../poteto-mode/playbooks/multi-phase-plan.mddoc13,501 bytes../recall/SKILL.mddoc5,344 bytes../reflect/SKILL.mddoc7,554 bytes../setup-pstack/SKILL.mddoc8,648 bytes../sharpen/SKILL.mddoc661 bytes../show-me-your-work/SKILL.mddoc6,577 bytes../statechart/SKILL.mddoc9,100 bytes../swarm/SKILL.mddoc3,742 bytes../tdd/SKILL.mddoc3,143 bytes../teach/SKILL.mddoc5,623 bytes../technical-writing/SKILL.mddoc9,093 bytes../typescript-best-practices/SKILL.mddoc2,765 bytes../unslop/SKILL.mddoc5,827 bytes../why/SKILL.mddoc9,779 bytes
Read SKILL.md
# Poteto help
Answer the user's question about pstack, hand them a prompt they can send, and link the file the answer came from. For a help question, don't start the work. The user asked how, and a pstack run spends real tokens, so let them send the prompt.
A message that asks for work, such as "use pstack to fix this bug", is not a help question. Read [`poteto-mode`](../poteto-mode/SKILL.md), do the work under it, and mention once that starting each task with `/poteto-mode` keeps it on.
This file maps questions to the skills and guide pages that hold the answers. Those files own the details. Read the file you route to before you quote it, and trust it when it disagrees with this map. The links here point into the installed plugin, which the user may not be able to open, so give the user the file's public copy: `https://github.com/chhoumann/t3-pstack/blob/main/plugins/pstack/` followed by its path.
## Find out what they need
Infer the need from the message and the conversation. A named situation, such as "which skill reviews a PR?", goes straight to its section. If the need is still unclear, ask one multiple-choice question with these options, then answer only the section they pick:
- Get set up
- Start a task with `/poteto-mode`View the complete source on GitHubpoteto-mode
When your agent uses it
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work. Use for poteto, /poteto-mode, or requests to work in this style.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
6,623 tokensWhen the skill is activated
Reference documents
21,817 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Non-negotiables
- Principles
- Autonomy
- Subagents
- Writing the reply
- Comments
- Playbooks
- Models
Scripts executed separately
scripts/bootstrap.tsscripts/check-plan.mjsscripts/check-plan.test.tsscripts/package.jsonscripts/resolve-codex-transcriptscripts/resolve-codex-transcript.tsscripts/watch-pr/cli.test.tsscripts/watch-pr/cli.tsscripts/watch-pr/fakes.test-helper.tsscripts/watch-pr/github.test.tsscripts/watch-pr/github.tsscripts/watch-pr/policy.test.tsscripts/watch-pr/policy.tsscripts/watch-pr/render.tsscripts/watch-pr/settle.test.tsscripts/watch-pr/settle.tsscripts/watch-pr/types.compile.tsscripts/watch-pr/types.tsscripts/watch-pr/verdicts.test.tsscripts/watch-pr/watch-prscripts/worktree-audit.sh
Files
SKILL.mdcore28,627 bytesplaybooks/authoring-a-skill.mddoc855 bytesplaybooks/autonomous-run.mddoc2,078 bytesplaybooks/autopilot-full.mddoc7,282 bytesplaybooks/autopilot-stack.mddoc883 bytesplaybooks/babysit.mddoc8,755 bytesplaybooks/bug-fix.mddoc2,402 bytesplaybooks/eval.mddoc2,605 bytesplaybooks/feature.mddoc3,275 bytesplaybooks/hillclimb.mddoc4,531 bytesplaybooks/investigation.mddoc928 bytesplaybooks/multi-phase-plan.mddoc13,501 bytesplaybooks/opening-a-pr.mddoc5,892 bytesplaybooks/orchestrate.mddoc4,808 bytesplaybooks/pause-safely.mddoc1,135 bytesplaybooks/perf-issue.mddoc1,574 bytesplaybooks/prototype.mddoc2,161 bytesplaybooks/refactoring.mddoc3,339 bytesplaybooks/runtime-forensics.mddoc1,314 bytesplaybooks/session-pickup.mddoc1,714 bytesplaybooks/shipping.mddoc5,055 bytesplaybooks/trace-forensics.mddoc1,867 bytesplaybooks/visual-parity.mddoc1,196 bytesplaybooks/worktree-cleanup.mddoc4,733 bytesreferences/bugbot-triage.mddoc9,629 bytesreferences/licenses/LICENSEasset1,149 bytesreferences/licenses/LICENSE-cursor-team-kitasset1,063 bytesreferences/licenses/LICENSE-thermosasset1,063 bytesreferences/licenses/NOTICE.mddoc2,688 bytesscripts/.prettierrc.jsonasset29 bytesscripts/bootstrap.tsruns1,737 bytesscripts/bun.lockasset6,679 bytesscripts/check-plan.mjsruns8,195 bytesscripts/check-plan.test.tsruns3,892 bytesscripts/package.jsonruns366 bytesscripts/resolve-codex-transcriptruns171 bytesscripts/resolve-codex-transcript.tsruns9,708 bytesscripts/watch-pr/cli.test.tsruns6,180 bytesscripts/watch-pr/cli.tsruns7,268 bytesscripts/watch-pr/fakes.test-helper.tsruns3,766 bytesscripts/watch-pr/github.test.tsruns16,206 bytesscripts/watch-pr/github.tsruns27,000 bytesscripts/watch-pr/policy.test.tsruns14,772 bytesscripts/watch-pr/policy.tsruns31,895 bytesscripts/watch-pr/render.tsruns8,487 bytesscripts/watch-pr/settle.test.tsruns17,050 bytesscripts/watch-pr/settle.tsruns14,369 bytesscripts/watch-pr/tsconfig.jsonasset270 bytesscripts/watch-pr/types.compile.tsruns2,258 bytesscripts/watch-pr/types.tsruns13,598 bytesscripts/watch-pr/verdicts.test.tsruns25,425 bytesscripts/watch-pr/watch-prruns211 bytesscripts/worktree-audit.shruns8,380 bytes
Read SKILL.md
# Poteto mode
Bundled skills live at `../<name>/SKILL.md` from this file, so put this file's absolute path in every `poteto-agent` prompt.
On Codex, read this file whole before acting, in a shell call of its own with `max_output_tokens: 10000`. A smaller output budget cuts lines out of its middle. If a read of it shows `tokens truncated`, read it again that way.
## Non-negotiables
The Principles section below grounds every trigger. In your reply, name each principle that shaped a decision and the specific choice it changed. Cite only principles whose leaf SKILL.md you read this session.
Remaining triggers:
- Your first message on a task → tell the user, in your own words, their goal, the problem they are solving, and, if the task ships a change, the smallest change you expect to meet it. Don't wait for confirmation. If the evidence rules out the change the user asked for, show it and stop. Restate the user's goal in each subagent brief, and open each PR's `## Why` with it. Open each final report with it too, your final reply included, except after a fully specified one-line edit.
- Nontrivial change, architecture decision, or "are we sure?" → the **how** skill.View the complete source on GitHubprinciple-attack-the-premise
When your agent uses it
Apply when two or more fixes that share one premise have failed the same gate. Write the premise down and test it directly before you write another fix that assumes it.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
423 tokensWhen the skill is activated
Reference documents
1,226 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,916 bytes../principle-build-the-lever/SKILL.mddoc2,386 bytes../principle-fix-root-causes/SKILL.mddoc1,821 bytes../principle-laziness-protocol/SKILL.mddoc552 bytes../principle-redesign-from-first-principles/SKILL.mddoc758 bytes
Read SKILL.md
# Attack the Premise
When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.
**Why:** Each failed fix is evidence against the belief it assumed. A third fix on the same premise spends effort where the evidence already says the cause is not.
**Pattern:**
- **Write the premise down.** The premise is the one sentence that every failed fix assumed.
- **Test the premise before the next fix.** Find an observation that would come out differently if the premise were false, and make it. Look at how the failures are distributed, not only at how large they are. Make the check rerunnable per [Build the Lever](../principle-build-the-lever/SKILL.md).
- **Follow the evidence.** If it contradicts the premise, the cause is elsewhere. Look for what the failures have in common that the premise did not predict. If it confirms the premise, ask the next "why" per [Fix Root Causes](../principle-fix-root-causes/SKILL.md). The earlier fixes may have treated a consequence instead of the cause.
- **Remove the condition instead of compensating for it**, per the [Laziness Protocol](../principle-laziness-protocol/SKILL.md). If the evidence shows that one part always lands on the losing side, change what puts it there. A mechanism that cleans up after it leaves the cause in place and adds work on every run.
**Stop:** Do not start the next fix before the premise is written down and tested.
View the complete source on GitHubprinciple-boundary-discipline
When your agent uses it
Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
379 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,883 bytes
Read SKILL.md
# Boundary Discipline
Place validation, type narrowing, and error handling at system boundaries. Trust internal code unconditionally. Business logic lives in pure functions. The shell is thin and mechanical.
**Why:** Scattered validation is noisy, redundant, and gives a false sense of safety. Keep logic out of framework wiring so it can be tested without the framework.
**The pattern:**
- **At boundaries** (CLI args, config files, external APIs, network protocols): validate, return errors, handle defensively.
- **Inside the system:** typed data, error propagation, no re-validation. Trust the types.
- **Across the boundary.** Expose domain concepts, not the boundary's private representation. Keep general-purpose mechanism inside and special-purpose policy at the edge.
**Applications:**
Validation and error handling:View the complete source on GitHubprinciple-build-the-lever
When your agent uses it
Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
555 tokensWhen the skill is activated
Reference documents
533 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,386 bytes../principle-encode-lessons-in-structure/SKILL.mddoc558 bytes../principle-laziness-protocol/SKILL.mddoc552 bytes../principle-prove-it-works/SKILL.mddoc1,371 bytes
Read SKILL.md
# Build the Lever
When the work isn't trivial, build the tool that does it instead of doing it by hand.
A codemod, generator, or script does the work the same way every time and reruns for free. The tool is one artifact a reviewer can read and rerun to check the work. Hand-done changes can only be re-verified by redoing them. A deterministic script turns "trust me" into "run this".
Default to building the lever. Skip it only when the task is trivial, a couple of obvious edits you can see at a glance.
- Do the first unit by hand to learn the recipe, then build the tool. Prove it by rerunning it on that unit and diffing against your hand-done version. Make the lever safe to rerun.
- Codemod or script for edits, generator for repetitive files, a dump-to-sqlite query for analysis, a rerunnable check for verification.
- A deterministic lever beats fan-out. If the tool can process every unit in one pass, run it yourself. Don't fan out delegates to hand-apply what a script can do.
- When you fan work out to subagents, write the lever as a skill they all read: the recipe, the verification contract, and the do-not-touch fences in one artifact. Keep it outside the delegates' write scope so they can't quietly edit the contract.
- Applying this principle produces a file. If you cited it and there is no codemod, script, generator, or delegate skill in the diff, you didn't apply it.
- Commit the lever when the work outlives the session.
View the complete source on GitHubprinciple-encode-lessons-in-structure
When your agent uses it
Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
116 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore558 bytes
Read SKILL.md
# Encode Lessons in Structure
If the lesson needs judgment and cannot be encoded, make the instruction more prominent and add an example of the failure mode.
**Corollary:** If the fix is structural, only use the structural fix. The instruction is the symptom.View the complete source on GitHubprinciple-exhaust-the-design-space
When your agent uses it
Apply when facing a novel UI interaction or architectural decision with no precedent in the codebase. Build 2-3 competing prototypes and compare side by side before committing.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
78 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore395 bytes
Read SKILL.md
# Exhaust the Design Space
It also applies to product design decisions where user experience depends on feel, not logic.View the complete source on GitHubprinciple-experience-first
When your agent uses it
Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
238 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,184 bytes
Read SKILL.md
# Experience First
When implementation convenience conflicts with user delight, choose delight.
- Every feature, control, and option must be justified
- Ship less, ship better (polished experience with three features beats rough one with ten)
- Prototype before committing (design decisions are cheaper in throwaway HTML than production code)
- Get the details right (transitions, alignment, spacing, feedback, error states)
- Tighten the core loop (every feature should serve the central workflow or get out of the way)
The user is whoever consumes the work. For a UI that is the end user. For a library or an internal API it is the colleague who imports it. The engineer who maintains the code next is a user too. Weigh their experience the same way, and explain impact from their perspective.
Foundations should serve the experience. Foundational thinking governs the *sequence* of work. This principle governs the *target*.View the complete source on GitHubprinciple-explain-the-number
When your agent uses it
Apply before you measure, and before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
441 tokensWhen the skill is activated
Reference documents
1,468 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../benchmark-checklist/SKILL.mddoc5,002 bytesSKILL.mdcore1,922 bytes../principle-prove-it-works/SKILL.mddoc1,371 bytes
Read SKILL.md
# Explain the Number
- **Write the decision before you run.** Name the result that would change a decision, and the noise floor. Stop when the run-to-run spread is larger than the effect.
- **Ask "why not double?"** Name the resource or code path that bounds the result, such as a core, a lock, the disk, the network, or the load generator itself. Get it from a profile or from system counters taken during a run, then map it to source. A guess from reading the code is not a limiter. If you cannot say why the number is not twice as good, you do not know what you measured.
- **List what else the number could be measuring, and rule out each one with evidence.** The usual suspects are errors, skipped or cached work, code that never ran, an untuned side (one left on default settings), noise, and a piece too small to matter end to end.
- **Keep the evidence with the number.** Put the run count, the spread, and the limiter in the notes or a linked artifact.
For a performance number, run the full procedure with the [benchmark-checklist](../benchmark-checklist/SKILL.md) skill. For an eval result, ask the same of the trials: did every run do the task, does the gap hold across trials and models, and does the scenario matter.
You skipped this when a run started without the result that would change a decision, when the evidence behind a number has no run count, no spread, or no named limiter, or when the time saved is larger than the time the changed piece took.
Distinct from [Prove It Works](../principle-prove-it-works/SKILL.md), which checks that an output is real.View the complete source on GitHubprinciple-fix-root-causes
When your agent uses it
Apply when debugging. Trace each symptom back to the first place the system went wrong and fix it there. A guard is a fix only when the state it handles is legitimate.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
398 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,821 bytes
Read SKILL.md
# Fix Root Causes
When debugging, fix the fault, not the place where it surfaced. The symptom is where a wrong state became visible. The root cause is the first place the system did something it should not do, or failed to handle a state it should handle.
**Why:** A symptom fix hides the evidence and leaves the fault free to surface somewhere else. Each one makes the system harder to reason about, because the code now carries a workaround for a bug that nobody named.
**Pattern:**
- Reproduce first.
- Ask "why" at each step until the answer is a wrong decision in the code, not a consequence of an earlier one.
- When stuck, instrument. Read the actual error and the actual state. Do not guess.
- Ask whether the state that triggered the symptom is legitimate. If the system may be in that state, the code that broke on it is the root cause, and handling the state there is the fix. If the state should never exist, a check where it broke hides the bug. Find what produced the state. Guards, retries, swallowed errors, clamped values, and discarded state are the usual ways to hide a bug.
- When something fails only after a restart, suspect persisted state first: config files, caches, lock files, serialized state.
- Check for the pattern, not just the instance. Find every place with the same fault and fix them all.
- If a workaround needs a paragraph-long comment to justify it, the code is wrong. Fix the code, not the comment.View the complete source on GitHubprinciple-foundational-thinking
When your agent uses it
Apply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
290 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,530 bytes
Read SKILL.md
# Foundational Thinking
**Structural decisions** protect option value. **Code-level decisions** protect simplicity.
**Data structures first.** Get the data shape right before writing logic. Define core types early, trace every access pattern, and choose structures that match the dominant paths.
At code level, DRY the structure, not every line. Types and data models should converge. Three similar statements still beat a premature abstraction. Prefer explicit over clever. Test behavior and edge cases, not line counts.
**Concurrency corollary.** Before sharing state between actors, ask "what happens if another actor modifies this concurrently?" If not "nothing", isolate.
**Scaffold first.** If something helps every later phase, do it first. Ask "does every subsequent phase benefit from this existing?" CI, linting, test infrastructure, and shared types are scaffold. Sequence for option value: setup before features, tests before fixes. Keep commits small and single-purpose.
Each increment should land a coherent abstraction or deepen one that exists. Do not spread a new capability across callers as special-case coordination.
View the complete source on GitHubprinciple-guard-the-context-window
When your agent uses it
Apply when context is filling up: large outputs, long files, repeated reads, fan-out planning. Route bulk to subagents; keep summaries in the main thread, not raw payloads.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
112 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore519 bytes
Read SKILL.md
# Guard the Context Window
**Why:** Context overflow degrades reasoning quality, creates compression artifacts, and halts progress.
**Pattern:**
- **Size phases and cap scope.** Limit files per phase, set turn budgets, account for mechanism costs.View the complete source on GitHubprinciple-laziness-protocol
When your agent uses it
Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Bias toward deletion and the smallest change that solves the problem.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
124 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore552 bytesSKILL.mdcore552 bytes
Read SKILL.md
# Laziness Protocol
- **Consolidate decisions.** Do not repeat the same choice in several places. Put it behind one source of truth and pass the result as a simple flag.
- **Minimize the diff.** Make the smallest change that solves the problem. Fewer lines beat "elegant" boilerplate.View the complete source on GitHubprinciple-make-operations-idempotent
When your agent uses it
Apply when designing commands, lifecycle steps, or processing loops that run amid crashes, restarts, and retries. Converge to the same end state regardless of partial prior runs.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
378 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,809 bytes
Read SKILL.md
# Make Operations Idempotent
Design operations so they converge to the correct state regardless of how many times they run or where the previous run stopped. Every state-mutating operation should answer: "What happens if this runs twice? What happens if the previous run crashed halfway?"
**Why:** Commands, lifecycle operations, and processing loops run where crashes, restarts, and retries are normal. If partial state changes the next run's outcome, every restart becomes a debugging session.
**The idea:** derive each step from the state that exists, not from what the previous run meant to do. Read the current state, compare it to the goal, and apply only the difference. A step written this way is safe to repeat, because a repeat finds nothing left to do.
Anything a run leaves behind, such as a lock, a temporary file, a half-written record, or a claimed job, must be recognizable as stale by the next run. Judge staleness by evidence that stays true wherever the previous run could have stopped, not only in the common case. A marker that the next run cannot judge turns every crash into manual cleanup. For example, write to a temporary path and rename it into place, or compare artifacts by content instead of by creation order.
**The test:**
1. What happens if this runs twice in a row?
2. What happens if the previous run crashed at every possible point?
3. Does re-execution converge to the same end state?View the complete source on GitHubprinciple-migrate-callers-then-delete-legacy-apis
When your agent uses it
Apply when introducing a new internal API while old callers still exist. Migrate callers and delete the old API in the same wave instead of preserving compatibility layers.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
129 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore637 bytes
Read SKILL.md
# Migrate Callers Then Delete Legacy APIs
- Update tests to assert the new contract, and delete tests that only protect pre-refactor implementation details
**When this applies:**
- No external users depend on backward compatibility
- The project can absorb coordinated breaking changes
- The new API is part of a simplification or refactor initiativeView the complete source on GitHubprinciple-minimize-reader-load
When your agent uses it
Apply when reviewing or shaping code that's hard to trace. Count layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
416 tokensWhen the skill is activated
Reference documents
112 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../principle-guard-the-context-window/SKILL.mddoc519 bytesSKILL.mdcore1,996 bytes
Read SKILL.md
# Minimize Reader Load
Maintainability is the work a reader must do to understand code. Track two axes: **layers to trace** (indirections between the question and the answer) and **state to hold** (hidden or mutable context the reader must keep in their head). LOC, cyclomatic complexity, and "clean architecture" are proxies. Reader load is the thing that matters. The two axes are independent. A flat file with 50 globals can be as hard to reason about as a 6-layer adapter stack. Guard both. This is the human analog of [Guard the Context Window](../principle-guard-the-context-window/SKILL.md). Working memory is finite for readers too.
- **Collapse layers** that cost more than they save: wrappers with one caller, adapters with no second implementation, speculative indirection that was never needed. Inline them.
- **Make adjacent layers change the abstraction.** A layer that repeats the same methods and arguments adds reader load without compression. Collapse pass-through layers.
- **Demand interface compression.** A broad interface that hides little complexity makes readers learn both the surface and the implementation. Prefer boundaries that hide meaningful decisions.
- **Shrink state scope:** prefer pure functions (returns over mutations), locals over fields, fields over module state, and module state over globals. Derive instead of sync.
- **Name the invariant at the boundary,** not in every consumer, so the reader learns it once.
- Before adding a layer or a piece of state, ask: does it reduce reader load elsewhere by at least as much?
**The test:** can a new reader answer "where does X come from?" and "what can change X?" in under 30 seconds? If not, cut layers or cut state.View the complete source on GitHubprinciple-model-the-domain
When your agent uses it
Apply when writing stateful logic, or when code branches a lot or repeats a shape assumption across files.
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
373 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,858 bytes
Read SKILL.md
# Model the Domain
Encode the real domain in a data structure instead of scattering it across conditionals. A structure that matches the domain makes invalid states unrepresentable and deletes branches. Choosing it at write time is cheap. Recovering it later reads as a refactor and gets deferred.
Reach for:
- A state machine instead of scattered booleans, phases, or lifecycle checks.
- A typed model instead of loose parameters or repeated shape assumptions.
- A map, registry, lookup table, or discriminated union instead of branching spread across files.
- A reducer or command/event model instead of ad hoc state mutations.
- A module organized around one body of domain knowledge instead of a sequence such as load, validate, transform, and save. Execution order is not ownership.
- A small module boundary that gathers repeated behavior, ownership, or invariants.
- A queue, cache, index, graph, tree, or normalized collection where the access pattern calls for it.
- Any other structure that fits. When none fits, work out what the code must never allow and how the data gets read, then find the structure that encodes exactly that.View the complete source on GitHubprinciple-never-block-on-the-human
When your agent uses it
Apply when tempted to ask 'should I do X?' on reversible work.
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
198 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore910 bytes
Read SKILL.md
# Never Block on the Human
The human supervises asynchronously. Agents must stay unblocked. Make reasonable decisions, proceed, and let the human course-correct after the fact. Since code changes are reversible and reviewable, a wrong decision usually costs less than blocking.
- Proceed, then present. Do the work, show the result. Don't ask "should I do X?" Do X, explain why.
- Make the system self-healing. When you notice a problem, log it and fix it in the next round.
- Irreversible actions (force-push, delete production data, send external messages) still require confirmation.
- Reversible actions (write code, edit notes, split tasks) should proceed without blocking.
- Product direction comes from the human. Execution should not block.View the complete source on GitHubprinciple-outcome-oriented-execution
When your agent uses it
Apply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
193 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,078 bytes
Read SKILL.md
# Outcome-Oriented Execution
Optimize for the intended, verifiable end state rather than preserving smooth intermediate states.
**Why:** Keeping every intermediate step fully stable often creates temporary compatibility code that becomes long-lived debt. Converge on the target architecture and prove correctness at explicit verification boundaries.
**Core rule:**
- Prioritize end-state integrity over transitional stability
- Intermediate breakage is acceptable when it is planned, scoped, and reversible
**Guardrails:**
- Use this for planned rewrites and migrations with explicit phase boundaries
- Declare where temporary breakage is acceptable
- Keep high-signal checks for actively touched areas while migratingView the complete source on GitHubprinciple-prove-it-works
When your agent uses it
Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
293 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script the check when you can
Files
SKILL.mdcore1,371 bytes
Read SKILL.md
# Prove It Works
Verify every task output by checking the real thing directly. Do not infer from proxies, self-reports, or "it compiles."
**Why:** Unverified work has unknown correctness. Indirect verification (file mtimes, output freshness, agent self-reports, cached screenshots) feels cheaper than direct observation. Acting on a wrong inference costs far more than checking the source.
Check the real thing, not a proxy:
- Check process liveness directly, not indirectly through derived state
- Read the actual value, not a cached or derived representation
- When verification fails, suspect the observation method before suspecting the system
## Script the check when you can
The strongest proof is a deterministic script that re-runs the same comparison, not a one-time eyeball. Write the script, run it, and keep its output as an artifact a reviewer can re-run instead of trusting your word.View the complete source on GitHubprinciple-redesign-from-first-principles
When your agent uses it
Apply when integrating a new requirement into an existing design.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
149 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore758 bytes
Read SKILL.md
# Redesign From First Principles
When integrating a change, don't bolt it onto the existing design. Redesign as if the requirement had been a foundational assumption from the start.
- Read all affected files and understand the current design
- Ask: "if we were writing this from scratch with this new requirement, what would we build?"
- Propagate the change through every reference: types, docs, examples, rationale sections
- Think about the whole redesign, then deliver it incrementally
This is the method for preserving option value when integrating changes into an existing design.View the complete source on GitHubprinciple-separate-before-serializing-shared-state
When your agent uses it
Apply when concurrent actors might write to the same file, branch, key, or state object. Eliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
327 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,565 bytes
Read SKILL.md
# Separate Before Serializing Shared State
When concurrent actors might share mutable state, first ask whether they need the same mutable object. If not, eliminate the sharing. When sharing is real, enforce serialization structurally: lockfiles, sequential phases, exclusive ownership. Instructions and conventions are not concurrency control.
**Why:** Concurrent writes to shared state create race conditions that are intermittent, hard to reproduce, and expensive to debug.
**Pattern:**
1. **Identify shared mutable state** (files both read and write, branches both push to, APIs both define and consume).
2. **Default: eliminate the shared write target.** Ask: do these actors need one canonical object, or are they publishing independent facts? Give each actor its own owned file, key, branch, or state directory, and merge only at the read/reporting boundary. Two workers writing their own `lastX` field into one `state.json` is still shared mutation. `indexer-state.json` + `metrics-state.json` is not.
3. **Only when one shared write target is a real invariant, serialize access structurally** (lockfiles, sequential phases, single-writer actor, or atomic compare-and-swap). Treat "we need a lock" as a design smell to check, not as the default answer.View the complete source on GitHubprinciple-sequence-verifiable-units
When your agent uses it
Apply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
373 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,705 bytes
Read SKILL.md
# Sequence work into verifiable units
Order work as a sequence of small units, each ending in a state you can check, and don't advance until the current one is green.
**Why:** A break caught at the unit that caused it is cheap to localize. A break caught after a batch is buried, and you have already built further on a broken base. Sequencing those same units into a delivery a reviewer can replay turns "trust me" into "watch it go red, then green."
**Execution.** In a sweep, migration, or any run of similar edits, verify each change before starting the next. Each unit is a before/after bracket: known-good state, one change, run the check, then proceed. Rebase onto clean trunk first so every check measures against the real baseline. When a lever does the edits, the per-unit check is nearly free. Run it anyway.
**Delivery.** Stack commits and PRs in the order that proves the work. The canonical shape is the failing test first, then the fix on top. Other story orders are a subtraction before the reshape, a baseline capture before the treatment, the scaffold before the feature. Each commit lands on its own and the sequence reads as an argument.
The sequencing complement to the **prove-it-works** principle skill, which keeps each check real, and the **build-the-lever** principle skill, which makes the per-unit check cheap.View the complete source on GitHubprinciple-subtract-before-you-add
When your agent uses it
Apply when sequencing an addition, refactor, or rewrite. Remove dead code, redundant validators, and stub references first, then build on the simpler base.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
179 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore909 bytes
Read SKILL.md
# Subtract Before You Add
When evolving a system, remove complexity first, then build. Default to subtraction.
Make simplification a continual investment. Leave the design slightly simpler and more capable behind the same or smaller surface than you found it.
- Sequence removal before construction
- Cut before you polish (get to the minimum before investing in quality)
- Design for observed usage, not speculative edge cases
- No speculative validators, parsers, or guards beyond what the spec demands
- Simplify prompts (remove redundant instructions, excessive templates)
- When a reference has no novel content, delete it rather than leaving a stubView the complete source on GitHubprinciple-test-behavior-not-implementation
When your agent uses it
Apply when you write, change, or keep a test. Assert what the code's users can observe, so that the test fails when that behavior breaks and keeps passing when only the internals change.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
548 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,614 bytes
Read SKILL.md
# Test Behavior, Not Implementation
A test is a claim about what the code does for its users: a caller, an end user, or another service. Behavior is what those users can observe through the interface they use. That includes return values, errors, state they can read back, and effects on systems outside the code, such as a request sent, a row written, or a message emitted. Implementation is what they cannot observe: private helpers, internal call order, intermediate data, and which internal collaborator did the work.
Judge each test against two imagined edits:
- **Break the behavior.** Make the code return a wrong value, skip an effect, or do the effect twice. If the test still passes, it proves nothing. The usual causes are an assertion looser than the contract, an expected value computed by the code under test, a restated constant or prompt string that never runs the code that reads it, and an assertion on data that the test built itself.
- **Change the internals.** Keep every observable result the same and restructure the code underneath. If the test now fails, it is pinned to the implementation. It will need a rewrite on every refactor and still catches no bug.
Keep a test that catches the first edit and survives the second. Rewrite or delete the rest. To write a test that does both, drive the code through its users' interface with a concrete input. Derive the expected value from the requirement, not from a run of the code. Assert what the contract promises, no less and no more.
The contract decides, not the shape of the assertion. When "an empty cart never charges" is the promise, an assertion that the payment client got no call is behavior. Pair it with a case where the charge happens, so that the test shows it can see a call. The payload that a mocked external service receives is behavior, because that service observes it. A call to an internal helper is implementation, because no user can see it. An empty list is the exact answer when no record matches, and a hollow check when the test only needs some result. An exact error message pins wording that no caller reads. The error type that callers branch on is the contract.
A test can pin an invariant instead of a call, such as a key that must exist in two tables or a compile-time type check. The invariant is the behavior.View the complete source on GitHubprinciple-type-system-discipline
When your agent uses it
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language. Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, exhaust variants, derive from authoritative schemas.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
313 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,557 bytes
Read SKILL.md
# Type System Discipline
Make the compiler reject impossible states, mismatched primitives, and unhandled variants. Prefer defining errors and special cases out of existence over proliferating handlers. For TypeScript syntax, see the `typescript-best-practices` skill.
- **Brand semantic primitives.** `UserId` and `OrderId` are strings underneath but should not be interchangeable. Give each its own type, such as a branded intersection in TypeScript or a newtype elsewhere. Validate once at creation, trust the type downstream. If two arguments share a primitive type but mean different things, brand them.
- **External data is untyped until parsed.** RPC payloads, JSON, IPC messages, CLI args, config files, environment variables, database rows. Have a parse function at every boundary that turns unstructured input into the typed model. The **boundary-discipline** principle skill says where to put validation.
- **Derive types from authoritative schemas.** When a protocol buffer, OpenAPI spec, GraphQL schema, database migration, design-token file, or another file owns a shape, derive from it instead of hand-rolling a parallel type. See the **encode-lessons-in-structure** principle skill.View the complete source on GitHubrecall
When your agent uses it
Reconstruct your recent working context from your own chat history, live state, and the shared record (user reports, prior fixes, incidents), then hand back a tight current-state brief. Use for 'recall my work on X', 'catch me up', 'what have I been working on', 'where did I leave off', before starting or resuming work.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
1,199 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Output contract
Files
SKILL.mdcore5,344 bytesSKILL.mdcore5,344 bytesSKILL.mdcore5,344 bytesSKILL.mdcore5,344 bytes
Read SKILL.md
# Recall
**Before you start or resume work, you rebuild the user's recent working context and hand back a tight capsule of where things stand now and what to do next.**
Keep it tight and on-topic. Read only what the in-scope threads need, then stop.
Your context lives in two records. Your own chat history holds what you did and decided. The shared record holds everything that happened around the same code under other names: the symptoms users keep reporting, the fixes that shipped and got reverted, the errors still firing in prod. That second record is what the **why** skill searches, across source control, the issue tracker, chat and issue channels, long-form docs, and error tracking. A feature with a long bug tail keeps most of its story there, so don't reconstruct it from your transcripts alone.
Your chat history lives in T3. `t3_thread_list` lists this project's threads newest first, `t3_thread_search` searches their titles and content within one project, and `t3_thread_read` reads one thread, bounded by `maxCharsPerItem`, with `afterPosition` to page.
1. Classify, then route. One specific prior chat to resume is the `session-pickup` playbook, not this. Turning habits into a durable skill is `automate-me`. A human-readable summary of your work is a different task. Recall loads working context across recent chats before you act. If the user already gave you a full state capsule (paths, branch, the change), use it and skip the mining.
2. Lock the scope before searching. Pin the window ("recent" is a real range, default the last 7 days), the topic if named, and the workspace (default the active one. Never read another project's transcripts without being asked). State the scope back. Never quietly turn "all" into "recent N".
3. Fan out across your chat history. Spawn parallel subagents on a fast, cheap model, each taking a slice of the corpus. Tell every subagent to order candidates by `updatedAt` from `t3_thread_list` and never by thread ID, grep the topic first and then read only the matching chats and only their relevant regions, and skip the current chat plus obvious noise (subagent, eval, and test chats). Each returns the same schema, one block per chat: topic, the user's goal, decisions, open threads, struggles and corrections, and artifacts (PRs, tickets, branches), each citing the thread ID. For one or two chats, skip the fan-out and search directly. The raw transcripts stay in the subagents. The main thread gets only their findings. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill.
4. Sweep the shared record whenever the topic names a feature, file, subsystem, area, or bug. This is the default, not a judgment call, and "my work on X" does not exempt it. Hand it to the **why** skill's source investigators, but steer their question from "why was this built this way" to "what's the current state, what's been tried and didn't hold, and what are users still reporting". Reuse its per-source playbooks, run the investigators in parallel with the chat-history mining, and inherit its posture: one investigator per source, null results are findings, skip an unavailable MCP and say so. Fold what comes back into the brief. Skip this step only for pure activity recall with no named target ("what did I do this week"), where your own history and live state are the entire answer.View the complete source on GitHubreflect
When your agent uses it
Spawn three parallel review subagents over the active transcript, surface learnings, and route each to a concrete edit on an existing skill. Use when the user says reflect.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
1,800 tokensWhen the skill is activated
Reference documents
3,336 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Locate the active transcript
- 2. Spawn three reviewers in parallel
- 3. Synthesize
- 4. Structural enforcement check
- 5. Apply
- 6. Summarize for the user
- Models
Scripts executed separately
scripts/find-transcript.mjs
Files
SKILL.mdcore7,554 bytesSKILL.mdcore7,554 bytesSKILL.mdcore7,554 bytesreferences/divergent-reviewer.mddoc3,717 bytesreferences/judgment-reviewer.mddoc3,156 bytesreferences/synthesizer.mddoc4,144 bytesreferences/tooling-reviewer.mddoc4,497 bytesscripts/find-transcript.mjsruns9,241 bytes
Read SKILL.md
# Reflect
Mine the current conversation for durable learnings, then route them into skill edits.
Invoke when the user says "reflect" or "/reflect". Skip when the conversation is trivial, off-topic, or already covered by an existing skill the parent followed correctly. One-offs are not learnings.
## 1. Locate the active transcript
Before fanning out, find this conversation's own transcript where this thread's host keeps it. Do not search other projects' transcripts. That crosses workspace boundaries and reads private chats from unrelated projects.
On Claude Code, run the finder with this session's ID, this project's transcripts directory, and a fragment of the conversation's opening user prompt:
```bash
node "<plugin root>/skills/reflect/scripts/find-transcript.mjs" --session "$CLAUDE_CODE_SESSION_ID" "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/projects/<encoded-cwd>" "<opening prompt fragment>"View the complete source on GitHubsetup-pstack
When your agent uses it
Configure which T3 provider and model pstack uses per role and at what reasoning budget. Detects the models T3 can run and writes the model sheet that overrides the skill defaults. Use for /setup-pstack, "configure pstack models", "pstack budget", or changing pstack's model choices.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
2,237 tokensWhen the skill is activated
Reference documents
2,676 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Steps
Scripts executed separately
scripts/read-sheet.shscripts/t3-sheet.mjs
Files
../create-formal-verification-skill/SKILL.mddoc5,626 bytes../create-verification-skill/SKILL.mddoc6,615 bytesSKILL.mdcore8,648 bytesscripts/read-sheet.shruns474 bytesscripts/t3-sheet.mjsruns7,821 bytes
Read SKILL.md
# Setup pstack
Write the model sheet, `~/.config/t3-pstack/models.md` (`$XDG_CONFIG_HOME/t3-pstack/models.md` when that is set), one per machine. It sets pstack's T3 provider and model per role, and every pstack skill reads it before it dispatches.
## Steps
### 1. Detect available models
Call `orchestrator_capabilities`, or `acp-mcp-call orchestrator_capabilities '{}'` where the T3 tools are not exposed. Its provider instances and their models are the dependable source. A target is valid only when its provider instance can run a child task and lists the model. Note each provider's own option IDs and values, such as `effort` on Claude and `reasoningEffort` on Codex and Grok. Never write a target you have not seen there. The aliases `inherit-parent` and `auto` are always valid.
### 2. Load current state
The default role-to-target mapping is the sheet shape in step 5 below. If the sheet already exists, read it and treat its `# budget` line and its role values as the current choices. If it does not, read `t3-pstack-models.md` in the host's config directory (`$CLAUDE_CONFIG_DIR` or `~/.claude` on Claude Code, `$CODEX_HOME` or `~/.codex` on Codex), where releases before 2.0.0-rc.3 kept the sheet, the same way. Otherwise start from those defaults. A line whose role is not in step 5, such as `how critics`, is from a retired role. Drop it. Carry a `strongest judgment` value over to `hardest tasks`, its new name. Also drop any value that is not a T3 entry, such as a bare family name, a `claude-` slug, or an `@<level>` suffix, and a `default effort` line.
View the complete source on GitHubsharpen
When your agent uses it
Make a task deeper, not bigger, then rewrite the prompt. Use for /sharpen.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
153 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore661 bytes
Read SKILL.md
I want a deeper version of this task, not a bigger one. Before rewriting it, do four things:
1. Say what a top professional in this field would do here that I'm not asking for.
2. Name the rawest material they would start from instead of what has already been digested for me.
3. Name the specific methods and tools they would use.
4. Say what, other than you or me, would show the result is right.
Then rewrite my prompt to ask for exactly that.
Leave choices that are mine to make open instead of deciding them.View the complete source on GitHubshow-me-your-work
When your agent uses it
Keep a reviewable decision trail for long-running or unattended work: a TSV log with one row per decision (what, why, evidence, result). Local by default; commit it when a reviewer needs the trail to trust the result. Use for /show-me-your-work, autonomous or multi-phase runs, or work a human reviews after stepping away.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,576 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The format
- Logging a row
- Where it lives
- Rules
- Audit the log against the transcript
- Cross-model review of the trail
- Reviewing the trail
- Composing this skill
Scripts executed separately
scripts/log.sh
Files
SKILL.mdcore6,577 bytesreferences/decision-log-template.tsvasset38 bytesscripts/log.shruns1,377 bytes
Read SKILL.md
# Show me your work
Keep one canonical log.
## The format
A single TSV file, one row per decision. Cells stay single-line. Evidence is a pointer, not prose.
Copy `references/decision-log-template.tsv` (the header row) to start a clean log. Columns:
- **ts.** ISO8601 timestamp.
- **phase.** The phase or workstream.
- **decision.** What was chosen or done, one line.
- **why.** The reason in plain words. If a principle drove it, say it plainly, not as a jargon tag.View the complete source on GitHubstatechart
When your agent uses it
Check a TLA+ model of a system that moves between states, such as a product flow, a protocol, or a service, and draw it as a Mermaid statechart. The report gives the shortest path to each state that breaks a rule. Use for /statechart, or to show a bug as a path through states.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
2,168 tokensWhen the skill is activated
Reference documents
5,508 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Run
- Write the spec
- Pick the chart
- Read the report
- Show the chart
- Hand off
Scripts executed separately
scripts/backends/cfg.tsscripts/backends/mermaid.tsscripts/backends/plain-text.tsscripts/backends/report.tsscripts/frontends/config.tsscripts/frontends/dot.tsscripts/frontends/marks.tsscripts/frontends/messages.tsscripts/frontends/spec.tsscripts/frontends/trace.tsscripts/frontends/value.tsscripts/frontends/verdict.tsscripts/frontends/view.tsscripts/ir.tsscripts/package.jsonscripts/passes/annotate.tsscripts/passes/label.tsscripts/passes/lift.tsscripts/passes/loop-check.tsscripts/passes/paths.tsscripts/passes/reach.tsscripts/passes/region-check.tsscripts/passes/regions.tsscripts/pipeline.tsscripts/run.tsscripts/statechartscripts/statechart.tsscripts/test/chart.test.tsscripts/test/cli.test.tsscripts/test/config-fuzz.test.tsscripts/test/corpus.test.tsscripts/test/corpus/CounterView/view.mjsscripts/test/corpus/Login/view.mjsscripts/test/corpus/LoginGuarded/view.mjsscripts/test/corpus/LoginParallel/view.mjsscripts/test/corpus/MediaPlayer/view.mjsscripts/test/corpus/MediaPlayerFixed/view.mjsscripts/test/corpus/MediaPlayerProps/view.mjsscripts/test/corpus/TwoPhase/view.mjsscripts/test/corpus/TwoPhaseFixed/view.mjsscripts/test/differential.test.tsscripts/test/java.tsscripts/test/labels.tsscripts/test/messages.test.tsscripts/test/pipeline.test.tsscripts/test/plain-tlc.test.tsscripts/test/render.test.tsscripts/test/tlc-out.test.tsscripts/test/tlc.tsscripts/worker.ts
Files
SKILL.mdcore9,100 bytesreferences/render.mddoc3,716 bytesscripts/backends/cfg.tsruns1,230 bytesscripts/backends/mermaid.tsruns7,437 bytesscripts/backends/plain-text.tsruns2,343 bytesscripts/backends/report.tsruns7,060 bytesscripts/frontends/config.tsruns10,698 bytesscripts/frontends/dot.tsruns2,484 bytesscripts/frontends/marks.tsruns3,257 bytesscripts/frontends/messages.tsruns1,842 bytesscripts/frontends/spec.tsruns4,198 bytesscripts/frontends/trace.tsruns988 bytesscripts/frontends/value.tsruns4,757 bytesscripts/frontends/verdict.tsruns1,756 bytesscripts/frontends/view.tsruns4,354 bytesscripts/ir.tsruns15,141 bytesscripts/package.jsonruns233 bytesscripts/passes/annotate.tsruns3,738 bytesscripts/passes/label.tsruns8,555 bytesscripts/passes/lift.tsruns2,888 bytesscripts/passes/loop-check.tsruns2,149 bytesscripts/passes/paths.tsruns1,900 bytesscripts/passes/reach.tsruns4,063 bytesscripts/passes/region-check.tsruns3,525 bytesscripts/passes/regions.tsruns9,475 bytesscripts/pipeline.tsruns2,931 bytesscripts/run.tsruns17,319 bytesscripts/statechartruns991 bytesscripts/statechart.tsruns6,044 bytesscripts/test/ConfigOracle.javaasset2,717 bytesscripts/test/chart.test.tsruns39,702 bytesscripts/test/charts/Braces.mmdasset312 bytesscripts/test/charts/Escapes.mmdasset244 bytesscripts/test/charts/Phases.mmdasset584 bytesscripts/test/cli.test.tsruns50,337 bytesscripts/test/config-fuzz.test.tsruns8,719 bytesscripts/test/corpus.test.tsruns12,763 bytesscripts/test/corpus/Counter/ChartRun.outasset2,658 bytesscripts/test/corpus/Counter/Counter.cfgasset64 bytesscripts/test/corpus/Counter/Counter.tlaasset185 bytesscripts/test/corpus/Counter/chart.mmdasset112 bytesscripts/test/corpus/Counter/graph.dotasset633 bytesscripts/test/corpus/Counter/report.mddoc243 bytesscripts/test/corpus/Counter/sany.outasset38,148 bytesscripts/test/corpus/Counter/verdict-1.outasset2,199 bytesscripts/test/corpus/CounterAction/ChartRun.outasset2,780 bytesscripts/test/corpus/CounterAction/CounterAction.cfgasset89 bytesscripts/test/corpus/CounterAction/CounterAction.tlaasset255 bytesscripts/test/corpus/CounterAction/chart.mmdasset518 bytesscripts/test/corpus/CounterAction/graph.dotasset798 bytesscripts/test/corpus/CounterAction/report.mddoc436 bytesscripts/test/corpus/CounterAction/sany.outasset43,961 bytesscripts/test/corpus/CounterAction/verdict-1.exitasset3 bytesscripts/test/corpus/CounterAction/verdict-1.outasset2,152 bytesscripts/test/corpus/CounterAction/verdict-2.exitasset3 bytesscripts/test/corpus/CounterAction/verdict-2.outasset3,148 bytesscripts/test/corpus/CounterAction/verdict-3.outasset2,690 bytesscripts/test/corpus/CounterDeadlock/ChartRun.outasset2,752 bytesscripts/test/corpus/CounterDeadlock/CounterDeadlock.cfgasset63 bytesscripts/test/corpus/CounterDeadlock/CounterDeadlock.tlaasset225 bytesscripts/test/corpus/CounterDeadlock/chart.mmdasset462 bytesscripts/test/corpus/CounterDeadlock/graph.dotasset633 bytesscripts/test/corpus/CounterDeadlock/report.mddoc624 bytesscripts/test/corpus/CounterDeadlock/sany.outasset42,836 bytesscripts/test/corpus/CounterDeadlock/verdict-1.exitasset3 bytesscripts/test/corpus/CounterDeadlock/verdict-1.outasset2,160 bytesscripts/test/corpus/CounterDeadlock/verdict-2.exitasset3 bytesscripts/test/corpus/CounterDeadlock/verdict-2.outasset3,024 bytesscripts/test/corpus/CounterFan/ChartRun.outasset3,140 bytesscripts/test/corpus/CounterFan/CounterFan.cfgasset37 bytesscripts/test/corpus/CounterFan/CounterFan.tlaasset338 bytesscripts/test/corpus/CounterFan/chart.mmdasset1,771 bytesscripts/test/corpus/CounterFan/graph.dotasset5,433 bytesscripts/test/corpus/CounterFan/report.mddoc239 bytesscripts/test/corpus/CounterFan/sany.outasset49,584 bytesscripts/test/corpus/CounterFan/verdict-1.exitasset3 bytesscripts/test/corpus/CounterFan/verdict-1.outasset2,497 bytesscripts/test/corpus/CounterFan/verdict-2.outasset2,688 bytesscripts/test/corpus/CounterGuard/ChartRun.exitasset3 bytesscripts/test/corpus/CounterGuard/ChartRun.outasset3,415 bytesscripts/test/corpus/CounterGuard/CounterGuard.cfgasset66 bytesscripts/test/corpus/CounterGuard/CounterGuard.tlaasset192 bytesscripts/test/corpus/CounterGuard/chart.mmdasset63 bytesscripts/test/corpus/CounterGuard/graph.dotasset302 bytesscripts/test/corpus/CounterGuard/report.mddoc954 bytesscripts/test/corpus/CounterGuard/sany.outasset36,948 bytesscripts/test/corpus/CounterGuard/verdict-1.exitasset3 bytesscripts/test/corpus/CounterGuard/verdict-1.outasset2,433 bytesscripts/test/corpus/CounterGuard/verdict-2.exitasset3 bytesscripts/test/corpus/CounterGuard/verdict-2.outasset2,985 bytesscripts/test/corpus/CounterInitPast/ChartRun.outasset2,564 bytesscripts/test/corpus/CounterInitPast/CounterInitPast.cfgasset54 bytesscripts/test/corpus/CounterInitPast/CounterInitPast.tlaasset169 bytesscripts/test/corpus/CounterInitPast/chart.mmdasset282 bytesscripts/test/corpus/CounterInitPast/graph.dotasset84 bytesscripts/test/corpus/CounterInitPast/report.mddoc425 bytesscripts/test/corpus/CounterInitPast/sany.outasset36,125 bytesscripts/test/corpus/CounterInitPast/verdict-1.exitasset3 bytesscripts/test/corpus/CounterInitPast/verdict-1.outasset1,362 bytesscripts/test/corpus/CounterInitPast/verdict-2.outasset2,540 bytesscripts/test/corpus/CounterInitPastHolds/ChartRun.outasset2,547 bytesscripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.cfgasset50 bytesscripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.tlaasset171 bytesscripts/test/corpus/CounterInitPastHolds/chart.mmdasset16 bytesscripts/test/corpus/CounterInitPastHolds/graph.dotasset84 bytesscripts/test/corpus/CounterInitPastHolds/report.mddoc211 bytesscripts/test/corpus/CounterInitPastHolds/sany.outasset35,616 bytesscripts/test/corpus/CounterInitPastHolds/verdict-1.outasset2,089 bytesscripts/test/corpus/CounterInstance/ChartRun.outasset2,833 bytesscripts/test/corpus/CounterInstance/CounterInstance.cfgasset41 bytesscripts/test/corpus/CounterInstance/CounterInstance.tlaasset217 bytesscripts/test/corpus/CounterInstance/CounterSteps.tlaasset113 bytesscripts/test/corpus/CounterInstance/chart.mmdasset326 bytesscripts/test/corpus/CounterInstance/graph.dotasset599 bytesscripts/test/corpus/CounterInstance/report.mddoc295 bytesscripts/test/corpus/CounterInstance/sany.outasset75,094 bytesscripts/test/corpus/CounterInstance/verdict-1.exitasset3 bytesscripts/test/corpus/CounterInstance/verdict-1.outasset3,043 bytesscripts/test/corpus/CounterJump/ChartRun.outasset2,752 bytesscripts/test/corpus/CounterJump/CounterJump.cfgasset57 bytesscripts/test/corpus/CounterJump/CounterJump.tlaasset303 bytesscripts/test/corpus/CounterJump/chart.mmdasset547 bytesscripts/test/corpus/CounterJump/graph.dotasset1,075 bytesscripts/test/corpus/CounterJump/report.mddoc374 bytesscripts/test/corpus/CounterJump/sany.outasset46,017 bytesscripts/test/corpus/CounterJump/verdict-1.exitasset3 bytesscripts/test/corpus/CounterJump/verdict-1.outasset2,178 bytesscripts/test/corpus/CounterJump/verdict-2.outasset2,687 bytesscripts/test/corpus/CounterLoop/ChartRun.outasset2,674 bytesscripts/test/corpus/CounterLoop/CounterLoop.cfgasset41 bytesscripts/test/corpus/CounterLoop/CounterLoop.tlaasset232 bytesscripts/test/corpus/CounterLoop/chart.mmdasset320 bytesscripts/test/corpus/CounterLoop/graph.dotasset593 bytesscripts/test/corpus/CounterLoop/report.mddoc285 bytesscripts/test/corpus/CounterLoop/sany.outasset42,493 bytesscripts/test/corpus/CounterLoop/verdict-1.exitasset3 bytesscripts/test/corpus/CounterLoop/verdict-1.outasset2,866 bytesscripts/test/corpus/CounterOrder/ChartRun.outasset2,734 bytesscripts/test/corpus/CounterOrder/CounterOrder.cfgasset51 bytesscripts/test/corpus/CounterOrder/CounterOrder.tlaasset194 bytesscripts/test/corpus/CounterOrder/chart.mmdasset406 bytesscripts/test/corpus/CounterOrder/graph.dotasset299 bytesscripts/test/corpus/CounterOrder/report.mddoc606 bytesscripts/test/corpus/CounterOrder/sany.outasset39,895 bytesscripts/test/corpus/CounterOrder/verdict-1.exitasset3 bytesscripts/test/corpus/CounterOrder/verdict-1.outasset2,141 bytesscripts/test/corpus/CounterOrder/verdict-2.exitasset3 bytesscripts/test/corpus/CounterOrder/verdict-2.outasset2,762 bytesscripts/test/corpus/CounterRules/ChartRun.outasset2,927 bytesscripts/test/corpus/CounterRules/CounterRules.cfgasset79 bytesscripts/test/corpus/CounterRules/CounterRules.tlaasset265 bytesscripts/test/corpus/CounterRules/Moves.tlaasset70 bytesscripts/test/corpus/CounterRules/chart.mmdasset485 bytesscripts/test/corpus/CounterRules/graph.dotasset302 bytesscripts/test/corpus/CounterRules/report.mddoc509 bytesscripts/test/corpus/CounterRules/sany.outasset62,215 bytesscripts/test/corpus/CounterRules/verdict-1.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-1.outasset2,290 bytesscripts/test/corpus/CounterRules/verdict-2.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-2.outasset2,758 bytesscripts/test/corpus/CounterRules/verdict-3.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-3.outasset3,041 bytesscripts/test/corpus/CounterRules/verdict-4.outasset2,824 bytesscripts/test/corpus/CounterStart/ChartRun.outasset2,725 bytesscripts/test/corpus/CounterStart/CounterStart.cfgasset53 bytesscripts/test/corpus/CounterStart/CounterStart.tlaasset180 bytesscripts/test/corpus/CounterStart/chart.mmdasset351 bytesscripts/test/corpus/CounterStart/graph.dotasset466 bytesscripts/test/corpus/CounterStart/report.mddoc343 bytesscripts/test/corpus/CounterStart/sany.outasset37,436 bytesscripts/test/corpus/CounterStart/verdict-1.exitasset3 bytesscripts/test/corpus/CounterStart/verdict-1.outasset1,353 bytesscripts/test/corpus/CounterStart/verdict-2.outasset2,702 bytesscripts/test/corpus/CounterStop/ChartRun.outasset2,674 bytesscripts/test/corpus/CounterStop/CounterStop.cfgasset53 bytesscripts/test/corpus/CounterStop/CounterStop.tlaasset172 bytesscripts/test/corpus/CounterStop/chart.mmdasset87 bytesscripts/test/corpus/CounterStop/graph.dotasset466 bytesscripts/test/corpus/CounterStop/report.mddoc127 bytesscripts/test/corpus/CounterStop/sany.outasset36,919 bytesscripts/test/corpus/CounterStop/verdict-1.outasset2,217 bytesscripts/test/corpus/CounterTie/ChartRun.outasset2,833 bytesscripts/test/corpus/CounterTie/CounterTie.cfgasset96 bytesscripts/test/corpus/CounterTie/CounterTie.tlaasset263 bytesscripts/test/corpus/CounterTie/chart.mmdasset600 bytesscripts/test/corpus/CounterTie/graph.dotasset798 bytesscripts/test/corpus/CounterTie/report.mddoc675 bytesscripts/test/corpus/CounterTie/sany.outasset45,338 bytesscripts/test/corpus/CounterTie/verdict-1.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-1.outasset2,137 bytesscripts/test/corpus/CounterTie/verdict-2.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-2.outasset2,606 bytesscripts/test/corpus/CounterTie/verdict-3.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-3.outasset3,248 bytesscripts/test/corpus/CounterTie/verdict-4.outasset2,682 bytesscripts/test/corpus/CounterTieInGraph/ChartRun.outasset2,798 bytesscripts/test/corpus/CounterTieInGraph/CounterTieInGraph.cfgasset72 bytesscripts/test/corpus/CounterTieInGraph/CounterTieInGraph.tlaasset283 bytesscripts/test/corpus/CounterTieInGraph/chart.mmdasset455 bytesscripts/test/corpus/CounterTieInGraph/graph.dotasset933 bytesscripts/test/corpus/CounterTieInGraph/report.mddoc192 bytesscripts/test/corpus/CounterTieInGraph/sany.outasset47,544 bytesscripts/test/corpus/CounterTieInGraph/verdict-1.exitasset3 bytesscripts/test/corpus/CounterTieInGraph/verdict-1.outasset2,168 bytesscripts/test/corpus/CounterTieInGraph/verdict-2.outasset2,702 bytesscripts/test/corpus/CounterView/ChartRun.outasset2,836 bytesscripts/test/corpus/CounterView/CounterView.cfgasset96 bytesscripts/test/corpus/CounterView/CounterView.tlaasset264 bytesscripts/test/corpus/CounterView/chart.mmdasset502 bytesscripts/test/corpus/CounterView/graph.dotasset798 bytesscripts/test/corpus/CounterView/report.mddoc686 bytesscripts/test/corpus/CounterView/sany.outasset45,402 bytesscripts/test/corpus/CounterView/verdict-1.exitasset3 bytesscripts/test/corpus/CounterView/verdict-1.outasset2,141 bytesscripts/test/corpus/CounterView/verdict-2.exitasset3 bytesscripts/test/corpus/CounterView/verdict-2.outasset2,610 bytesscripts/test/corpus/CounterView/verdict-3.exitasset3 bytesscripts/test/corpus/CounterView/verdict-3.outasset3,256 bytesscripts/test/corpus/CounterView/verdict-4.outasset2,683 bytesscripts/test/corpus/CounterView/view.mjsruns67 bytesscripts/test/corpus/DieHard/ChartRun.outasset2,746 bytesscripts/test/corpus/DieHard/DieHard.cfgasset51 bytesscripts/test/corpus/DieHard/DieHard.tlaasset900 bytesscripts/test/corpus/DieHard/chart.mmdasset2,098 bytesscripts/test/corpus/DieHard/graph.dotasset10,782 bytesscripts/test/corpus/DieHard/report.mddoc427 bytesscripts/test/corpus/DieHard/sany.outasset67,417 bytesscripts/test/corpus/DieHard/verdict-1.exitasset3 bytesscripts/test/corpus/DieHard/verdict-1.outasset3,059 bytesscripts/test/corpus/DieHard/verdict-2.outasset2,679 bytesscripts/test/corpus/FirstRule/ChartRun.outasset2,773 bytesscripts/test/corpus/FirstRule/FirstRule.cfgasset69 bytesscripts/test/corpus/FirstRule/FirstRule.tlaasset173 bytesscripts/test/corpus/FirstRule/chart.mmdasset523 bytesscripts/test/corpus/FirstRule/graph.dotasset636 bytesscripts/test/corpus/FirstRule/report.mddoc380 bytesscripts/test/corpus/FirstRule/sany.outasset35,468 bytesscripts/test/corpus/FirstRule/verdict-1.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-1.outasset2,134 bytesscripts/test/corpus/FirstRule/verdict-2.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-2.outasset2,607 bytesscripts/test/corpus/FirstRule/verdict-3.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-3.outasset2,604 bytesscripts/test/corpus/FirstRule/verdict-4.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-4.outasset2,991 bytesscripts/test/corpus/HiddenClock/ChartRun.outasset2,675 bytesscripts/test/corpus/HiddenClock/HiddenClock.cfgasset71 bytesscripts/test/corpus/HiddenClock/HiddenClock.tlaasset290 bytesscripts/test/corpus/HiddenClock/chart.mmdasset277 bytesscripts/test/corpus/HiddenClock/graph.dotasset467 bytesscripts/test/corpus/HiddenClock/report.mddoc491 bytesscripts/test/corpus/HiddenClock/sany.outasset44,753 bytesscripts/test/corpus/HiddenClock/verdict-1.exitasset3 bytesscripts/test/corpus/HiddenClock/verdict-1.outasset2,716 bytesscripts/test/corpus/Login/ChartRun.outasset2,662 bytesscripts/test/corpus/Login/Login.cfgasset46 bytesscripts/test/corpus/Login/Login.tlaasset2,804 bytesscripts/test/corpus/Login/chart.mmdasset735 bytesscripts/test/corpus/Login/graph.dotasset2,946 bytesscripts/test/corpus/Login/report.mddoc304 bytesscripts/test/corpus/Login/sany.outasset61,094 bytesscripts/test/corpus/Login/verdict-1.outasset2,084 bytesscripts/test/corpus/Login/view.mjsruns47 bytesscripts/test/corpus/LoginGuarded/ChartRun.outasset2,683 bytesscripts/test/corpus/LoginGuarded/LoginGuarded.cfgasset56 bytesscripts/test/corpus/LoginGuarded/LoginGuarded.tlaasset3,297 bytesscripts/test/corpus/LoginGuarded/chart.mmdasset856 bytesscripts/test/corpus/LoginGuarded/graph.dotasset2,836 bytesscripts/test/corpus/LoginGuarded/report.mddoc295 bytesscripts/test/corpus/LoginGuarded/sany.outasset86,678 bytesscripts/test/corpus/LoginGuarded/verdict-1.outasset2,105 bytesscripts/test/corpus/LoginGuarded/view.mjsruns75 bytesscripts/test/corpus/LoginParallel/ChartRun.outasset2,765 bytesscripts/test/corpus/LoginParallel/LoginParallel.cfgasset76 bytesscripts/test/corpus/LoginParallel/LoginParallel.tlaasset2,619 bytesscripts/test/corpus/LoginParallel/chart.mmdasset1,114 bytesscripts/test/corpus/LoginParallel/graph.dotasset5,138 bytesscripts/test/corpus/LoginParallel/report.mddoc696 bytesscripts/test/corpus/LoginParallel/sany.outasset65,596 bytesscripts/test/corpus/LoginParallel/verdict-1.exitasset3 bytesscripts/test/corpus/LoginParallel/verdict-1.outasset3,109 bytesscripts/test/corpus/LoginParallel/verdict-2.outasset2,697 bytesscripts/test/corpus/LoginParallel/view.mjsruns75 bytesscripts/test/corpus/MediaPlayer/ChartRun.outasset2,747 bytesscripts/test/corpus/MediaPlayer/MediaPlayer.cfgasset77 bytesscripts/test/corpus/MediaPlayer/MediaPlayer.tlaasset3,514 bytesscripts/test/corpus/MediaPlayer/chart.mmdasset1,202 bytesscripts/test/corpus/MediaPlayer/graph.dotasset8,433 bytesscripts/test/corpus/MediaPlayer/report.mddoc506 bytesscripts/test/corpus/MediaPlayer/sany.outasset106,159 bytesscripts/test/corpus/MediaPlayer/verdict-1.exitasset3 bytesscripts/test/corpus/MediaPlayer/verdict-1.outasset2,239 bytesscripts/test/corpus/MediaPlayer/verdict-2.outasset3,573 bytesscripts/test/corpus/MediaPlayer/view.mjsruns195 bytesscripts/test/corpus/MediaPlayerFixed/ChartRun.outasset2,698 bytesscripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.cfgasset52 bytesscripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.tlaasset3,472 bytesscripts/test/corpus/MediaPlayerFixed/chart.mmdasset880 bytesscripts/test/corpus/MediaPlayerFixed/graph.dotasset7,629 bytesscripts/test/corpus/MediaPlayerFixed/report.mddoc363 bytesscripts/test/corpus/MediaPlayerFixed/sany.outasset107,448 bytesscripts/test/corpus/MediaPlayerFixed/verdict-1.outasset2,120 bytesscripts/test/corpus/MediaPlayerFixed/view.mjsruns195 bytesscripts/test/corpus/MediaPlayerProps/ChartRun.outasset2,853 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayer.tlaasset3,514 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayerProps.cfgasset107 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayerProps.tlaasset164 bytesscripts/test/corpus/MediaPlayerProps/chart.mmdasset1,125 bytesscripts/test/corpus/MediaPlayerProps/graph.dotasset8,433 bytesscripts/test/corpus/MediaPlayerProps/report.mddoc766 bytesscripts/test/corpus/MediaPlayerProps/sany.outasset110,999 bytesscripts/test/corpus/MediaPlayerProps/verdict-1.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-1.outasset2,408 bytesscripts/test/corpus/MediaPlayerProps/verdict-2.outasset2,861 bytesscripts/test/corpus/MediaPlayerProps/verdict-3.outasset2,828 bytesscripts/test/corpus/MediaPlayerProps/verdict-4.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-4.outasset2,669 bytesscripts/test/corpus/MediaPlayerProps/verdict-5.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-5.outasset2,292 bytesscripts/test/corpus/MediaPlayerProps/verdict-6.outasset2,274 bytesscripts/test/corpus/MediaPlayerProps/view.mjsruns195 bytesscripts/test/corpus/PickWorker/ChartRun.outasset2,672 bytesscripts/test/corpus/PickWorker/PickWorker.cfgasset125 bytesscripts/test/corpus/PickWorker/PickWorker.tlaasset298 bytesscripts/test/corpus/PickWorker/chart.mmdasset67 bytesscripts/test/corpus/PickWorker/graph.dotasset403 bytesscripts/test/corpus/PickWorker/report.mddoc303 bytesscripts/test/corpus/PickWorker/sany.outasset262,944 bytesscripts/test/corpus/PickWorker/verdict-1.outasset3,349 bytesscripts/test/corpus/Shadow/ChartRun.outasset2,935 bytesscripts/test/corpus/Shadow/Shadow.cfgasset88 bytesscripts/test/corpus/Shadow/Shadow.tlaasset225 bytesscripts/test/corpus/Shadow/ShadowLib.tlaasset146 bytesscripts/test/corpus/Shadow/ShadowSub.tlaasset43 bytesscripts/test/corpus/Shadow/chart.mmdasset115 bytesscripts/test/corpus/Shadow/graph.dotasset636 bytesscripts/test/corpus/Shadow/report.mddoc372 bytesscripts/test/corpus/Shadow/sany.outasset44,875 bytesscripts/test/corpus/Shadow/verdict-1.outasset3,026 bytesscripts/test/corpus/SpacedNames/ChartRun.outasset2,745 bytesscripts/test/corpus/SpacedNames/SpacedNames.cfgasset35 bytesscripts/test/corpus/SpacedNames/SpacedNames.tlaasset268 bytesscripts/test/corpus/SpacedNames/chart.mmdasset513 bytesscripts/test/corpus/SpacedNames/graph.dotasset855 bytesscripts/test/corpus/SpacedNames/report.mddoc297 bytesscripts/test/corpus/SpacedNames/sany.outasset24,142 bytesscripts/test/corpus/SpacedNames/verdict-1.exitasset3 bytesscripts/test/corpus/SpacedNames/verdict-1.outasset2,353 bytesscripts/test/corpus/SpacedNames/verdict-2.exitasset3 bytesscripts/test/corpus/SpacedNames/verdict-2.outasset2,928 bytesscripts/test/corpus/TwoPhase/ChartRun.outasset3,023 bytesscripts/test/corpus/TwoPhase/TwoPhase.cfgasset76 bytesscripts/test/corpus/TwoPhase/TwoPhase.tlaasset2,140 bytesscripts/test/corpus/TwoPhase/chart.mmdasset1,878 bytesscripts/test/corpus/TwoPhase/graph.dotasset38,927 bytesscripts/test/corpus/TwoPhase/report.mddoc818 bytesscripts/test/corpus/TwoPhase/sany.outasset89,545 bytesscripts/test/corpus/TwoPhase/verdict-1.exitasset3 bytesscripts/test/corpus/TwoPhase/verdict-1.outasset3,529 bytesscripts/test/corpus/TwoPhase/verdict-2.outasset2,685 bytesscripts/test/corpus/TwoPhase/view.mjsruns90 bytesscripts/test/corpus/TwoPhaseFixed/ChartRun.outasset2,692 bytesscripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfgasset76 bytesscripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tlaasset2,108 bytesscripts/test/corpus/TwoPhaseFixed/chart.mmdasset1,068 bytesscripts/test/corpus/TwoPhaseFixed/graph.dotasset28,548 bytesscripts/test/corpus/TwoPhaseFixed/report.mddoc468 bytesscripts/test/corpus/TwoPhaseFixed/sany.outasset90,332 bytesscripts/test/corpus/TwoPhaseFixed/verdict-1.outasset2,113 bytesscripts/test/corpus/TwoPhaseFixed/view.mjsruns90 bytesscripts/test/corpus/TypeGuard/ChartRun.exitasset3 bytesscripts/test/corpus/TypeGuard/ChartRun.outasset2,966 bytesscripts/test/corpus/TypeGuard/TypeGuard.cfgasset54 bytesscripts/test/corpus/TypeGuard/TypeGuard.tlaasset187 bytesscripts/test/corpus/TypeGuard/chart.mmdasset370 bytesscripts/test/corpus/TypeGuard/graph.dotasset560 bytesscripts/test/corpus/TypeGuard/report.mddoc738 bytesscripts/test/corpus/TypeGuard/sany.outasset37,427 bytesscripts/test/corpus/TypeGuard/verdict-1.exitasset3 bytesscripts/test/corpus/TypeGuard/verdict-1.outasset2,419 bytesscripts/test/corpus/TypeGuard/verdict-2.exitasset3 bytesscripts/test/corpus/TypeGuard/verdict-2.outasset2,975 bytesscripts/test/corpus/UserNoDeadlock/ChartRun.outasset2,713 bytesscripts/test/corpus/UserNoDeadlock/UserNoDeadlock.cfgasset40 bytesscripts/test/corpus/UserNoDeadlock/UserNoDeadlock.tlaasset154 bytesscripts/test/corpus/UserNoDeadlock/chart.mmdasset477 bytesscripts/test/corpus/UserNoDeadlock/graph.dotasset636 bytesscripts/test/corpus/UserNoDeadlock/report.mddoc254 bytesscripts/test/corpus/UserNoDeadlock/sany.outasset35,387 bytesscripts/test/corpus/UserNoDeadlock/verdict-1.exitasset3 bytesscripts/test/corpus/UserNoDeadlock/verdict-1.outasset2,158 bytesscripts/test/corpus/UserNoDeadlock/verdict-2.exitasset3 bytesscripts/test/corpus/UserNoDeadlock/verdict-2.outasset3,022 bytesscripts/test/differential.test.tsruns18,644 bytesscripts/test/grid/Grid.cfgasset40 bytesscripts/test/grid/Grid.tlaasset205 bytesscripts/test/grid/sany.outasset40,105 bytesscripts/test/java.tsruns2,639 bytesscripts/test/labels.tsruns19,769 bytesscripts/test/messages.test.tsruns7,763 bytesscripts/test/pipeline.test.tsruns9,720 bytesscripts/test/plain-tlc.test.tsruns7,180 bytesscripts/test/render.test.tsruns3,257 bytesscripts/test/tlc-out.test.tsruns3,630 bytesscripts/test/tlc.tsruns5,743 bytesscripts/tsconfig.jsonasset225 bytesscripts/worker.tsruns1,095 bytes
Read SKILL.md
# Statechart
The chart shows how a system moves between states, in the words of the person who reads it. That person, the reader, decides whether the behavior is right.
## Run
Work in a scratch folder outside the repo. Write a TLA+ spec and its config. Then run:
```sh
<skill dir>/scripts/statechart SPEC.tla [--config FILE] [--view FILE] [--out DIR]
```
`scripts/statechart.ts` is TypeScript, so run it with a runtime that can execute TypeScript.
View the complete source on GitHubswarm
When your agent uses it
Fan out N parallel workers, drain them, and return one report. Use for /swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
931 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Frame
- Phase B: Fan out
- Phase C: Aggregate
- Phase D: Report
- Models
Files
SKILL.mdcore3,742 bytes
Read SKILL.md
# Swarm
## Start
Open a todolist with one entry per phase before launching anything.
1. Frame
2. Fan out
3. Aggregate
4. Report
## Phase A: Frame
1. State the done predicate and the artifact or report the swarm must return.View the complete source on GitHubtdd
When your agent uses it
Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
614 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- If a Failing Test Is Impractical
- Guardrails
- Final Response
Files
SKILL.mdcore3,143 bytes
Read SKILL.md
# TDD Bug Fix
When fixing a bug with a clear, cheap test path, make the broken behavior executable before changing production code. The goal is a focused regression test that fails before the fix and passes after it.
Do not force a test when it would be impractical. If the available test would require broad harness setup, brittle mocks, slow end-to-end infrastructure, production-only state, vague reproduction steps, or large unrelated fixture churn, skip adding a new test and use the closest useful verification instead.
## Workflow
1. **Understand the bug.** Identify the intended behavior, current behavior, affected path, and smallest observable reproduction.
2. **Choose the narrowest executable check.** Prefer the closest unit, component, integration, or regression test already used for that codepath. If no practical test path is obvious, do not create one from scratch just to satisfy the workflow.
3. **Write the failing test first.** Add the smallest focused test that would have caught the bug. The test should encode intended behavior, not mirror the current implementation.
4. **Run the new test before fixing.** Confirm it fails for the intended reason. If it passes or fails for an unrelated reason, correct the test or reproduction before editing the implementation.
5. **Fix the bug.** Make the smallest production change that satisfies the intended behavior while preserving nearby contracts.
6. **Rerun the regression test.** Confirm the test now passes.View the complete source on GitHubteach
When your agent uses it
Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
1,294 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore5,623 bytesSKILL.mdcore5,623 bytesSKILL.mdcore5,623 bytes
Read SKILL.md
# Teach
**You explain what a thing is, how it works, and why it's built that way, in one plain account at the person's pace. The goal is that they understand it, not that you change anything.**
Teach sits on top of `how` and `why`. Get your bearings on what the work is and what it touches, then run `how` for how it works and `why` for why it's that way. Those are real skill invocations that do their own digging. Blend what they find into one plain explanation, lead with what matters to the person, and go deeper when they ask. Reword freely for teaching, with one exception. Keep `why`'s confidence language intact (its hedges are findings, not style).
1. Decide the few things they should walk away understanding. Choose them from why they're asking (about to change it, reviewing it, debugging it, new to it) and what they already know, both read from the conversation, not quizzed out of them. Skip what they plainly already know. Put the depth where their question is.
2. Let `how` and `why` do the work, don't redo it. Read the code yourself to get oriented, then run `how` for how it works and `why` for why. Run them in parallel and combine the results. Match the size to the question. Run both for a subsystem, maybe one is enough for a small change. Keep `why` narrow by default since its full sweep is slow. Put the narrowing in the ask itself (a scoped question, git plus a source or two) so `why` records the skipped categories per its own contract, and widen it only when the reasons are the point.
3. Start with a plain definition. Name the thing and say what it is in general terms, the way a senior engineer would say it out loud, with its common name if it has one. Then tie it to the case in front of you ("in X, we use this to ...") and build from there: how it works, the deeper reasons, the edge cases. For each part, explain the idea so it clicks: the problem it solves and how it actually works. Walk through what happens as the person does the thing (opens a long chat, scrolls up) when that is what makes it land. Listing functions and constants is reference, not teaching. Don't print framing labels ("the one idea to hold onto", "the thing to walk away with", "the key insight", "at its core", "TL;DR"). Give the smallest complete answer first, a sentence or two, not a dense paragraph, then stop. Add layers when they ask. Never a wall of text.
4. Keep it a conversation, not a lecture or a performance. Offer to go deeper or move on, and follow their lead. No quizzes. No pacing theater. Don't print "Pause", don't ask them to say it back, don't announce "the sentence to nail", and don't flag a part as important or hard ("here is the part worth slowing down on", "this is the tricky part", "here is where it gets interesting"). Just say it. When you would pause, stop and let them respond. Running one-shot with no live human, deliver it cleanly and put any offer to go deeper at the end.
5. Show, don't only tell, and build the picture up diagram by diagram. Open the diff, the code, or the debugger when that is the fastest way to land it. Draw when a picture lands faster than words. For anything with three or more moving parts, do not draw one diagram with all of them at once. Draw a short series instead, where each diagram redraws the last and adds a single part, so the reader watches the system assemble. A single all-at-once diagram, especially one saved for the end, is a reference, not teaching. Concretely, to teach a flow from A to B to C, draw it three times. First A to B. Then redraw and add C. Then redraw and add the return edge or the next piece. Match the medium to the idea, and use both kinds when both help. A mermaid diagram fits a flow or structure where the labels carry the meaning. When the idea is spatial, like layout, overlap, scroll position, or a before and after, reach for the image-generation tool and draw it marker-on-whiteboard style with a few short labels, since image models garble long text. Generate that picture, don't settle for describing it in words. The build-up rule holds for generated images too. A single simple point needs no figure.
Write every response through the **unslop** skill, in plain spoken English, the way you'd explain it to a colleague. Be tight, not terse. Cut filler and hedging, keep the part that makes it click. State the concrete mechanism, not a metaphor, a framing, or a preview of what is coming. This is the target density: "Virtualization runs in two parts, one for rendering and one for loading from disk. When an item scrolls out past the buffer, both its DOM node and its in-memory data are evicted." Normal sentence case, not all-lowercase. No em dashes. Prefer periods over commas. Keep each sentence to one or two commas. If clauses pile up, split them into separate sentences. Give each concept one name and keep it. Avoid mirror sentences ("A without B, or B without A") and tidy closers ("the rest follows", "it all falls out"). The words in these steps are directions to you, not labels to print. Don't echo the structure as headers or stock phrases.
View the complete source on GitHubtechnical-writing
When your agent uses it
Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for /technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
2,077 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Vary the rhythm
- Pick the mode first (Diátaxis)
- Write sentences to the reader (Google developer style)
- Make statements load one at a time (STE rules)
- Leave no sentence open to two readings (Global English)
- Voice and repo specifics
- Worked example
Files
SKILL.mdcore9,093 bytes
Read SKILL.md
# Technical writing
Write so a tired engineer understands on the first read. Apply all four layers.
Three rules sit above the layers:
- **Cut every word that does no work.** If the sentence survives without a word, the word goes. "In order to" is "to". "It is important to note that" is nothing.
- **Use the short, everyday word.** "Use", not "utilize". "Help", not "facilitate". "Do", not "perform". A long word has to buy its length with precision.
- **When a rule makes a sentence worse, fix the sentence another way or leave it alone.** A sentence that follows every rule and sounds like a machine wrote it has failed.
The codebase is the word list. Write the real symbol, file, flag, or command name, not a synonym or a description of it.
Don't invent jargon. Use the words a developer would say out loud: "move", "delete", "a budget that only decreases", not "evacuate", "ratchet", or "endgame". A named pattern is fine when the doc says what it means the first time. Propose a new offender and its replacement as an addition to `unslop`'s abstract-metaphor rule in your reply, with the diff. Don't edit that skill.
View the complete source on GitHubthermo-nuclear-code-quality-review
When your agent uses it
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for a thermo-nuclear code quality review, thermonuclear review, deep code quality audit, or especially harsh maintainability review.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
2,485 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Prompt
- Non-Negotiable Additional Standards
- Primary Review Questions
- What to Flag Aggressively
- Preferred Remedies
- Review Tone
- Output Expectations
- Approval Bar
Files
SKILL.mdcore12,437 bytes
Read SKILL.md
# Thermo-Nuclear Code Quality Review
Use this skill for an unusually strict review focused on implementation quality, maintainability, abstraction quality, and codebase health.
Above all, this skill should push the reviewer to be **ambitious** about code structure. Do not merely identify local cleanup opportunities. Actively search for "code judo" moves: restructurings that preserve behavior while making the implementation dramatically simpler, smaller, more direct, and more elegant.
## Core Prompt
Start from this baseline:
> Perform a deep code quality audit of the current branch's changes.
> Rethink how to structure / implement the changes to meaningfully improve code quality without impacting behavior.
> Work to improve abstractions, modularity, reduce Spaghetti code, improve succinctness and legibility.
> Be ambitious, if there is a clear path to improving the implementation that involves restructuring some of the codebase, go for it.View the complete source on GitHubthermo-nuclear-review
When your agent uses it
Comprehensive security and correctness audit of a branch's changes. Use for thermo nuclear, thermonuclear, or deep review requests, or branch/PR diff audits focused on bugs, breaking changes, security issues, devex regressions, and feature-gate leaks.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
899 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prompt
- Breaking Functionality Guidelines
- Breaking Devex Guidelines
- Feature Leak Guidelines
- Intended Breakage Guidelines
- Over-reporting Guidelines
Files
SKILL.mdcore4,547 bytes
Read SKILL.md
# Thermo Nuclear Review
Use this skill for a comprehensive security and correctness audit of a checked-out branch.
## Prompt
You are a security expert performing a comprehensive review of a checked out branch. Audit this branch and its changes extremely thoroughly for bugs, changes that break existing features/functionality, and security vulnerabilities. Be EXTREMELY thorough, rigorous, careful, ambitious, and attentive. NOTHING can slip through.
# Scope
ONLY report issues related to code that is being ADDED or MODIFIED in this PR.
Focus on changes in the diff.
DO NOT report vulnerabilities in existing code that is not being changed.
# GuidelinesView the complete source on GitHubthermos
When your agent uses it
Launch both thermo-nuclear review subagents in parallel, then synthesize their findings. Use for thermos, double thermo review, or combined bug/security and code-quality branch audits.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
432 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore1,979 bytes
Read SKILL.md
# Thermos
Run the two thermo review passes as async background subagents in parallel, then synthesize their results.
## Workflow
1. Determine the review scope from the user request, PR, current branch, or relevant changed files.
2. Gather the diff and any file/context excerpts needed for reviewers to evaluate the change without guessing.
3. Launch both subagents in the same response as two `delegate_task` calls with `mode: "async"` and `role: "review"`, on the first two model families of the `interrogate reviewers` sheet line (`<plugin root>` is the directory that holds this plugin's `skills/`):
- a brief that opens with "Read `<plugin root>/agents/thermo-nuclear-review-subagent.md` and `<plugin root>/skills/thermo-nuclear-review/SKILL.md` in full and act as they say" for bugs, breakages, security, devex regressions, feature-flag leaks, and other branch-audit risks.
- a brief that opens with "Read `<plugin root>/agents/thermo-nuclear-code-quality-review-subagent.md` and `<plugin root>/skills/thermo-nuclear-code-quality-review/SKILL.md` in full and act as they say" for maintainability, structure, file-size growth, spaghetti, abstractions, and codebase-health risks.
4. Pass each subagent the same scoped diff/file context and ask it to return prioritized findings with file references and evidence.
5. After both finish, synthesize the results with findings first, deduplicated across reviewers. Weight overlapping findings more heavily, resolve disagreements with your own judgment, and keep summaries brief.
View the complete source on GitHubtypescript-best-practices
When your agent uses it
TypeScript best practices. Use when reading or editing any .ts or .tsx file.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
675 tokensWhen the skill is activated
Reference documents
2,316 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,765 bytesreferences/patterns.mddoc9,287 bytes
Read SKILL.md
# TypeScript best practices
Apply the **type-system-discipline** principle skill first.
| Rule | Summary |
|------|---------|
| Discriminated unions | Model variants with a `kind` literal discriminant so impossible states can't be represented. No optional-field bags. |
| Branded types | Brand primitives with `& { readonly __brand: "X" }` so they can't be mixed up. Validate once at the boundary. A brand comes from a verifying type guard (`input is AgentId`), never from `as`. |
| Constructive modeling | Build the shape so the illegal value can't be constructed. `[T, ...T[]]` for non-empty, `[T, T][]` for even length, `start` plus `duration` for a range. Not a runtime guard, not a wish for refinement types. |
| Simplest total type | Keep `T[]` while every operation on it stays total. Strengthen to `NonEmpty<T>` only where the loose type forces `!`, a cast, or a "should never happen" throw. |
| `unknown` over `any` | External data is `unknown`. |
| Schemas before guards | Before hand-writing a property-by-property type guard, use the repository's runtime schema library and infer the type from the schema, such as `z.infer`. |
| No `as` casts | Every `as` is a runtime crash waiting. Cast only after validation. |
| Narrowing hierarchy | Discriminant switch > `in` operator > `typeof`/`instanceof` > user-defined type guard > `as`. |View the complete source on GitHubunslop
When your agent uses it
Cut AI tells from any writing.
What it loads into context
Frontmatter
21 tokensAlways available to the agent
SKILL.md
1,400 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Patterns to detect and fix
Files
SKILL.mdcore5,827 bytesSKILL.mdcore5,827 bytes
Read SKILL.md
# Unslop
Edit text to remove AI patterns. Scan for the patterns below, then rewrite. Preserve meaning and match the intended tone.
## Patterns to detect and fix
Rule numbers are stable ids that other skills cite. A removed rule leaves a gap.
### Content
3. **Superficial -ing phrases.** "highlighting...", "ensuring...", "reflecting...", "showcasing...", "fostering...". Delete or expand with real sources.
5. **Vague attributions.** "Experts believe", "Industry reports suggest", "Some critics argue". Name the source or delete.
### LanguageView the complete source on GitHubwhat-did-i-get-done
When your agent uses it
Summarize authored commits over a user-specified time period into a concise update
What it loads into context
Frontmatter
28 tokensAlways available to the agent
SKILL.md
222 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore1,012 bytes
Read SKILL.md
# What did I get done
## Trigger
Need a short, high-signal summary of work completed in a specific time range (for example: yesterday, last 3 days, or last week).
## Workflow
1. Resolve the requested time window into concrete dates.
2. Read commits authored by the current git user email within that range.
3. Exclude merge commits and uncommitted changes.
4. Synthesize the most important shipped changes into a concise status update.
5. Include the actual date range used in the final summary.
View the complete source on GitHubwhy
When your agent uses it
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
2,215 tokensWhen the skill is activated
Reference documents
9,938 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Operating Posture
- Step 1. Understand the Target and the Question
- Step 2. Establish the Code Anchor
- Step 3. Spawn Parallel Investigators
- Step 4. Synthesize
- Step 5. Present
- Output Format
- Common Failure Modes to Avoid
- Models
Files
SKILL.mdcore9,779 bytesSKILL.mdcore9,779 bytesSKILL.mdcore9,779 bytesSKILL.mdcore9,779 bytesreferences/epistemics.mddoc6,736 bytesreferences/investigator-prompt.mddoc5,554 bytesreferences/source-playbook.mddoc1,363 bytesreferences/sources/code-archaeology.mddoc1,440 bytesreferences/sources/databricks.mddoc6,994 bytesreferences/sources/datadog.mddoc4,971 bytesreferences/sources/incident-postmortem.mddoc372 bytesreferences/sources/linear.mddoc2,996 bytesreferences/sources/notion.mddoc2,853 bytesreferences/sources/sentry.mddoc2,089 bytesreferences/sources/slack.mddoc1,336 bytesreferences/synthesizer-prompt.mddoc7,146 bytes
Read SKILL.md
# Why
Investigate the motivation and intent behind code. The companion `how` skill answers what the code does and how it works. `why` answers what forces led to its shape.
Each spawn below names a role line in the model sheet and a default. Set `target` from that line's entry, or from the default if the sheet or the line is missing. Leave `target` unset when the value is `auto` or `inherit-parent`. If `delegate_task` rejects an entry, use the default and say so. If it rejects the default, use another target of the same family from `orchestrator_capabilities`. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill.
Every spawn is a `delegate_task` child with full tool access, MCP included, which the MCP-backed investigators and the synthesizer's citation spot-checks need. Investigators still shouldn't write anything.
## Operating Posture
Operate as a **careful, cautious, and precise investigator**. Be honest about what you know vs what you're inferring. Read `references/epistemics.md` for the full confidence framework and phrasing guide. The synthesizer must follow it.
## Step 1. Understand the Target and the Question
View the complete source on GitHubSkills included
- architect
- arena
- automate-me
- benchmark-checklist
- blast-radius
- bro
- correct
- create-formal-verification-skill
- create-verification-skill
- deslop
- figure-it-out
- fix-ci
- fix-merge-conflicts
- get-pr-comments
- how
- in-your-own-words
- interrogate
- ketchup
- ketchup-video
- maintain-formal-verification-skill
- maintain-verification-skill
- make-pr-easy-to-review
- no-comments
- poteto-help
- poteto-mode
- principle-attack-the-premise
- principle-boundary-discipline
- principle-build-the-lever
- principle-encode-lessons-in-structure
- principle-exhaust-the-design-space
- principle-experience-first
- principle-explain-the-number
- principle-fix-root-causes
- principle-foundational-thinking
- principle-guard-the-context-window
- principle-laziness-protocol
- principle-make-operations-idempotent
- principle-migrate-callers-then-delete-legacy-apis
- principle-minimize-reader-load
- principle-model-the-domain
- principle-never-block-on-the-human
- principle-outcome-oriented-execution
- principle-prove-it-works
- principle-redesign-from-first-principles
- principle-separate-before-serializing-shared-state
- principle-sequence-verifiable-units
- principle-subtract-before-you-add
- principle-test-behavior-not-implementation
- principle-type-system-discipline
- recall
- reflect
- setup-pstack
- sharpen
- show-me-your-work
- statechart
- swarm
- tdd
- teach
- technical-writing
- thermo-nuclear-code-quality-review
- thermo-nuclear-review
- thermos
- typescript-best-practices
- unslop
- what-did-i-get-done
- why
Repository facts
- License
- MIT
- Created
- Oct 5, 2026
- Last pushed
- Nov 3, 2026
- Forks
- 22
- Open issues
- 7
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 59 notes
plugins/pstack/skills/arena/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/blast-radius/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/correct/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/fix-ci/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/how/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/maintain-verification-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/make-pr-easy-to-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/make-pr-easy-to-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/principle-laziness-protocol/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/recall/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/recall/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/recall/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/reflect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/reflect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/statechart/scripts/test/corpus/Counter/sany.out:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- 14 dangerous shell commandsin 7 files: statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla:9 statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla:9 statechart/scripts/test/cli.test.ts:1292 and 4 more
- 64 network referencesin 15 files: poteto-mode/scripts/watch-pr/verdicts.test.ts:230 poteto-help/SKILL.md:13 poteto-mode/references/licenses/NOTICE.md:5 and 12 more
- No hidden or obfuscated text
- No instruction overrides
- 75 executable scriptsin 75 files: poteto-mode/scripts/bootstrap.ts:1 poteto-mode/scripts/check-plan.mjs:1 poteto-mode/scripts/check-plan.test.ts:1 and 72 more
- 1 reference to secretsin 1 file: poteto-mode/scripts/worktree-audit.sh:111
- No requests to vote in Hot
Show all 154 signals by file
.claude-plugin/marketplace.json
plugins/pstack/.claude-plugin/plugin.json
- Network accessline 6
"author": { "name": "Christian Bager Bach Houmann", "url": "https://github.com/chhoumann" - Network accessline 7
"name": "Christian Bager Bach Houmann", "url": "https://github.com/chhoumann" }, - Network accessline 8
"url": "https://github.com/chhoumann" - Network accessline 9
}, "homepage": "https://github.com/chhoumann/t3-pstack", "repository": "https://github.com/chhoumann/t3-pstack", - Network accessline 10
"homepage": "https://github.com/chhoumann/t3-pstack", - Network accessline 11
"repository": "https://github.com/chhoumann/t3-pstack",
plugins/pstack/skills/create-verification-skill/references/feature-map-example/README.md
- Network accessline 7
- Launch Notes at `http://127.0.0.1:4173` with a disposable data directory.
plugins/pstack/skills/create-verification-skill/references/feature-map-example/create-note.md
- Network accessline 22
- Notes is healthy at `http://127.0.0.1:4173`.
plugins/pstack/skills/create-verification-skill/references/feature-map-example/search.md
- Network accessline 24
- Notes is healthy at `http://127.0.0.1:4173`.
plugins/pstack/skills/poteto-help/SKILL.md
- Network accessline 13
This file maps questions to the skills and guide pages that hold the answers. Those files own the details. Read the file you route to before you quote it, and trust it when it disagrees with this map. The links here point into the installed - Network accessline 38
1. Install t3-pstack per its [README](https://github.com/chhoumann/t3-pstack#readme). One `npx -y github:chhoumann/t3-pstack install` run installs it in every Claude Code and Codex config home T3 can run. - Network accessline 42
Installing changes nothing until the user invokes a skill. Only `/setup-pstack` loads from the user's words. The [README](https://github.com/chhoumann/t3-pstack/blob/main/README.md) and [guide page 1](https://github.com/cursor/plugins/blob/ - Network accessline 52
`/poteto-mode` matches the task to a playbook, copies the playbook's steps into the todo list, and runs the other skills as the steps need them. A step it skips stays in the list as `skip: <reason>`. A good prompt states the goal and how to - Network accessline 130
The Playbooks section of [`poteto-mode`](../poteto-mode/SKILL.md) lists every playbook and when it applies. [Guide page 6](https://github.com/cursor/plugins/blob/main/pstack/docs/guide/06-verify-and-ship.md) covers opening, babysitting, and - Network accessline 134
Principles are one-rule skills that `/poteto-mode` reads and cites in its replies. The user rarely invokes one. They steer with the names instead, as in "apply prove it works. show me the real output." Typing `/principle-<name>` still loads - Network accessline 144
| A skill didn't load on its own | Only `/setup-pstack` loads from the user's words. The others load when the user types them or when `/poteto-mode` runs them, and it doesn't run every skill. | | Parallel agents overwrote each other | Give - Network accessline 145
| Parallel agents overwrote each other | Give each agent its own worktree. | | An overnight run moved but finished nothing | A scheduled loop needs a check that can pass or fail, not a duration. See [guide page 7](https://github.com/cursor/ - Network accessline 146
| An overnight run moved but finished nothing | A scheduled loop needs a check that can pass or fail, not a duration. See [guide page 7](https://github.com/cursor/plugins/blob/main/pstack/docs/guide/07-overnight.md). | - Network accessline 149
For a run that drifts, [`references/prompting.md`](references/prompting.md) has one-line steers. [Guide page 10](https://github.com/cursor/plugins/blob/main/pstack/docs/guide/10-recipes-and-pitfalls.md) has more pitfalls and the recipes wor - Network accessline 158
[Guide page 9](https://github.com/cursor/plugins/blob/main/pstack/docs/guide/09-make-it-yours.md) covers each of these.
plugins/pstack/skills/poteto-mode/SKILL.md
- Network accessline 125
Every playbook ends with a reply written this way, PR link as `https://github.com/<owner>/<repo>/pull/<number>`. Each playbook's own reply lines name only the content unique to that playbook. - Network accessline 125
Every playbook ends with a reply written this way, PR link as `https://github.com/<owner>/<repo>/pull/<number>`. Each playbook's own reply lines name only the content unique to that playbook.
plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md
- Network accessline 5
| Included work | Upstream | Copyright | License | | --- | --- | --- | --- | | The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/c - Network accessline 6
| --- | --- | --- | --- | | The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/c742dd61706fbacc1b95f1a20b7b988cf096ce6c/pstack) | ( - Network accessline 7
| The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/c742dd61706fbacc1b95f1a20b7b988cf096ce6c/pstack) | (c) 2026 Lauren Tan | [MIT] - Network accessline 8
| `deslop`, `make-pr-easy-to-review`, `fix-ci`, `fix-merge-conflicts`, `get-pr-comments`, and `what-did-i-get-done` | [cursor/plugins/cursor-team-kit](https://github.com/cursor/plugins/tree/c742dd61706fbacc1b95f1a20b7b988cf096ce6c/cursor-te - Network accessline 9
| `thermos`, `thermo-nuclear-review`, `thermo-nuclear-code-quality-review`, and the `thermo-nuclear-review-subagent` and `thermo-nuclear-code-quality-review-subagent` definitions | [cursor/plugins/thermos](https://github.com/cursor/plugins/ - Network accessline 10
| The session-start hook scripts, `read-sheet.sh`, and `reflect/scripts/find-transcript.mjs`, which t3-pstack modified, and four `poteto-mode` rules, the worktree and head-guard rules in the Feature, Opening a PR, and Shipping playbooks, th - Network accessline 11
| The plain-remove prune step in the worktree-cleanup playbook, which t3-pstack adapted | [sergchil/jutsu](https://github.com/sergchil/jutsu/commit/da9442422c72cc99442c1ce3500d2f2485234a31) | (c) 2026 Sergey Chilingaryan | [MIT](LICENSE) | - Network accessline 12
| `poteto-mode/scripts/resolve-codex-transcript` and `resolve-codex-transcript.ts`, which t3-pstack modified | [ericlitman/open-pstack](https://github.com/ericlitman/open-pstack/tree/c5c8e237c324359a3d1929037da78fe66da3d1ed/plugins/pstack/s - Network accessline 14
t3-pstack rewrites upstream's Cursor mechanics into their T3 form and adds the files its [repository notice](https://github.com/chhoumann/t3-pstack/blob/main/NOTICE.md) lists. Those modifications are (c) 2026 Christian Bager Bach Houmann un
plugins/pstack/skills/poteto-mode/scripts/bootstrap.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/check-plan.mjs
- Executable scriptline 1
#!/usr/bin/env node
plugins/pstack/skills/poteto-mode/scripts/check-plan.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/package.json
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/resolve-codex-transcript
- Executable scriptline 1
#!/bin/sh
plugins/pstack/skills/poteto-mode/scripts/resolve-codex-transcript.ts
- Executable scriptline 1
#!/usr/bin/env bun
plugins/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts
- Executable scriptline 1
Executable file - Network accessline 150
expect(rendered).toContain("| PR | CI | Review | Merge |"); expect(rendered).toContain( "| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |" - Network accessline 151
expect(rendered).toContain( "| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |" ); - Network accessline 152
"| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |"
plugins/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/github.ts
- Executable scriptline 1
Executable file - Network accessline 166
let normalized = value.trim(); if (normalized.startsWith("git@github.com:")) normalized = `https://github.com/${normalized.slice(15)}`; - Network accessline 167
if (normalized.startsWith("git@github.com:")) normalized = `https://github.com/${normalized.slice(15)}`; if (normalized.startsWith("ssh://git@github.com/")) - Network accessline 168
normalized = `https://github.com/${normalized.slice(15)}`; - Network accessline 169
if (normalized.startsWith("ssh://git@github.com/")) normalized = `https://github.com/${normalized.slice(21)}`; try { - Network accessline 170
normalized = `https://github.com/${normalized.slice(21)}`;
plugins/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/render.ts
- Executable scriptline 1
Executable file - Network accessline 53
const lines = ["| PR | CI | Review | Merge |", "| --- | --- | --- | --- |"]; for (const row of rows) { const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`; - Network accessline 54
for (const row of rows) { const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`; lines.push( - Network accessline 55
const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`;
plugins/pstack/skills/poteto-mode/scripts/watch-pr/settle.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/settle.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/types.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/poteto-mode/scripts/watch-pr/verdicts.test.ts
- Executable scriptline 1
Executable file - Network accessline 230
).toBe(0); expect(status.stdout.join("")).toContain( "| [#1](https://github.com/owner/repo/pull/1) | ✅ | 👀 review required | ⛔ blocked |" - Network accessline 231
expect(status.stdout.join("")).toContain( "| [#1](https://github.com/owner/repo/pull/1) | ✅ | 👀 review required | ⛔ blocked |" ); - Network accessline 232
"| [#1](https://github.com/owner/repo/pull/1) | ✅ | 👀 review required | ⛔ blocked |" - Network accessline 673
).toBe(0); expect(status.stdout.join("")).toContain( "| [#1](https://github.com/owner/repo/pull/1) | ➖ no checks | ✅ | ✅ |" - Network accessline 674
expect(status.stdout.join("")).toContain( "| [#1](https://github.com/owner/repo/pull/1) | ➖ no checks | ✅ | ✅ |" ); - Network accessline 675
"| [#1](https://github.com/owner/repo/pull/1) | ➖ no checks | ✅ | ✅ |" - Network accessline 711
value = { mergeable: 'MERGEABLE', mergeStateStatus: scenario === 'blocked' ? 'BLOCKED' : 'CLEAN', reviewDecision: '', headRefOid: 'head', headRefName: 'feature', baseRefName: 'main', state: 'OPEN', mergedAt: null, isDraft: false }; } else i - Network accessline 712
} else if (args[0] === 'pr' && args[1] === 'checks') { if (scenario === 'unauthorized') fail('HTTP 401: Bad credentials (https://api.github.com/graphql)'); fail("no checks reported on the 'feature' branch"); - Network accessline 713
if (scenario === 'unauthorized') fail('HTTP 401: Bad credentials (https://api.github.com/graphql)'); - Network accessline 714
fail("no checks reported on the 'feature' branch"); } else if (graphql('PrCheckRollup')) { if (scenario === 'rollup-fails') fail('HTTP 502: Bad Gateway (https://api.github.com/graphql)'); - Network accessline 715
} else if (graphql('PrCheckRollup')) { if (scenario === 'rollup-fails') fail('HTTP 502: Bad Gateway (https://api.github.com/graphql)'); value = commits({ statusCheckRollup: null }); - Network accessline 716
if (scenario === 'rollup-fails') fail('HTTP 502: Bad Gateway (https://api.github.com/graphql)');
plugins/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr
- Executable scriptline 1
#!/usr/bin/env bun
plugins/pstack/skills/poteto-mode/scripts/worktree-audit.sh
plugins/pstack/skills/reflect/scripts/find-transcript.mjs
- Executable scriptline 1
#!/usr/bin/env node
plugins/pstack/skills/setup-pstack/scripts/read-sheet.sh
- Executable scriptline 1
#!/bin/sh
plugins/pstack/skills/setup-pstack/scripts/t3-sheet.mjs
- Executable scriptline 1
#!/usr/bin/env node
plugins/pstack/skills/show-me-your-work/scripts/log.sh
- Executable scriptline 1
#!/usr/bin/env bash
plugins/pstack/skills/statechart/references/render.md
- Network accessline 3
Render each `.mmd` file that you show with the npm package `pele@1.9.0`, and give the user the SVG. Install Pele once, outside the repo. Write each SVG next to its `.mmd` file, with the same name. The API is at https://pele.run/api. Pass `{ - Network accessline 7
Pele ignores Mermaid `theme` and `themeVariables`. Set its `--pele-*` CSS variables on `.pele`. https://pele.run/theming lists them. The command gives each state the color class of its group, such as `class sN teal`. It marks each bad state
plugins/pstack/skills/statechart/scripts/backends/cfg.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/backends/mermaid.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/backends/plain-text.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/backends/report.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/config.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/dot.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/marks.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/messages.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/spec.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/trace.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/value.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/verdict.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/frontends/view.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/ir.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/package.json
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/annotate.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/label.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/lift.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/loop-check.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/paths.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/reach.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/region-check.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/passes/regions.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/pipeline.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/run.ts
- Executable scriptline 1
Executable file - Network accessline 67
const TLC_TOOL = "http:tla2tools[url=https://github.com/tlaplus/tlaplus/releases/download/v1.7.4/tla2tools.jar,checksum=sha256:936a262061c914694dfd669a543be24573c45d5aa0ff20a8b96b23d01e050e88]@1.7.4"; - Network accessline 68
"http:tla2tools[url=https://github.com/tlaplus/tlaplus/releases/download/v1.7.4/tla2tools.jar,checksum=sha256:936a262061c914694dfd669a543be24573c45d5aa0ff20a8b96b23d01e050e88]@1.7.4";
plugins/pstack/skills/statechart/scripts/statechart
- Executable scriptline 1
#!/bin/sh
plugins/pstack/skills/statechart/scripts/statechart.ts
plugins/pstack/skills/statechart/scripts/test/chart.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/cli.test.ts
plugins/pstack/skills/statechart/scripts/test/config-fuzz.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/CounterView/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/Login/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/LoginParallel/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-2.out
- Network accessline 30
@!@!@ENDMSG 2185 @!@!@ @!@!@STARTMSG 2284:3 @!@!@ Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) an - Network accessline 31
@!@!@STARTMSG 2284:3 @!@!@ Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) and optionally the discus - Network accessline 32
Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) and optionally the discussion at https://discuss.tla
plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.cfg
- Dangerous shell operationline 1
CONSTANT RM = {r1, r2}
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla
- Dangerous shell operationline 9
Messages == [type : {"Prepared"}, rm : RM] \cup [type : {"Commit", "Abort"}] - Dangerous shell operationline 12
/\ rmState \in [RM -> {"working", "prepared", "committed", "aborted"}] - Dangerous shell operationline 65
\/ \E r \in RM : - Dangerous shell operationline 73
\A r1, r2 \in RM : ~ /\ rmState[r1] = "aborted"
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfg
- Dangerous shell operationline 1
CONSTANT RM = {r1, r2}
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla
- Dangerous shell operationline 9
Messages == [type : {"Prepared"}, rm : RM] \cup [type : {"Commit", "Abort"}] - Dangerous shell operationline 12
/\ rmState \in [RM -> {"working", "prepared", "committed", "aborted"}] - Dangerous shell operationline 65
\/ \E r \in RM : - Dangerous shell operationline 73
\A r1, r2 \in RM : ~ /\ rmState[r1] = "aborted"
plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/view.mjs
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/differential.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/java.ts
- Executable scriptline 1
#!/usr/bin/env node
plugins/pstack/skills/statechart/scripts/test/labels.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/messages.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/pipeline.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/plain-tlc.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/render.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/tlc-out.test.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/test/tlc.ts
- Executable scriptline 1
Executable file
plugins/pstack/skills/statechart/scripts/worker.ts
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 132 facts
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/README.md:7Low confidence
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/create-note.md:22Low confidence
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/search.md:24Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:13Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:38Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:42Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:52Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:130Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:134Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:144Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:145Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:146Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:149Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:158Low confidence
- Network access in prose of the SKILL.mdplugins/pstack/skills/poteto-mode/SKILL.md:125Low confidence
- Network access in prose of the SKILL.mdpoteto-mode/SKILL.md:125Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:5Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:6Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:7Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:8Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:9Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:10Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:11Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:12Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:14Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/bootstrap.ts:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/check-plan.mjs:1High confidence
- Executable script in code of a testpoteto-mode/scripts/check-plan.test.ts:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/package.json:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/resolve-codex-transcript:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/resolve-codex-transcript.ts:1High confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:1Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:150Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:151Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:152Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/cli.ts:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/fakes.test-helper.ts:1High confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/github.test.ts:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:1High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:166High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:167High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:168High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:169High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:170High confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/policy.test.ts:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/policy.ts:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/render.ts:1High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/render.ts:53High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/render.ts:54High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/render.ts:55High confidence
and 82 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/pstack/skills/architect/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/pstack/skills/architect/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/pstack/skills/architect/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/pstack/skills/architect/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/pstack/skills/architect/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.