{"_id":"@dedeguo/software-project-training-skills","name":"@dedeguo/software-project-training-skills","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dedeguo/software-project-training-skills","version":"0.1.0","description":"《软件开发综合项目实训》课程 TRAE Skills 技能包","type":"module","bin":{"software-project-training-skills":"bin/install.js"},"engines":{"node":">=18"},"keywords":["trae","skills","software-project-training","ai-coding","education"],"license":"MIT","publishConfig":{"access":"public"},"gitHead":"c1f9e4db6410ddddb52a306975261cd261da4ed5","_id":"@dedeguo/software-project-training-skills@0.1.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-NJDPDKAtF537jZf6UNermSm7ZpqjAcgwzfTAMsgkZnzVDQpfG8pRaxN0OnFbEzEFeqnpo5WqWb/R8LTHUYm8fw==","shasum":"ee31b50acfca02c35f13d144c4aea5b2f53c4745","tarball":"https://registry.npmjs.org/@dedeguo/software-project-training-skills/-/software-project-training-skills-0.1.0.tgz","fileCount":20,"unpackedSize":141017,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDf5q68IKdcEb54WwdFoBhbCkFASmW9n7iP79Ax4z9yDAiBeCmJtIWsjP1GcvgUymDHLyqT5M+ycnkS/WuOhlYaG8w=="}]},"_npmUser":{"name":"dedeguo","email":"chende2018@gmail.com"},"directories":{},"maintainers":[{"name":"dedeguo","email":"chende2018@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/software-project-training-skills_0.1.0_1785937349454_0.31768007334036685"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-05T13:42:29.335Z","0.1.0":"2026-08-05T13:42:29.584Z","modified":"2026-08-05T13:42:29.777Z"},"maintainers":[{"name":"dedeguo","email":"chende2018@gmail.com"}],"description":"《软件开发综合项目实训》课程 TRAE Skills 技能包","keywords":["trae","skills","software-project-training","ai-coding","education"],"license":"MIT","readme":"# 软件开发综合项目实训 TRAE AI Skills\n\n面向软件工程项目实践的 AI Agent Skills 技能包\n\n本技能包将课程中的项目选题、需求分析、文档评审等方法整理为可复用的 AI 技能，帮助学生在 TRAE 中按照规范的软件工程流程完成课程项目。\n\n安装后，Skills 会被复制到当前项目的：\n\n```text\n.trae/skills/\n```\n\n同时生成课程技能调用规则：\n\n```text\n.trae/rules/software-project-training-skills.md\n```\n\n---\n\n## 一、主要功能\n\n本技能包目前包含以下 Skills：\n\n| Skill                   | 主要用途                                 |\n| ----------------------- | ------------------------------------ |\n| `topic-selection`       | 辅助学生选择、比较、优化和审核课程项目选题                |\n| `requirements-analysis` | 梳理用户角色、业务场景、功能需求、业务规则和验收条件           |\n| `requirements-review`   | 对照检查《项目选题立项书》和《需求分析说明书》中的矛盾、遗漏和超范围内容 |\n| `system-design`         | 完成技术选型、架构、模块、页面、数据、接口、权限和状态设计并编制设计说明书 |\n| `system-design-review`  | 评审系统设计的需求覆盖、可行性、一致性、安全风险和进入开发条件 |\n\n后续可继续增加：\n\n* 项目开发\n* 系统测试\n* 项目部署\n\n---\n\n## 二、适用对象\n\n本技能包主要面向：\n\n* 《软件开发综合项目实训》课程学生\n* 使用 TRAE 完成课程项目的学生\n* 使用 AI 辅助进行需求分析、系统设计和项目开发的学习者\n* 希望规范 AI 编程流程的教师和项目指导人员\n\n本技能包强调：\n\n1. AI 辅助学生完成项目，但不替学生承担项目责任。\n2. AI 不得虚构用户调研、教师意见、业务数据或项目事实。\n3. 需求、设计和代码必须保持一致。\n4. 项目应优先保证小而完整、可运行、可测试、可展示。\n5. 默认推荐学生独立完成项目，确有必要时再申请组队。\n\n---\n\n## 三、环境要求\n\n使用前需要安装：\n\n* Node.js 18 或更高版本\n* npm 或兼容的 Node.js 包管理工具\n* TRAE IDE\n\n检查 Node.js 和 npm 版本：\n\n```bash\nnode -v\nnpm -v\n```\n\n---\n\n## 四、安装方法\n\n### 1. 进入 TRAE 项目目录\n\n请先进入需要安装 Skills 的具体项目根目录。\n\n例如：\n\n```bash\ncd /path/to/student-project\n```\n\n不要直接在用户主目录中运行安装命令。\n\n### 2. 使用 npx 安装\n\n```bash\nnpx @dedeguo/software-project-training-skills\n```\n\n安装器会自动完成以下操作：\n\n1. 检查 npm 包中的所有 Skill。\n2. 校验每个 `SKILL.md` 的 `name` 和 `description`。\n3. 将 Skills 复制到当前项目的 `.trae/skills/`。\n4. 生成 `.trae/rules/software-project-training-skills.md`。\n5. 保留用户已经创建的其他 Skills 和 Rules。\n\n安装完成后的目录结构如下：\n\n```text\nstudent-project/\n├── .trae/\n│   ├── skills/\n│   │   ├── topic-selection/\n│   │   │   ├── SKILL.md\n│   │   │   ├── agents/\n│   │   │   └── references/\n│   │   │\n│   │   ├── requirements-analysis/\n│   │   │   ├── SKILL.md\n│   │   │   ├── agents/\n│   │   │   └── references/\n│   │   │\n│   │   ├── requirements-review/\n│   │   │   ├── SKILL.md\n│   │   │   ├── agents/\n│   │   │   └── references/\n│   │   │\n│   │   ├── system-design/\n│   │   │   ├── SKILL.md\n│   │   │   ├── agents/\n│   │   │   └── references/\n│   │   │\n│   │   └── system-design-review/\n│   │       ├── SKILL.md\n│   │       ├── agents/\n│   │       └── references/\n│   │\n│   └── rules/\n│       └── software-project-training-skills.md\n│\n└── ...\n```\n\n安装后建议重新打开 TRAE 项目，或者新建一个对话会话。\n\n---\n\n## 五、使用方法\n\nTRAE 可以根据 Skill 的 `description` 自动判断何时调用对应技能。\n\n也可以在对话中明确指定 Skill。\n\n### 1. 项目选题\n\n```text\n使用 topic-selection Skill，帮我比较以下三个项目选题，并推荐一个适合独立完成的题目。\n```\n\n```text\n使用 topic-selection Skill，检查我的项目题目是否范围过大。\n```\n\n```text\n使用 topic-selection Skill，帮我填写《项目选题立项书》。\n```\n\n### 2. 需求分析\n\n```text\n使用 requirements-analysis Skill，根据我的《项目选题立项书》梳理项目需求。\n```\n\n```text\n使用 requirements-analysis Skill，帮我整理用户角色、核心场景、功能需求和业务规则。\n```\n\n```text\n使用 requirements-analysis Skill，生成《需求分析说明书》初稿。\n```\n\n### 3. 需求文档评审\n\n```text\n使用 requirements-review Skill，评审我的《项目选题立项书》和《需求分析说明书》。\n```\n\n```text\n使用 requirements-review Skill，列出提交前必须修改的问题。\n```\n\n```text\n使用 requirements-review Skill，检查需求文档中是否存在范围冲突、流程断裂和无法验收的问题。\n```\n\n### 4. 系统设计\n\n```text\n使用 system-design Skill，根据《需求分析说明书》完成系统架构、模块、页面、数据库和接口设计。\n```\n\n```text\n使用 system-design Skill，比较适合当前课程项目的技术方案，并说明推荐依据和风险。\n```\n\n```text\n使用 system-design Skill，检查现有设计的一致性并生成《系统设计说明书》初稿。\n```\n\n### 5. 系统设计评审\n\n```text\n使用 system-design-review Skill，评审《系统设计说明书》和相关设计材料，列出进入开发前必须解决的问题。\n```\n\n```text\n使用 system-design-review Skill，沿核心业务流程检查页面、接口、权限、状态和数据库是否一致。\n```\n\n```text\n使用 system-design-review Skill，复核评审问题的修改结果并判断能否形成设计基线。\n```\n\n---\n\n## 六、命令参数\n\n### 查看帮助\n\n```bash\nnpx @dedeguo/software-project-training-skills --help\n```\n\n也可以使用：\n\n```bash\nnpx @dedeguo/software-project-training-skills -h\n```\n\n### 查看技能列表\n\n```bash\nnpx @dedeguo/software-project-training-skills --list\n```\n\n该命令只显示当前 npm 包中包含的 Skills，不会修改项目文件。\n\n### 模拟安装\n\n```bash\nnpx @dedeguo/software-project-training-skills --dry-run\n```\n\n该命令会显示将要创建、删除和复制的文件，但不会真正修改项目。\n\n### 更新技能包\n\n```bash\nnpx @dedeguo/software-project-training-skills@latest\n```\n\n重新安装时，只会覆盖当前技能包中的同名 Skill，不会删除用户自己创建的其他 Skill。\n\n### 卸载技能包\n\n```bash\nnpx @dedeguo/software-project-training-skills --uninstall\n```\n\n卸载器只会删除：\n\n* 本技能包中包含的同名 Skill\n* 本安装器生成的课程 Rule 文件\n\n不会删除用户自己创建的其他 Skills 和 Rules。\n\n### 强制在当前目录安装\n\n安装器默认不允许直接安装到用户主目录。\n\n确认需要在当前目录安装时，可以运行：\n\n```bash\nnpx @dedeguo/software-project-training-skills --force\n```\n\n不建议学生使用该参数，除非已经确认当前目录就是项目目录。\n\n---\n\n## 七、目录结构\n\n本 npm 包的推荐结构如下：\n\n```text\ncourse_design/\n├── package.json\n├── README.md\n├── LICENSE\n│\n├── bin/\n│   └── install.js\n│\n└── skills/\n    ├── topic-selection/\n    │   ├── SKILL.md\n    │   ├── agents/\n    │   │   └── openai.yaml\n    │   └── references/\n    │       └── project-topics.md\n    │\n    ├── requirements-analysis/\n    │   ├── SKILL.md\n    │   ├── agents/\n    │   │   └── openai.yaml\n    │   └── references/\n    │       └── requirements-spec-template.md\n    │\n    ├── requirements-review/\n    │   ├── SKILL.md\n    │   ├── agents/\n    │   │   └── openai.yaml\n    │   └── references/\n    │       └── review-checklist.md\n    │\n    ├── system-design/\n    │   ├── SKILL.md\n    │   ├── agents/\n    │   │   └── openai.yaml\n    │   └── references/\n    │       ├── system-design-spec-template.md\n    │       └── design-consistency-checklist.md\n    │\n    └── system-design-review/\n        ├── SKILL.md\n        ├── agents/\n        │   └── openai.yaml\n        └── references/\n            ├── system-design-review-checklist.md\n            └── design-review-record-template.md\n```\n\n---\n\n## 八、Skill 编写规范\n\n每个 Skill 必须放在独立目录中：\n\n```text\nskills/<skill-name>/\n```\n\n并至少包含：\n\n```text\nSKILL.md\n```\n\n### SKILL.md 示例\n\n```markdown\n---\nname: system-design\ndescription: \"Guide students through system architecture, technical selection, functional modules, UI prototypes, database design, interfaces, permissions, and business-state design. Use when a student needs to design or review a course software project before implementation.\"\n---\n\n# 系统设计助手\n\n## 使用场景\n\n当学生需要完成以下任务时使用：\n\n- 系统架构设计\n- 技术选型\n- 功能模块设计\n- UI 原型和页面流程设计\n- 数据库 E-R 图和数据表设计\n- 接口、权限和业务状态设计\n- 系统设计说明书编写\n\n## 工作流程\n\n1. 阅读需求分析说明书。\n2. 建立需求与设计之间的对应关系。\n3. 设计系统架构和技术方案。\n4. 划分功能模块。\n5. 设计页面原型和页面流程。\n6. 设计数据库。\n7. 设计接口、权限和业务状态。\n8. 检查设计是否覆盖全部必做需求。\n\n## 约束\n\n- 不得脱离需求文档随意扩展功能。\n- 未确认的信息必须标记为待确认。\n- 技术方案应符合学生现有基础和课程周期。\n```\n\n### name 要求\n\n`name` 应满足：\n\n* 使用小写英文字母\n* 单词之间使用连字符\n* 与技能目录名保持一致\n* 不使用空格和中文\n\n正确示例：\n\n```yaml\nname: system-design\n```\n\n对应目录：\n\n```text\nskills/system-design/\n```\n\n### description 要求\n\n`description` 应说明：\n\n1. 这个 Skill 能做什么。\n2. 在什么任务中使用。\n3. 哪些典型场景会触发该 Skill。\n4. 必要时说明不适用的任务。\n\n不要只写：\n\n```yaml\ndescription: 系统设计技能\n```\n\n推荐写法：\n\n```yaml\ndescription: \"Guide students through system architecture, technical selection, functional modules, UI prototypes, database design, interfaces, permissions, and business-state design. Use when a student needs to design or review a course software project before implementation.\"\n```\n\n---\n\n## 九、添加新的 Skill\n\n### 1. 创建技能目录\n\n```bash\nmkdir -p skills/system-design\n```\n\n### 2. 创建 SKILL.md\n\n```bash\ntouch skills/system-design/SKILL.md\n```\n\n### 3. 添加参考资料\n\n```bash\nmkdir -p skills/system-design/references\n```\n\n可以添加：\n\n```text\nreferences/\n├── system-design-spec-template.md\n└── design-consistency-checklist.md\n```\n\n### 4. 添加脚本\n\nSkill 需要自动检查或处理文件时，可以创建：\n\n```bash\nmkdir -p skills/system-design/scripts\n```\n\n例如：\n\n```text\nscripts/\n└── validate-design.js\n```\n\n### 5. 本地检查\n\n```bash\nnode bin/install.js --list\n```\n\n如果 `name`、`description` 或目录结构存在问题，安装器会给出错误提示。\n\n---\n\n## 十、本地开发与测试\n\n### 1. 安装依赖\n\n当前安装器只使用 Node.js 内置模块，一般不需要安装第三方依赖。\n\n### 2. 检查 npm 打包内容\n\n在 `ai_skills` 目录中执行：\n\n```bash\nnpm pack --dry-run\n```\n\n需要确认打包内容至少包括：\n\n```text\npackage.json\nREADME.md\nbin/install.js\nskills/\n```\n\n不要把整个电子教材和无关文件发布到 npm。\n\n### 3. 测试技能列表\n\n```bash\nnode bin/install.js --list\n```\n\n### 4. 模拟安装\n\n进入一个测试项目：\n\n```bash\ncd /path/to/test-project\n```\n\n运行：\n\n```bash\nnode /path/to/software-project-training-docs/ai_skills/bin/install.js --dry-run\n```\n\n### 5. 执行本地安装\n\n```bash\nnode /path/to/software-project-training-docs/ai_skills/bin/install.js\n```\n\n### 6. 检查安装结果\n\n```bash\nfind .trae/skills -name SKILL.md\n```\n\n还可以检查生成的规则：\n\n```bash\ncat .trae/rules/software-project-training-skills.md\n```\n\n### 7. 测试卸载\n\n```bash\nnode /path/to/software-project-training-docs/ai_skills/bin/install.js --uninstall\n```\n\n---\n\n## 十一、发布到 npm\n\n### 1. 登录 npm\n\n```bash\nnpm login\n```\n\n查看当前登录用户：\n\n```bash\nnpm whoami\n```\n\n### 2. 检查 package.json\n\n示例：\n\n```json\n{\n  \"name\": \"@dedeguo/software-project-training-skills\",\n  \"version\": \"0.1.0\",\n  \"description\": \"《软件开发综合项目实训》课程 TRAE Skills 技能包\",\n  \"type\": \"module\",\n  \"bin\": {\n    \"software-project-training-skills\": \"bin/install.js\"\n  },\n  \"files\": [\n    \"bin/\",\n    \"skills/\",\n    \"README.md\",\n    \"LICENSE\"\n  ],\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"keywords\": [\n    \"trae\",\n    \"skills\",\n    \"software-project-training\",\n    \"ai-coding\",\n    \"education\"\n  ],\n  \"license\": \"MIT\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  }\n}\n```\n\n### 3. 增加脚本执行权限\n\n在 macOS 或 Linux 中执行：\n\n```bash\nchmod +x bin/install.js\n```\n\n### 4. 检查发布内容\n\n```bash\nnpm pack --dry-run\n```\n\n### 5. 发布\n\n```bash\nnpm publish --access public\n```\n\n发布成功后，学生即可使用：\n\n```bash\nnpx @dedeguo/software-project-training-skills\n```\n\n---\n\n## 十二、版本更新\n\n修改 Skill 后，需要升级 `package.json` 中的版本号。\n\n### 修复错误\n\n```bash\nnpm version patch\n```\n\n例如：\n\n```text\n0.1.0 → 0.1.1\n```\n\n### 增加兼容功能或新 Skill\n\n```bash\nnpm version minor\n```\n\n例如：\n\n```text\n0.1.0 → 0.2.0\n```\n\n### 存在不兼容变更\n\n```bash\nnpm version major\n```\n\n例如：\n\n```text\n0.1.0 → 1.0.0\n```\n\n然后重新发布：\n\n```bash\nnpm publish --access public\n```\n\n---\n\n## 十三、常见问题\n\n### 1. 安装后 TRAE 没有识别 Skill\n\n请检查：\n\n```text\n.trae/skills/<skill-name>/SKILL.md\n```\n\n确认 `SKILL.md` 直接位于技能目录下，而不是多嵌套了一层。\n\n正确结构：\n\n```text\n.trae/skills/topic-selection/SKILL.md\n```\n\n错误结构：\n\n```text\n.trae/skills/software-project-training-skills/topic-selection/SKILL.md\n```\n\n完成检查后，重新打开 TRAE 项目或创建新会话。\n\n### 2. 提示 name 与目录名不一致\n\n例如目录为：\n\n```text\nskills/requirements-analysis/\n```\n\n则 `SKILL.md` 中必须写：\n\n```yaml\nname: requirements-analysis\n```\n\n### 3. 重复安装会不会删除其他 Skill\n\n不会。\n\n安装器只会覆盖本 npm 包中同名的 Skill，例如：\n\n```text\ntopic-selection\nrequirements-analysis\nrequirements-review\nsystem-design\nsystem-design-review\n```\n\n不会清空整个：\n\n```text\n.trae/skills/\n```\n\n### 4. 如何恢复某个被修改的课程 Skill\n\n重新运行：\n\n```bash\nnpx @dedeguo/software-project-training-skills@latest\n```\n\n安装器会用 npm 包中的版本覆盖同名 Skill。\n\n### 5. 可以只安装一个 Skill 吗\n\n当前版本默认安装技能包中的全部 Skills。\n\n如后续需要，可以为安装器增加：\n\n```bash\n--skill topic-selection\n```\n\n或：\n\n```bash\n--only topic-selection,requirements-analysis\n```\n\n### 6. 可以安装到全局 TRAE Skills 目录吗\n\n当前安装器定位为课程项目级安装，只安装到：\n\n```text\n当前项目/.trae/skills/\n```\n\n这样可以保证：\n\n* 不同课程项目之间互不影响\n* 学生提交项目时可以保留项目规则\n* 教师能够检查项目中使用了哪些 Skills\n* 技能版本可以随项目保持一致\n\n---\n\n## 十四、课程使用建议\n\n教师可以要求学生在项目开始时执行：\n\n```bash\nnpx @dedeguo/software-project-training-skills\n```\n\n之后按照课程阶段使用对应 Skill：\n\n```text\n项目选题\n    ↓\ntopic-selection\n    ↓\n需求分析\n    ↓\nrequirements-analysis\n    ↓\n提交前评审\n    ↓\nrequirements-review\n    ↓\n系统设计\n    ↓\nsystem-design\n    ↓\n系统设计评审\n    ↓\nsystem-design-review\n```\n\n建议学生在使用 AI 时遵循以下原则：\n\n1. 先提供真实项目材料，再让 AI 分析。\n2. AI 提出的新增内容需要学生确认。\n3. 未确认的业务规则不得直接写入正式文档。\n4. AI 生成文档后必须由学生理解、检查和修改。\n5. 学生应能够说明需求、设计和代码之间的对应关系。\n6. 最终提交成果由学生本人负责。\n\n---\n\n## 十五、项目地址\n\n电子教材仓库：\n\n```text\nhttps://github.com/dedeguo/software-project-training-docs\n```\n\nSkills 源目录：\n\n```text\nai_skills/skills/\n```\n\n---\n\n## 十六、许可证\n\n本项目建议使用 MIT License。\n\n课程资料、模板和示例可以根据实际教学要求补充使用说明。学生在提交课程项目时，应遵守学校课程规范、学术诚信要求和第三方软件许可证。\n\n---\n\n## 十七、维护者\n\n陈德\n\n《软件开发综合项目实训》课程教学资源\n","readmeFilename":"README.md","_rev":"1-068034083f039714936c5cd470a351c0"}