LogoSkills

product:team-create-stories

Executes the Team Story Creation workflow as the Team Lead.

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/team-create-stories

/team-create-stories โ€” ์Šคํ† ๋ฆฌ ๋ฌธ์„œ ์—ฌ๋Ÿฌ ๊ฐœ ๋™์‹œ ์ž‘์„ฑ#

ํ•œ๋งˆ๋””๋กœ#

์—ฌ๋Ÿฌ ๋ช…์˜ ์ž‘๊ฐ€์—๊ฒŒ ์ฑ•ํ„ฐ๋ฅผ ๋‚˜๋ˆ  ์ฃผ๊ณ  ๋™์‹œ์— ๊ธ€์„ ์“ฐ๊ฒŒ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋กœ ์“ฐ๋Š” ๋Œ€์‹ , AI ํŒ€์› ์—ฌ๋Ÿฌ ๋ช…์ด ์—ํ”ฝ๋ณ„๋กœ ๋‚˜๋ˆ  ๋งก์•„ ํ•œ๊บผ๋ฒˆ์— ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • ํŒ€ ๋ฆฌ๋“œ ์—ญํ• ๋กœ ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์ค€๋น„ํ•˜๋Š” ์‚ฌ๋žŒ
  • ์ž‘์„ฑํ•ด์•ผ ํ•  ์Šคํ† ๋ฆฌ๊ฐ€ 3๊ฐœ ์ด์ƒ ์—ฌ๋Ÿฌ ์—ํ”ฝ์— ๊ฑธ์ณ ์žˆ์„ ๋•Œ (ํ•œ ๊ฐœ์”ฉ ์“ฐ๋ฉด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ƒํ™ฉ)
  • ์ด๋ฏธ ์Šคํ”„๋ฆฐํŠธ ๊ณ„ํš(epic/story ๋ชฉ๋ก)๊ณผ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์„ ๋•Œ

๐Ÿ‘‰ ์ „์ œ ์กฐ๊ฑด: ์‹คํ—˜ ๊ธฐ๋Šฅ์ธ Agent Teams๊ฐ€ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1). ๊บผ์ ธ ์žˆ์œผ๋ฉด ๋ช…๋ น์ด ๋ฉˆ์ถ”๊ณ , ๋Œ€์‹  ํ•œ ๊ฐœ์”ฉ ๋งŒ๋“œ๋Š” /create-story๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๋ฌด์—‡์„ ํ•ด์ฃผ๋‚˜์š”#

  • ์Šคํ† ๋ฆฌ ๋ฌธ์„œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋™์‹œ์— ๋งŒ๋“ค์–ด .bmad/stories/STORY-{ID}.md ํŒŒ์ผ๋“ค๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํ”„๋ฆฐํŠธ ์ƒํƒœ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค(๊ฐ ์Šคํ† ๋ฆฌ๋ฅผ "defined" ์ƒํƒœ๋กœ, ๋ฌธ์„œ ๊ฒฝ๋กœ ๊ธฐ๋ก).
  • ZenHub๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด, ๋งŒ๋“ค์–ด์ง„ ์Šคํ† ๋ฆฌ๋ฅผ ZenHub์˜ Sprint Backlog๋กœ ์ž๋™ ๋“ฑ๋ก(sync)ํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ์ธํŠธ๊ฐ€ ํฐ ์Šคํ† ๋ฆฌ(๊ธฐ์ค€ ์ถฉ์กฑ ์‹œ)๋Š” ์ž‘์€ ํ•˜์œ„ ์ž‘์—…(Sub-tasks)์œผ๋กœ ์ชผ๊ฐœ์„œ ZenHub์— ํ•จ๊ป˜ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

์†Œ์š” ์‹œ๊ฐ„์€ ๋ณดํ†ต 5~15๋ถ„์ž…๋‹ˆ๋‹ค. (ํ•˜๋‚˜์”ฉ ์ˆœ์„œ๋Œ€๋กœ ์“ฐ๋ฉด ์Šคํ† ๋ฆฌ๋‹น 10~20๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.)

์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”#

# ์Šคํ† ๋ฆฌ ๋ฌธ์„œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ํŒ€์œผ๋กœ ๋™์‹œ ์ž‘์„ฑ
/team-create-stories

