create-skill-pkg
v0.0.4
Published
CLI to scaffold AI Agent Skill projects in JS, TS or Python
Maintainers
Readme
create-skill-pkg
一个用于快速生成 AI Agent “Skill (技能)” 项目的 CLI 脚手架工具,支持 Python、JavaScript 和 TypeScript。
如何使用
无需全局安装,直接使用 npx、pnpm create 或 yarn create 初始化技能:
npx create-skill-pkg my-skill
# 或者
pnpm create skill-pkg my-skill
# 或者
yarn create skill-pkg my-skill核心特性
- 交互式向导:自动提问技能名称、描述以及你想使用的开发语言。
- 多语言支持:原生支持 Python、JavaScript (Node.js) 或 TypeScript (基于 Rollup)。
- 5大顶尖 Prompt 模板:内置包括基础模板、选择引导、Workflow 工作流、意图路由,以及极其硬核的 Dynamic Request (动态请求自我生长) 模板。
- 自动化工程配置:
- 支持自动初始化 Git 仓库 (
git init)。 - 支持一键接入 Husky + Commitlint,强制约束 Conventional Commits (约定式提交) 规范。
- 自动根据选择的语言和模板注入对应的
package.json或requirements.txt。
- 支持自动初始化 Git 仓库 (
- 符合 Agent Skill 标准:自动为你创建核心的
SKILL.md指令说明文件,并生成标准的支撑目录结构(examples/、references/、resources/)。还针对人类开发者贴心生成了双语版README.md。 - 高级 TypeScript 架构:当选择 TypeScript 时,它会在
src-ts/目录下嵌套生成一个完全独立的、由 Rollup 驱动的前端工程,并允许接入 Vue、React 等框架。编译产物会自动映射并输出到外层的scripts/目录中供 Agent 执行。
运行示例 (Examples)
当你执行 npx create-skill-pkg my-awesome-skill 时,你可以体验到完整的沉浸式生成流程:
✔ Project name: … my-awesome-skill
✔ Skill description: … A powerful AI skill.
✔ Select the primary language for your skill: › TypeScript (Rollup)
✔ Select a SKILL.md template: › Dynamic Request (Self-growing API asset library)
✔ Initialize a git repository? … yes
✔ Add commit convention (Husky + Commitlint)? … yes
Executing npx create-vite-ts-pkg to scaffold TS project in src-ts...
✔ Select a JS framework: › None (Vanilla TS)
Scaffolding project in /.../my-awesome-skill/src-ts...
Successfully created project src-ts.
Injecting standard Skill files into /.../my-awesome-skill...
✔ Initialized empty Git repository.
Successfully created skill project my-awesome-skill.
Next steps:
cd my-awesome-skill
cd src-ts
npm install # or pnpm install
npm run build
cd ..
npm install # to install commitlint & husky if not in workspace
node scripts/index.js提交规范 (Commit Convention) 拦截示例
如果你选择了开启 Commitlint,当你随意填写提交信息(如 git commit -m "update code")时,Husky 会无情地拦截你的提交:
⧗ input: update code
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
✖ found 2 problems, 0 warnings
ⓘ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
husky - commit-msg hook exited with code 1 (error)你必须使用类似 feat: add awesome feature 的规范格式才能成功提交。
提交规范 (Commit Convention)
本项目使用 commitlint 强制推行 Conventional Commits (约定式提交) 规范。
在提交代码时,你的 Commit Message 必须以特定的前缀开头,并且冒号后面需要有一个空格。常用的前缀包括:
feat: 新增某某功能(新功能)fix: 修复某某bug(Bug 修复)chore: 更新相关配置(构建过程或辅助工具的变动)docs: 更新文档说明(文档修改)
如果不遵循此格式,Git Hook 会拦截并拒绝你的提交。
本地开发指南
- 克隆本仓库。
- 运行
pnpm install安装依赖。 - 在
bin/index.js中修改核心生成逻辑。 - 本项目已接入 Husky 和 Commitlint,用于强制校验 Conventional Commits 提交规范。
- 当你准备好发布新版本到 NPM 时,请确保登录了官方源,然后运行
pnpm release:
(npm login --registry=https://registry.npmjs.org/ pnpm releaserelease-it会全自动完成版本号升级、打 Git Tag 标签以及发布流程)。
