{"_id":"@araminian/skill-store","_rev":"5-97fe44c3eb0940b3f79899336268d885","name":"@araminian/skill-store","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.1":{"name":"@araminian/skill-store","version":"1.0.1","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"author":"Armin Aminian","license":"MIT","_id":"@araminian/skill-store@1.0.1","maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"homepage":"https://github.com/araminian/skill-store#readme","bugs":{"url":"https://github.com/araminian/skill-store/issues"},"bin":{"skstore":"./bin/cli.mjs","skill-store":"./bin/cli.mjs"},"dist":{"shasum":"e2404aa804fa0acd9bf5a7a2ddbc2e5b415a7651","tarball":"https://registry.npmjs.org/@araminian/skill-store/-/skill-store-1.0.1.tgz","fileCount":96,"integrity":"sha512-0SXreVOJu9eEBARsUWqqgydTi+awfFiMd0oif1L2D7KGyOAxLG3lesDDCeya9Ja5PYeWrnQXpzNdveDdS8So0g==","signatures":[{"sig":"MEYCIQCXNuiYTyXX/0Rf2tss1gq5eBpqOjVisCvyLIKe5JwgjQIhAPJyuDyq+fHa9SUlYIXjmH68g5POXrU9il7lvddRxN9C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181220},"type":"module","engines":{"node":">=22.13.0"},"scripts":{"dev":"node --no-warnings --loader ts-node/esm src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"heiran","email":"rmin.aminian@gmail.com"},"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.8.3","picocolors":"^1.1.1","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.17","typescript":"^5.9.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-store_1.0.1_1788096232290_0.10810733423891117","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@araminian/skill-store","version":"1.1.0","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"author":"Armin Aminian","license":"MIT","_id":"@araminian/skill-store@1.1.0","maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"homepage":"https://github.com/araminian/skill-store#readme","bugs":{"url":"https://github.com/araminian/skill-store/issues"},"bin":{"skstore":"./bin/cli.mjs","skill-store":"./bin/cli.mjs"},"dist":{"shasum":"328f1f624befaad09a47006364818ab119704e43","tarball":"https://registry.npmjs.org/@araminian/skill-store/-/skill-store-1.1.0.tgz","fileCount":128,"integrity":"sha512-lIq/zgVjPMCSZkodr3PRZFG9tiBUCE8wn3clow6uKfIxiYvW0qiPQNJOsfdQf82vTL/paUrOny9e03uwcXCulw==","signatures":[{"sig":"MEUCIAvZua5UmzLN9ixtPJs/bUOifpYOWHbjjjRUTbAMzMGnAiEA1pUCEIJmMpoubLQdo8SnBWnbU8wZvJgBouHl4xWtwbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302745},"type":"module","engines":{"node":">=22.13.0"},"scripts":{"dev":"node --no-warnings --loader ts-node/esm src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"heiran","email":"rmin.aminian@gmail.com"},"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.8.3","picocolors":"^1.1.1","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.17","typescript":"^5.9.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-store_1.1.0_1788107257243_0.10595087843683326","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@araminian/skill-store","version":"1.1.1","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"author":"Armin Aminian","license":"MIT","_id":"@araminian/skill-store@1.1.1","maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"homepage":"https://github.com/araminian/skill-store#readme","bugs":{"url":"https://github.com/araminian/skill-store/issues"},"bin":{"skstore":"./bin/cli.mjs","skill-store":"./bin/cli.mjs"},"dist":{"shasum":"62b229e5bab7c61fb1d9f6d65d2fd8c40c9b68aa","tarball":"https://registry.npmjs.org/@araminian/skill-store/-/skill-store-1.1.1.tgz","fileCount":128,"integrity":"sha512-akDMsm2/M5sfNJfC2q3j5pTJ0G1gBnvwqAXwL+D4Fg4kRt5dzs23vRm70qr6DsPvK6x1vgfZVmpr6J6supD4Dw==","signatures":[{"sig":"MEQCIC2hSwF19heXAUDaz6lq3QY2z8bL0oK2HYZJ8lhMsVNCAiBp3T/wUPQMHH5xsD68o1qZRNUrJjzH9HQC31bOoV6C4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305596},"type":"module","engines":{"node":">=22.13.0"},"scripts":{"dev":"node --no-warnings --loader ts-node/esm src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"heiran","email":"rmin.aminian@gmail.com"},"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.8.3","picocolors":"^1.1.1","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.17","typescript":"^5.9.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-store_1.1.1_1788109001202_0.9006607473104051","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@araminian/skill-store","version":"1.1.2","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"author":"Armin Aminian","license":"MIT","_id":"@araminian/skill-store@1.1.2","maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"homepage":"https://github.com/araminian/skill-store#readme","bugs":{"url":"https://github.com/araminian/skill-store/issues"},"bin":{"skstore":"./bin/cli.mjs","skill-store":"./bin/cli.mjs"},"dist":{"shasum":"982f221c91e0920cfd70536e45fa231a36199041","tarball":"https://registry.npmjs.org/@araminian/skill-store/-/skill-store-1.1.2.tgz","fileCount":128,"integrity":"sha512-5Khvv7JsQXBOwLz3GdjFgu0sczZRkm5Z8uamSe4XhtKND+C5RcYsI5xioeUih41xWQbBBb4TnISwIW+CyPTZkg==","signatures":[{"sig":"MEUCIQCo6zI6qHgjML7vM/aIZqUSNYmyTg9nt/43OIp4lF045gIgH6EsR1pnlZe3aa0+B/CABAvPPt+AkLKmfLLupgPdt1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295581},"type":"module","engines":{"node":">=22.13.0"},"scripts":{"dev":"node --no-warnings --loader ts-node/esm src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"heiran","email":"rmin.aminian@gmail.com"},"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.8.3","picocolors":"^1.1.1","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.17","typescript":"^5.9.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-store_1.1.2_1788110144684_0.025539719282013706","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"_id":"@araminian/skill-store@1.1.3","bin":{"skstore":"./bin/cli.mjs","skill-store":"./bin/cli.mjs"},"bugs":{"url":"https://github.com/araminian/skill-store/issues"},"dist":{"shasum":"cd95febcaa0f87023c764e02c4471e6545d0957c","tarball":"https://registry.npmjs.org/@araminian/skill-store/-/skill-store-1.1.3.tgz","fileCount":128,"integrity":"sha512-Gcyps1VMMO+0d0x7iW5huXDIja6PlANdvl9CJS8BWVmYnPUfoIbyKku0hFHTSvByCtY29W2Nvou0edfMQPnGfw==","signatures":[{"sig":"MEQCIFpK0W0mPNeyeKval1gHTdXVp9qQ4qYzRvBJS9iRHgTdAiAs15aFc02leHO00fXRNfWDjWTWgZlgj95ZKoHcTEfHRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDLQVlS0We8+q4jSAnsOwxsNqt41MC4ZUpBvzatKX7oVQIhAOipXihPPozNrr11UwHsufE78xu3gMKMcAzmNIf3HZMC"}],"unpackedSize":296844},"name":"@araminian/skill-store","type":"module","author":"Armin Aminian","engines":{"node":">=22.13.0"},"license":"MIT","scripts":{"dev":"node --no-warnings --loader ts-node/esm src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc --noEmit"},"version":"1.1.3","_npmUser":{"name":"heiran","email":"rmin.aminian@gmail.com"},"homepage":"https://github.com/araminian/skill-store#readme","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","directories":{},"maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.8.3","picocolors":"^1.1.1","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.17","typescript":"^5.9.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/skill-store_1.1.3_1788614250690_0.9158882730571045"}}},"time":{"created":"2026-08-30T13:23:52.180Z","modified":"2026-09-05T13:17:30.929Z","1.0.1":"2026-08-30T13:23:52.454Z","1.1.0":"2026-08-30T16:27:37.399Z","1.1.1":"2026-08-30T16:56:41.320Z","1.1.2":"2026-08-30T17:15:44.824Z","1.1.3":"2026-09-05T13:17:30.768Z"},"bugs":{"url":"https://github.com/araminian/skill-store/issues"},"author":"Armin Aminian","license":"MIT","homepage":"https://github.com/araminian/skill-store#readme","keywords":["cli","skills","skill-store","agent-skills","ai-agents","claude-code","cursor","codex"],"repository":{"url":"git+https://github.com/araminian/skill-store.git","type":"git"},"description":"Centralized agent skill manager with intelligent project symlinking and reference tracking","maintainers":[{"name":"heiran","email":"rmin.aminian@gmail.com"}],"readme":"# skill-store\n\n> Centralized Agent Skills Store & Intelligent Project Linker for AI Coding Agents (Claude Code, Cursor, Codex, OpenCode, and Universal Agent Standards).\n\n---\n\n## Background & Inspiration\n\nThe open agent skills ecosystem was pioneered by [vercel-labs/skills](https://github.com/vercel-labs/skills) (`npx skills`), introducing a standardized way to fetch and install agent skills.\n\n`skill-store` is built on and extends this concept by introducing a **centralized package-store architecture** (similar to how `pnpm` manages packages). Instead of installing duplicate skill copies across many repositories or installing every skill globally and filling up the AI context window, `skill-store` lets you maintain a single local repository of skills (`~/.skill-store/`) and link only the specific skills each project needs via fast, intelligent symlinks and reference tracking.\n\n---\n\n## The Problem\n\nWhen developing with AI coding assistants (like Claude Code, Cursor, Codex, Roo, etc.), installing every skill globally into `~/.claude/skills` or `~/.agents/skills` clutters the LLM context window with unnecessary tool definitions and prompts across all repositories.\n\nConversely, downloading skills manually into every individual project creates duplication, makes updating skills tedious, and risks inconsistency across projects and team members.\n\n## The Solution: `skill-store`\n\n`skill-store` provides a centralized package-store architecture with hierarchical presets and declarative project linking:\n\n1. **Hierarchical Skill Stacks & Presets (`skill-store stack`)**: Apply curated suites of skills (e.g. `frontend/nextjs`, `backend/fastapi`, `security/audit`, `devops/ci-cd`) with a single command. Supports inheritance (`extends`) and auto-fetching of missing skills.\n2. **Community Registry & Private Taps (`skill-store registry`)**: Access a centralized open community catalog or configure private company stack registries.\n3. **Centralized Store (`~/.skill-store`)**: Fetch and maintain all your favorite skills in one central repository. Download once, link anywhere.\n4. **Selective Project Linking**: Pick only the specific skills each project needs via fast, lightweight symlinks (`.claude/skills/`, `.agents/skills/`, `.cursor/skills/`, etc.) to keep AI context clean.\n5. **One-Command Updates**: Update upstream repositories once in the store, and all linked projects instantly reflect the changes.\n6. **Reference Safety Guard**: Prevent accidental breakage when deleting skills from the store by tracking bidirectional project references.\n7. **Team Reproducibility**: Commit a lightweight `skill-store.json` manifest so teammates or CI pipelines can reproduce the exact skill setup with `skill-store install`.\n\n---\n\n## Installation\n\n```bash\n# Global install via npm / pnpm / bun\nnpm install -g @araminian/skill-store\n\n# Or run directly with npx / pnpm dlx / bunx\nnpx @araminian/skill-store --help\n\n# Or clone and build locally\ngit clone https://github.com/araminian/skill-store.git\ncd skill-store\npnpm install\npnpm build\n```\n\n---\n\n## Quick Start & Core Commands\n\n### 1. Fetch skills into your central store\n\nDownload skills from GitHub repositories, URLs, or local directories into `~/.skill-store`:\n\n```bash\n# Fetch from GitHub repo\nskill-store fetch vercel-labs/agent-skills\n\n# Fetch specific branch/tag\nskill-store fetch vercel-labs/agent-skills@v1.2.0\n\n# Fetch a specific skill from a multi-skill repo\nskill-store fetch vercel-labs/agent-skills --skill react-doctor\n\n# Fetch and immediately link to the current project\nskill-store fetch vercel-labs/agent-skills --link\n```\n\n### 2. Hierarchical Skill Stacks & Presets (`skill-store stack`)\n\n> 📖 **Full Guide:** For detailed documentation on inheritance (`extends`), JSON schemas, authoring stacks, and community contributions, see the **[Skill Stacks Documentation](docs/STACKS.md)**.\n\nInstead of linking skills one-by-one, use curated community stacks or create your own:\n\n```bash\n# List all stacks grouped dynamically by category\nskill-store stack list\n\n# Filter stacks by category (e.g. frontend, backend, devops, security, ai, quality)\nskill-store stack list frontend\n\n# Apply a stack (auto-fetches missing skills and creates project symlinks)\nskill-store stack use frontend/nextjs\n# Or use the convenient short name:\nskill-store stack use nextjs\n\n# Inspect stack inheritance (e.g. nextjs extends react), tags, and active status\nskill-store stack show nextjs\n\n# Save current linked skills into a reusable stack (project or global)\nskill-store stack save my-org/fullstack --skills react-doctor,api-design\nskill-store stack save custom/my-global-stack --global\n\n# Sync catalogs from community & custom registry taps\nskill-store stack sync\n\n# Unlink all skills belonging to a stack\nskill-store stack unlink nextjs\n```\n\n### 3. Registry Taps & Private Catalogs (`skill-store registry`)\n\nConfigure custom or private company stack registries alongside the official community catalog:\n\n```bash\n# List configured registry sources\nskill-store registry list\n\n# Add a custom or internal registry tap (GitHub raw URL or local JSON file)\nskill-store registry add team-infra https://raw.githubusercontent.com/my-org/stacks/main/stacks.json\n\n# Remove a registry tap\nskill-store registry remove team-infra\n```\n\n### 4. Link individual skills to your project or globally\n\nLink skills from `~/.skill-store` into your active project's agent directories:\n\n```bash\n# Link a skill into current project\nskill-store link react-doctor\n\n# Mark and link a skill globally (~/.claude/skills, ~/.agents/skills)\nskill-store link git-helper --global\n\n# Target a specific AI agent directory\nskill-store link react-doctor --agent claude-code\nskill-store link react-doctor --agent cursor\n```\n\n### 3. List and inspect skills\n\n```bash\n# List all skills in central store and active link counts\nskill-store list\n\n# List skills linked to current project\nskill-store list --project\n\n# List globally linked skills\nskill-store list --global\n\n# Inspect skill provenance, files, and referencing projects\nskill-store info react-doctor\n```\n\n### 4. Update skills\n\nPull upstream changes into the store. All symlinked projects are automatically updated in real-time:\n\n```bash\n# Update all skills in store\nskill-store update\n\n# Update a specific skill\nskill-store update react-doctor\n```\n\n### 5. Safe Removal & Reference Protection\n\nWhen removing a skill, `skill-store` checks whether any projects actively reference it:\n\n```bash\n# Safe removal (prompts with interactive options if projects reference it)\nskill-store remove react-doctor\n\n# Automatically unlink from all referencing projects before removing\nskill-store remove react-doctor --clean-links\n\n# Force removal\nskill-store remove react-doctor --force\n```\n\n### 6. Team Manifest & CI Restore\n\nWhen you link skills in a project, `skill-store.json` is automatically updated:\n\n```json\n{\n  \"skills\": {\n    \"react-doctor\": {\n      \"source\": \"vercel-labs/agent-skills\",\n      \"subpath\": \"skills/react-doctor\",\n      \"agents\": [\"claude-code\", \"agents\"]\n    }\n  }\n}\n```\n\nTeammates or CI runners simply run:\n```bash\nskill-store install\n```\n\n### 7. Diagnostics & Pruning\n\n```bash\n# Check store health, link integrity, and detected agents\nskill-store doctor\n\n# Prune broken links from deleted project directories\nskill-store prune\n```\n\n---\n\n## Directory Layout\n\n```\n~/.skill-store/\n├── registry.json             # Central database of skills & project references\n├── skills/                   # Canonical skill directories\n│   ├── react-doctor/\n│   │   └── SKILL.md\n│   └── git-commit-helper/\n│       └── SKILL.md\n└── sources/                  # Cached git repositories for upstream updates\n    └── github_vercel-labs_agent-skills/\n```\n\n---\n\n## Supported AI Agents\n\n- **Universal Standard**: `.agents/skills` & `~/.agents/skills`\n- **Claude Code**: `.claude/skills` & `~/.claude/skills`\n- **Cursor**: `.cursor/skills` & `~/.cursor/skills`\n- **Codex**: `.codex/skills` & `~/.codex/skills`\n- **Windsurf**: `.windsurf/skills` & `~/.windsurf/skills`\n- **OpenClaw**: `.openclaw/skills` & `~/.openclaw/skills`\n- **Cline**: `.cline/skills` & `~/.cline/skills`\n- **Roo Code**: `.roo/skills` & `~/.roo/skills`\n- **GitHub Copilot**: `.github/skills` & `~/.copilot/skills`\n\n---\n\n## Running Tests\n\n```bash\npnpm test\n```\n\n---\n\n## Acknowledgments\n\nSpecial thanks to the [Vercel Labs team](https://github.com/vercel-labs) for creating [skills](https://github.com/vercel-labs/skills) and establishing the open format for AI agent skills.\n\n---\n\n## License\n\nMIT\n","readmeFilename":""}