pocs/agent-plugins/claude-pragma/skills/slice/SKILL.md
Implement one tracer-bullet slice following the inside-out methodology. Use when you have a tracer-bullet card ready to build. Implements functional core first, then imperative shell, then end-to-end wiring, then alignment refactor.
npx skillsauth add hashintel/labs sliceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Implement one thin end-to-end slice of functionality, following the inside-out procedure.
The slice is defined by a tracer-bullet card: $ARGUMENTS
Preconditions:
/pragma:capsule first./pragma:card first.Extract from the card: (1) target behavior, (2) boundary crossings, (3) risks/assumptions, (4) definition of done. If the card is incomplete, stop and recommend rerunning /pragma:card.
Follow these steps in order. Do not skip or reorder.
Before writing implementation code:
/pragma:card./pragma:spike first to prototype/observe.Before implementing behavior, translate card Definition of Done into tests:
This is the "create the needle" step: define a narrow path to success first.
Implement using the functional core / imperative shell pattern (Bernhardt):
No frameworks, no infrastructure, no I/O in this step. No speculative abstractions.
Add the minimal I/O boundary connecting the core to the real world. The shell calls the core, never the reverse. No business logic in the shell.
Connect the full path: entry point → shell → core → shell → output. Make it actually run. Write or update an integration test proving the target behavior.
Commit the smallest set of changes that makes the E2E path pass.
Message style: Behavior: <target behavior>
Refactor immediately while context is fresh:
Run the project's existing verification harness. All checks must pass. If any fails, fix and re-run from step 1 of verification.
Separate from the behavior commit. Message style: Refactor: align slice to capsule
Before closing the slice, classify what changed and route updates to the correct authority artifact:
/pragma:capsule update/pragma:roadmap update/pragma:milestone update/pragma:assumptions update/pragma:contractUse explicit none for lanes with no change.
Run /pragma:assumptions update with the slice summary, assumptions made, and validation evidence.
none authority delta must be surfaced
and routed before additional delivery work.none | /pragma:capsule update — [reason]none | /pragma:roadmap update — [reason]none | /pragma:milestone update — [reason]none | /pragma:assumptions update — [reason]none | /pragma:contract — [reason]/pragma:assumptions update (mandatory after every slice)State: delivery, Next: first non-'none' authority delta command (otherwise /pragma:assumptions update), Loop: /pragma:consult (default unless user explicitly continues directly)documentation
Read and write a Petri net (SDCPN) document by Automerge URL. Use when creating, editing, or querying Petri nets — adding or removing places, transitions, arcs, color types, differential equations, and parameters.
development
Time-boxed throwaway investigation to answer one hard question. Use when facing technical uncertainty before a slice — the output is knowledge, not production code. Retires risk by producing a spike verdict with clear recommendations.
tools
Build a walking skeleton — the thinnest runnable system that proves build, test, and runtime work end-to-end. Use when starting a new project, before any feature work. Front-loads tooling and infrastructure so every subsequent slice is cheaper.
development
Turn kickoff transcripts into a builder-facing territory map before carding. Use when kickoff conversations are rich but implementation slices are not yet legible.