All 19 Skills

Core Workflow

SkillTriggerDescription
/storytime"storytime", "build a spec", "design a feature"Full workflow: survey → team → icebreaker → breakouts → plan
/storytime-survey"survey the codebase", "scan for artifacts"Standalone survey with artifact inventory and coverage fingerprint
/storytime-breakout"breakout on", "deep dive", "investigate"Focused investigation: one driver + silent supporters
/storytime-converge"converge", "merge the breakouts", "make the plan"Synthesize breakout results into a unified plan
/storytime-buildout"build it", "implement", "buildout", "let's code"Implement the plan — persona pair programming with trace docs
/storytime-retro"retro on", "how did it go", "plan vs built"Reconvene team: compare plan against implementation + scorecard

Team and QA

SkillTriggerDescription
/storytime-cohort"hire", "fire", "bench", "promote", "evolve"Manage the permanent persona team
/storytime-qa"ask the team", "what did we decide", "@team"Formal queries with context + decision-log loading. Not for casual @role lens directives.
/storytime-echo"echo", "spawn a voice", "what would X say"One-shot spawning-pool voice test. Ephemeral, no state.
/storytime-pr-qa"handle PR comments", "respond to PR"Team formulates responses to PR review comments

Continuity

SkillTriggerDescription
/storytime-remember"remember", "stage remembrance", "prepare for /compact"Stage workday-shaped remembrance.md (wakeup + prompt) for /compact
/storytime-lint"lint storytime", "validate session", "check the spec"Mechanical + reasoning-tier validation. Two tiers: scripts for grep, estimator agent for prose.
/storytime-bootstrap"bootstrap storytime", "set up storytime"Initialize .storytime/ structure in a repo
/storytime-consolidate"consolidate", "organize docs", "archive"Organize, archive, roll up, backfill timestamps
/storytime-absorb"absorb this", "have the team review"Team reads and interprets existing docs or code
/storytime-export"export", "convert to ADRs", "create issues"Transform output to ADRs, issues, Kiro specs
/storytime-status"storytime status", "where are we"Dashboard: cohort, threads, decisions, tutorial progress
/storytime-undo"undo", "cancel", "roll back", "scratch that"Revert at any granularity: phase, episode, thread, file

Consolidation Scales

ScaleTriggerOutput
phasePhase boundary in a skillPhase artifact + digest to thread
commitLLM-drafted + user-confirmed commitThread update + decision pin + optional dream
napModel detects 1 degradation signalQuick remembrance refresh
shift2+ signals or framing-loss aloneRemembrance + frame change (driver swap, mode shift)
sessionSession DONE or walk-awayPersona context delta + archive rollup
compactContext approaching budget or explicitRemembrance finalized; user confirms /compact

Breakout Skills (Available Mid-Conversation)

SkillBackingWhen to use
VERIFYGrep + ReadCheck a claim against code
GROUNDReadCheck a claim against repo files (README, ADRs, config)
RESEARCHWebSearch + WebFetchLook up library docs, API docs, RFCs, benchmarks
DISCOVERYExplore agentMap dependencies, understand code structure
PROTOTYPEAgent + WriteSketch implementation for illustration
BENCHMARKAgent + BashMeasure performance

Citation Formats

SourceFormatExample
Codefile:linesrc/middleware/auth.ts:32 — JWT extraction
Repo filefile:linedocs/api-design.md:15 — auth requirement
Library docs[url][redis.io/commands/zrangebyscore] — range query
Gitcommit shacommit abc123 — revert decoder
StandardRFC N §SRFC 6585 §4 — 429 status code
Web[url][blog.example.com/benchmarks]

Evidence hierarchy: Code > Git > Repo files > Library docs > Standards > Web

Output Structure

