{"_id":"@dongkseo/skills","_rev":"6-5b42dc4ec768ad12e8392a70fc98c330","name":"@dongkseo/skills","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@dongkseo/skills","version":"0.1.0","_id":"@dongkseo/skills@0.1.0","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"d8a195686caef9c4692ad592c19dbf8030f98d6e","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.0.tgz","fileCount":29,"integrity":"sha512-dz+fgS+1kV0zlw3sdItkJhgd4gyLRSNaOlJxS61SPGOZWXmeGUgguyFwP+WR0D8Z+TfiC4FDX4csSZwZGRdw9g==","signatures":[{"sig":"MEUCIGrB/l3mq4J2gftmW3ZuA6ckj7N9GB0Lo4XmqHtx2rl3AiEAghR93/5tHNuvdrnJTSnUxFvByIPwARxzcXtqVqegx4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95283},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-skills-0.1.0.tgz","types":"./dist/index.d.ts","nexora":{"stability":"experimental"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/f5312e6dd710fb0da138165ef0d5763d/dongkseo-skills-0.1.0.tgz","_integrity":"sha512-dz+fgS+1kV0zlw3sdItkJhgd4gyLRSNaOlJxS61SPGOZWXmeGUgguyFwP+WR0D8Z+TfiC4FDX4csSZwZGRdw9g==","_npmVersion":"11.12.1","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.0_1781668540764_0.0335430670295922","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dongkseo/skills","version":"0.1.1","_id":"@dongkseo/skills@0.1.1","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"beecdfc169a219499adff027094ba7a048c54727","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.1.tgz","fileCount":29,"integrity":"sha512-mAu1a0UXcq2egheGjCEwraSAXTq1d1PATIkN/KbdL1lZs6XjbduGRHqIYcGtRwzS3gzwE1AUD41Q5y67fJIbww==","signatures":[{"sig":"MEUCICMrvMBySYKdYzFv2IuHx9Jcp2jikiLSxvIhKbwFtHA7AiEAiEKarvChEJI4tHPe6hwmstFBHb/HnvPGmYnoUk3TRtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95283},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-skills-0.1.1.tgz","types":"./dist/index.d.ts","nexora":{"stability":"experimental"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/15e4b484970bc6789a4597b8e4d646da/dongkseo-skills-0.1.1.tgz","_integrity":"sha512-mAu1a0UXcq2egheGjCEwraSAXTq1d1PATIkN/KbdL1lZs6XjbduGRHqIYcGtRwzS3gzwE1AUD41Q5y67fJIbww==","_npmVersion":"11.12.1","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.1_1781693215660_0.7904063787144433","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dongkseo/skills","version":"0.1.2","_id":"@dongkseo/skills@0.1.2","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"3d80fddcbd557cb377ba7761258743a18afc03ec","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.2.tgz","fileCount":29,"integrity":"sha512-G5CKln58vPTmTJ6jCaIZvjvVb639OERV9Z2Y2NC3e01re8S4E+uxT19dEd8nTgBWin8DyL2hTJquQCbeK+ET3g==","signatures":[{"sig":"MEUCIQDzi6To0Dk/E7sXt9GFOPYFiW2ie6/qUuv/Ryzh5+uhhwIgT5h4dHFHXXz1oBeXUip7OeFEQDzZjINBroiF4gGLPn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95284},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-skills-0.1.2.tgz","types":"./dist/index.d.ts","nexora":{"stability":"experimental"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/9599d1e8882557434ef01bf5bfde8dcd/dongkseo-skills-0.1.2.tgz","_integrity":"sha512-G5CKln58vPTmTJ6jCaIZvjvVb639OERV9Z2Y2NC3e01re8S4E+uxT19dEd8nTgBWin8DyL2hTJquQCbeK+ET3g==","_npmVersion":"11.12.1","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"^0.1.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.2_1782200180937_0.6959918749022469","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dongkseo/skills","version":"0.1.3","_id":"@dongkseo/skills@0.1.3","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"bdd825421d419a15f3a0a2869bcdb6c531dd8f95","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.3.tgz","fileCount":30,"integrity":"sha512-n1LCJ4BKhv6XFQ2WO628m5WQvvphRPuN4tXpftOLkX77Z6SuOfrrd+DX6Y4uGoGbc1OG2RH7vpY7c6ID/KNoJA==","signatures":[{"sig":"MEYCIQC0dnnWQuQqg17Cx1pKxQDcRs02vN6spo2bbcVzuY+C5AIhAJy9bdozGMNHmEN3NmR8/ROSzOa6/e46OA03tTRzryj1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101119},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-skills-0.1.3.tgz","types":"./dist/index.d.ts","nexora":{"stability":"experimental"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/f5baa69b2bc87a03c3f38196bf2145fb/dongkseo-skills-0.1.3.tgz","_integrity":"sha512-n1LCJ4BKhv6XFQ2WO628m5WQvvphRPuN4tXpftOLkX77Z6SuOfrrd+DX6Y4uGoGbc1OG2RH7vpY7c6ID/KNoJA==","_npmVersion":"11.16.0","description":"**Stability: stable** · `pnpm add @dongkseo/skills`","directories":{},"_nodeVersion":"26.3.1","dependencies":{"@dongkseo/contracts":"^0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.3_1782389349353_0.4685449489086473","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dongkseo/skills","version":"0.1.4","_id":"@dongkseo/skills@0.1.4","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"dbf9320d49b75bf147dcacbd811588054ed4e414","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.4.tgz","fileCount":30,"integrity":"sha512-M6E8058ML1su5AOAOhGJ5g0P7C90QOjnGQhm3tHF2nmIOVtMA9jSOvTFGKhqIoyPOsEwaHN4QJhjvEee0d/iCA==","signatures":[{"sig":"MEQCIHqvH9nLL5DBQATOLmbKpcK2JGd/UVzZi4nL/HG9R4/8AiA/LOiwDAQqrU8tgNbGosQohP4TO1HTfaHcFj6nhIdUpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103181},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-skills-0.1.4.tgz","types":"./dist/index.d.ts","nexora":{"stability":"experimental"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/9103c93216feb0cd82e8944d2ab945c2/dongkseo-skills-0.1.4.tgz","_integrity":"sha512-M6E8058ML1su5AOAOhGJ5g0P7C90QOjnGQhm3tHF2nmIOVtMA9jSOvTFGKhqIoyPOsEwaHN4QJhjvEee0d/iCA==","_npmVersion":"11.16.0","description":"**Stability: experimental** · `pnpm add @dongkseo/skills`","directories":{},"_nodeVersion":"26.3.1","dependencies":{"@dongkseo/contracts":"^0.1.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.1"},"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.4_1782903460549_0.4097542248254529","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dongkseo/skills","version":"0.1.5","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@dongkseo/contracts":"^0.1.32"},"devDependencies":{"@types/node":"^26.1.2","typescript":"^7.0.2"},"nexora":{"stability":"experimental"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","test":"vitest run","clean":"rm -rf dist .tsbuildinfo"},"_nodeVersion":"26.7.0","_id":"@dongkseo/skills@0.1.5","dist":{"integrity":"sha512-i6q0fvb/5SxJ1yOC39gst6GbITKlOAujSgOXxdNFOY1om2CHfy9wYaLTHeyg4oE7bNClGrISRXIIxgwo6irmHg==","shasum":"ff1f869a3bcfef28ba29ace64d5cc62b954025f9","tarball":"https://registry.npmjs.org/@dongkseo/skills/-/skills-0.1.5.tgz","fileCount":34,"unpackedSize":91046,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCADx0K59Ova/zCil7zbj8mbfT4nLfVck4ijFJcAxWgEwIgISzhFcqVv/vMXoz2by7Bve+jbdm1UPDDfYiSusVDSec="}]},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"directories":{},"maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/skills_0.1.5_1786622522908_0.9632890820570881"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T03:55:40.618Z","modified":"2026-08-13T12:02:03.310Z","0.1.0":"2026-06-17T03:55:40.904Z","0.1.1":"2026-06-17T10:46:55.812Z","0.1.2":"2026-06-23T07:36:21.102Z","0.1.3":"2026-06-25T12:09:09.632Z","0.1.4":"2026-07-01T10:57:40.676Z","0.1.5":"2026-08-13T12:02:03.068Z"},"maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"readme":"# @dongkseo/skills\n\n**Stability: experimental** · `pnpm add @dongkseo/skills`\n\nPython Nexora와 동일한 progressive-disclosure 스킬 런타임이다. discovery는 metadata만 읽고,\n전체 `SKILL.md` 본문은 모델이 단일 `skill` 도구를 정확한 이름으로 호출한 경우에만 로드한다.\n\n## 핵심 계약\n\n| 개념 | 역할 |\n| --- | --- |\n| `SkillMetadata` | catalog에 노출되는 name, description, revision |\n| `Skill` | 호출 후에만 로드되는 body, origin, resource base, allowed tools |\n| `SkillSource` | source-neutral `list()` / `load(name)` 포트 |\n| `DirectorySkillSource` | 디렉터리형 `{name}/SKILL.md` 어댑터 |\n| `SkillRegistry` | ordered source override와 bounded catalog 소유 |\n| `SkillTools` | 기존 `ToolExecutor`에 단 하나의 lazy `skill` 도구 추가 |\n\n시스템 프롬프트 메뉴, `skill_reload`, `skill_manage`, flat Markdown discovery는 제공하지 않는다.\n변경 사항은 `registry.refresh()`로 metadata만 다시 읽는다.\n\n## 사용\n\n```ts\nimport {\n  DirectorySkillSource,\n  SkillRegistry,\n  SkillTools,\n} from '@dongkseo/skills';\n\nconst registry = new SkillRegistry([\n  new DirectorySkillSource('/global/skills'),\n  new DirectorySkillSource('/project/skills'), // later source wins\n]);\n\nconst tools = new SkillTools(baseToolExecutor, registry);\nconst runner = new AgentRunner({ architecture, llm, tools });\n\nawait registry.refresh(); // optional explicit reload; bodies remain unloaded\n```\n\n`SkillTools.prepare()`가 모델 호출 직전에 metadata catalog를 준비한다. `skill` 호출 결과에는 일반\ntool result와 별도로 `contextMessages`가 붙고, architecture가 이를 다음 모델 라운드에 주입한다.\n\n리소스 경로는 본문 안의 `${NEXORA_SKILL_ROOT}` 또는 `${NEXORA_SKILL_DIR}`로 참조하고,\n호출 인자는 `${ARGUMENTS}` 또는 `$ARGUMENTS`로 받는다.\n\n## API 표면\n\n```bash\nctx_read(path=\"packages/skills/src/types.ts\", mode=\"signatures\")\nctx_read(path=\"packages/skills/src/skill-loader.ts\", mode=\"signatures\")\nctx_read(path=\"packages/skills/src/skill-registry.ts\", mode=\"signatures\")\nctx_read(path=\"packages/skills/src/skill-tools.ts\", mode=\"signatures\")\n```\n\n## Tests\n\n```bash\npnpm --filter @dongkseo/skills test\n```\n","readmeFilename":""}