{"_id":"@skillmds/core","_rev":"2-797d54270aaf307078b9888d03258478","name":"@skillmds/core","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@skillmds/core","version":"1.0.0","keywords":["agent-skills","skill.md","skillmd","lint","validator","sarif","security-scanner","claude","ai-agents","mcp"],"author":{"name":"SkillMD"},"license":"MIT","_id":"@skillmds/core@1.0.0","maintainers":[{"name":"bloodyhill","email":"arabicized@gmail.com"}],"homepage":"https://skillmd.com","bugs":{"url":"https://github.com/skillmds/skillmd/issues"},"dist":{"shasum":"b0152729acd3bf87a876e355a3e6987b216e5877","tarball":"https://registry.npmjs.org/@skillmds/core/-/core-1.0.0.tgz","fileCount":7,"integrity":"sha512-tdB/ZUwYIRbmOlnbRJ7X+bxCr/JE+xGm7YpgWgJbSmRT2isW85/kyPb7nbkIybeOzoR/zyc+DXuFgXQnxW5BQw==","signatures":[{"sig":"MEUCIQD158OazhMhrTY/so9K/S+04EDIgPxmhIaQ699QRxj0JgIgEvS30oO4FjA/kMoh8xlM1o6aaK3fZx2g40nk18Wj3dU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@skillmds%2fcore@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52079},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"79e40ff05baaf01e996e1e2972fd3169da9d5af1","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodyhill","email":"arabicized@gmail.com"},"repository":{"url":"git+https://github.com/skillmds/skillmd.git","type":"git","directory":"packages/core"},"_npmVersion":"12.0.2","description":"SKILL.md parser, lint rules, security scanner, quality score, and text/JSON/SARIF/GitHub report formatters for Agent Skills.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.6.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.0_1788780924271_0.9506411313656022","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"_id":"@skillmds/core@1.0.1","bugs":{"url":"https://github.com/skillmds/skillmd/issues"},"dist":{"shasum":"db233a50dfbda50a37b2b8c9cd9a5be5afbc96db","tarball":"https://registry.npmjs.org/@skillmds/core/-/core-1.0.1.tgz","fileCount":7,"integrity":"sha512-cuSqql51pfty4S22kHTnTDzVle9FBpsX1DvApo9mjm3Byrpuy3YUfNzphxwmjaXt6/yI/ybn27l6qHCrrXEsiA==","signatures":[{"sig":"MEUCIQD09uGp9nCs4eGzoClcL4GYG2TNyP83eO37CA/qbDjxOgIgYeFrHigQbWkgpaTWMA94hTcuI/sipb2vp41F6Atwm8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA2/6YvcoL2QAMmtses3Y2GliF4i7STsn6PU/LL676P3AiEA8H4VVei5FutpNjk1JR9ELnON1yBOd+7UwTM92c+OQZA="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@skillmds%2fcore@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52438},"main":"./dist/index.js","name":"@skillmds/core","type":"module","types":"./dist/index.d.ts","author":{"name":"SkillMD"},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"24f3ab5798141dcd32b8e8a234d1695d207e3884","license":"MIT","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"version":"1.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"0f1273b0-0025-4fa7-8044-839e9d739ab1"}},"homepage":"https://skillmd.com","keywords":["agent-skills","skill.md","skillmd","lint","validator","sarif","security-scanner","claude","ai-agents","mcp"],"repository":{"url":"git+https://github.com/skillmds/skillmd.git","type":"git","directory":"packages/core"},"_npmVersion":"12.2.1","description":"SKILL.md parser, lint rules, security scanner, quality score, and text/JSON/SARIF/GitHub report formatters for Agent Skills.","directories":{},"maintainers":[{"name":"bloodyhill","email":"arabicized@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"yaml":"^2.6.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_1.0.1_1793027882232_0.4999333343168042"}}},"time":{"created":"2026-09-07T11:35:24.031Z","modified":"2026-10-26T15:18:03.199Z","1.0.0":"2026-09-07T11:35:24.400Z","1.0.1":"2026-10-26T15:18:02.328Z"},"bugs":{"url":"https://github.com/skillmds/skillmd/issues"},"author":{"name":"SkillMD"},"license":"MIT","homepage":"https://skillmd.com","keywords":["agent-skills","skill.md","skillmd","lint","validator","sarif","security-scanner","claude","ai-agents","mcp"],"repository":{"url":"git+https://github.com/skillmds/skillmd.git","type":"git","directory":"packages/core"},"description":"SKILL.md parser, lint rules, security scanner, quality score, and text/JSON/SARIF/GitHub report formatters for Agent Skills.","maintainers":[{"name":"bloodyhill","email":"arabicized@gmail.com"}],"readme":"# @skillmds/core\n\n[![npm version](https://img.shields.io/npm/v/@skillmds/core.svg)](https://www.npmjs.com/package/@skillmds/core)\n[![license](https://img.shields.io/npm/l/@skillmds/core.svg)](https://github.com/skillmds/skillmd/blob/main/LICENSE)\n\nThe SKILL.md engine behind [SkillMD](https://skillmd.com): parser, lint rules, security scanner, quality score, and report formatters for [Agent Skills](https://docs.claude.com/en/docs/agents-and-tools/agent-skills). The same code runs in the SkillMD registry, the [`skillmd` CLI, and the `skillmds` MCP server](https://www.npmjs.com/package/skillmds) — so a skill that lints clean locally is valid everywhere.\n\nESM-only. No runtime dependencies beyond `yaml`. Runs unchanged in Node (≥18), browsers, and edge runtimes.\n\n## Install\n\n```bash\nnpm i @skillmds/core\n```\n\n## Usage\n\n```ts\nimport { lint } from \"@skillmds/core\";\n\nconst result = lint(rawSkillMd, { slug: \"my-skill\" });\n\nresult.ok;           // false when any error-severity diagnostic fired\nresult.score;        // quality score 0–100\nresult.diagnostics;  // [{ id: \"SK011\", severity: \"warn\", message: \"...\", line? }]\nresult.security;     // { flags: [\"network_calls\", ...], findings: [...] }\n```\n\n## API surface\n\n| Export | What it does |\n|---|---|\n| `lint(raw, options?)` | Parse → rules → security scan → quality score, in one call. |\n| `parseSkillMd(raw, type?)` | Parse SKILL.md frontmatter + body into a `ParsedSkill` (or a parse error). |\n| `runRules(skill, ctx?)` / `RULES` | Run (or inspect) the individual lint rules. |\n| `scanSecurity(body)` | Line-aware scan for scripts, network calls, and secret access. |\n| `qualityScore(diagnostics, security, opts?)` | The 0–100 score used across SkillMD. |\n| `toText` / `toJson` / `toSarif` / `toGithub` | Report formatters (SARIF uploads to GitHub Code Scanning). |\n| `skillMdFor(skill)` / `reconstructSkillMd(skill)` | Materialize an installable SKILL.md from a registry response. |\n| `isAllowedSourceUrl(url)` | Client-side SSRF guard for companion-file downloads. |\n| `slugify(name)` / `categorize(...)` | Naming + category helpers shared with the registry. |\n\nFull rule reference: [docs/rules.md](https://github.com/skillmds/skillmd/blob/main/docs/rules.md).\n\n## License\n\n[MIT](https://github.com/skillmds/skillmd/blob/main/LICENSE)\n","readmeFilename":"README.md"}