一键导入
create-stories
Break a PRD into GitHub issues across orbit-ui-mobile + orbit-api
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Break a PRD into GitHub issues across orbit-ui-mobile + orbit-api
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Deep code review of a diff across both Orbit repos against one shared rubric, orchestrating the five review subagents and a backward-compat guard. Use when the user asks to review a PR, file, folder, or staged changes in orbit-ui-mobile or orbit-api. Replaces /review and /security-review.
Get an independent cross-model second opinion (GLM-5.2 via opencode) on a specific, load-bearing technical claim or a Critical code-review finding — a different model reads the claim + code and returns AGREE / DISAGREE / UNSURE. Use to stress-test a single Critical finding, a risky assertion, or a close call before you commit to it. Auto-fired inside /pr-review on each Critical finding that survives the skeptic. Not for open-ended research (use /deep-research) or multi-lens judgement (use /llm-council).
Answer an open-ended "what's the best way to…?" question with orchestrated multi-agent deep web research. Decompose the question, fan out narrow research subagents in parallel, verify the load-bearing claims adversarially, iterate to saturation, then synthesize ONE opinionated, source-backed, decision-ready recommendation. Orbit-aware (dual-repo stack, solo-dev cost calibration). Use for technology/vendor choices, architecture & tooling decisions, cost comparisons, migration approaches, or best-practice questions — anything whose answer needs current external evidence beyond the codebase. Not for code edits, single-fact lookups, or questions answerable from the repo alone.
Create implementation plan with cross-repo codebase analysis
Prime agent with Orbit project context (both repos + optional GitHub issue)
Repo-wide code-quality audit across both Orbit repos against the same rubric /pr-review uses. Reports dead/stale code, SOLID/clean-arch violations, comment-policy breaks, DRY, naming, function size, and DESIGN.md drift — each finding evidence-backed with file:line. Use when the user asks to audit code quality, find tech debt, or check the codebase against the standards. Not for a single diff (use /pr-review).
| name | create-stories |
| description | Break a PRD into GitHub issues across orbit-ui-mobile + orbit-api |
| argument-hint | <path-to-prd> [--milestone "MVP"] [--no-create] |
Break a Product Requirements Document into independently shippable stories. Mirror them to .claude/stories/ and create GitHub issues in thomasluizon/orbit-ui-mobile (the single backlog hub).
Input: $ARGUMENTS
All Orbit issues live in thomasluizon/orbit-ui-mobile. Backend-only work is still tracked there. The repo:* label tells /implement which repo(s) to touch.
Every issue gets exactly one repo label and one type label.
| Label | Meaning |
|---|---|
repo:frontend | Touches only apps/web, apps/mobile, or packages/shared |
repo:backend | Touches only orbit-api |
repo:both | Coordinated change across front- and back-end |
type:feature | New functionality |
type:enhancement | Improvement to existing functionality |
type:bug | Bug fix |
type:tech | Infrastructure, refactor, tooling |
type:spike | Research / investigation |
Optional labels: area:auth, area:habits, area:notifications, priority:high|medium|low, parity-required (any frontend story that must update both web + mobile).
Read the PRD from $ARGUMENTS. If no path, look for:
.claude/PRDs/*.prd.mdPRD.md at project rootExtract:
Parse optional flags:
--milestone <name> — assign all issues to this milestone (created if missing)--no-create — write .claude/stories/ only, skip gh issue createFor each PRD requirement, create a story with:
As a [user type], I want to [action], so that [benefit]Given/When/Then formfrontend / backend / bothStory sizing: If a story would take more than 1-2 days, split it. A backend endpoint + its frontend consumer can be one repo:both story if small, or split into a repo:backend story that blocks a repo:frontend story.
For each story, write this markdown block (used both for the local file and the GitHub issue body):
## {Story Title}
**Type**: feature | enhancement | bug | tech | spike
**Repos**: frontend | backend | both
**Priority**: high | medium | low
**Complexity**: small | medium | large
**Phase**: (from PRD)
**Parity required**: yes | no (mark yes if frontend story must update both web and mobile)
### User Story
As a {user type}, I want to {action}, so that {benefit}.
### Acceptance Criteria
- [ ] Given {context}, when {action}, then {result}
- [ ] Given {context}, when {action}, then {result}
- [ ] Given {context}, when {action}, then {result}
### Technical Notes
- Files likely to change: {paths}
- Patterns to follow: {reference CLAUDE.md sections, e.g. "Add a new API endpoint"}
- Validation: lint, type-check, unit tests (both repos are unit-tests-only)
- For `repo:both`: backend changes first, then shared types, then frontend
- For `parity-required: yes`: update both `apps/web` and `apps/mobile`
### Dependencies
- Blocked by: #{issue} (or "none")
- Blocks: #{issue} (or "none")
Order stories by:
Before writing or creating issues:
Repos valuemkdir -p .claude/stories
Save to .claude/stories/{prd-name}.md with:
Skip this phase if --no-create was passed.
Show the summary table and ask:
About to create {N} issues in
thomasluizon/orbit-ui-mobile. Confirm?
Wait for confirmation.
gh label list --repo thomasluizon/orbit-ui-mobile
For any missing label among repo:frontend, repo:backend, repo:both, type:feature, type:enhancement, type:bug, type:tech, type:spike, parity-required, priority:high, priority:medium, priority:low, create it:
gh label create "repo:both" --repo thomasluizon/orbit-ui-mobile --color "5319e7" --description "Touches both frontend and backend"
Suggested colors: repo:* = purple, type:feature = green, type:bug = red, type:enhancement = blue, type:tech = grey, type:spike = yellow, parity-required = orange, priority:high = red, priority:medium = yellow, priority:low = grey.
--milestone passed)gh api repos/thomasluizon/orbit-ui-mobile/milestones --jq ".[] | .title"
Create if missing:
gh api repos/thomasluizon/orbit-ui-mobile/milestones -f title="{name}" -f state="open"
For each story (blockers first), write the body to a temp file and run:
gh issue create \
--repo thomasluizon/orbit-ui-mobile \
--title "{Story Title}" \
--body-file {tmp-path} \
--label "repo:both,type:feature,priority:high" \
--milestone "{milestone-name-if-any}"
Capture the returned issue URL/number.
GitHub doesn't have native blocker links, so add a "Depends on" / "Blocks" section to each issue body using the resolved issue numbers, then update:
gh issue edit {N} --repo thomasluizon/orbit-ui-mobile --body-file {tmp-path}
Alternatively, comment the dependency mapping on each issue:
gh issue comment {N} --repo thomasluizon/orbit-ui-mobile --body "Blocked by #{B}. Blocks #{C}."
## Stories Created
**PRD**: `.claude/PRDs/{name}`
**Local file**: `.claude/stories/{name}.md`
**Repo**: `thomasluizon/orbit-ui-mobile`
**Milestone**: {name or "none"}
| # | Title | Repos | Type | Priority | Complexity |
|---|-------|-------|------|----------|------------|
| #N | ... | frontend/backend/both | ... | ... | ... |
**Total**: {N} issues
**Backlog URL**: https://github.com/thomasluizon/orbit-ui-mobile/issues
### Next Steps
1. Triage and re-order in the GitHub project board
2. Pick an issue and run: `/prime <issue-number>` then `/plan <issue-number>`
repo:both story should land both PRs together (squash-merged in lockstep).parity-required: yes, the acceptance criteria must mention both apps/web and apps/mobile.