@skforge/cli
v0.1.0
Published
Compile scattered company knowledge — Slack, Notion, GitHub, post-mortems — into Claude Agent Skills (SKILL.md). The company brain for AI agents.
Maintainers
Readme
skillforge
Compile scattered company knowledge — Slack threads, Notion pages, post-mortems — into Claude Agent Skills (
SKILL.mdfiles).
The company brain for AI agents, as a CLI.
$ npx @skforge/cli extract slack-thread.txt
✦ Extracting facts…
· [constraint] Deploy freezes apply to prod, not staging. (95%)
· [constraint] Feature flag flips on net-new features count as deploys. (92%)
· [procedure] Hotfixes route through Priya or Ravi during freezes. (90%)
✦ Compiling SKILL.md…
✦ Done · 5 facts → handling-deploy-freeze in 8742ms
---
name: handling-deploy-freeze
description: Decides whether a change can ship during an active deploy freeze...
---
# Handling Deploy Freeze
...Why this exists
AI agents are smart. Your company isn't documented. The result: agents stay generic and humans stay copy-pasting.
Skillforge takes a Slack thread, a Notion page, a post-mortem — anything with company-specific knowledge — and compiles it into a SKILL.md file in Claude's Agent Skills format. Drop the output into ~/.claude/skills/ and Claude Code uses it automatically. Or upload it via the Skills API.
Install
Run instantly with npx:
npx @skforge/cli extract <file>Or install globally:
npm install -g @skforge/cli
skforge extract <file>You'll need an ANTHROPIC_API_KEY:
export ANTHROPIC_API_KEY=sk-ant-...Get a key at console.anthropic.com. A typical extraction costs ~$0.03.
Usage
Single file → SKILL.md to stdout
skforge extract path/to/notion-doc.mdTo a Claude Code skills folder
skforge extract slack-thread.txt -d ~/.claude/skills
# Creates ~/.claude/skills/<skill-name>/SKILL.mdBatch a directory
skforge batch ./company-docs -o ./skills --ext .md,.txtWalks the input directory, extracts a skill from each file, writes them all to ./skills/<skill-name>/SKILL.md.
Hint the extractor
skforge extract incident.md --hint "A SEV2 incident post-mortem"Hints help the model orient. They're optional — the extractor figures it out without one most of the time.
Just the facts
skforge extract policy.md --facts-only
# Outputs JSON: { topic, facts: [{ type, statement, confidence, ... }] }Pipe from stdin
cat slack-thread.txt | skforge extract -Inspect an input before paying for it
skforge describe my-doc.md
# Prints char/word/line counts and an estimated costCommands
| Command | Description |
|---------|-------------|
| extract <file> | Extract a single SKILL.md (or - for stdin). |
| batch <dir> | Extract every supported file in a directory. |
| describe <file> | Show input stats and estimated cost. |
Options
-o, --output <path> Write to a file instead of stdout
-d, --output-dir <dir> Write to <dir>/<skill-name>/SKILL.md
--hint <text> Short context hint
--api-key <key> Override ANTHROPIC_API_KEY
--facts-only Output extracted facts as JSON
--extract-model <model> Override extraction model
--synthesis-model <model> Override synthesis model
--quiet Suppress progress loggingHow it works
- Extract. Claude Haiku reads the input and produces structured facts: policies, procedures, decisions, constraints (hard rules), people, systems. Each fact is typed and confidence-scored.
- Synthesize. Claude Opus takes the facts and writes a
SKILL.mdfile following Anthropic's Agent Skills best practices — gerund-form name, third-person description, ≤500-line body, hard rules called out, examples included. - Done. The output is a real Claude Agent Skill. Drop it in
~/.claude/skills/<skill-name>/SKILL.mdand Claude Code picks it up.
Cost
A typical single-file extraction uses ~1.5K tokens of Haiku input, ~200 tokens of Haiku output, ~1K tokens of Opus input, and ~1.5K tokens of Opus output. About $0.12 per skill. Run skforge describe for a more precise estimate before spending.
Programmatic API
import { forge } from "@skforge/cli";
const result = await forge(text, {
apiKey: process.env.ANTHROPIC_API_KEY,
hint: "A Slack thread about pricing exceptions",
onProgress: (event) => {
if (event.type === "fact") {
console.log(`extracted: ${event.fact.statement}`);
}
},
});
console.log(result.skill.name);
console.log(result.skill.body);What's the hosted product?
This CLI is the open-source compiler. The hosted product at skillforge-provibecodes-projects.vercel.app connects directly to Slack, Notion, Drive, GitHub, Intercom, and Linear; runs the compiler continuously across all your sources; tracks supersession and conflicts across versions; and provides review workflows for cross-functional ownership. Same primitive, hosted plumbing.
License
MIT. Built for Y Combinator Summer 2026 against Tom Blomfield's "Company Brain" RFS.
Links
- Hosted demo: skillforge-provibecodes-projects.vercel.app/demo
- Live extraction: skillforge-provibecodes-projects.vercel.app/forge
- About: skillforge-provibecodes-projects.vercel.app/about
- Issues / PRs: GitHub repo