specs/.storytime/
├── .version                    "1.0" (positive v1.0 marker)
├── remembrance.md              Workday-shaped wakeup (staged pre-/compact)
├── sessions/<topic>/
│   ├── _thread.md              Continuity ledger + decision log
│   ├── 001/                    Episode 1
│   │   ├── survey.md           Codebase context + fingerprint
│   │   ├── team.md             Persona definitions
│   │   ├── icebreaker.md       Status quo discussion
│   │   ├── breakout-*.md       Sub-problem deep dives
│   │   ├── plan.md             Slide deck + decisions + roadmap
│   │   └── buildout-*.md       Implementation traces
│   └── 002/                    Episode 2 (warm start)
├── cohort/                     Permanent personas (non-human codenames)
│   ├── _roster.md              Address-resolution table
│   ├── _user.md                You — @user as a first-class persona (v1.0.1)
│   └── <codename>-<archetype>-<focus>.md
├── specialists/                Temporary personas (scoped contracts)
├── dreams/                     Optional ancillary per-commit byproducts
├── history/sessions/           Session summaries
├── archive/                    hot/warm/cold tiers
├── intents.md                  Extracted user-intent log (v1.0.1)
├── commit-patterns.md          Adaptive commit-learning state
├── tutorial-state.md           Per-skill tutorial graduation progress
└── config.md                   Project settings

Process Rules (29)

  1. SURVEY before ASSEMBLE. Never build a team blind.
  2. ICEBREAKER before BREAKOUT. Shared understanding first.
  3. CONVERGE before showing the user. Internal consensus first.
  4. Every claim grounded — code, docs, web, or git.
  5. Default core: OWNER, OPERATOR, CRITIC ×2 (two critics contest).
  6. Non-goals + success criteria required on every plan.
  7. Visuals use ASCII box-drawing. No external tools.
  8. Personas are lenses, not characters. No role-play.
  9. Team size project-appropriate. Bias small. Ceiling 12.
  10. User has veto power everywhere.
  11. Phases collapse when empty.
  12. Every phase writes output — run is a complete snapshot.
  13. Prior runs are prior art — never silently overwrite.
  14. Survey writes a coverage fingerprint.
  15. Effort = Complexity + Scale (never time). ≥13 decomposes.
  16. Evaluation hygiene: observe metrics and conclusions separately.
  17. Warm entry detected, not requested. If thread exists, warm.
  18. Remembrance is pre-staged (at pause/compact), never reactive.
  19. Post-breakout pause mandatory unless auto. Present options considered, not just recommendations.
  20. Grounding multi-source: code > git > repo > library > standards > web.
  21. @role is a lens directive, not a skill trigger.
  22. Codenames non-human by default.
  23. One driving persona per leg. Supporters silent unless useful AND non-distortive.
  24. LLM drafts every commit. User confirms every one. No auto-commit.
  25. Pauses are model-driven, not threshold-driven (threshold is opt-in fallback).
  26. All consolidation writes atomic (tmp+fsync+mv).
  27. Cross-topic decisions use callouts (Callout-> / Callout<-), not merging.
  28. Thread IS decision log — per-topic, append-only, commit-pinned.
  29. Dreams ancillary and disablable. Never on critical path.

Configuration

# specs/.storytime/config.md
mode: native                     # native | adapt | export
default_mode: inline             # inline | deliberation
automation: tutorial             # tutorial | manual | guided | auto
team_size: project-appropriate   # bias small; sized to the work
max_team_size: 12                # hard ceiling, override required
max_concurrent_breakouts: 10
default_core: [owner, operator, critic]
naming: codename                 # non-human by default
driving_persona: required        # one driver per leg
require_nongoals: true
visual_style: ascii
citation_format: "file:line — snippet"
auto_update_personas: true

# v1.0 consolidation
pause_mode: model-introspection  # model-introspection | threshold
dreams_enabled: false            # off by default, opt-in
post_commit_hook: disabled       # opt-in
remembrance_load_on_compact: true
commit_learning: enabled         # V1-014 adaptive quieter prompts
tutorial_graduation: adaptive    # V1-013 per-skill friction detection

