by jiabaobei
Skills Constitution — meta-rule governing all skill invocations across agent platforms
# Add to your Claude Code skills
git clone https://github.com/jiabaobei/skills-constitutionGuides for using ai agents skills like skills-constitution.
skills-constitution is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by jiabaobei. Skills Constitution — meta-rule governing all skill invocations across agent platforms. It has 79 GitHub stars.
skills-constitution's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/jiabaobei/skills-constitution" and add it to your Claude Code skills directory (see the Installation section above). skills-constitution ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
skills-constitution is primarily written in Python. It is open-source under jiabaobei on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh skills-constitution against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
一句话定位:这是凌驾于全部技能/工具/插件之上的元规则。无论用什么 Agent 框架,所有能力调用都必须先过这一关。
v2.8.0 — 新增精选技能注册表
registry.json(技能名+来源仓库+描述,按需安装),与「索引=使用者自己生成」思路一致
本宪法仅适用于"专业任务",不适用于简单问答。执行前先判断:
| 任务类型 | 特征 | 是否查技能 |
|---|---|---|
| 简单问答 | 翻译、润色、解释概念、一般知识问答 | ❌ 跳过 |
| 专业任务 | 编码、数据抓取、文件操作、API 调用、复杂分析 | ✅ 必须查 |
| 模糊任务 | 不确定是否需要专业工具 | ✅ 查一下(宁可不放过) |
判断标准:
自我豁免:本宪法本身是元规则,执行宪法条款时不需要再次查技能(防止死循环)。
误判回退(零号条款-C):若 Agent 误判任务类型(如把专业任务当作简单问答跳过),用户有权指出("这是专业任务,你应该查技能")。此时 Agent 必须:
MISJUDGMENTS),避免重复犯错当前 Agent 生态最大的浪费:装了一堆无敌的 Skill/工具/插件,但 Agent 傻傻的硬扛任务——明明有更专业的能力可用,却靠通用能力瞎猜,导致:
| 痛点 | 表现 | 后果 |
|---|---|---|
| 不调用 | 任务来了直接干,不扫能力清单 | 装了 100 个技能只用了 3 个 |
| 调用幻觉 | 凭印象选技能,不看描述是否匹配 | 用错技能、答非所问 |
| 调用混乱 | 多个技能都能做,随机挑一个 | 结果不稳定、质量不可控 |
| 能力误判 | 感觉"做不到"就直接拒绝 | 从不检查有没有技能能做 |
| 无复盘 | 做完就走,不看有没有更好技能 | 技能库长期闲置、越装越乱 |
| 扫描全量 | 每次任务扫描全部技能 | 响应慢、消耗高 |
本宪法使用以下通用术语,各平台的具体对应物见【平台映射表】:
| 通用术语 | 含义 | 各平台叫法举例 |
|---|---|---|
| 能力注册表 | Agent 当前可用的全部技能/工具/插件清单 | available_skills / tools / plugins / extensions / Gems / MCP servers |
| 技能描述 | 每个能力的触发条件说明 | description / trigger / when_to_use / system prompt |
| 技能索引 | 按功能分类的技能树(预生成,加速匹配)。⚠️ 仓库内 skill_tree.json 为作者快照/示例,使用者应运行 scripts/build_skill_tree.py 生成自己的索引 |
skill_tree.json(作者快照)/ 你生成的技能树 |
| 技能发现 | 搜索可安装的新能力 | find-skills / GPT Store / SkillHub / MCP Registry / Extensions |
| 记忆层 | 跨会话持久化的规则存储 | MEMORY.md / CLAUDE.md / AGENTS.md / Custom Instructions / .cursorrules |
| 技能文件 | 定义能力的结构化文档 | SKILL.md / GPT Actions / MCP Config / Gem Instructions |
在执行任何任务前,必须先查阅该平台的记忆/规则层,确认有无相关约定、历史上下文或待办事项。
各平台记忆层路径:
| 平台 | 记忆层路径 |
|---|---|
| WorkBuddy | ~/.workbuddy/MEMORY.md + 项目 .workbuddy/memory/ |
| Claude Code | CLAUDE.md 或 .claude/CLAUDE.md |
| Cursor | .cursorrules + .cursor/rules/ |
| Windsurf | .windsurfrules |
| Cline | .clinerules |
| ChatGPT | Custom Instructions |
| Gemini | Gem Instructions |
| Codex | AGENTS.md |
| 通用规则 | 项目根目录 RULES.md 或 .agent/rules.md |
查记忆顺序:
记忆层必备内容(自举前提:让"查记忆"真正发现技能,v2.3.0 新增):
为了让宪法自举执行,记忆层中应维护以下两类条目:
| 条目 | 内容 | 示例 |
|---|---|---|
INSTALLED_SKILLS |
已安装技能清单(名称 + 一句话描述) | file-ops:文件读取/写入工具,用于读取技能索引 |
SKILL_INDEX_PATH |
技能索引文件路径(你的技能树,非作者快照) | <你的平台技能目录>/skill_tree.json(如 ~/.claude/skills/) |
示例:
INSTALLED_SKILLS:
- file-ops:文件读取/写入工具,用于读取技能索引
- find-skills:技能搜索工具,用于发现新能力
- agent-memory:记忆管理系统
SKILL_INDEX_PATH: <你的技能目录>/skill_tree.json
只要按此格式维护记忆层,Agent 查记忆即可"回忆"出技能清单,无需实时扫描,冷启动问题就此解决。
每次执行专业任务前,必须先查看能力注册表,判断有没有能力与当前任务相关。
优化路径(v2.2.0 新增;v2.7.0 修正指向):
~/.claude/skills、Cursor .cursor/rules、WorkBuddy available_skills);有本地技能树则优先用它(运行 scripts/build_skill_tree.py 生成你自己的索引)执行强化(v2.5.0 新增,无条件第一步;v2.11.0 强制命中清单):
「先查技能索引」必须是无条件动作,不是"我觉得需要才查":
【宪法三查】
① 记忆 ✅ 已查(用户级/项目/今日流水)
② 技能树 ✅ 已读(命中技能清单:`git-workflow-and-versioning`(代码/部署)、`web-deploy-github`(GitHub 推送)…)
③ 匹配 ✅ 命中 X → 用它执行;无命中 → 说明"技能树无匹配"再走通用能力/文件系统
git-workflow-and-versioning),仅写"已查 skills-constitution"或"已读技能树"而无具体技能名 → 门禁 FAIL只要任务与某个能力的描述相关或部分相关 → 无条件优先加载该能力、按其指令执行。
禁止行为:
凌驾条款:即使某个能力说"我可以直接做",也必须先经本宪法确认没有更好匹配的能力。
确认能力注册表无匹配后,先通过平台的技能发现机制搜索是否有可获取的相关能力。
感觉"我做不到 / 没权限 / 没工具"时 → 必须先通过技能发现机制确认,确认无能力可用才能回复做不到。
禁止行为:
任务完成后(答复阶段)→ 若本地已装技能未能完美解决任务,必须去 GitHub / 全网能力库搜索更优能力推荐给用户,由用户自行决定是否安装。本地技能不足时"不搜索、不推荐"是违规。
触发场景(满足其一即必须执行):
搜索范围:
github.com 上的 skill/tool/agent 仓库,高 Star 优先)推荐格式:
🔍 本地技能未能完美解决此任务,从 GitHub 搜到这几个更优能力:
- 名称:xxx — 一句话亮点 + GitHub 链接 + Star 数 + 获取方式(是否要安装由你决定)
(最多 3 个,避免刷屏)
执行细则(v2.6.0 强化;v2.11.0 修正定位):
git-workflow-and-versioning 但网络受阻"),帮助用户理解为什么需要新技能constitution-check --step 5 自动校验推荐板块是否合规(含 github.com/owner/repo 链接 + star 数标记 + 获取方式)flowchart TD
A[任务来了] --> B{判断任务类型}
B -->|简单问答| C[直接回答,跳过]
B -->|专业任务| D[①查记忆层]
D --> E[②查技能索引<br/>按类型定位分支]
E --> F{分支内匹配?}
F -->|命中| G[③加载技能执行]
F -->|未命中| H[④全量扫描兜底]
H --> G
G --> I[⑤任务完成]
I --> J[⑥答复时自动推荐]
J --> K[结束]
按功能类型分类技能,Agent 执行时按分支定位,减少扫描范围 80%:
技能树/
├── 📜 元规则类(Meta)
│ ├── 宪法/规则定义
│ └── 安全审计
│
├── 🧠 记忆/知识管理类
│ ├── 个人记忆系统
│ ├── 项目知识图谱
│ └── 会话持久化
│
├── 🌐 网络/搜索类
│ ├── 网页自动化
│ ├── 数据抓取
│ ├── API 调用
│ └── 搜索工具
│
├── 💻 开发/编码类
│ ├── 代码生成
│ ├── 代码审查
│ ├── 测试工具
│ └── 构建/部署
│
├── 📄 文档处理类
│ ├── PDF 解析
│ ├── Word/Excel/PowerPoint
│ └── 格式转换
│
├── 🖼️ 内容生成类
│ ├── 图像生成
│ ├── 视频生成
│ └── UI/设计
│
├── 💰 业务专用类
│ ├── 金融/投资分析
│ ├── 法律/合规
│ └── 电商/营销
│
└── 🔧 通用工具类
├── 文件操作
├── 进程管理
└── 环境配置
完整索引:仓库内 SKILL_TREE.md / skill_tree.json 为作者快照(示例),展示技能树长什么样;使用者在自己的环境运行 scripts/build_skill_tree.py 生成自己的技能树,或用平台自身的能力清单(见【平台映射表】)
精选技能清单:需要"装什么技能"时,查看仓库内 registry.json(技能名+来源仓库+描述,精选开源技能,按需安装)
执行路径优化:
将本宪法的通用术语映射到各主流 Agent 平台的具体机制:
| 平台 | 能力注册表 | 技能发现 | 记忆层 / 持久化 | 适配方式 |
|---|---|---|---|---|
| ChatGPT (OpenAI) | Custom GPT 的 Actions + Knowledge | GPT Store | Custom Instructions | 将宪法核心条款写入 Custom Instructions;GPT Actions 即"能力" |
| Claude (Anthropic) | Claude Code skills + MCP servers | MCP Registry / skill 市场 | CLAUDE.md | 将宪法写入 CLAUDE.md 或 .claude/skills/;MCP servers 即"能力" |
| Codex (OpenAI) | AGENTS.md 中定义的工具链 | 无内置市场,靠 AGENTS.md 声明 | AGENTS.md | 将宪法写入 AGENTS.md;通过 AGENTS.md 声明可用工具 |
| Gemini (Google) | Gems + Extensions | Extensions Gallery | Gem Instructions | 将宪法写入 Gem Instructions;Extensions 即"能力" |
| Cursor | .cursor/rules/ + MCP | MCP Registry | .cursorrules | 将宪法写入 .cursor/rules/skills-constitution.md |
| Windsurf | .windsurfrules + MCP | MCP Registry | .windsurfrules | 将宪法写入 .windsurfrules |
| Cline | .clinerules + MCP | MCP Registry | .clinerules | 将宪法写入 .clinerules |
| GitHub Copilot | Agent Mode + MCP | GitHub Marketplace | .github/copilot/instructions.md | 将宪法写入 Copilot 指令文件 |
| 平台 | 能力注册表 | 技能发现 | 记忆层 / 持久化 | 适配方式 |
|---|---|---|---|---|
| WorkBuddy / CodeBuddy | available_skills + MCP connectors | find-skills + SkillHub | MEMORY.md + 用户级 skills | 将宪法写入 ~/.workbuddy/MEMORY.md;安装为用户级 skill |
| 扣子 (Coze) | 插件 + 工作流 | 插件商店 | Bot 人设与记忆 | 将宪法写入 Bot 人设提示词;插件即"能力" |
| 文心一言 | 插件 + 知识库 | 插件中心 | 自定义指令 | 将宪法写入自定义指令 |
| 通义千问 | 插件 + 智能体 | 插件市场 | 智能体指令 | 将宪法写入智能体指令 |
| Kimi | 工具调用 + 知识库 | 无内置市场 | 系统提示词 | 将宪法写入系统提示词 |
| 豆包 | 插件 + 工作流 | 插件商店 | Bot 人设 | 将宪法写入 Bot 人设提示词 |
| 智谱清言 | 插件 + 知识库 | 插件中心 | 自定义指令 | 将宪法写入自定义指令 |
| 月之暗面 | 插件 + 工具 | 插件市场 | 系统提示词 | 将宪法写入系统提示词 |
| Dify | 工具 + 工作流 | 插件市场 | 系统 Prompt | 将宪法写入系统 Prompt |
支持级别说明(诚实声明,v2.3.0 新增):
| 级别 | 含义 | 平台 |
|---|---|---|
| ✅ 完全支持 | 有本地文件系统 + 可访问的能力注册表/技能文件,宪法可真正执行"查索引→加载技能→执行" | WorkBuddy / Claude Code / Cursor / Windsurf / Cline / Codex |
| ⚠️ 建议型 | 无本地文件系统、无技能文件机制,只能将宪法条款注入提示词/人设,作为行为建议执行,无法真正加载技能文件 | ChatGPT / Kimi / 豆包 / 文心一言 / 通义千问 / 智谱清言 / 月之暗面 / Dify / 扣子 |
说明:对"建议型"平台,请勿期待 file-ops / find-skills 等本地技能机制生效;宪法在这些平台上以提示词约束的形式工作,效果取决于平台对系统提示词的遵循程度。
对于不在上表的框架,通用适配方式:
以下模板可直接复制到各平台的规则/指令/记忆层中:
## Skills 宪法(Skills Constitution)v2.11.0
本规则优先级高于全部技能/工具/插件。任何能力调用必须先过这一关。
执行路径:
1. 先查记忆:查阅平台记忆层(MEMORY.md/CLAUDE.md 等)确认相关规则
2. 先查技能:查看技能索引,按任务类型定位功能分支,**输出必须列出命中的技能名清单**
3. 匹配必用:有匹配则无条件优先使用该能力
4. 无匹配必搜:先搜索可获取的能力,再考虑通用能力
5. 能力边界:说"做不到"前必须先搜索确认无能力可用
6. 答复推荐:本地技能未能完美解决任务时,必须去 GitHub 搜索高 Star 能力推荐给用户(含链接+star+获取方式),由用户决定是否安装
违规判定:跳过查记忆/技能清单直接干 / 有匹配但不用 / 未搜索就拒绝 / 查技能树但未列出命中技能名(空头汇报)/ 本地技能不足却不去 GitHub 搜索推荐
description 包含可被分类的关键词,方便技能树索引。skill_tree.json),加速匹配。优先级从高到低:
1. 🔴 系统安全规则(不可违反)
2. 📜 Skills 宪法(本规则)—— 凌驾于全部技能/工具/插件之上
3. 🔧 具体能力的执行指令
4. 🤖 Agent 通用能力
以下行为属于严重违规,用户有权要求重做并说明理由:
| 违规行为 | 判定标准 |
|---|---|
| 跳过查记忆直接干 | 任务完成但未查阅平台记忆层 |
| 跳过查技能清单直接干 | 任务完成但未加载任何相关能力 |
| 有匹配但不用 | 能力注册表中有匹配能力但未加载 |
| 空头查技能(v2.11.0) | 只写"已读技能树/已查宪法"但未列出命中的具体技能名,且任务含代码/git/部署等关键词 |
| 查错分支(v2.11.0) | 任务要求编码/推送,却引用无关分类技能(如文档类) |
| 未搜索就拒绝 | 说"做不到"但未通过技能发现机制确认 |
| 无复盘推荐(v2.11.0) | 本地技能未能完美解决任务,却未去 GitHub 搜索更优能力推荐给用户 |
"无条件启用全部能力"在技术上不可行——大量能力全量加载会撑爆上下文窗口。能力机制的正确设计是按描述匹配触发,本宪法的作用就是确保这个匹配机制被强制执行,不被跳过。
v2.3.0 优化:通过技能树索引按功能分类,将扫描范围从"全量 659 个技能"缩小到"目标分支 ~50 个技能",减少 80%+ token 消耗。索引由 scripts/build_skill_tree.py 脚本生成并自检(分类条数和 ≥ total),禁止手写索引,从源头杜绝数据不一致。
cp -r skills-constitution ~/.workbuddy/skills/skills-constitution/
# 生成技能树索引(可选,建议定期运行)
python scripts/build_skill_tree.py
# 项目级
cp -r skills-constitution .claude/skills/skills-constitution/
# 用户级
cp -r skills-constitution ~/.claude/skills/skills-constitution/
# 将宪法写入规则目录
cp SKILL.md .cursor/rules/skills-constitution.md
将【快速注入模板】中的内容复制到:
# 检查技能是否加载
ls ~/.workbuddy/skills/skills-constitution/SKILL.md
# 生成技能树索引
python scripts/build_skill_tree.py
# 查看索引
cat skill_tree.json | jq '.total'
执行任意专业任务,观察是否先查记忆、再查技能、后有匹配必用。
目的:把「靠 Agent 自觉」变成「可校验、可拦截」。校验脚本只负责 PASS/FAIL;真正的强制触发依赖宿主 hook(如 WorkBuddy/Claude Code 的钩子),无 hook 环境退化为软校验。
⚠️ 仅适用专业任务:简单问答(翻译、润色、解释概念、一般知识问答)按零号条款跳过,不跑门禁——调用方应传
--simple声明(脚本直接 SKIP 退出),防止简单任务被误拉去校验(如无推荐板块导致误 FAIL)。
零号条款与强制拦截的协调:用确定性代码分类,而不是靠 Agent 自觉判断任务简不简单。
任务进入
│
├─ pre-hook.py --classify(零号条款分类器)
│ ├─ 命中简单关键词(翻译/润色/解释/概念/闲聊…)→ 【通道A】跳过门禁,直接通用能力 ✅
│ └─ 命中专业关键词(编码/爬虫/API/文件/部署…)→ 【通道B】强制注入校验
│ ├─ v2.11.0: pre-hook.py --task 提取任务必需分类(代码/git/部署→code 分类)
│ └─ 未输出【宪法三查】或未引用任务对应分类技能名 → BLOCKED(exit 1)
│ └─ 已输出【宪法三查】且命中任务分类技能 → 继续 step1-5 全量校验
└─ 模糊任务 → 宁可不放过,按通道B处理(宪法零号条款:模糊任务 ✅ 查一下)
git-workflow-and-versioning),否则 BLOCKEDscripts/
├── pre-hook.py # v2.10.0 输入拦截 + 任务分类器;v2.11.0 任务必需技能映射
├── constitution-check # 主入口(--pre-hook / --classify / --simple / --task)
├── retry-wrapper.py # v2.9.0 Post-hook 重试循环
├── steps/
│ ├── step1-check.py # 三查汇报校验(软+硬两层 + v2.11.0 Layer C 任务相关校验)
│ ├── step2-check.py # 技能树已读/无匹配声明(软+硬两层 + Layer C)
│ ├── step3-check.py # 匹配技能调用(软+硬两层 + Layer C)
│ ├── step4-check.py # 交付自检(非版本类任务自动跳过)
│ └── step5-check.py # 推荐板块(GitHub 链接 + star 数,软+硬两层)
└── lib/
├── state.py # 状态文件(.constitution-state.json,链式依赖)
└── text.py # 文本/正则工具
# 双通道分流(推荐入口):自动判定任务类型,简单跳过/专业强制
python scripts/constitution-check --classify --input task.txt
# 双通道 + 任务相关硬校验(v2.11.0):专业任务必须引用对应分类技能名
python scripts/constitution-check --classify --task "推送github代码" --input output.txt --strict
# 输入拦截:先校验开场是否已注入三查,未注入即阻断
python scripts/constitution-check --pre-hook --input output.txt --strict
# 全量软校验(默认:FAIL 只警告,不阻断)
python scripts/constitution-check --input output.txt
# 严格模式:FAIL 即阻断(exit 1)
python scripts/constitution-check --input output.txt --strict
# 简单任务豁免(零号条款:翻译/润色/概念解释,跳过门禁)
python scripts/constitution-check --simple
# 只跑指定 step(如推荐板块校验)
python scripts/constitution-check --step 5 --input output.txt
# 机器可读输出 / 重置状态
python scripts/constitution-check --input output.txt --json
python scripts/constitution-check --reset
# 直接生成注入块(任务开始前喂给 Agent;v2.11.0 含任务必需技能清单)
python scripts/pre-hook.py --task "推送github代码"
--strict 可选:宪法正文永远是"行为规则"(任何平台可遵守的兜底);脚本是"增强层"。禁止把"必须先跑脚本"写进宪法正文——在跑不了脚本的环境(ChatGPT/Kimi/豆包等建议型平台)会被 Agent 判为"不可满足"而整体跳过宪法欢迎提交 Issue 和 PR:
MIT License — 随意使用、修改、分发。
jiabaobei — GitHub
如果这个规则帮你解决了 Agent 不调用能力的问题,欢迎 ⭐ Star 收藏!
Skills 宪法 —— 凌驾于全部技能/工具之上的元规则,强制 Agent 先查后用、有匹配必用、无匹配必搜。跨平台通用(WorkBuddy / Claude / ChatGPT / Cursor / Gemini / ...)
把下面这段复制到你的 Agent 的规则/指令/记忆层中:
## Skills 宪法(Skills Constitution)v2.11.0
本规则优先级高于全部技能/工具/插件。任何能力调用必须先过这一关。
执行路径:
1. 先查记忆:查阅平台记忆层(MEMORY.md/CLAUDE.md 等)确认相关规则
2. 先查技能:查看技能索引,按任务类型定位功能分支,**输出必须列出命中的技能名清单**
3. 匹配必用:有匹配则无条件优先使用该能力
4. 无匹配必搜:先搜索可获取的能力,再考虑通用能力
5. 能力边界:说"做不到"前必须先搜索确认无能力可用
6. 答复推荐:本地技能未能完美解决任务时,必须去 GitHub 搜索高 Star 能力推荐给用户(含链接+star+获取方式),由用户决定是否安装
双通道(v2.10.0):简单任务(翻译/润色/解释)→ 零号条款豁免直接通用能力;
专业任务(编码/爬虫/API)→ pre-hook 强制注入记忆+技能树,未汇报【宪法三查】即被拦截。
任务相关硬校验(v2.11.0):任务含"代码/git/部署"等关键词时,输出必须引用 skill_tree.json
对应分类的实际技能名(如 `git-workflow-and-versioning`),只写"已查宪法/已读技能树"而无技能名 → FAIL。
违规判定:跳过查记忆/技能清单直接干 / 有匹配但不用 / 未搜索就拒绝 / 查技能树未列出命中技能名(空头汇报)/ 本地技能不足却不去 GitHub 搜索推荐
# 克隆仓库
git clone https://github.com/jiabaobei/skills-constitution.git
# 安装技能
cp -r skills-constitution ~/.workbuddy/skills/skills-constitution/
# 生成技能树索引
python scripts/build_skill_tree.py
# 用户级
cp -r skills-constitution ~/.claude/skills/skills-constitution/
# 将宪法写入规则目录
cp SKILL.md .cursor/rules/skills-constitution.md
# 或
cp SKILL.md .windsurfrules
# 或
cp SKILL.md .clinerules
将【快速注入模板】中的内容复制到:
前置过滤:简单问答(翻译/润色/解释)→ 跳过查技能;专业任务(编码/爬虫/API)→ 必须查;模糊任务 → 查一下(宁可不放过)。v2.10.0 由 pre-hook.py --classify 确定性分类器执行,不依赖 Agent 自觉。
每次执行专业任务前,查看能力注册表,判断有没有匹配的能力。v2.10.0 由 pre-hook.py 任务开始前强制注入记忆+技能树;v2.11.0 强制输出命中技能名清单(名称+依据),且任务含代码/git/部署等关键词时硬校验必须命中对应分类技能(Layer C)。
有匹配则无条件优先加载该能力,禁止绕开直接用通用能力。v2.11.0:匹配判定必须引用实际技能名(step3 Layer C 校验)。
无匹配时先通过技能发现机制搜索,再考虑通用能力。
说"做不到"前必须通过技能发现机制确认无能力可用。
本地技能未能完美解决任务时,必须去 GitHub / 全网搜索高 Star 相关能力推荐给用户(含链接+star+获取方式),由用户自行决定是否安装。本地不足却不去搜索 → 违规(v2.11.0 修正定位)。
按功能类型分类全部技能,Agent 执行时按分支定位,减少 80% 扫描量:
| 分类 | 说明 | 示例技能 |
|---|---|---|
| 📜 元规则类 | 宪法、规则定义、安全审计 | skills-constitution, skills-security-check |
| 🧠 记忆管理类 | 个人记忆、项目知识、会话持久化 | aiweko-memory-reports, agent-memory |
| 🌐 网络/搜索类 | 网页自动化、数据抓取、API 调用 | browser-skill, agent-browser, anysearch |
| 💻 开发/编码类 | 代码生成、审查、测试、构建 | code-review, pr-review, git-ops |
| 📄 文档处理类 | PDF、Word、Excel、PowerPoint | pdf, docx, xlsx, pptx |
| 🖼️ 内容生成类 | 图像、视频、UI 设计 | agnes-video-generator, image-to-ui |
| 💰 业务专用类 | 金融、法律、电商、营销 | 配网规划评审器, wind-finance |
| 🔧 通用工具类 | 文件操作、进程管理、环境配置 | file-ops, process-manager |
完整索引:仓库内 SKILL_TREE.md / skill_tree.json 为作者快照(示例);使用者在自己的环境运行 scripts/build_skill_tree.py 生成自己的技能树(或用平台自身能力清单)
精选开源技能/工具索引(作者整理),解决"装什么、从哪装"的问题。按需安装,不打包全量:
# 方式 1:直接 clone 来源仓库,复制技能目录到你的平台技能目录
git clone https://github.com/anthropics/skills.git
cp -r skills/skills/docx ~/.claude/skills/
# 方式 2:用包管理器(gh skill / sk 等)
gh skill install anthropics/skills docx
| 字段 | 说明 |
|---|---|
name |
技能名 |
repo |
来源仓库(owner/repo) |
path |
技能在仓库内的目录(可选,以仓库 README 为准) |
description |
一句话功能 |
category |
分类(framework/documents/development/testing/security/discovery/ai-tools) |
条目均来自真实开源仓库,见 registry.json。
| 痛点 | 表现 | 宪法解决 |
|---|---|---|
| 不调用 | 装了 100 个技能只用了 3 个 | 强制先查能力清单 |
| 调用幻觉 | 凭印象选技能,不看描述 | 必须匹配 description |
| 调用混乱 | 多个技能都能做,随机挑 | 按相关度排序选最优 |
| 能力误判 | 感觉"做不到"就直接拒绝 | 先搜索确认无能力 |
| 无复盘 | 做完就走,不看有没有更好技能 | 答复时自动推荐 |
| 扫描全量 | 每次任务扫全部技能 | 按技能树分支定位 |
优先级从高到低:
1. 🔴 系统安全规则(不可违反)
2. 📜 Skills 宪法(本规则)—— 凌驾于全部技能/工具/插件之上
3. 🔧 具体能力的执行指令
4. 🤖 Agent 通用能力
任务来了
│
▼
┌─────────────────────┐
│ ① 查记忆层 │── 读取平台规则/历史上下文
│ (Pre-Check Memory) │
└─────────────────────┘
│
▼
┌─────────────────────┐
│ ② 查技能索引 │── 按任务类型定位分支
│ (Skill Tree Lookup) │
└─────────────────────┘
│
├── 命中分类 → ③ 加载该分支技能描述
│
└── 未命中 → ④ 全量扫描 description 匹配
以下行为属于严重违规,用户有权要求重做并说明理由:
| 违规行为 | 判定标准 |
|---|---|
| 跳过查记忆直接干 | 任务完成但未查阅平台记忆层 |
| 跳过查技能清单直接干 | 任务完成但未加载任何相关能力 |
| 有匹配但不用 | 能力注册表中有匹配能力但未加载 |
| 未搜索就拒绝 | 说"做不到"但未通过技能发现机制确认 |
| 无复盘 | 答复时未搜索全网能力库(当任务与能力库明显相关时) |
把「靠 Agent 自觉」变成「可校验、可拦截」。5 个 step 独立校验,状态文件链式依赖,默认软校验 + --strict 可选阻断。
⚠️ 仅适用专业任务:简单问答(翻译/润色/解释概念)按零号条款跳过,用
--simple声明,不跑门禁。
任务进入
├─ pre-hook.py --classify(零号条款确定性分类器)
│ ├─ 简单关键词(翻译/润色/解释/概念)→ 【通道A】跳过门禁,直接通用能力
│ └─ 专业关键词(编码/爬虫/API/文件/部署)→ 【通道B】强制注入校验
│ ├─ v2.11.0: --task 提取任务必需分类(代码/git/部署→code 分类)
│ ├─ 未输出【宪法三查】→ BLOCKED(任务开始前被拦截,exit 1)
│ ├─ 未引用任务对应分类技能名(如 git-workflow-and-versioning)→ BLOCKED
│ └─ 已输出三查 + 已命中任务分类技能 → 继续 step1-5 全量校验
└─ 模糊任务 → 宁可不放过,按通道B处理(零号条款:模糊任务查一下)
# 双通道分流(推荐入口):自动判定任务类型
python scripts/constitution-check --classify --input task.txt
# 双通道 + 任务相关硬校验(v2.11.0:专业任务必须引用对应分类技能名)
python scripts/constitution-check --classify --task "推送github代码" --input output.txt --strict
# 输入拦截:先校验开场是否已注入三查,未注入即阻断
python scripts/constitution-check --pre-hook --input output.txt --strict
# 生成注入块(任务开始前喂给 Agent;v2.11.0 含任务必需技能清单)
python scripts/pre-hook.py --task "推送github代码"
# 全量软校验(FAIL 只警告)
python scripts/constitution-check --input output.txt
# 严格模式(FAIL 即阻断,exit 1)
python scripts/constitution-check --input output.txt --strict
# 简单任务豁免(零号条款)
python scripts/constitution-check --simple
# Post-hook 重试循环(v2.9.0:失败自动注入提示重试,最多3次)
python scripts/retry-wrapper.py --input output.txt --max-retries 3
# 单步校验(如推荐板块)
python scripts/constitution-check --step 5 --input output.txt
| Step | 校验内容 | 对应条款 | 版本 |
|---|---|---|---|
| classify | 双通道分流:简单/专业/模糊 | 零号条款 | v2.10.0 |
| pre-hook | 输入拦截:开场已注入三查?任务必需技能命中? | 第零/一条 | v2.10.0 / v2.11.0 |
| 1 | 宪法三查已汇报(软+硬+Layer C 任务相关) | 第零/一条 | v2.9.0 / v2.11.0 |
| 2 | 技能树已读或无匹配声明(软+硬+Layer C) | 第一条 | v2.9.0 / v2.11.0 |
| 3 | 命中技能已调用(软+硬+Layer C) | 第二条 | v2.9.0 / v2.11.0 |
| 4 | 交付自检(非版本类自动跳过) | 全文件核查 | v2.6.0 |
| 5 | 推荐板块含 GitHub 链接+star 数(软+硬两层) | 第五条 | v2.9.0 |
⚠️ 设计边界:脚本是"增强层",宪法正文永远是行为规则兜底。禁止把"必须先跑脚本"写进正文——在跑不了脚本的环境会被 Agent 判为"不可满足"而整体跳过宪法。
git-workflow-and-versioning)——彻底杜绝"查了 skills-constitution 就算查了技能"的空头汇报required_categories_for_task() / required_skills_for_task() 确定性映射(任务关键词→必需分类→候选技能),注入块自动附加「任务必需技能」清单--task 参数pre-hook.py:任务开始前强制读取 MEMORY.md + skill_tree.json 生成注入块,Agent 上下文"被迫"已有记忆规则和技能树分类--classify 确定性分类器(零号条款协调)——简单任务(翻译/润色/解释)→ 通道A 零号条款豁免直接通用能力;专业任务(编码/爬虫/API)→ 通道B 强制注入校验 + step1-5 全量校验;模糊任务 → 宁可不放过按通道Bretry-wrapper.py 重试循环,失败自动注入错误提示并重试(最多3次),超限转人工skills-constitution/
├── SKILL.md # 宪法文档(主文件)
├── README.md # 本文件
├── CHANGELOG.md # 版本日志
├── SKILL_TREE.md # 技能树索引(人类可读)
├── skill_tree.json # 技能树索引(机器可读)
├── scripts/
│ ├── build_skill_tree.py # 分类脚本
│ ├── pre-hook.py # 输入拦截+任务分类器(v2.10.0);任务必需技能映射(v2.11.0)
│ ├── constitution-check # 门禁校验主入口(v2.6.0;v2.10.0 支持 --classify/--pre-hook;v2.11.0 支持 --task)
│ ├── retry-wrapper.py # Post-hook 重试循环(v2.9.0)
│ ├── steps/ # 5 个 step 独立校验脚本
│ │ ├── step1-check.py # 三查汇报(软+硬+Layer C 任务相关,v2.11.0)
│ │ ├── step2-check.py # 技能树已读(软+硬+Layer C,v2.11.0)
│ │ ├── step3-check.py # 技能调用(软+硬+Layer C,v2.11.0)
│ │ ├── step4-check.py # 交付自检
│ │ └── step5-check.py # 推荐板块(软+硬两层)
│ └── lib/ # 状态文件 + 文本工具
└── .github/
└── workflows/
└── build-skill-tree.yml # 自动更新
详细适配指南见 SKILL.md 中的【平台映射表】章节。
欢迎提交 Issue 和 PR:
MIT License — 随意使用、修改、分发。
jiabaobei — GitHub
如果这个规则帮你解决了 Agent 不调用能力的问题,欢迎 ⭐ Star 收藏,转发给身边被 Agent 气到的朋友!