{"_id":"@ahmedtariq/skillforge","_rev":"3-b6704f10b1756b63ec16c8327e6bf9f2","name":"@ahmedtariq/skillforge","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ahmedtariq/skillforge","version":"0.1.0","keywords":["claude","claude-code","anthropic","agent-skills","skill-md","knowledge-base","company-brain","ai-agents","extraction","rag"],"author":{"name":"Ahmed Tariq","email":"ahmedtariqcs@gmail.com"},"license":"MIT","_id":"@ahmedtariq/skillforge@0.1.0","maintainers":[{"name":"ahmedtariq","email":"ahmedtariqcs@gmail.com"}],"homepage":"https://skillforge-provibecodes-projects.vercel.app","bugs":{"url":"https://github.com/AhmedTariqCS/skillforge/issues"},"bin":{"skforge":"dist/cli.js"},"dist":{"shasum":"2eacc9abc41d56c9bc5b564e9c3877404755d6ec","tarball":"https://registry.npmjs.org/@ahmedtariq/skillforge/-/skillforge-0.1.0.tgz","fileCount":7,"integrity":"sha512-U/KByXdTKGonNnEHJSTdImAsrYIgetNQvDpO5A3bNvBagS2Fyzg7nGpgGgGDGI7Wv3kwVjO+QVcBCRPq1azFLw==","signatures":[{"sig":"MEQCIFVUK7jzViJ8S1rWZMDObJoOlL+ybYuW7/mN0H9T5OdEAiBLjbacOeDCSaywMFdsaD0eiRpYA4cXcyE4FZLRuQFmLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20877},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a3c1c60a41bca111e42d4610f3d2e02032d20a5a","scripts":{"dev":"tsx src/cli.ts","build":"tsup src/cli.ts src/index.ts --format esm --dts --clean --minify","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahmedtariq","email":"ahmedtariqcs@gmail.com"},"repository":{"url":"git+https://github.com/AhmedTariqCS/skillforge.git","type":"git","directory":"cli"},"_npmVersion":"11.6.2","description":"Compile scattered company knowledge — Slack, Notion, GitHub, post-mortems — into Claude Agent Skills (SKILL.md). The company brain for AI agents.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"kleur":"^4.1.5","commander":"^12.1.0","@anthropic-ai/sdk":"^0.91.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/skillforge_0.1.0_1777749728615_0.8677879885584934","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @skforge/cli — install that instead: npx @skforge/cli extract <file>"},"0.1.1":{"name":"@ahmedtariq/skillforge","version":"0.1.1","keywords":["claude","claude-code","anthropic","agent-skills","skill-md","knowledge-base","company-brain","ai-agents","extraction","rag"],"author":{"name":"Ahmed Tariq","email":"ahmedtariqcs@gmail.com"},"license":"MIT","_id":"@ahmedtariq/skillforge@0.1.1","maintainers":[{"name":"ahmedtariq","email":"ahmedtariqcs@gmail.com"}],"homepage":"https://skillforge-provibecodes-projects.vercel.app","bugs":{"url":"https://github.com/AhmedTariqCS/skillforge/issues"},"bin":{"skforge":"dist/cli.js"},"dist":{"shasum":"02ee09bdbf251a5835c1b683183afd90ed7b6544","tarball":"https://registry.npmjs.org/@ahmedtariq/skillforge/-/skillforge-0.1.1.tgz","fileCount":7,"integrity":"sha512-lGXVgenRPhr6C6h7YmT5gs+xA4SYhKbeyKVsJoHhg4qK5x0R1HCWyuL6eCuF0mZRIO7Z14L4WQehDjeHJDMaZg==","signatures":[{"sig":"MEUCIHMejlHvEft5eHgTW+S238VRSI6Ed9MI+LyJhRC4ZSoBAiEA+HLez2nJrJtOjIQ/tyXW3Zecfs0YZLW+7EDTAVxpH3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d3204777b66168001e24e5446f54aab57a75229b","scripts":{"dev":"tsx src/cli.ts","build":"tsup src/cli.ts src/index.ts --format esm --dts --clean --minify","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahmedtariq","email":"ahmedtariqcs@gmail.com"},"repository":{"url":"git+https://github.com/AhmedTariqCS/skillforge.git","type":"git","directory":"cli"},"_npmVersion":"11.6.2","description":"Compile scattered company knowledge — Slack, Notion, GitHub, post-mortems — into Claude Agent Skills (SKILL.md). The company brain for AI agents.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"kleur":"^4.1.5","commander":"^12.1.0","@anthropic-ai/sdk":"^0.91.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/skillforge_0.1.1_1777753466551_0.1886628347454522","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @skforge/cli — install that instead: npx @skforge/cli extract <file>"}},"time":{"created":"2026-05-02T19:22:08.527Z","modified":"2026-05-02T21:12:07.444Z","0.1.0":"2026-05-02T19:22:08.805Z","0.1.1":"2026-05-02T20:24:26.682Z"},"bugs":{"url":"https://github.com/AhmedTariqCS/skillforge/issues"},"author":{"name":"Ahmed Tariq","email":"ahmedtariqcs@gmail.com"},"license":"MIT","homepage":"https://skillforge-provibecodes-projects.vercel.app","keywords":["claude","claude-code","anthropic","agent-skills","skill-md","knowledge-base","company-brain","ai-agents","extraction","rag"],"repository":{"url":"git+https://github.com/AhmedTariqCS/skillforge.git","type":"git","directory":"cli"},"description":"Compile scattered company knowledge — Slack, Notion, GitHub, post-mortems — into Claude Agent Skills (SKILL.md). The company brain for AI agents.","maintainers":[{"name":"ahmedtariq","email":"ahmedtariqcs@gmail.com"}],"readme":"# skillforge\n\n> Compile scattered company knowledge — Slack threads, Notion pages, post-mortems — into Claude Agent Skills (`SKILL.md` files).\n\nThe company brain for AI agents, as a CLI.\n\n```\n$ npx @ahmedtariq/skillforge extract slack-thread.txt\n✦ Extracting facts…\n  · [constraint] Deploy freezes apply to prod, not staging. (95%)\n  · [constraint] Feature flag flips on net-new features count as deploys. (92%)\n  · [procedure] Hotfixes route through Priya or Ravi during freezes. (90%)\n✦ Compiling SKILL.md…\n✦ Done · 5 facts → handling-deploy-freeze in 8742ms\n\n---\nname: handling-deploy-freeze\ndescription: Decides whether a change can ship during an active deploy freeze...\n---\n\n# Handling Deploy Freeze\n...\n```\n\n## Why this exists\n\nAI agents are smart. Your company isn't documented. The result: agents stay generic and humans stay copy-pasting.\n\nSkillforge 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](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview). Drop the output into `~/.claude/skills/` and Claude Code uses it automatically. Or upload it via the Skills API.\n\n## Install\n\nRun instantly with `npx`:\n\n```bash\nnpx @ahmedtariq/skillforge extract <file>\n```\n\nOr install globally:\n\n```bash\nnpm install -g @ahmedtariq/skillforge\nskillforge extract <file>\n```\n\nYou'll need an `ANTHROPIC_API_KEY`:\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\n```\n\nGet a key at [console.anthropic.com](https://console.anthropic.com). A typical extraction costs ~$0.03.\n\n## Usage\n\n### Single file → SKILL.md to stdout\n\n```bash\nskillforge extract path/to/notion-doc.md\n```\n\n### To a Claude Code skills folder\n\n```bash\nskillforge extract slack-thread.txt -d ~/.claude/skills\n# Creates ~/.claude/skills/<skill-name>/SKILL.md\n```\n\n### Batch a directory\n\n```bash\nskillforge batch ./company-docs -o ./skills --ext .md,.txt\n```\n\nWalks the input directory, extracts a skill from each file, writes them all to `./skills/<skill-name>/SKILL.md`.\n\n### Hint the extractor\n\n```bash\nskillforge extract incident.md --hint \"A SEV2 incident post-mortem\"\n```\n\nHints help the model orient. They're optional — the extractor figures it out without one most of the time.\n\n### Just the facts\n\n```bash\nskillforge extract policy.md --facts-only\n# Outputs JSON: { topic, facts: [{ type, statement, confidence, ... }] }\n```\n\n### Pipe from stdin\n\n```bash\ncat slack-thread.txt | skillforge extract -\n```\n\n### Inspect an input before paying for it\n\n```bash\nskillforge describe my-doc.md\n# Prints char/word/line counts and an estimated cost\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `extract <file>` | Extract a single SKILL.md (or `-` for stdin). |\n| `batch <dir>` | Extract every supported file in a directory. |\n| `describe <file>` | Show input stats and estimated cost. |\n\n## Options\n\n```\n-o, --output <path>        Write to a file instead of stdout\n-d, --output-dir <dir>     Write to <dir>/<skill-name>/SKILL.md\n--hint <text>              Short context hint\n--api-key <key>            Override ANTHROPIC_API_KEY\n--facts-only               Output extracted facts as JSON\n--extract-model <model>    Override extraction model\n--synthesis-model <model>  Override synthesis model\n--quiet                    Suppress progress logging\n```\n\n## How it works\n\n1. **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.\n2. **Synthesize.** Claude Opus takes the facts and writes a `SKILL.md` file following [Anthropic's Agent Skills best practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices) — gerund-form name, third-person description, ≤500-line body, hard rules called out, examples included.\n3. **Done.** The output is a real Claude Agent Skill. Drop it in `~/.claude/skills/<skill-name>/SKILL.md` and Claude Code picks it up.\n\n## Cost\n\nA 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 `skillforge describe` for a more precise estimate before spending.\n\n## Programmatic API\n\n```typescript\nimport { forge } from \"skillforge\";\n\nconst result = await forge(text, {\n  apiKey: process.env.ANTHROPIC_API_KEY,\n  hint: \"A Slack thread about pricing exceptions\",\n  onProgress: (event) => {\n    if (event.type === \"fact\") {\n      console.log(`extracted: ${event.fact.statement}`);\n    }\n  },\n});\n\nconsole.log(result.skill.name);\nconsole.log(result.skill.body);\n```\n\n## What's the hosted product?\n\nThis CLI is the open-source compiler. The hosted product at [skillforge-provibecodes-projects.vercel.app](https://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.\n\n## License\n\nMIT. Built by Ahmed Tariq for Y Combinator Summer 2026 against Tom Blomfield's \"Company Brain\" RFS.\n\n## Links\n\n- Hosted demo: [skillforge-provibecodes-projects.vercel.app/demo](https://skillforge-provibecodes-projects.vercel.app/demo)\n- Live extraction: [skillforge-provibecodes-projects.vercel.app/forge](https://skillforge-provibecodes-projects.vercel.app/forge)\n- About: [skillforge-provibecodes-projects.vercel.app/about](https://skillforge-provibecodes-projects.vercel.app/about)\n- Issues / PRs: GitHub repo\n","readmeFilename":"README.md"}