一键导入
play-story
Put a story "in play" by fetching it from GitHub Projects, gathering NFRs, collecting context, and creating ADRs as needed. Invokable with /play-story.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Put a story "in play" by fetching it from GitHub Projects, gathering NFRs, collecting context, and creating ADRs as needed. Invokable with /play-story.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Injects project context (AGENT_DOCS_DIR, active story) before every skill invocation via PreToolUse hook.
Discover skills in this marketplace that match your workflow. Accepts a workload or task description, scans all released skills, and recommends the best matches with install commands. Use when users ask 'what skills are available', 'find a skill for X', 'which skill helps me with Y', 'what can I install', or 'recommend skills for my workflow'.
Collect non-functional requirements through interactive Q&A. Asks targeted questions about performance, scalability, security, reliability, and cost constraints. Invokable with /gather-nfr.
Validates business requirements compliance - generates OpenAPI specs, creates contract tests, and ensures acceptance criteria alignment
Hypothesis-driven bug investigation with mandatory regression tests
Create git commits with configurable numbering (issue-based or sequential). Analyzes staged changes and generates commit messages following project conventions. Optionally creates GitHub issues if no active story exists.
| name | play-story |
| description | Put a story "in play" by fetching it from GitHub Projects, gathering NFRs, collecting context, and creating ADRs as needed. Invokable with /play-story. |
Orchestrates the complete story preparation workflow:
/github:story-fetch/arch:gather-nfr/scout:gather-context/arch:create-adrPrimary entry point for developers starting work on a new story.
git fetch origin master
CURRENT_BRANCH=$(git branch --show-current)
if ! git diff-index --quiet HEAD --; then
git stash push -u -m "Auto-stash before pulling master (play-story)"
STASHED=true
fi
git checkout master && git pull origin master
[ "$CURRENT_BRANCH" != "master" ] && git checkout "$CURRENT_BRANCH"
[ "$STASHED" = "true" ] && git stash pop
echo "✓ Master branch updated"
STORY_FILE="$CLAUDE_PROJECT_DIR/${AGENT_DOCS_DIR:-docs}/active-story.yaml"
[ -f "$STORY_FILE" ] && ACTIVE_STORY_EXISTS=true || ACTIVE_STORY_EXISTS=false
If active story exists, prompt:
⚠️ Active story in progress: #123 - Implement payment checkout
[1] Continue with current story
[2] Switch to a different story
[3] View current story details
[4] Cancel
If switching, archive the current story:
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
mv "$STORY_FILE" "${STORY_FILE%.yaml}-${TIMESTAMP}.yaml"
→ Step 2/5: Fetching next Ready story from GitHub Projects
Invoke skill: github:story-fetch
Expected: $AGENT_DOCS_DIR/active-story.yaml created, GitHub status → "In Progress".
If fetch fails, display error and exit. Configuration required — see references/configuration.md.
→ Step 3/5: Collecting non-functional requirements
Invoke skill: arch:gather-nfr
Expected: interactive Q&A, NFRs saved to active-story.yaml.
If incomplete, offer: continue without NFRs / retry / cancel.
→ Step 4/5: Gathering technical context
Invoke skill: scout:gather-context
Expected: docs, codebase, ADRs searched; context saved to active-story.yaml.
If incomplete, offer: continue with partial context / retry / cancel.
→ Step 5/5: Creating Architecture Decision Record
Determine if ADR is needed from story labels, NFRs, and context. If yes, invoke skill: arch:create-adr.
Expected: ADR file created in $ADR_DIR, reference saved to active-story.yaml.
If creation fails, offer: continue without ADR / retry / cancel.
Display complete story preparation. See references/output-format.md for full format.
What would you like to do next?
[1] Start implementation (open ADR + story in editor)
[2] Review ADR before starting
[3] View story details in browser
[4] Create feature branch
[5] Nothing
Choice:
| Choice | Action |
|---|---|
| 1 | Open ADR file and GitHub issue URL |
| 2 | Read and display ADR file |
| 3 | open <story URL> |
| 4 | git checkout -b feature/[story-slug]-[timestamp] |
| 5 | Exit |
| Error | Response |
|---|---|
| Configuration missing | ❌ Configuration not found. See references/configuration.md |
| GitHub auth failed | ❌ Run: gh auth login |
| No Ready stories | ℹ️ No Ready stories in project. Add stories and set Status=Ready. |
| Workflow interrupted | Save partial progress; show completed/pending steps; offer resume instructions |
| Skill execution failed | Show error, troubleshooting tips, and partial progress |
Full error details and troubleshooting: references/troubleshooting.md.
See references/configuration.md for required .claude/story-workflow-config.json schema.
/play-story (this skill)
↓
├── /github:story-fetch
├── /arch:gather-nfr
├── /scout:gather-context
└── /arch:create-adr (conditional)
Then: implement → /git:commit → /github:pull-request
Run skills individually when you only need one step:
/github:story-fetch # just fetch
/arch:gather-nfr # just NFRs
/scout:gather-context # just context
/arch:create-adr # just ADR
Use /play-story when starting work on a new story, beginning a development session, or switching stories.
Skip /play-story when you already have an active story prepared or only need one step — run that skill directly instead.
Archive management:
ls -t "$CLAUDE_PROJECT_DIR/${AGENT_DOCS_DIR:-docs}/active-story-"*.yaml | tail -n +6 | xargs rm