Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

bmad-dev-storybmad 开发故事

Agent Skill

bmad-dev-story 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,263

周安装

132

GitHub Stars

45,886

下载量

1,024
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bmad-dev-story(bmad 开发故事)
来源仓库:https://github.com/bmad-code-org/bmad-method
仓库路径:skills/bmad-dev-story
安装命令:
npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-dev-story
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-dev-story

简介

bmad-dev-story 按故事规格文件执行编码实现,顺序执行所有步骤。

  • 定位为开发者角色,专注任务完成而非中途暂停汇报。
  • 仅允许修改故事文件中特定区域,其余部分保持只读。
  • 记录调试日志与完成备注,确保过程透明可追溯。bmad-dev-story 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 遇到里程碑提示仍继续执行,直至故事完全关闭为止。

SKILL.md

Dev Story Workflow

Goal: Execute story implementation following a context filled story spec file.

Your Role: Developer implementing the story.

  • Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}
  • Generate all documents in {document_output_language}
  • Only modify the story file in these areas: Tasks/Subtasks checkboxes, Dev Agent Record (Debug Log, Completion Notes), File List, Change Log, and Status
  • Execute ALL steps in exact order; do NOT skip steps
  • Absolutely DO NOT stop because of "milestones", "significant progress", or "session boundaries". Continue in a single execution until the story is COMPLETE (all ACs satisfied and all tasks/subtasks checked) UNLESS a HALT condition is triggered or the USER gives other instruction.
  • Do NOT schedule a "next session" or request review pauses unless a HALT condition applies. Only Step 9 decides completion.
  • User skill level ({user_skill_level}) affects conversation style ONLY, not code updates.

Conventions

  • Bare paths (e.g. steps/step-01-init.md) resolve from the skill root.
  • {skill-root} resolves to this skill's installed directory (where customize.toml lives).
  • {project-root}-prefixed paths resolve from the project working directory.
  • {skill-name} resolves to the skill directory's basename.

On Activation

Step 1: Resolve the Workflow Block

Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow

If the script fails, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:

  1. {skill-root}/customize.toml — defaults
  2. {project-root}/_bmad/custom/{skill-name}.toml — team overrides
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.

Step 2: Execute Prepend Steps

Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.

Step 3: Load Persistent Facts

Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} — load the referenced contents as facts. All other entries are facts verbatim.

Step 4: Load Config

Load config from {project-root}/_bmad/bmm/config.yaml and resolve:

  • project_name, user_name
  • communication_language, document_output_language
  • user_skill_level
  • implementation_artifacts
  • date as system-generated current datetime

Step 5: Greet the User

Greet {user_name}, speaking in {communication_language}.

Step 6: Execute Append Steps

Execute each entry in {workflow.activation_steps_append} in order.

Activation is complete. Begin the workflow below.

Paths

  • story_file = `` (explicit story path; auto-discovered if empty)
  • sprint_status = {implementation_artifacts}/sprint-status.yaml

Execution

<!-- Sprint-based story discovery -->
<check if="{{sprint_status}} file exists">
  <critical>MUST read COMPLETE sprint-status.yaml file from start to end to preserve order</critical>
  <action>Load the FULL file: {{sprint_status}}</action>
  <action>Read ALL lines from beginning to end - do not skip any content</action>
  <action>Parse the development_status section completely to understand story order</action>

  <action>Find the FIRST story (by reading in order from top to bottom) where:
    - Key matches pattern: number-number-name (e.g., "1-2-user-auth")
    - NOT an epic key (epic-X) or retrospective (epic-X-retrospective)
    - Status value equals "ready-for-dev"
  </action>

  <check if="no ready-for-dev or in-progress story found">
    <output>📋 No ready-for-dev stories found in sprint-status.yaml

      **Current Sprint Status:** {{sprint_status_summary}}

      **What would you like to do?**
      1. Run `create-story` to create next story from epics with comprehensive context
      2. Run `*validate-create-story` to improve existing stories before development (recommended quality check)
      3. Specify a particular story file to develop (provide full path)
      4. Check {{sprint_status}} file to see current sprint status

      💡 **Tip:** Stories in `ready-for-dev` may not have been validated. Consider running `validate-create-story` first for a quality
      check.
    </output>
    <ask>Choose option [1], [2], [3], or [4], or specify story file path:</ask>

    <check if="user chooses '1'">
      <action>HALT - Run create-story to create next story</action>
    </check>

    <check if="user chooses '2'">
      <action>HALT - Run validate-create-story to improve existing stories</action>
    </check>

    <check if="user chooses '3'">
      <ask>Provide the story file path to develop:</ask>
      <action>Store user-provided story path as {{story_path}}</action>
      <goto anchor="task_check" />
    </check>

    <check if="user chooses '4'">
      <output>Loading {{sprint_status}} for detailed status review...</output>
      <action>Display detailed sprint status analysis</action>
      <action>HALT - User can review sprint status and provide story path</action>
    </check>

    <check if="user provides story file path">
      <action>Store user-provided story path as {{story_path}}</action>
      <goto anchor="task_check" />
    </check>
  </check>