์‹คํ–‰ํ•˜๋ฉด ๋จผ์ € "์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ  ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ๊ณ„ํš์„ ๋ณด์—ฌ ์ฃผ๊ณ  ํ™•์ธ(y/n) ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. (์„ค์ •์—์„œ agent_teams.auto_approve_plans๊ฐ€ ์ผœ์ ธ ์žˆ์œผ๋ฉด ์ด ํ™•์ธ ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.)

์Šคํ† ๋ฆฌ๊ฐ€ 1~2๊ฐœ๋ฟ์ด๋ผ๋ฉด, ๋™์‹œ ์ž‘์„ฑ ๋Œ€์‹  ํ•œ ๊ฐœ์”ฉ ๋งŒ๋“œ๋Š” /create-story STORY-{ID} ๋˜๋Š” ์ˆœ์ฐจ ์ง„ํ–‰ /dev-story STORY-{ID}๋ฅผ ์“ฐ๋Š” ํŽธ์ด ๋‚ซ์Šต๋‹ˆ๋‹ค.

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

  1. ์‚ฌ์ „ ์ ๊ฒ€ โ€” ์„ค์ •ยท์Šคํ”„๋ฆฐํŠธ ์ƒํƒœยทAgent Teams ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ , ์•„์ง ๋ฌธ์„œ๊ฐ€ ์—†๋Š” ์Šคํ† ๋ฆฌ๋“ค์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.
  2. ์—ํ”ฝ๋ณ„๋กœ ๋ฌถ๊ธฐ โ€” ์Šคํ† ๋ฆฌ๋ฅผ ์—ํ”ฝ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ  ํŒ€์›์—๊ฒŒ ํ•œ ๋ช…๋‹น ํ•œ ์—ํ”ฝ์”ฉ ๋ฐฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์›๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์“ฐ๋ฏ€๋กœ ์ถฉ๋Œ์ด ์—†์Šต๋‹ˆ๋‹ค.
  3. ๊ณ„ํš ํ™•์ธ โ€” ๋ˆ„๊ฐ€ ์–ด๋–ค ์Šคํ† ๋ฆฌ๋ฅผ ๋งก๋Š”์ง€ ๋ณด์—ฌ ์ฃผ๊ณ  ์ง„ํ–‰ ์—ฌ๋ถ€๋ฅผ ๋ฌป์Šต๋‹ˆ๋‹ค.
  4. ํŒ€์› ํˆฌ์ž… โ€” ๊ฐ ํŒ€์›(์Šคํ† ๋ฆฌ ์ž‘์„ฑ์ž)์—๊ฒŒ ์—ํ”ฝ ์ •๋ณดยท์Šคํ† ๋ฆฌ ๋ชฉ๋กยท์•„ํ‚คํ…์ฒ˜ ์š”์•ฝ์„ ๋„˜๊ฒจ ๋™์‹œ์— ์ž‘์„ฑ์„ ์‹œ์ž‘์‹œํ‚ต๋‹ˆ๋‹ค.
  5. ์ง„ํ–‰ ์ƒํ™ฉ ์ถ”์  โ€” ์™„๋ฃŒ๋œ ํŒ€์›์˜ ๋ฌธ์„œ๊ฐ€ ์ œ๋Œ€๋กœ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€(ํ•„์ˆ˜ ํ•ญ๋ชฉ ํฌํ•จ ์—ฌ๋ถ€) ํ™•์ธํ•˜๋ฉฐ ์ง„์ฒ™๋„๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  6. ์ƒํƒœ ๊ฐฑ์‹ ยท๋™๊ธฐํ™” โ€” ๋ชจ๋“  ํŒ€์›์ด ๋๋‚˜๋ฉด ํŒ€ ๋ฆฌ๋“œ๊ฐ€ ์Šคํ”„๋ฆฐํŠธ ์ƒํƒœ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๊ฐฑ์‹ ํ•˜๊ณ , ZenHub์— ์Šคํ† ๋ฆฌยทํ•˜์œ„ ์ž‘์—…์„ ๋“ฑ๋กํ•œ ๋’ค ์ตœ์ข… ์š”์•ฝ์„ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Workflow Overview#

Goal: Create multiple story documents in parallel using Agent Teams

Phase: 4 - Implementation (Parallel Story Definition)

Agent: Team Lead

Inputs: Sprint plan with epic/story list, architecture document

Output: Multiple .bmad/stories/STORY-{ID}.md files, updated sprint status

