bmad-module-skill-forge
A standalone BMAD module that transforms code repositories, documentation websites, and developer discourse into agentskills.io-compliant, version-pinned, provenance-backed agent skills.
Skill Forge (SKF)
Turn code and docs into instructions AI agents can actually follow.
Skill Forge analyzes your code repositories, documentation, and developer discourse to build verified instruction files for AI agents. Every instruction links back to where it came from β nothing is made up.
If SKF helps your agent stop hallucinating, give it a β β it helps others find this tool. If it saved you an afternoon, grab me a coffee β β it helps me keep forging.
The Problem
You ask an AI agent to use a library. It invents function names that don't exist. It guesses parameter types. You paste documentation into the context β it still gets details wrong. You write instructions by hand β they go stale the moment the code changes.
This isn't an edge case. It's the default experience.
How Skill Forge Fixes This
- Analyzes your sources β extracts real function signatures, types, and patterns from code repositories, documentation websites, and developer discourse
- Compiles verified instruction files β every instruction links to the exact file and line it came from
- Version-aware β skills are stored per-version, so updating to v2.0 doesn't break your v1.x skill. Compatible with skills.sh and npx skills
- Manageable lifecycle β rename skills and drop deprecated versions without manual file surgery. Transactional safety for destructive operations.
- Follows an open standard β skills comply with the agentskills.io spec and work across Claude, Cursor, Copilot, and other AI agents
Why two output files? Every skill SKF produces ships both
SKILL.md(the full instruction set, loaded on trigger) andcontext-snippet.md(an 80β120 token always-on index injected intoCLAUDE.md/AGENTS.md/.cursorrules). Per How It Works β Dual-Output Strategy, Vercel research shows passive context achieves a 100% pass rate vs. 79% for active skills loaded alone. Both halves ship in every skill SKF compiles.
Before vs After
Without SKF β your agent guesses:
import cognee
# Agent hallucinates: sync call, wrong parameter name, missing await
results = cognee.search("What does Cognee do?", mode="graph")
With SKF β your agent reads the verified skill:
import cognee
# Agent follows the skill instruction:
# `search(query_text: str, query_type: SearchType = GRAPH_COMPLETION) -> List[SearchResult]`
# [AST:cognee/api/v1/search/search.py:L27]
results = await cognee.search(
query_text="What does Cognee do?",
query_type=cognee.SearchType.GRAPH_COMPLETION
)
The skill told the agent the real function name, the real parameters, and that the call requires await β all traced to the exact source line. This example is from the real oms-cognee skill in oh-my-skills β SKF's reference output. Want to walk the citation chain yourself? The section below shows how.
Verifying a Skill
Every AST citation in an SKF-compiled skill is falsifiable in under a minute:
- Open the skill's
provenance-map.jsonβ find your symbol; read itssource_fileandsource_line. - Open the skill's
metadata.jsonβ readsource_commitandsource_repo. - Jump to the upstream repo at that commit, open that file, find that line. The signature in
SKILL.mdshould match the one you're reading.
If it doesn't, that's a bug β open an issue and SKF will republish with a new commit SHA and a new provenance map. Falsifiability isn't a feature; it's the whole deal.
Reference output: oh-my-skills β four Deep-tier skills compiled by SKF (cocoindex, cognee, Storybook v10, uitripled), each shipping its full audit trail in-repo. Scores between 99.0% and 99.49%, every claim walk-able to an upstream line in under 60 seconds. Both the worked example for this section and the continuing proof that the pipeline does what it says.
Install
Requires Node.js >= 22, Python >= 3.10, and uv (Python package runner).
npx bmad-module-skill-forge install
You'll be prompted for project name, output folders, and IDE configuration. When the install completes, open your IDE and invoke @Ferris SF to confirm Ferris is reachable β it will report your detected tools and capability tier. See the docs for other install methods.
Quick Start
- Set up your environment:
@Ferris SF(Setup Forge) β detects your tools and sets your capability tier - Generate your first skill:
@Ferris QS <package-name>(Quick Skill) β creates a verified skill in under a minute - Full quality path:
@Ferris BS(Brief Skill) β clear session β@Ferris CS(Create Skill) β brief first, then compile for maximum accuracy - Pipeline mode:
@Ferris forge <your-library>β chains Brief β Create β Test β Export in one command
Tip: Start a fresh conversation before each workflow (or use pipeline mode to chain them automatically). SKF workflows load significant context β clearing between them prevents interference.
See the workflows docs for all available workflows, pipeline aliases, and headless mode.
Help SKF Improve
Every workflow ends with a health-check reflection that can file bugs or friction reports as GitHub issues (with your approval). Reports are auto-deduped by fingerprint, so re-reporting is safe β if the same defect was already filed, your report becomes a π on the canonical issue instead of a duplicate. Please let workflows run to completion so the feedback isn't lost. If you skipped the terminal step, ask Ferris: @Ferris please run the workflow health check for this session β or open an issue directly. Full details: How It Works β Workflow Health Check.
Who Is This For?
- You use AI agents to write code and they keep getting API calls wrong β hallucinating function names, guessing parameter types, inventing methods that don't exist
- You maintain a library and want to ship official, verified instruction files so AI agents use your API correctly
- You manage a codebase with many dependencies and want a consolidated "stack skill" that teaches your agent how all the pieces fit together
- You use a SaaS API or closed-source tool with no public code β SKF can generate skills from documentation alone
- You need different skills for different use cases from the same target β compile multiple skills with different scopes from one repo or doc set (e.g., a core API skill and a migration guide skill)
How SKF Compares
A skeptical reader is probably already considering one of these alternatives. Here's the grid:
| Skill Forge | MCP doc servers | Hand-edited .cursorrules |
awesome-* lists | |
|---|---|---|---|---|
| Reproducible from source | AST extraction + pinned commit | varies; opaque | whatever you wrote | none |
| Version-pinned & immutable | yes β per-version directories | runtime-dependent | rots silently | no |
| Audit trail | provenance-map.json + test + evidence |
depends on server | none | none |
| Runtime cost | zero (markdown + JSON) | a running process | zero | zero |
| Lifecycle tooling | rename, drop, update, export transactions | varies | file surgery | none |
| Falsifiable | yes β three steps, 60 seconds | rarely | no | no |
The others aren't bad. They solve different problems. SKF solves exactly one: the claim your agent is reading about a library was true at a specific commit on a specific day, and you can prove it in under a minute.
Learn More
- Getting Started β Installation, prerequisites, and your first skill
- Concepts β Plain-English definitions of all key terms
- How It Works β Architecture, capability tiers, output format, and design decisions
- Workflows β All available workflows with commands and connection diagrams
- Agents β Ferris: the AI agent that runs all SKF workflows
- Examples β Real-world scenarios, tips, and troubleshooting
- BMAD Synergy β How SKF workflows pair with BMAD CORE phases and optional modules
Acknowledgements
SKF builds on these excellent open-source tools:
| Tool | Role in SKF |
|---|---|
| agentskills.io | Skill specification and ecosystem standard |
| GitHub CLI | Source code access and repository intelligence (all tiers) |
| ast-grep | AST-based structural code extraction (Forge/Forge+/Deep tiers) |
| ast-grep MCP | MCP server for memory-efficient AST queries (recommended) |
| cocoindex-code | Semantic code search and file discovery pre-ranking (Forge+ tier) |
| QMD | Local hybrid search engine for knowledge indexing (Deep tier) |
| skill-check | Skill validation, auto-fix, quality scoring, and security scanning |
| Snyk Agent Scan | Security scanning for prompt injection and data exposure (optional) |
| tessl | Content quality review, actionability scoring, and AI judge evaluation |
| BMAD Method | Agent-workflow framework that SKF extends as a module |
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License β see LICENSE for details.
Skill Forge (SKF) β A standalone BMAD module for agent skill compilation.
See CONTRIBUTORS.md for contributor information.