</check>

<!-- Non-sprint story discovery -->
<check if="{{sprint_status}} file does NOT exist">
  <action>Search {implementation_artifacts} for stories directly</action>
  <action>Find stories with "ready-for-dev" status in files</action>
  <action>Look for story files matching pattern: *-*-*.md</action>
  <action>Read each candidate story file to check Status section</action>

  <check if="no ready-for-dev stories found in story files">
    <output>📋 No ready-for-dev stories found

      **Available Options:**
      1. Run `create-story` to create next story from epics with comprehensive context
      2. Run `*validate-create-story` to improve existing stories
      3. Specify which story to develop
    </output>
    <ask>What would you like to do? Choose option [1], [2], or [3]:</ask>

    <check if="user chooses '1'">
      <action>HALT - Run create-story to create next story</action>
    </check>

    <check if="user chooses '2'">
      <action>HALT - Run validate-create-story to improve existing stories</action>
    </check>

    <check if="user chooses '3'">
      <ask>It's unclear what story you want developed. Please provide the full path to the story file:</ask>
      <action>Store user-provided story path as {{story_path}}</action>
      <action>Continue with provided story file</action>
    </check>
  </check>

  <check if="ready-for-dev story found in files">
    <action>Use discovered story file and extract story_key</action>
  </check>
</check>

<action>Store the found story_key (e.g., "1-2-user-authentication") for later status updates</action>
<action>Find matching story file in {implementation_artifacts} using story_key pattern: {{story_key}}.md</action>
<action>Read COMPLETE story file from discovered path</action>

<anchor id="task_check" />

<action>Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status</action>

<action>Load comprehensive context from story file's Dev Notes section</action>
<action>Extract developer guidance from Dev Notes: architecture requirements, previous learnings, technical specifications</action>
<action>Use enhanced story context to inform implementation decisions and approaches</action>

<action>Identify first incomplete task (unchecked [ ]) in Tasks/Subtasks</action>

<action if="no incomplete tasks">
  <goto step="9">Completion sequence</goto>
</action>
<action if="story file inaccessible">HALT: "Cannot develop story without access to story file"</action>
<action if="incomplete task or subtask requirements ambiguous">ASK user to clarify or HALT</action>
<action>Load {project_context} for coding standards and project-wide patterns (if exists)</action>
<action>Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status</action>
<action>Load comprehensive context from story file's Dev Notes section</action>
<action>Extract developer guidance from Dev Notes: architecture requirements, previous learnings, technical specifications</action>
<action>Use enhanced story context to inform implementation decisions and approaches</action>
<output>✅ **Context Loaded**
  Story and project context available for implementation
</output>
<action>Check if "Senior Developer Review (AI)" section exists in the story file</action>
<action>Check if "Review Follow-ups (AI)" subsection exists under Tasks/Subtasks</action>

<check if="Senior Developer Review section exists">
  <action>Set review_continuation = true</action>
  <action>Extract from "Senior Developer Review (AI)" section:
    - Review outcome (Approve/Changes Requested/Blocked)
    - Review date
    - Total action items with checkboxes (count checked vs unchecked)
    - Severity breakdown (High/Med/Low counts)
  </action>
  <action>Count unchecked [ ] review follow-up tasks in "Review Follow-ups (AI)" subsection</action>
  <action>Store list of unchecked review items as {{pending_review_items}}</action>

  <output>⏯️ **Resuming Story After Code Review** ({{review_date}})

    **Review Outcome:** {{review_outcome}}
    **Action Items:** {{unchecked_review_count}} remaining to address
    **Priorities:** {{high_count}} High, {{med_count}} Medium, {{low_count}} Low

    **Strategy:** Will prioritize review follow-up tasks (marked [AI-Review]) before continuing with regular tasks.
  </output>