Duration: 5-15 minutes (parallel vs 10-20 min per story sequential)

When to use: When you have 3+ stories to document across multiple epics

Prerequisite: Agent Teams must be enabled (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)


Pre-Flight#

  1. Load context per helpers.md#Combined-Config-Load
  2. Check sprint status per helpers.md#Load-Sprint-Status
  3. Check Agent Teams per helpers.md#Check-Agent-Teams-Available
  4. If teams_available = false:
    • Output:
            โš  Agent Teams not available.
      
      Agent Teams is an experimental feature that requires:
        CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
      
      Sequential alternative:
        Use /create-story STORY-{ID} to create stories one at a time.
      
    • Stop workflow (do not proceed)
  5. Load sprint plan: Read .bmad/sprint-plan-*.md
  6. Load architecture (if Level 2+): Read .bmad/architecture-*.md
  7. Load ZenHub context per helpers.md#Load-ZenHub-Context
  8. Identify stories to create:
    • Find all stories without story documents (no .bmad/stories/STORY-{ID}.md)
    • Or accept user-specified story IDs as input
  9. Load max_teammates from config agent_teams.max_teammates (default: 3)
  10. Check sub-task support:
    • If zh_sub_tasks_enabled: Stories with 5+ points will include auto-generated sub-tasks

Part 1: Group Stories by Epic#

Organize stories for parallel creation:

  1. Group by epic:

        Epic 1  " {name} " : STORY-001, STORY-002, STORY-003
    Epic 2  " {name} " : STORY-004, STORY-005
    Epic 3  " {name} " : STORY-006, STORY-007, STORY-008
    
  2. Assign epics to teammates:

    • Each teammate handles one epic's stories
    • If more epics than max_teammates: combine smallest epics
    • No file conflicts: each teammate writes different STORY-{ID}.md files
  3. Display plan:

        Story Creation Plan:
    
    Teammate 1 (Story Creator):
      Epic:  " {epic_1_name} " 
       Stories: STORY-001, STORY-002, STORY-003
      Output: .bmad/stories/STORY-001.md, STORY-002.md, STORY-003.md
    
    Teammate 2 (Story Creator):
      Epic:  " {epic_2_name} " 
       Stories: STORY-004, STORY-005
      Output: .bmad/stories/STORY-004.md, STORY-005.md
    
    Total: {count} stories across {count} teammates
    
    Proceed? (y/n)
    

Wait for user confirmation.

If config.agent_teams.auto_approve_plans = true, skip confirmation.


Part 2: Spawn Story Creators#

Step 1: Create shared task list per helpers.md#Create-Team-Task-List:

For each teammate:

TaskCreate:
  subject:  " Story Creator: Create stories for Epic {epic_name} " 
   description: Story IDs, epic context, architecture summary
  activeForm:  " Creating stories for {epic_name} "

Step 2: Spawn teammates per helpers.md#Spawn-BMAD-Teammate:

For each teammate:

  • role: "story-creator"
  • context:
    • Epic details (name, description, goals)
    • Story IDs and titles from sprint plan
    • Architecture key sections (relevant to this epic)
    • Story template (standard BMAD format)

Each teammate creates stories independently โ€” no file conflicts since each writes to unique .bmad/stories/STORY-{ID}.md paths.

Sub-task generation context (if zh_sub_tasks_enabled): Include in each teammate's context:

  • "For stories with {min_story_points}+ points, include a Sub-tasks section"
  • "Sub-tasks should be discrete implementation units (1-4 hours each)"
  • "Categories: Implementation, Validation, Testing"
  • Teammates generate sub-task lists in story documents; Lead syncs to ZenHub in Part 4

Part 3: Monitor & Collect#

Monitor teammate progress:

  1. Poll task status:

        Call TaskList
    Display progress: {completed}/{total} teammates done
    
  2. On teammate completion:

    • Verify story documents exist at expected paths
    • Quick validation: check each story has required sections (User Story, Acceptance Criteria, Technical Notes, Story Points)
  3. Display progress:

        Story Creation Progress:
    
    Teammate 1: โœ“ Complete
      โœ“ STORY-001.md (5 acceptance criteria, 3 points)
      โœ“ STORY-002.md (4 acceptance criteria, 5 points)
      โœ“ STORY-003.md (6 acceptance criteria, 8 points)
    
    Teammate 2: ๐Ÿ”„ In Progress
      โœ“ STORY-004.md (3 acceptance criteria, 2 points)
      โณ STORY-005.md ...
    