Automation Tiers

TierPhase transitionsBreakoutsPost-breakoutCommitsPauses surfaced
tutorialprompt + explainprompt + explainpause + explainfull prompt + explainall (nap, shift, compact)
manualprompt + waitprompt + waitpause + waitfull promptshift, compact
guidedautoautopause + waitfull (quieter if learned)shift, compact
autoautoautoauto-proceedfull (never skipped)shift, compact

Commits are never auto-approved across any tier (V1-001). Tutorial is the fresh-install default; graduation is adaptive and per-skill.

Intent Graph (v1.0.1+)

Decisions form a typed DAG. Each TOPIC-NNN is a node; edges carry type via the edge_type field on the child.

Edge vocabulary

edge_typeMeaning
refinesChild adds constraints to parent
specializesChild is a more specific case of parent
implementsChild realizes parent at lower level
co-impliesTwo siblings jointly imply a third
tensionsSiblings partially contradict (symmetric)
supersedesReplaces an earlier subtree

Decision frontmatter v2.1 fields (optional)

### RATE-003 — Middleware position
  At: 2026-04-15
  Commit: abc1234
  Drivers: @owner [anchor]
  Parent: RATE-001               # intent-graph edge target
  Edge_type: refines             # refines | specializes | implements | co-implies | tensions | supersedes
  Tensions: []                   # symmetric; lint reconciles
  Realized_at: def5678           # commit that delivered (sealed → realized)
  Lifecycle_state: realized      # proposed | focused | sealed | realized | retired

Cross-topic callouts

Forward authoritative, reverse lint-cached:

### RATE-003 — Middleware position
  At: 2026-04-15
  Drivers: @owner [anchor]
  Callout-> auth-refactor#AUTH-007 (depends-on)
  Callout<- monitoring#MON-002 (affected-by)

Read-side queries

./scripts/intent-graph-query.sh list_nodes        # all decisions, all topics
./scripts/intent-graph-query.sh get_node RATE-003
./scripts/intent-graph-query.sh get_children RATE-001
./scripts/intent-graph-query.sh get_parents RATE-003
./scripts/intent-graph-query.sh get_path RATE-003   # walk to root
./scripts/intent-graph-query.sh get_orphans         # sealed without parent
./scripts/intent-graph-query.sh get_unrealized      # sealed without realized_at
./scripts/intent-graph-query.sh get_tensions        # contradicting siblings
./scripts/intent-graph-query.sh get_supersedes      # supersession edges

./scripts/intent-adherence.sh                       # sealed-vs-realized grid (repo-wide)
./scripts/intent-adherence.sh rate-limiting         # filtered to one topic
./scripts/intent-adherence.sh --csv > adherence.csv # for downstream tooling

Read-side only in v1.0.1. Write-side mutations remain hand-edits to frontmatter. Composition (distillation, naming) deferred to v1.2+.

Scripts

# Check for stale code citations
./scripts/validate-citations.sh specs/.storytime/sessions/rate-limiting/

# Verify breakout output completeness
./scripts/validate-breakouts.sh specs/.storytime/sessions/rate-limiting/001/

# Validate cross-topic callouts
./scripts/validate-callouts.sh

# On-demand decisions view across all threads
./scripts/decisions-view.sh --status=active

# Read-side intent graph queries (v1.0.1)
./scripts/intent-graph-query.sh get_orphans
./scripts/intent-graph-query.sh get_unrealized

# Adherence visualization — sealed vs realized (v1.0.1)
./scripts/intent-adherence.sh

# Convention enforcement (version, schema, drivers, etc.)
./scripts/check-conventions.sh

# Migrate v0.9.x repo to v1.0 shapes
./scripts/migrate-to-v1.sh --apply --commit

# Bump version across all files (storytime + plugin.json + README + site)
./scripts/bump-version.sh 1.1.0