team-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.claude/commands/team-pull.md +21 -0
  2. package/.claude/commands/team-push.md +28 -0
  3. package/.claude/commands/team-setup.md +183 -0
  4. package/.claude/commands/team-uninstall.md +107 -0
  5. package/CHANGELOG.md +41 -0
  6. package/LICENSE +21 -0
  7. package/README.md +421 -0
  8. package/bin/team-skills.js +2 -0
  9. package/hooks/hooks.json +16 -0
  10. package/hooks/session-start +34 -0
  11. package/package.json +58 -0
  12. package/scripts/check-skill-structure.js +89 -0
  13. package/skills/CLAUDE.md +121 -0
  14. package/skills/_team-rules/constitutional-rules.md +25 -0
  15. package/skills/_team-rules/four-state-protocol.md +10 -0
  16. package/skills/_team-rules/verification-protocol.md +55 -0
  17. package/skills/team-brainstorm/SKILL.md +168 -0
  18. package/skills/team-debug/SKILL.md +143 -0
  19. package/skills/team-feedback/SKILL.md +175 -0
  20. package/skills/team-finish/SKILL.md +151 -0
  21. package/skills/team-impl/SKILL.md +316 -0
  22. package/skills/team-impl/references/06-tdd-log-template.md +62 -0
  23. package/skills/team-impl/references/07-prompt-log-template.md +32 -0
  24. package/skills/team-impl/references/08-ai-decisions-template.md +16 -0
  25. package/skills/team-orchestrator/SKILL.md +584 -0
  26. package/skills/team-orchestrator/references/14-team-template.md +70 -0
  27. package/skills/team-orchestrator/references/15-brief-template.md +50 -0
  28. package/skills/team-review/SKILL.md +383 -0
  29. package/skills/team-review/references/11-review-template.md +63 -0
  30. package/skills/team-review/references/12-asset-update-template.md +45 -0
  31. package/skills/team-review/references/13-retrospective-template.md +40 -0
  32. package/skills/team-score/SKILL.md +330 -0
  33. package/skills/team-spec/SKILL.md +231 -0
  34. package/skills/team-spec/references/01-plan-template.md +67 -0
  35. package/skills/team-spec/references/02-context-template.md +46 -0
  36. package/skills/team-spec/references/04-boundary-template.md +23 -0
  37. package/skills/team-spec/references/05-risk-template.md +50 -0
  38. package/skills/team-spec/references/delta-spec-template.md +32 -0
  39. package/skills/team-spec/references/prompt-template.md +23 -0
  40. package/skills/team-spec/references/sdd-template.md +72 -0
  41. package/skills/team-test/SKILL.md +190 -0
  42. package/skills/team-test/references/09-test-matrix-template.md +40 -0
  43. package/skills/team-test/references/10-test-report-template.md +59 -0
  44. package/skills/team-verify/SKILL.md +151 -0
  45. package/skills/using-team-skills/SKILL.md +137 -0
  46. package/src/cli.js +27 -0
  47. package/src/commands/init.js +115 -0
  48. package/src/commands/list.js +150 -0
  49. package/src/commands/setup.js +125 -0
  50. package/src/commands/uninstall.js +113 -0
  51. package/src/commands/update.js +118 -0
  52. package/src/lib/constants.js +17 -0
  53. package/src/lib/fs-utils.js +117 -0
  54. package/src/lib/inventory.js +64 -0
  55. package/src/lib/logger.js +34 -0
  56. package/src/lib/manifest.js +45 -0
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: 执行 git pull 拉取最新 Skills
3
+ ---
4
+
5
+ # /team-pull — 拉取最新 Skills
6
+
7
+ ## 功能
8
+
9
+ 在本仓库根目录执行 `git pull`,拉取远程最新的 Skills 变更。
10
+
11
+ ## 执行步骤
12
+
13
+ 1. 进入本仓库根目录:`cd "$(git rev-parse --show-toplevel)"`
14
+ 2. 检查当前分支状态
15
+ 3. 执行 `git pull --rebase`
16
+ 4. 报告拉取结果(新增/修改的文件列表)
17
+
18
+ ## 验证
19
+
20
+ - 确认 `git pull` 执行成功
21
+ - 如有冲突,提示用户手动解决
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: 执行 git commit 和 git push 提交 Skills 变更
3
+ argument-hint: [commit-message]
4
+ ---
5
+
6
+ # /team-push — 提交推送 Skills 变更
7
+
8
+ ## 功能
9
+
10
+ 将本仓库的 Skills 变更通过 `git commit` 和 `git push` 提交到远程仓库。
11
+
12
+ ## 参数
13
+
14
+ - `$ARGUMENTS`:commit message(如不提供则使用默认消息)
15
+
16
+ ## 执行步骤
17
+
18
+ 1. 进入本仓库根目录:`cd "$(git rev-parse --show-toplevel)"`
19
+ 2. 检查 `git status`,确认有变更需要提交
20
+ 3. 检查是否有敏感文件(`.env`、`credentials`、`secret` 等)被意外包含,如有则排除并添加到 `.gitignore`
21
+ 4. 使用 `git add` 逐个添加变更的文件(不使用 `git add -A`,避免意外包含不相关文件)
22
+ 5. 使用提供的 commit message 或默认消息执行 `git commit`
23
+ 6. 执行 `git push`
24
+ 7. 报告提交结果
25
+
26
+ ## 默认 commit message
27
+
28
+ 如未提供参数,使用:`"chore: update team skills [$(date +%Y-%m-%d)]"`
@@ -0,0 +1,183 @@
1
+ ---
2
+ description: 将当前仓库的 skills 和 commands 安装到指定目录(默认 ~/.agents/skills),含 _team-rules/ 共享规则
3
+ argument-hint: [target-dir]
4
+ ---
5
+
6
+ # /team-setup — Skills 安装命令
7
+
8
+ ## 功能
9
+
10
+ 将本仓库的所有内容软链接到目标目录,使 Claude Code 和 Cursor 都能发现并使用,且后续通过 `/team-pull` 即可同步更新。
11
+
12
+ 安装内容:
13
+
14
+ - `skills/*` → `{target-dir}/`(Agent Skills,含 team-score 评分 Skill 和 using-team-skills meta-skill)
15
+ - `skills/_team-rules/*` → `{target-dir}/_team-rules/`(共享规则文件,被所有 Skill 引用)
16
+ - `.claude/commands/*` → `{target-dir}/{name}/SKILL.md`(Commands 也作为 Skill 安装,Cursor 可发现)
17
+ - `.claude/commands/*` → `~/.claude/commands/`(兼容 Claude Code 斜杠命令)
18
+ - `hooks/hooks.json` → Cursor/Claude Code hooks 目录(可选,用于 session-start 注入)
19
+
20
+ ## 参数
21
+
22
+ - `$1`(可选):目标目录,默认为 `~/.agents/skills`
23
+
24
+ ## 执行步骤
25
+
26
+ ### 1. 确定目标目录
27
+
28
+ ```bash
29
+ set -euo pipefail
30
+ TARGET="${1:-$HOME/.agents/skills}"
31
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo "$(cd "$(dirname "$0")/../.." && pwd)")"
32
+ mkdir -p "$TARGET"
33
+ echo "目标目录: $TARGET"
34
+ echo "仓库根目录: $REPO_ROOT"
35
+ ```
36
+
37
+ ### 2. 安装 Agent Skills
38
+
39
+ 对本仓库 `skills/` 下的每个子目录(排除 `_team-rules` 和 `CLAUDE.md`),在目标目录下创建同名软链接。
40
+
41
+ ```bash
42
+ for dir in "$REPO_ROOT/skills"/*/; do
43
+ name="$(basename "$dir")"
44
+ # 跳过 _team-rules(单独处理)
45
+ [ "$name" = "_team-rules" ] && continue
46
+ ln -sfn "$dir" "$TARGET/$name"
47
+ echo " ✅ Skill: $name → $TARGET/$name"
48
+ done
49
+ ```
50
+
51
+ ### 3. 安装共享规则(_team-rules)
52
+
53
+ ```bash
54
+ mkdir -p "$TARGET/_team-rules"
55
+ for f in "$REPO_ROOT/skills/_team-rules"/*; do
56
+ [ -f "$f" ] || continue
57
+ ln -sf "$f" "$TARGET/_team-rules/$(basename "$f")"
58
+ echo " ✅ Rule: $(basename "$f")"
59
+ done
60
+ ```
61
+
62
+ ### 4. 安装 Commands(作为 Skill,供 Cursor 发现)
63
+
64
+ 对本仓库 `.claude/commands/` 下的每个 `.md` 文件,在目标目录下创建 `{name}/SKILL.md` 软链接。
65
+
66
+ ```bash
67
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
68
+ [ -f "$cmd" ] || continue
69
+ name="$(basename "$cmd" .md)"
70
+ # 跳过已作为 Skill 安装的同名目录,避免写入跟随 symlink
71
+ if [ -L "$TARGET/$name" ]; then
72
+ echo " ⚠️ Command Skill $name 跳过:已存在同名 Skill 目录"
73
+ continue
74
+ fi
75
+ mkdir -p "$TARGET/$name"
76
+ ln -sf "$cmd" "$TARGET/$name/SKILL.md"
77
+ echo " ✅ Command Skill: $name → $TARGET/$name/SKILL.md"
78
+ done
79
+ ```
80
+
81
+ ### 5. 安装 Commands(兼容 Claude Code 斜杠命令)
82
+
83
+ ```bash
84
+ mkdir -p "$HOME/.claude/commands"
85
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
86
+ [ -f "$cmd" ] || continue
87
+ name="$(basename "$cmd")"
88
+ ln -sf "$cmd" "$HOME/.claude/commands/$name"
89
+ echo " ✅ Claude Command: $name → $HOME/.claude/commands/$name"
90
+ done
91
+ ```
92
+
93
+ ### 6. 安装 Hooks(可选)
94
+
95
+ 如果目标平台支持 hooks(Cursor / Claude Code),将 `hooks/hooks.json` 和 `hooks/session-start` 安装到对应平台的 hooks 目录。
96
+
97
+ ```bash
98
+ install_hooks() {
99
+ local hook_dir="$1"
100
+ local platform="$2"
101
+ mkdir -p "$hook_dir"
102
+ if [ -f "$REPO_ROOT/hooks/hooks.json" ]; then
103
+ ln -sf "$REPO_ROOT/hooks/hooks.json" "$hook_dir/hooks.json"
104
+ echo " ✅ ${platform} hooks.json"
105
+ fi
106
+ if [ -f "$REPO_ROOT/hooks/session-start" ]; then
107
+ ln -sf "$REPO_ROOT/hooks/session-start" "$hook_dir/session-start"
108
+ chmod +x "$hook_dir/session-start" 2>/dev/null || true
109
+ echo " ✅ ${platform} session-start"
110
+ fi
111
+ }
112
+
113
+ # Cursor hooks
114
+ install_hooks "$HOME/.cursor/hooks" "Cursor"
115
+ # Claude Code hooks
116
+ install_hooks "$HOME/.claude/hooks" "Claude Code"
117
+ ```
118
+
119
+ ## 验证
120
+
121
+ ```bash
122
+ echo ""
123
+ echo "=== 验证安装 ==="
124
+
125
+ # 确认每个 Agent Skill 目录是软链接
126
+ errors=0
127
+ for dir in "$REPO_ROOT/skills"/*/; do
128
+ name="$(basename "$dir")"
129
+ [ "$name" = "_team-rules" ] && continue
130
+ if [ -L "$TARGET/$name" ] && [ -d "$TARGET/$name" ]; then
131
+ echo " ✅ $name → $(readlink "$TARGET/$name")"
132
+ else
133
+ echo " ❌ $name 未正确安装"
134
+ errors=$((errors + 1))
135
+ fi
136
+ done
137
+
138
+ # 确认 _team-rules 规则文件
139
+ for f in "$REPO_ROOT/skills/_team-rules"/*; do
140
+ [ -f "$f" ] || continue
141
+ name="$(basename "$f")"
142
+ if [ -L "$TARGET/_team-rules/$name" ]; then
143
+ echo " ✅ _team-rules/$name → $(readlink "$TARGET/_team-rules/$name")"
144
+ else
145
+ echo " ❌ _team-rules/$name 未正确安装"
146
+ errors=$((errors + 1))
147
+ fi
148
+ done
149
+
150
+ # 确认 Command Skills
151
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
152
+ [ -f "$cmd" ] || continue
153
+ name="$(basename "$cmd" .md)"
154
+ if [ -L "$TARGET/$name/SKILL.md" ]; then
155
+ echo " ✅ Command Skill $name → $(readlink "$TARGET/$name/SKILL.md")"
156
+ else
157
+ echo " ❌ Command Skill $name 未正确安装"
158
+ errors=$((errors + 1))
159
+ fi
160
+ done
161
+
162
+ # 确认 Claude Code 命令
163
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
164
+ [ -f "$cmd" ] || continue
165
+ name="$(basename "$cmd")"
166
+ if [ -L "$HOME/.claude/commands/$name" ]; then
167
+ echo " ✅ Claude Command $name → $(readlink "$HOME/.claude/commands/$name")"
168
+ else
169
+ echo " ❌ Claude Command $name 未正确安装"
170
+ errors=$((errors + 1))
171
+ fi
172
+ done
173
+
174
+ if [ "$errors" -eq 0 ]; then
175
+ echo ""
176
+ echo "🎉 安装完成!所有组件已正确安装。"
177
+ echo ""
178
+ echo "后续可通过 /team-pull 拉取更新。"
179
+ else
180
+ echo ""
181
+ echo "⚠️ 有 $errors 个组件安装异常,请检查。"
182
+ fi
183
+ ```
@@ -0,0 +1,107 @@
1
+ ---
2
+ description: 卸载 team-skills 的所有 symlink(Skills、Commands、Hooks)
3
+ argument-hint: [target-dir]
4
+ ---
5
+
6
+ # /team-uninstall — 卸载 Skills
7
+
8
+ ## 功能
9
+
10
+ 移除 `/team-setup` 创建的所有软链接,不影响本仓库源文件。
11
+
12
+ ## 参数
13
+
14
+ - `$1`(可选):目标目录,默认为 `~/.agents/skills`
15
+
16
+ ## 执行步骤
17
+
18
+ ### 1. 确定目标目录
19
+
20
+ ```bash
21
+ set -euo pipefail
22
+ TARGET="${1:-$HOME/.agents/skills}"
23
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo "$(cd "$(dirname "$0")/../.." && pwd)")"
24
+ echo "卸载来源: $REPO_ROOT"
25
+ echo "目标目录: $TARGET"
26
+ removed=0
27
+ ```
28
+
29
+ ### 2. 移除 Agent Skills
30
+
31
+ ```bash
32
+ for dir in "$REPO_ROOT/skills"/*/; do
33
+ name="$(basename "$dir")"
34
+ [ "$name" = "_team-rules" ] && continue
35
+ if [ -L "$TARGET/$name" ]; then
36
+ rm "$TARGET/$name"
37
+ echo " 🗑️ Skill: $name"
38
+ removed=$((removed + 1))
39
+ fi
40
+ done
41
+ ```
42
+
43
+ ### 3. 移除共享规则
44
+
45
+ ```bash
46
+ for f in "$REPO_ROOT/skills/_team-rules"/*; do
47
+ [ -f "$f" ] || continue
48
+ name="$(basename "$f")"
49
+ if [ -L "$TARGET/_team-rules/$name" ]; then
50
+ rm "$TARGET/_team-rules/$name"
51
+ echo " 🗑️ Rule: $name"
52
+ removed=$((removed + 1))
53
+ fi
54
+ done
55
+ rmdir "$TARGET/_team-rules" 2>/dev/null || true
56
+ ```
57
+
58
+ ### 4. 移除 Command Skills
59
+
60
+ ```bash
61
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
62
+ [ -f "$cmd" ] || continue
63
+ name="$(basename "$cmd" .md)"
64
+ if [ -L "$TARGET/$name/SKILL.md" ]; then
65
+ rm "$TARGET/$name/SKILL.md"
66
+ rmdir "$TARGET/$name" 2>/dev/null || true
67
+ echo " 🗑️ Command Skill: $name"
68
+ removed=$((removed + 1))
69
+ fi
70
+ done
71
+ ```
72
+
73
+ ### 5. 移除 Claude Code 命令
74
+
75
+ ```bash
76
+ for cmd in "$REPO_ROOT/.claude/commands"/*.md; do
77
+ [ -f "$cmd" ] || continue
78
+ name="$(basename "$cmd")"
79
+ if [ -L "$HOME/.claude/commands/$name" ]; then
80
+ rm "$HOME/.claude/commands/$name"
81
+ echo " 🗑️ Claude Command: $name"
82
+ removed=$((removed + 1))
83
+ fi
84
+ done
85
+ ```
86
+
87
+ ### 6. 移除 Hooks
88
+
89
+ ```bash
90
+ for hook_dir in "$HOME/.cursor/hooks" "$HOME/.claude/hooks"; do
91
+ for f in hooks.json session-start; do
92
+ if [ -L "$hook_dir/$f" ]; then
93
+ rm "$hook_dir/$f"
94
+ echo " 🗑️ Hook: $hook_dir/$f"
95
+ removed=$((removed + 1))
96
+ fi
97
+ done
98
+ done
99
+ ```
100
+
101
+ ### 7. 汇报
102
+
103
+ ```bash
104
+ echo ""
105
+ echo "✅ 卸载完成,共移除 $removed 个软链接。"
106
+ echo "本仓库源文件未受影响。"
107
+ ```
package/CHANGELOG.md ADDED
@@ -0,0 +1,41 @@
1
+ # 变更日志
2
+
3
+ 本文件记录 Team Skills 的所有重要变更。
4
+
5
+ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
6
+ 本项目遵循[语义化版本](https://semver.org/lang/zh-CN/spec/v2.0.0.html)。
7
+
8
+ ## [0.2.0] - 2026-06-22
9
+
10
+ ### 新增
11
+
12
+ - GitHub 社区标准文件:LICENSE、CONTRIBUTING、CODE_OF_CONDUCT、Issue/PR 模板
13
+ - GitHub Actions CI 工作流:Markdown 检查、链接检查、Skill 结构验证
14
+ - `examples/` 目录:快速开始指南和 Skill 使用示例
15
+ - README badges:星标、CI、许可证、工具兼容性、PR 欢迎
16
+
17
+ ### 变更
18
+
19
+ - 完全重写 README:视觉层次、对比表格、快速开始流程
20
+ - 所有文档统一为中文
21
+
22
+ ### 修复
23
+
24
+ - 所有 SKILL.md 文件标准化为一致的章节顺序
25
+ - 验证所有 Skill 间的交叉引用完整性
26
+
27
+ ## [0.1.0] - 2026-06-18
28
+
29
+ ### 新增
30
+
31
+ - 初始发布,包含 12 个核心 Skill
32
+ - Spec-Driven 开发框架,含 SDD 规格标准
33
+ - 有向图回退机制,支持测试/审查反馈自动回退
34
+ - 5 步验证协议,杜绝虚假通过声明
35
+ - 8 条 Constitutional Rules(不可覆盖的硬约束)
36
+ - 4 个人类介入点(H1-H4)
37
+ - 100 分制评分体系:7 项硬门槛 + 5 个维度
38
+ - 三层资产体系:项目级 → 模块级 → 任务级
39
+ - Delta Spec 支持修改类任务
40
+ - Session hook 自动加载 meta-skill
41
+ - 跨平台支持:Claude Code 和 Cursor
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Andeya
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.