Part 4: Update Status & Sync#

After all teammates complete:

Step 1: Update sprint status (Lead-only batch update):

Per helpers.md#Update-Sprint-Status:

For each created story:
  - Update status:  " defined " 
   - Add story_document path
  - Verify story_points match sprint plan

Step 2: Sync to ZenHub (if available):

If zh_available:
  For each created story:
    1. Build story body from document content
    2. Call helpers.md#Sync-Story-to-ZenHub:
       - story_title, story_body, story_points
       - zh_epic_id (parent epic)
       - pipeline_id: Sprint Backlog
    3. Call helpers.md#Store-ZenHub-Cross-Reference:
       - Update story document with ZenHub link
       - Update sprint-status.yaml with zh_issue_id
    4. Log:  " โœ“ Synced STORY-{ID} โ†’ ZenHub #{issue_number} " 

   If zh_sub_tasks_enabled:
    For each story with sub-tasks in its document:
      5. For each sub-task:
         a. Generate sub-task body per helpers.md#Generate-Sub-task-Body
         b. Call helpers.md#Sync-Sub-task-to-ZenHub:
            - sub_task_title, sub_task_body
            - zh_story_id (parent, from step 2 above)
         c. Store zh_sub_task_id in sprint-status sub_tasks array
         d. Log:  "    โœ“ Sub-task: #{sub_issue_number} (parent: #{story_number}) "

Step 3: Display summary:

โœ“ Team Story Creation Complete!

Stories Created: {count}/{total}

Epic  " {name} " :
  STORY-001: {title} ({points} pts, {criteria_count} Acceptance Criteria)
  STORY-002: {title} ({points} pts, {criteria_count} Acceptance Criteria)
  STORY-003: {title} ({points} pts, {criteria_count} Acceptance Criteria)

Epic  " {name} " :
  STORY-004: {title} ({points} pts, {criteria_count} Acceptance Criteria)
  STORY-005: {title} ({points} pts, {criteria_count} Acceptance Criteria)

Total Story Points: {sum}
Documents: .bmad/stories/

ZenHub: {count} stories synced to Sprint Backlog  (if zh_available)
ZenHub: {count} sub-tasks synced  (if sub-tasks created)

Next Steps:
  1. Review stories: Read .bmad/stories/STORY-{ID}.md
  2. Start development: /team-dev (parallel) or /dev-story STORY-{ID} (sequential)

Helper References#

  • Load config: helpers.md#Combined-Config-Load
  • Load sprint status: helpers.md#Load-Sprint-Status
  • Update sprint status: helpers.md#Update-Sprint-Status
  • Check Agent Teams: helpers.md#Check-Agent-Teams-Available
  • Spawn teammate: helpers.md#Spawn-BMAD-Teammate
  • Create team tasks: helpers.md#Create-Team-Task-List
  • Collect results: helpers.md#Collect-Team-Results
  • ZenHub context: helpers.md#Load-ZenHub-Context
  • Sync story: helpers.md#Sync-Story-to-ZenHub
  • Sync sub-task: helpers.md#Sync-Sub-task-to-ZenHub
  • Generate sub-task body: helpers.md#Generate-Sub-task-Body
  • Store xref: helpers.md#Store-ZenHub-Cross-Reference

Notes for LLMs#

  • ALWAYS check Agent Teams availability first (Pre-Flight step 3-4)
  • If teams not available, suggest /create-story and STOP
  • No file conflicts possible: each teammate writes unique STORY-{ID}.md files
  • Sprint-status.yaml updates are Lead-only: batch update after ALL teammates complete
  • ZenHub sync is also batched after teammates complete (Lead handles all syncing)
  • Story documents must follow standard BMAD template format
  • Validate each story has required sections before accepting
  • If a teammate fails, its stories can be created manually with /create-story
  • Sub-task generation is included in teammate context when zh_sub_tasks_enabled
  • Sub-task ZenHub sync is batched by Lead after all teammates complete (not by teammates)
  • Sub-tasks are only generated for stories meeting min_story_points threshold

Remember: Story creation is inherently parallelizable since each story is an independent document. The main value is time savings when creating 3+ stories.