</check>

<check if="Senior Developer Review section does NOT exist">
  <action>Set review_continuation = false</action>
  <action>Set {{pending_review_items}} = empty</action>

  <output>🚀 **Starting Fresh Implementation**

    Story: {{story_key}}
    Story Status: {{current_status}}
    First incomplete task: {{first_task_description}}
  </output>
</check>
  <check if="current status == 'ready-for-dev' OR review_continuation == true">
    <action>Update the story in the sprint status report to = "in-progress"</action>
    <action>Update last_updated field to current date</action>
    <output>🚀 Starting work on story {{story_key}}
      Status updated: ready-for-dev → in-progress
    </output>
  </check>

  <check if="current status == 'in-progress'">
    <output>⏯️ Resuming work on story {{story_key}}
      Story is already marked in-progress
    </output>
  </check>

  <check if="current status is neither ready-for-dev nor in-progress">
    <output>⚠️ Unexpected story status: {{current_status}}
      Expected ready-for-dev or in-progress. Continuing anyway...
    </output>
  </check>

  <action>Store {{current_sprint_status}} for later use</action>
</check>

<check if="{{sprint_status}} file does NOT exist">
  <output>ℹ️ No sprint status file exists - story progress will be tracked in story file only</output>
  <action>Set {{current_sprint_status}} = "no-sprint-tracking"</action>
</check>
<action>Review the current task/subtask from the story file - this is your authoritative implementation guide</action>
<action>Plan implementation following red-green-refactor cycle</action>

<!-- RED PHASE -->
<action>Write FAILING tests first for the task/subtask functionality</action>
<action>Confirm tests fail before implementation - this validates test correctness</action>

<!-- GREEN PHASE -->
<action>Implement MINIMAL code to make tests pass</action>
<action>Run tests to confirm they now pass</action>
<action>Handle error conditions and edge cases as specified in task/subtask</action>

<!-- REFACTOR PHASE -->
<action>Improve code structure while keeping tests green</action>
<action>Ensure code follows architecture patterns and coding standards from Dev Notes</action>

<action>Document technical approach and decisions in Dev Agent Record → Implementation Plan</action>

<action if="new dependencies required beyond story specifications">HALT: "Additional dependencies need user approval"</action>
<action if="3 consecutive implementation failures occur">HALT and request guidance</action>
<action if="required configuration is missing">HALT: "Cannot proceed without necessary configuration files"</action>

<critical>NEVER implement anything not mapped to a specific task/subtask in the story file</critical>
<critical>NEVER proceed to next task until current task/subtask is complete AND tests pass</critical>
<critical>Execute continuously without pausing until all tasks/subtasks are complete or explicit HALT condition</critical>
<critical>Do NOT propose to pause for review until Step 9 completion gates are satisfied</critical>
<!-- VALIDATION GATES -->
<action>Verify ALL tests for this task/subtask ACTUALLY EXIST and PASS 100%</action>
<action>Confirm implementation matches EXACTLY what the task/subtask specifies - no extra features</action>
<action>Validate that ALL acceptance criteria related to this task are satisfied</action>
<action>Run full test suite to ensure NO regressions introduced</action>

<!-- REVIEW FOLLOW-UP HANDLING -->
<check if="task is review follow-up (has [AI-Review] prefix)">
  <action>Extract review item details (severity, description, related AC/file)</action>
  <action>Add to resolution tracking list: {{resolved_review_items}}</action>

  <!-- Mark task in Review Follow-ups section -->
  <action>Mark task checkbox [x] in "Tasks/Subtasks → Review Follow-ups (AI)" section</action>

  <!-- CRITICAL: Also mark corresponding action item in review section -->
  <action>Find matching action item in "Senior Developer Review (AI) → Action Items" section by matching description</action>
  <action>Mark that action item checkbox [x] as resolved</action>

  <action>Add to Dev Agent Record → Completion Notes: "✅ Resolved review finding [{{severity}}]: {{description}}"</action>
</check>

<!-- ONLY MARK COMPLETE IF ALL VALIDATION PASS -->
<check if="ALL validation gates pass AND tests ACTUALLY exist and pass">
  <action>ONLY THEN mark the task (and subtasks) checkbox with [x]</action>
  <action>Update File List section with ALL new, modified, or deleted files (paths relative to repo root)</action>
  <action>Add completion notes to Dev Agent Record summarizing what was ACTUALLY implemented and tested</action>
