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 its upstream: a specific file:line at a pinned commit when source is available, or a documentation URL when it isn't.
If SKF fixes your agent's API guesses, give it a ⭐. It helps others find this tool. If it saved you an afternoon, grab me a coffee ☕. It helps me keep forging.
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, and it still gets details wrong. You write instructions by hand, and they go stale the moment the code changes.
This isn't an edge case. It's the default experience.
For the full story behind SKF, read Hallucination has a line number on Medium.
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 is async, all traced to the exact source line. This example is from the real oms-cognee skill in oh-my-skills, SKF's reference output. The Verifying a Skill section below shows how to walk the citation chain yourself.
Linux, Windows, and macOS supported (platform details). Requires Node.js >= 22, Python >= 3.11, and uv (Python package runner).
npx bmad-module-skill-forge installYou'll be asked for a project name, where to save skills and workspace files, which IDEs you use, and whether to install learning material. When the install completes, open your IDE and start Ferris, the SKF agent. Type /skf-forger in Claude Code, Cursor and most other IDEs, or $skf-forger in Codex. IDEs that load skills on their own, such as GitHub Copilot, start Ferris when you ask for him. The installer prints the exact command for each IDE you picked. Then give Ferris the menu code SF; this page writes that step as @Ferris SF. Ferris reports the tools it found and your capability tier, which is how much analysis those tools allow. See the docs for other install methods.
- Set up your environment:
@Ferris SF(Setup Forge) detects your tools and sets your capability tier - Zero-ceremony path:
@Ferris forge-auto <repo-or-doc-url>(Forge-Auto) turns a repo or doc URL into a verified skill in one command. It scopes, briefs, compiles, tests and exports on its own. The test aims for a 90% score but still passes a skill that scores 80% or more, and records the shortfall in an evidence report. - Fast path:
@Ferris QS <package-name-or-github-url>(Quick Skill) writes a best-effort skill with no brief and no provenance map.@Ferris forge-quick <package-name>also tests and exports it. - Full quality path:
@Ferris forge <repo-url> <skill-name>chains Brief → Create → Test → Export automatically. For maximum control, run the same steps one at a time and start a fresh session before each:@Ferris BS(Brief Skill),@Ferris CS(Create Skill),@Ferris TS(Test Skill),@Ferris EX(Export Skill).
For producing many coordinated skills across sessions, @Ferris campaign (Campaign) orchestrates the whole set with dependency tracking and resume.
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.
- You use AI agents to write code and they keep guessing API calls wrong
- 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)
A skeptical reader is probably already considering one of these alternatives:
| Skill Forge | MCP doc servers | Hand-edited .cursorrules |
awesome-* lists | |
|---|---|---|---|---|
| Reproducible from upstream | AST + pinned commit (or pinned doc URL) | 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.
SKF extracts real function signatures, types, and patterns from code, docs, and developer discourse. Every instruction cites where it came from: the exact file and line for code, or the source document for docs and discussions. On top of that foundation:
- Version-pinned: skills are stored per-version, so updating to v2.0 doesn't replace your v1.x skill. Compatible with skills.sh and npx skills
- Lifecycle tooling: rename a skill, or deprecate or delete one version or the whole skill, without manual file surgery. Destructive operations are transactional.
- Follows an open standard: skills comply with the agentskills.io spec and work across Claude, Cursor, Copilot, and other AI agents
Every skill ships two files:
SKILL.md(the full instruction set, loaded on trigger) andcontext-snippet.md(an 80–120 token always-on index that the export step injects intoCLAUDE.md/AGENTS.md/.cursorrules). Why both? Per Vercel's agent evals, a docs index in passive context reached a 100% pass rate, while skills reached 79% only when the agent was told to use them, and 53% when it decided on its own (see Skill Model → Dual-Output Strategy).
You can falsify any citation in an SKF-compiled skill in under a minute. Quick Skill output is the exception: it keeps no provenance map, so this audit does not apply to it.
- Open the skill's
provenance-map.jsonin the forge workspace (forge-data/<skill>/<version>/by default, not the skill folder). Find your symbol underexport_nameand read itssource_fileandsource_line. - Open the skill's
metadata.json(next to itsSKILL.md) and 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.
For docs-only skills, the audit shape is the same: provenance-map.json still lists every symbol, but entries cite [EXT:{url}] instead of file:line@SHA, and step 3 becomes "open the doc URL and confirm the signature matches."
If it doesn't, that's a bug. Open an issue and SKF will republish the skill with a fresh provenance map (a new commit SHA for source skills, a fresh fetch for docs-only). Falsifiability isn't a feature; it's the whole deal.
Reference output: oh-my-skills. It holds four Deep-tier skills compiled by SKF (cocoindex, cognee, Storybook v10, uitripled), each shipping its full audit trail in-repo. Scores range from 99.0% to 99.49%. Every claim walks to an upstream line in under 60 seconds. Serves as both the worked example for this section and ongoing proof that the pipeline does what it says.
Every workflow ends with a health check. If it finds a problem in SKF's own instructions, it shows you the findings and, only if you approve, files bug reports as GitHub issues. Duplicates are detected, so reporting a known problem again is safe. Friction notes and gaps go to a local queue unless you choose to submit them too. Please let workflows run to completion, or open an issue directly. Full details →
The docs are organized into three buckets: Why (start here), Try (do stuff), and Reference (look things up):
Why
- Why Skill Forge?: What SKF is for, who it suits, and when it is the wrong tool
- Verifying a Skill: The 60-second audit recipe and scoring formula
Try
- Getting Started: Install, first skill, prereqs, and config
- Forge-Auto: The zero-ceremony path, one command from a repo or doc URL to a verified skill
- Campaign: Orchestrate many coordinated skills across sessions with dependency tracking and resume
- How It Works: Plain-English walkthrough of one skill being built, end to end
- Examples: Real-world scenarios with full command transcripts
- Workflows: All 15 workflows with commands and connection diagrams
Reference
- Concepts: Seven key terms, including provenance, confidence tiers and drift
- Architecture: Runtime flow, 7 tools, workspace artifacts, security, and the design decisions behind them
- Skill Model: Capability tiers, confidence tiers, output format, dual-output strategy, ownership model
- Agents: Ferris, the single AI agent that runs every SKF workflow
- BMAD Synergy: How SKF pairs with the BMAD Method's four phases and its optional modules: Test Architect (TEA), BMAD Builder (BMB), Game Dev Studio (GDS) and Creative Intelligence Suite (CIS)
- Troubleshooting: Common errors (forge setup, ecosystem checks, tier confidence) and how to resolve them
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 pre-ranking (Forge+; optional on Deep) |
| 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 | Opt-in Tessl Review: AI-judge scoring of description and content |
| BMAD Method | Agent-workflow framework that SKF extends as a module |
See CONTRIBUTING.md for guidelines.
Past releases are documented in CHANGELOG.md.
MIT License. See LICENSE for details.
Skill Forge (SKF): a standalone BMAD module for agent skill compilation.
See CONTRIBUTORS.md for contributor information.