armelhbobdad/bmad-module-skill-forge

GitHub: armelhbobdad/bmad-module-skill-forge

一个将代码仓库转化为经过 AST 验证、版本锁定、可溯源的 Agent 技能包的 BMad 模块,主打零幻觉的技能编译能力。

Stars: 4 | Forks: 1

Skill Forge Logo # Skill Forge (SKF) **Agent Skill Compiler — AST 验证,版本锁定,零幻觉** [![Quality & Validation](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f5161e6e97181151.svg)](https://github.com/armelhbobdad/bmad-module-skill-forge/actions/workflows/quality.yaml) [![npm](https://img.shields.io/npm/v/bmad-module-skill-forge)](https://www.npmjs.com/package/bmad-module-skill-forge) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![BMad Module](https://img.shields.io/badge/BMad-module-blue)](https://github.com/bmad-code-org/BMAD-METHOD) [![Docs](https://img.shields.io/badge/docs-online-green)](https://armelhbobdad.github.io/bmad-module-skill-forge/) *将代码仓库、文档和开发者交流转化为符合 [agentskills.io](https://agentskills.io) 标准的 agent skills,并提供 AST 支持的溯源能力。*
SKF 是一个独立的 BMAD 模块,提供单一专家 agent(Ferris,Skill Architect & Integrity Guardian)以及涵盖源码分析、skill 简报、AST 支持的编译、完整性测试和生态就绪导出的十种工作流,覆盖渐进式能力层级(Quick/Forge/Deep)。 ## 为什么选择 SKF - 带有行级溯源的 AST 验证指令 —— 杜绝幻觉指导 - 渐进式能力模型,适应开发者的当前水平 - 全生命周期:发现、简报、编译、测试、审计、更新、导出 - 版本锁定的 skills,追踪源码变更并检测漂移 - 零幻觉容忍 —— 每条指令均可追溯至代码 ## BMad 如何运作 BMad 之所以有效,是因为它将庞大、模糊的工作转化为**可重复的工作流**。每个工作流被分解为具有清晰指令的小步骤,因此 AI 每次都遵循相同的路径。它还使用**共享知识库**(标准和模式),确保输出一致而非随机。简而言之:**结构化步骤 + 共享标准 = 可靠结果**。 ## SKF 如何融入其中 SKF 像专家融入团队一样接入 BMad。它使用同样的分步工作流引擎和共享标准,但专注于 skill 编译和质量保证。这意味着您将获得**基于证据的 agent skills**、**AST 验证的指令**以及**漂移检测**,并与 BMad 流程的其余部分保持一致。 ## 架构与流程 BMad 是一个小型的 **agent + workflow 引擎**。没有外部编排器 —— 一切都通过结构化指令在 LLM 上下文窗口内运行。 ### 构建块 每个工作流目录包含这些文件,每个文件都有特定职责: | File | 作用 | 加载时机 | |---------------------------|---------------------------------------------------------------------------------------------------------------------|---------------------------------------------------| | `forger.agent.yaml` | 专家角色 —— 身份、原则、关键动作、触发菜单 | 最先 —— 始终在上下文中 | | `workflow.md` | 人类可读入口点 —— 目标、模式菜单 (Create/Edit/Validate)、路由到第一步 | 其次 —— 展示模式选择 | | `steps-c/*.md` | **Create** 步骤 —— 主执行流程,4-9 个顺序文件 | 逐个加载 (即时) | | `data/*.md` | 工作流特定参考数据 —— schemas、启发式规则、规则、模式 | 步骤按需读取 | | `templates/*.md` | 带有占位符变量的输出骨架 —— 步骤填充这些内容以生成最终工件 | 步骤生成输出时读取 | | `skf-knowledge-index.csv` | 知识片段索引 —— id、名称、标签、层级、文件路径 | 步骤读取以决定加载哪些片段 | | `knowledge/*.md` | 8 个可复用片段 —— 横切原则和模式 (例如,`zero-hallucination.md`, `confidence-tiers.md`) | 当步骤指示时选择性地读入上下文 | ``` flowchart LR U[User] --> A[Agent Persona] A --> W[Workflow Entry: workflow.md] W --> S[Step Files: steps-c/] S --> K[Knowledge Fragments
skf-knowledge-index.csv → knowledge/*.md] S --> D[Data & Templates
data/*.md, templates/*.md] S --> O[Outputs: skills/reports
when a step writes output] ``` ### 运行时如何工作 1. **触发** —— 用户输入 `@Ferris CS` (或模糊匹配如 `create-skill`)。`forger.agent.yaml` 中的 agent 菜单将触发器映射到工作流路径。 2. **Agent 加载** —— `forger.agent.yaml` 将角色(身份、原则、关键动作)注入上下文窗口。边车文件 (`forge-tier.yaml`, `preferences.yaml`) 被加载以保持持久状态。 3. **工作流加载** —— `workflow.md` 展示模式选择并路由到第一个步骤文件。 4. **逐步执行** —— 只有当前步骤文件在上下文中 (即时加载)。每个步骤明确指定下一个步骤。LLM 读取、执行、保存输出,然后加载下一步。未来步骤永远不会被预加载。 5. **知识注入** —— 步骤查询 `skf-knowledge-index.csv` 并根据标签和相关性从 `knowledge/` 选择性加载片段。横切原则(零幻觉、置信度层级、溯源)仅在步骤指示时加载 —— 不预加载。 6. **数据注入** —— 步骤根据需要读取 `data/*.md` 文件(schemas、启发式规则、提取模式)。这是刻意的上下文工程:只有与当前步骤相关的数据进入上下文窗口。 7. **模板** —— 当步骤产生输出(例如,skill 简报或测试报告)时,它读取模板文件并用计算结果填充占位符。模板提供一致的结构;步骤提供内容。 8. **进度追踪** —— 每个步骤追加到带有状态追踪的输出文件。恢复模式读取此状态并路由到下一个未完成的步骤。 ### Ferris 操作模式 Ferris 在四种工作流驱动的模式下运行(模式由运行中的工作流决定,而非对话状态): | Mode | Workflows | 行为 | |---------------|----------------|-------------------------------------------------------------| | **Architect** | AN, BS, SF | 探索性、组装 —— 发现结构和范围 | | **Surgeon** | CS, QS, SS, US | 精确、保留 —— 带溯源地提取和编译 | | **Audit** | AS, TS | 审判性、评分 —— 评估质量并检测漂移 | | **Delivery** | EX | 打包、生态就绪 —— 捆绑以供分发 | ## 安装 需要 [Node.js](https://nodejs.org/) >= 22。 根据您的设置,有三种安装 SKF 的方法。 ### 方法 1:独立安装(推荐用于尝试 SKF) ``` npx bmad-module-skill-forge install ``` 独立安装 SKF。您将被提示输入项目名称、输出文件夹以及要配置的 IDE。安装程序生成 IDE 特定的命令文件(例如 `.claude/commands/`, `.cursor/commands/`),以便工作流出现在您 IDE 的命令面板中。 ### 方法 2:在 BMad Method 安装期间作为自定义模块安装 ``` npx bmad-method install ``` 当被提示 **“Add custom modules from your computer?”** 时,选择 Yes 并提供 SKF `src/` 文件夹的路径(先克隆此仓库): ``` Path to custom module folder: /path/to/bmad-module-skill-forge/src/ ``` 这会将 BMad 核心 + SKF 一起安装,包含完整的 IDE 集成、清单和帮助目录。当您想要完整的 BMad 开发工作流时,这是最佳选择。 ### 方法 3:将 SKF 添加到现有的 BMad 项目 如果您已经安装了 BMad,可以通过在同一目录中运行独立安装程序来随后添加 SKF: ``` npx bmad-module-skill-forge install ``` 安装程序检测现有的 `_bmad/` 目录并将 SKF 安装在您当前模块的旁边。将为 SKF 工作流生成 IDE 命令文件。 ## 快速开始 1. **设置您的 forge:** `@Ferris SF` —— 检测工具,设置您的层级 (Quick/Forge/Deep) 2. **快速 skill(最快):** `@Ferris QS ` —— 从包名快速生成 skill 3. **完整 skill:** `@Ferris BS` 然后 `@Ferris CS` —— 先简报后编译,以获得最高质量 4. **Stack skill:** `@Ferris SS` —— 包含集成模式的整合项目堆栈 skill 5. **导出:** `@Ferris EX` —— 打包以供分发,更新 CLAUDE.md ## 工作流 | Trigger | Command | 用途 | | --- | --- | --- | | SF | `skf_setup_forge` | 初始化 forge 环境,检测工具,设置层级 | | AN | `skf_analyze_source` | 发现在大型仓库中要构建 skill 的内容 | | BS | `skf_brief_skill` | 通过引导式发现设计 skill 范围 | | CS | `skf_create_skill` | 从简报编译 skill(支持 --batch) | | QS | `skf_quick_skill` | 从包名或 GitHub URL 快速生成 skill | | SS | `skf_create_stack_skill` | 包含集成模式的整合项目堆栈 skill | | US | `skf_update_skill` | 智能重新生成,保留 \[MANUAL\] 部分 | | AS | `skf_audit_skill` | skill 与当前源码之间的漂移检测 | | TS | `skf_test_skill` | 认知完整性验证 —— 导出前的质量门 | | EX | `skf_export_skill` | 打包以供分发,注入到 CLAUDE.md/AGENTS.md | ## 渐进式能力模型 | Tier | Tools | 能力 | | --- | --- | --- | | **Quick** | gh + skill-check | 源码读取 + spec 验证 | | **Forge** | + ast-grep | 结构真相,T1 置信度 | | **Deep** | + QMD | 知识搜索,时间溯源 | `setup-forge` 工作流检测可用的工具并将层级写入 `forge-tier.yaml`。所有后续工作流根据检测到的层级调整其行为。 ## 知识库 SKF 依赖于精心策划的 skill 编译知识库: - 索引:`src/knowledge/skf-knowledge-index.csv` - 片段:`src/knowledge/` 工作流仅加载当前任务所需的片段,以保持专注和合规。 ## 配置 SKF 变量在 `src/module.yaml` 中定义,并在安装期间提示: | Variable | 用途 | 默认值 | |------------------------|------------------------------------------------------------------------------------------------------|-----------------------------| | `skills_output_folder` | 生成的 skills 保存位置 | `{project-root}/skills` | | `forge_data_folder` | 工作区工件存储位置 | `{project-root}/forge-data` | | `tier_override` | 强制指定层级用于比较或测试(在 `_bmad/_memory/forger-sidecar/preferences.yaml` 中) | `~` (自动检测) | 运行时配置(工具检测、层级、并行设置)由 `forge-tier.yaml` 中的 `setup-forge` 工作流管理。 ## 模块结构 ``` src/ ├── module.yaml ├── module-help.csv ├── README.md ├── docs/ │ ├── getting-started.md │ ├── agents.md │ ├── workflows.md │ └── examples.md ├── agents/ │ └── forger.agent.yaml ├── forger/ │ ├── forge-tier.yaml │ ├── preferences.yaml │ └── README.md ├── knowledge/ │ ├── skf-knowledge-index.csv │ └── *.md (8 fragments) └── workflows/ └── skillforge/ ├── setup-forge/ ├── analyze-source/ ├── brief-skill/ ├── create-skill/ ├── quick-skill/ ├── create-stack-skill/ ├── update-skill/ ├── audit-skill/ ├── test-skill/ └── export-skill/ ``` ## 许可证 MIT License —— 详情见 [LICENSE](LICENSE)。 **Skill Forge (SKF)** —— 一个独立的 [BMad](https://github.com/bmad-code-org/BMAD-METHOD) 模块,用于 agent skill 编译。 [![Contributors](https://contrib.rocks/image?repo=armelhbobdad/bmad-module-skill-forge)](https://github.com/armelhbobdad/bmad-module-skill-forge/graphs/contributors) 有关贡献者信息,请参阅 [CONTRIBUTORS.md](CONTRIBUTORS.md)。
标签:Agent Skills, AI代理, AST抽象语法树, BMAD模块, DLL 劫持, DNS解析, Integrity Testing, MITM代理, RAG, 代码分析, 代码溯源, 凭证管理, 大语言模型, 威胁情报, 安全可观测性, 开发者工具, 开源项目, 技能编译器, 数据清洗, 数据管道, 文档生成, 版本控制, 知识库构建, 自定义脚本, 软件工程, 防御加固, 零幻觉