{"_id":"@4meta5/skill-loader","_rev":"7-1fd29fcf1889bebc4cac58cdaf943b06","name":"@4meta5/skill-loader","dist-tags":{"latest":"0.5.3"},"versions":{"0.1.0":{"name":"@4meta5/skill-loader","version":"0.1.0","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.1.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"2cedb3aa510a5a73e39d79041a9f0525a660e063","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.1.0.tgz","fileCount":34,"integrity":"sha512-iw9TaSpx7UDJJs9kYmE5uZ/XBXxmnDMqROt2dVRO+6CHiNEeEbkvb9db3hsFvuNsIh9JAvEz6LjbsLNeMobiHw==","signatures":[{"sig":"MEYCIQCr1kK8onwTJpSfmfxStvIbEEVSsWDiFZRAg188MSAI7wIhAO0rw7YYPov6G9X4Yz6MvqDDBIHDhEg78ip1Qhws3hGB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75927},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6cbe0f88d5a5d7c15ddfd34591fb179159d0def2","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.1.0_1770012901654_0.09852033037767782","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@4meta5/skill-loader","version":"0.2.0","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.2.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"1c012f42af95265df76adbdb1bbefe97e79d3aa7","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.2.0.tgz","fileCount":34,"integrity":"sha512-ns16OnONx0g5amCnQN++Bt4WYHJ7uef1V0lGUpzDlz/aVRLip6ILiglADGQK/g5m7Z7n3pJpD/siM49FPgCAuw==","signatures":[{"sig":"MEUCIEd8Y03hFG9bzUAjGR+jNPyZpbPgMwecxvJEbIjurzflAiEA1kc+pJuWZxuYLtXvrK1g47mi7sZD22LMIt43c7Ra2kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75927},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2e5b4abe0f62c987427f566801f373f52d275af5","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.2.0_1770170421936_0.2435256605721161","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@4meta5/skill-loader","version":"0.3.0","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.3.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"fdd66535627747345abe2505fc8623d25b229237","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.3.0.tgz","fileCount":34,"integrity":"sha512-3ICbBJPcqSGxntWR7D1PiLuJbUApS+RJsvVu496L6QMtJFFtKql8NrS/0cxQgErE//y2spb4dAlgurobX127yw==","signatures":[{"sig":"MEQCIDZdnE2yHlQtw4SjlKdH+3lByIbK7HibrFPgR+i3QB3iAiAPLSB5mVuAjN8Flr1dpsAQkf91JDdZtihMzJNfSFnagQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82002},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6111ffcadc2d568e6fd96c9ec68511afc58e839c","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.3.0_1770296763807_0.6852951084917118","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@4meta5/skill-loader","version":"0.4.0","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.4.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"9044386cf6e21483f756bec14e86b7291440313a","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.4.0.tgz","fileCount":34,"integrity":"sha512-Bq3KP8EaSabaLVeo23y2+cR1Q32mdnHsFoq65ZARp7K4V6yk3H75F8dR36ld0pvNm0cWb+nZmhZpH0jDJblvqg==","signatures":[{"sig":"MEUCIQD0GORqsCuzWMClAUUZbHEiI3bl9zV80nusKSYIqL4rsgIgSZdzGjV6R8cdpkHTC07y3sNI8mgpvD2z9OWkN98iX9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87423},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"76a6d2041fdc7810e63a0441d26574e4804ba0bb","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.4.0_1771026900974_0.2870443276659582","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@4meta5/skill-loader","version":"0.5.1","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.5.1","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"8faa957bdf90573c9ce8c79c2fde4fbd2a072a87","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.5.1.tgz","fileCount":34,"integrity":"sha512-99914vGdNN4DZhqa6d6NvF/+rx9IbcISjv4J9LZJzEBOHUmTz5zUHrp35eS+aLHgP/wvi/+9cSj53huyeOLCpw==","signatures":[{"sig":"MEYCIQC+/jVxscI0/80m9Qktyy4mINCWCVJBL1ugTF95SLr0GQIhAPkZXYCcElqp5NNi0V1SPnDNTphJDwyViKSR+cnYkTtk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86388},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"52c629415cc261d1d0c4b68d86a0ad8ec06883df","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.5.1_1771100509419_0.6089080523676551","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@4meta5/skill-loader","version":"0.5.2","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/skill-loader@0.5.2","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"7eed4b95e4cc2a10b9ddf9dfdd974692fd6ab23d","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.5.2.tgz","fileCount":34,"integrity":"sha512-wrJoCMabDGzORw/uEMf6FjMJajBI3ow8Z2qEdkXdWcTDgFyq63MR8X1WkaAsBuWSk8i2DAtkT5wR+weF8EYAHA==","signatures":[{"sig":"MEQCIA8iOgTIWtXSrM3Fzbz7BGgkcmOsqqE9MoHfx66MtzlMAiBqgbdb2ZeBtvYBd8XCovEOv3K6m7O6l8Ym7G0+BZOW7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92815},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd5dd7db868244a0ba173e506bac18617ebc8908","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","test:all":"vitest run && vitest run --config vitest.property.config.ts","typecheck":"tsc --noEmit","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/skill-loader"},"_npmVersion":"11.6.2","description":"Parse and load SKILL.md files for Claude Code skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-loader_0.5.2_1771104580316_0.7065449728248936","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@4meta5/skill-loader","version":"0.5.3","description":"Parse and load SKILL.md files for Claude Code skills","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","test:property":"vitest run --config vitest.property.config.ts","test:all":"vitest run && vitest run --config vitest.property.config.ts","lint":"eslint src","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"author":{"name":"Amar Singh"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/skill-loader"},"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dependencies":{"yaml":"^2.3.0"},"devDependencies":{"@types/node":"^20.0.0","eslint":"^8.0.0","fast-check":"^4.5.3","typescript":"^5.0.0","vitest":"^1.0.0"},"gitHead":"1fc8d9fd71f7225845659c0557cd818e59c8200d","_id":"@4meta5/skill-loader@0.5.3","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-FtXK3PTy9YhuZiyfHwdCUxMi0oCj0qW87XGu6rW9IkxXat2k6hVUoIowhA1mRe4qv656LGeaRYoEbqyGJLLp5Q==","shasum":"eba397f92c0cba95195094eac7cbe86aecf3a050","tarball":"https://registry.npmjs.org/@4meta5/skill-loader/-/skill-loader-0.5.3.tgz","fileCount":34,"unpackedSize":93952,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDi1QnWWxPD1a90I5xEM8mPOZjcxLPa5DV4hb2wYL59AwIgNjIXm80+crmV3Jmy6X9mgW8f0Vv7oa9v29Xs+8HD7jU="}]},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"directories":{},"maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/skill-loader_0.5.3_1771107313804_0.9385134881312893"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T06:15:01.551Z","modified":"2026-02-14T22:15:14.095Z","0.1.0":"2026-02-02T06:15:01.802Z","0.2.0":"2026-02-04T02:00:22.062Z","0.3.0":"2026-02-05T13:06:03.982Z","0.4.0":"2026-02-13T23:55:01.152Z","0.5.1":"2026-02-14T20:21:49.560Z","0.5.2":"2026-02-14T21:29:40.466Z","0.5.3":"2026-02-14T22:15:13.984Z"},"bugs":{"url":"https://github.com/4meta5/skills/issues"},"author":{"name":"Amar Singh"},"license":"MIT","homepage":"https://github.com/4meta5/skills#readme","keywords":["claude","skills","skill-loader","markdown","frontmatter","yaml"],"repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/skill-loader"},"description":"Parse and load SKILL.md files for Claude Code skills","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"readme":"# @4meta5/skill-loader\n\nParse and load SKILL.md files for Claude Code skills.\n\n## Installation\n\n```bash\nnpm install @4meta5/skill-loader\n```\n\n## Usage\n\n### Load a skill from a directory\n\n```typescript\nimport { loadSkillFromPath } from '@4meta5/skill-loader';\n\nconst skill = await loadSkillFromPath('.claude/skills/tdd');\n\nconsole.log(skill.metadata.name);        // 'tdd'\nconsole.log(skill.metadata.description); // 'Test-driven development workflow'\nconsole.log(skill.content);              // Skill instructions\nconsole.log(skill.supportingFiles);      // ['references/guide.md']\n```\n\n### Load all skills from a directory\n\n```typescript\nimport { loadSkillsFromDirectory } from '@4meta5/skill-loader';\n\n// Load all skills, including nested ones\nconst skills = await loadSkillsFromDirectory('.claude/skills');\n\nfor (const skill of skills) {\n  console.log(`${skill.metadata.name}: ${skill.metadata.description}`);\n}\n\n// Limit search depth\nconst shallowSkills = await loadSkillsFromDirectory('skills', { maxDepth: 2 });\n```\n\n### Parse SKILL.md content directly\n\n```typescript\nimport { parseFrontmatter } from '@4meta5/skill-loader';\n\nconst content = `---\nname: my-skill\ndescription: A helpful skill\ncategory: development\n---\n\n# My Skill\n\nInstructions here.\n`;\n\nconst parsed = parseFrontmatter(content);\n\nconsole.log(parsed.frontmatter.name);     // 'my-skill'\nconsole.log(parsed.frontmatter.category); // 'development'\nconsole.log(parsed.body);                 // '# My Skill\\n\\nInstructions here.'\n```\n\n### Format skill metadata to SKILL.md\n\n```typescript\nimport { formatSkillMd } from '@4meta5/skill-loader';\n\nconst content = formatSkillMd(\n  {\n    name: 'my-skill',\n    description: 'A helpful skill',\n    category: 'development',\n    'user-invocable': true\n  },\n  '# Instructions\\n\\nDo the thing.'\n);\n\n// Returns formatted SKILL.md content\n```\n\n### Check if a directory is a skill\n\n```typescript\nimport { isSkillDirectory } from '@4meta5/skill-loader';\n\nif (await isSkillDirectory('./my-skill')) {\n  console.log('Valid skill directory');\n}\n```\n\n## SKILL.md Format\n\nA valid SKILL.md file has YAML frontmatter followed by markdown content:\n\n```markdown\n---\nname: skill-name\ndescription: Brief description of what the skill does\ncategory: testing\nuser-invocable: true\ndisable-model-invocation: false\nallowed-tools: Read, Write, Bash\ncontext: inline\nagent: my-agent\n---\n\n# Skill Name\n\nSkill instructions and content here.\n```\n\n### Required Fields\n\n- `name`: Unique identifier (kebab-case)\n- `description`: Brief description\n\n### Optional Fields\n\n- `category`: One of `meta`, `audit`, `principles`, `habits`, `hot`\n- `user-invocable`: Whether skill can be invoked via `/skill-name`\n- `disable-model-invocation`: Prevent automatic loading\n- `allowed-tools`: Comma-separated list of allowed tools\n- `context`: `fork` or `inline`\n- `agent`: Specific agent to use\n\n## Types\n\n```typescript\ninterface Skill {\n  metadata: SkillMetadata;\n  content: string;\n  path: string;\n  supportingFiles?: string[];\n}\n\ninterface SkillMetadata {\n  name: string;\n  description: string;\n  category?: SkillCategory;\n  'disable-model-invocation'?: boolean;\n  'user-invocable'?: boolean;\n  'allowed-tools'?: string;\n  context?: 'fork' | 'inline';\n  agent?: string;\n}\n\ntype SkillCategory =\n  | 'meta'\n  | 'audit'\n  | 'principles'\n  | 'habits'\n  | 'hot';\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}