Skip to content
Back to skills

Prism Story

ASecurity

Run the full Prism story lifecycle directly in the host with Beads-backed phase state and role-aligned Specify, Design, Breakdown, Human, Apply, and Verify contracts. Use when the user runs $prism:story, /prism:story, /prism-story, explicitly targets a Prism story, or asks to continue one story.

  • 14 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 6, 2026
ai-agentsbashgit

Works with

  • claude code

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add baldaworks/prism --skill prism-story --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prism Story?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prism Story
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/baldaworks-prism-story/badge)](https://www.skillsdirectory.com/skills/baldaworks-prism-story)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: prism-story
description: >
  Run the full Prism story lifecycle directly in the host with Beads-backed
  phase state and role-aligned Specify, Design, Breakdown, Human, Apply, and
  Verify contracts. Use when the user runs $prism:story, /prism:story,
  /prism-story, explicitly targets a Prism story, or asks to continue one story.
---

# Prism story lifecycle

Run one full role-aligned Prism story lifecycle in the current host. Do not
invoke Callee; use the Prism Callee lifecycle only when the user explicitly
requests subagent execution.

| Layer | Owns |
| --- | --- |
| **Beads** | Story description, acceptance, design, child tasks, status, assignee, labels, comments |
| **This skill** | Host execution of the full phase/role contract plus all `bd` writes |
| **[Prism Callee pack](https://github.com/baldaworks/prism-callee/tree/main/pack/callee/prism)** | External provenance for the self-contained bundled story contracts |
| **Prism Callee skill** | Actual `callee agent run prism/...` execution |

**Invoke:** Codex `$prism:story`, Claude Code `/prism:story`, or flat slash `/prism-story`.

Lifecycle graph: [references/lifecycle.md](references/lifecycle.md). Keep lifecycle
diagrams vertical with Mermaid `flowchart TB`.

## Durable lifecycle state

Exactly one supported story label is the active phase:

| Phase | Story label | Host role sequence |
| --- | --- | --- |
| Specify | `phase:story:specify` | interviewer → readiness gate → Human clarification → extract |
| Design | `phase:story:design` | explorer → architect |
| Breakdown | `phase:story:breakdown` | implementation planner → Beads normalizer |
| Human | `phase:story:human` | approval prompt → intent classifier → decision check |
| Apply | `phase:story:apply` | implementer → independent reviewer, repeat as needed |
| Verify | `phase:story:verify` | story reviewer → close or phase-specific bounce |

`prism` marks membership. `human:approved` is the only authorization for Apply.
Story assignees never encode lifecycle phases. Within Apply, child-task assignees
move from `prism/apply/implementer` to `prism/apply/reviewer`.

Supported global phase labels are the `phase:story:*` set above and the sibling
Epic skill's `phase:epic:*` set. Ignore any other phase-like label as absent; do
not migrate it. An Epic phase on a story is type-invalid and fails closed. When
no supported global phase exists, initialize the story with
`prism,phase:story:specify` and remove stale authorization.

## Phase references

Load exactly one phase-local instruction:

- Specify: [references/specify.md](references/specify.md)
- Design: [references/design.md](references/design.md)
- Breakdown: [references/breakdown.md](references/breakdown.md)
- Human: [references/human.md](references/human.md)
- Apply: [references/apply.md](references/apply.md)
- Verify: [references/verify.md](references/verify.md)

Each reference contains a compact contract projection. Execute its logical roles
in order even though one host session performs them. Do not weaken required
outputs or skip a gate because Callee is not running.

## Output boundary

Normal host Story output — target resolution, phase progress, status, errors,
blockers, and normal phase results — MUST NOT emit a standalone ### Acceptance criteria heading,
including a bullet-wrapped form such as `- ### Acceptance criteria`, or an unsolicited user-facing
approval-format acceptance block.

This boundary applies only to user-facing Markdown output. It does not prohibit
internal or machine-readable acceptance artifacts such as requirements
documents, the Beads acceptance field, or `ACCEPTANCE_CRITERIA:` sections in a
normal phase result. This prohibition includes the Story Human pre-approve
request. Only an explicit operator request for acceptance criteria allows the
complete, untruncated acceptance of the current Story to be shown.

## Prerequisites

1. `bd` is available and the repository has a Beads workspace.
2. The repository and its native verification tools are inspectable.
3. Callee is not required. To execute actual Callee agents, use
   `$prism-callee:lifecycle`, `/prism-callee:lifecycle`, or `/prism-callee-lifecycle`.

## Entry

1. Resolve Beads with `bd where`; follow the Beads skill or `bd prime` when needed.
2. Resolve the target story:
   - use an explicitly named story ID and require `issue_type=story`;
   - otherwise resume exactly one open Prism story;
   - otherwise create one from the raw user request:

     ```bash
     bd create "<derived title>" --type=story -l prism,phase:story:specify \
       --description="<raw user request>" --priority=2 --silent
     ```

3. Load `bd show <story> --long` and `bd children <story>`.
4. Classify phase-like labels against both supported namespaces:
   - ignore labels outside both supported namespaces;
   - fail closed on any `phase:epic:*` label or multiple `phase:story:*` labels;
   - when no supported phase remains, write `prism,phase:story:specify` and
     clear `human:approved` through replacement;
   - otherwise use the single `phase:story:*` label.
5. Load the matching phase reference and execute its full contract.
6. Persist its result, re-read story and children, then continue immediately
   after successful Specify or Design. After Breakdown, enter Human and present
   the informed approval request in the same invocation.
7. Stop only for Human authorization/refinement, genuinely missing input,
   invalid state, exhausted role loop, or failed required verification.

## Hard rules

1. Never invoke `callee agent run prism/...`; this is host execution.
2. Never edit, regenerate, format, rename, or relocate `pack/callee/**`.
3. Preserve the ordered role passes and required outputs in each phase reference.
4. Beads is the only durable lifecycle store.
5. Do not implement without `human:approved`.
6. Persist approval only after unambiguous human authorization.
7. `--set-labels` replaces all labels: retain `prism`, exactly one story phase,
   and `human:approved` after the gate.
8. Ask only for genuinely missing product intent, never for routine phase confirmation.
9. Apply exactly one ready child at a time. Review the actual diff and checks
   independently of the implementation narrative.
10. Do not close a task when checks or review fail.
11. Verify is close-or-bounce and never repairs implementation.
12. Do not commit or push without the authority provided by the repository and user.

## Phase selection

| Condition, in priority order | Action |
| --- | --- |
| Missing usable requirements or acceptance | Specify |
| `phase:story:verify`, or approved with no open children | Verify |
| `phase:story:apply` with approval and open children | Apply |
| Open children without approval, or `phase:story:human` | Human |
| `phase:story:breakdown`, or design exists without children | Breakdown |
| `phase:story:design`, or requirements exist without design | Design |
| `phase:story:specify` | Specify |

## Safety

- Never invent requirements, approval, repository evidence, review findings, or test results.
- Treat the Callee pack as a read-only source during lifecycle execution.
- Preserve existing child state during design/breakdown reconciliation.
- Close a story only after every child is closed and Verify passes.

Files in this skill

  • SKILL.md7.1 KB
  • references/apply.md2.9 KB
  • references/breakdown.md3.4 KB
  • references/design.md2.8 KB
  • references/human.md2.5 KB
  • references/lifecycle.md1.7 KB
  • references/specify.md7.1 KB
  • references/verify.md2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.