关于 skill-awareness
skill-awareness 是用于记录代码实践类 skill 使用情况的 Agent 技能,可跨 Claude Code 和 OpenCode 会话保存记录。它结合技能识别矩阵、JSONL 日志和用量分析命令。
主要功能
- 01技能使用识别矩阵
- 02持久化 JSONL 使用日志
- 03通过 jq 分析用量
- 04完成前日志检查清单
适用场景
- 01记录编码时应用的技能
- 02查看使用不足或未使用的技能
- 03比较不同项目的技能使用情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yanko-belov/ code-craft --skill skill-awareness安装后在 Claude Code 中输入/skill-awareness确认已加载。
详细介绍
技能意识
概述
记录每次技能应用,建立实践记录。
应用任何代码工艺技能时,都要记录下来。这会在 Claude Code 和 OpenCode 会话之间创建一份持久记录,用于分析、识别使用不足的技能并衡量进步。
铁律
ALWAYS log when applying a code-craft skill. No silent applications.
使用日志
在 ~/.claude/skills/skill-usage.jsonl 中追加一行 JSON:
{"ts":"2026-01-22T10:30:00Z","skill":"single-responsibility","agent":"opencode","project":"/path/to/project","ctx":"Split UserManager into UserAuth and UserProfile"}
| 字段 | 值 |
|---|---|
ts | ISO 8601 时间戳 |
skill | 技能名称(kebab-case) |
agent | claude-code 或 opencode |
project | 工作目录路径 |
ctx | 应用情况简述(少于 100 个字符) |
技能检测矩阵
| 如果你正在…… | 检查这些技能 |
|---|---|
| 创建或修改类 | single-responsibility、open-closed、composition-over-inheritance、encapsulation |
| 构建继承层次结构 | liskov-substitution、composition-over-inheritance |
| 添加依赖项 | dependency-inversion、interface-segregation |
| 处理错误 | fail-fast、exception-hierarchies、error-boundaries |
| 编写 API 端点 | rest-conventions、error-responses、api-versioning、idempotency、input-validation |
| 编写数据库查询 | n-plus-one-prevention、caching、lazy-loading |
| 编写测试 | tdd、test-isolation、aaa-pattern |
| 处理机密信息或身份验证 | secrets-handling、auth-patterns、input-validation |
| 执行并发操作 | race-conditions、deadlock-prevention、idempotency |
| 复制粘贴代码 | dry |
| 添加“未来”功能 | yagni、kiss |
| 处理复杂逻辑 | kiss、separation-of-concerns、law-of-demeter |
| 修改状态 | immutability、encapsulation |
记录协议
应用技能后:
echo '{"ts":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'","skill":"SKILL_NAME","agent":"AGENT","project":"PROJECT_PATH","ctx":"BRIEF_CONTEXT"}' >> ~/.claude/skills/skill-usage.jsonl
分析命令
查看总使用次数:
cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.skill) | map({skill: .[0].skill, count: length}) | sort_by(-.count)'
最近的应用记录:
tail -20 ~/.claude/skills/skill-usage.jsonl | jq .
使用不足的技能(应用次数少于 3 次):
cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.skill) | map({skill: .[0].skill, count: length}) | map(select(.count < 3))'
从未使用过的技能:
# Compare logged skills against all 31
comm -23 <(ls ~/.claude/skills/ | grep -v '\.' | sort) <(cat ~/.claude/skills/skill-usage.jsonl | jq -r '.skill' | sort -u)
按项目查看使用情况:
cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.project) | map({project: .[0].project, skills: (group_by(.skill) | map({skill: .[0].skill, count: length}))})'
可用技能参考
SOLID(5)
single-responsibility、open-closed、liskov-substitution、interface-segregation、dependency-inversion
核心(6)
dry、yagni、kiss、composition-over-inheritance、law-of-demeter、fail-fast
测试(3)
tdd、test-isolation、aaa-pattern
安全(3)
input-validation、secrets-handling、auth-patterns
API 设计(4)
rest-conventions、error-responses、idempotency、api-versioning
性能(3)
n-plus-one-prevention、lazy-loading、caching
代码质量(3)
separation-of-concerns、encapsulation、immutability
错误处理(2)
exception-hierarchies、error-boundaries
并发(2)
race-conditions、deadlock-prevention
完成前检查清单
完成任何编码任务前,请自问:
- 检测矩阵中哪些技能适用?
- 我遵循这些技能了吗?
- 我记录每项应用了吗?
- 有什么违规之处需要提醒用户吗?
要点
每次技能应用都要记录。无一例外。
这会建立实践记录、揭示盲点,并助力持续改进。如果不确定某项技能是否适用,就记录下来并注明不确定性。