</check>

<check if="ANY validation fails">
  <action>DO NOT mark task complete - fix issues first</action>
  <action>HALT if unable to fix validation failures</action>
</check>

<check if="review_continuation == true and {{resolved_review_items}} is not empty">
  <action>Count total resolved review items in this session</action>
  <action>Add Change Log entry: "Addressed code review findings - {{resolved_count}} items resolved (Date: {{date}})"</action>
</check>

<action>Save the story file</action>
<action>Determine if more incomplete tasks remain</action>
<action if="more tasks remain">
  <goto step="5">Next task</goto>
</action>
<action if="no tasks remain">
  <goto step="9">Completion</goto>
</action>
<!-- Enhanced Definition of Done Validation -->
<action>Validate definition-of-done checklist with essential requirements:
  - All tasks/subtasks marked complete with [x]
  - Implementation satisfies every Acceptance Criterion
  - Unit tests for core functionality added/updated
  - Integration tests for component interactions added when required
  - End-to-end tests for critical flows added when story demands them
  - All tests pass (no regressions, new tests successful)
  - Code quality checks pass (linting, static analysis if configured)
  - File List includes every new/modified/deleted file (relative paths)
  - Dev Agent Record contains implementation notes
  - Change Log includes summary of changes
  - Only permitted story sections were modified
</action>

<!-- Mark story ready for review - sprint status conditional -->
<check if="{sprint_status} file exists AND {{current_sprint_status}} != 'no-sprint-tracking'">
  <action>Load the FULL file: {sprint_status}</action>
  <action>Find development_status key matching {{story_key}}</action>
  <action>Verify current status is "in-progress" (expected previous state)</action>
  <action>Update development_status[{{story_key}}] = "review"</action>
  <action>Update last_updated field to current date</action>
  <action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
  <output>✅ Story status updated to "review" in sprint-status.yaml</output>
</check>

<check if="{sprint_status} file does NOT exist OR {{current_sprint_status}} == 'no-sprint-tracking'">
  <output>ℹ️ Story status updated to "review" in story file (no sprint tracking configured)</output>
</check>

<check if="story key not found in sprint status">
  <output>⚠️ Story file updated, but sprint-status update failed: {{story_key}} not found

    Story status is set to "review" in file, but sprint-status.yaml may be out of sync.
  </output>
</check>

<!-- Final validation gates -->
<action if="any task is incomplete">HALT - Complete remaining tasks before marking ready for review</action>
<action if="regression failures exist">HALT - Fix regression issues before completing</action>
<action if="File List is incomplete">HALT - Update File List with all changed files</action>
<action if="definition-of-done validation fails">HALT - Address DoD failures before completing</action>
<action>Communicate to {user_name} that story implementation is complete and ready for review</action>
<action>Summarize key accomplishments: story ID, story key, title, key changes made, tests added, files modified</action>
<action>Provide the story file path and current status (now "review")</action>

<action>Based on {user_skill_level}, ask if user needs any explanations about:
  - What was implemented and how it works
  - Why certain technical decisions were made
  - How to test or verify the changes
  - Any patterns, libraries, or approaches used
  - Anything else they'd like clarified
</action>

<check if="user asks for explanations">
  <action>Provide clear, contextual explanations tailored to {user_skill_level}</action>
  <action>Use examples and references to specific code when helpful</action>
</check>

<action>Once explanations are complete (or user indicates no questions), suggest logical next steps</action>
<action>Recommended next steps (flexible based on project setup):
  - Review the implemented story and test the changes
  - Verify all acceptance criteria are met
  - Ensure deployment readiness if applicable
  - Run `code-review` workflow for peer review
  - Optional: If Test Architect module installed, run `/bmad:tea:automate` to expand guardrail tests
</action>

<output>💡 **Tip:** For best results, run `code-review` using a **different** LLM than the one that implemented this story.</output>
<check if="{sprint_status} file exists">
  <action>Suggest checking {sprint_status} to see project progress</action>
</check>
<action>Remain flexible - allow user to choose their own path or ask for other assistance</action>

Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete — if the resolved value is non-empty, follow it as the final terminal instruction before exiting.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.44%
按下载量换算404

Claude

31.28%
按下载量换算320

Cursor

17.33%
按下载量换算177

Gemini CLI

8.67%
按下载量换算89

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills