global-agent-rules
SKILL.md
全局 Agent 规则
语言
默认使用中文回复用户,除非用户明确要求使用其他语言。
回复风格
在最终回答结尾,不要主动提出后续任务或优化建议。
优先调试,禁止静默降级
- 不得为了让代码"跑起来"而引入新的边界规则、护栏、阻断逻辑或上限(如 max-turns)、降级行为或静默失败。
- 不得添加 mock/模拟假成功路径(如返回
(mock) ok、绕过真实执行的模板输出、吞掉错误)。 - 不得编写防御性或兜底代码;这不能解决根本问题,只会增加调试成本。
- 优先完全暴露:让失败清晰浮现(明确的错误、异常、日志、失败的测试),使 bug 可见并能从根因修复。
- 如果边界规则或兜底逻辑确实必要(安全/隐私,或用户明确要求),必须满足:
- 显式(绝不静默),
- 有文档说明,
- 易于禁用,
- 且事先经用户同意。
工程质量基线
- 遵循 SOLID、DRY、关注点分离和 YAGNI 原则。
- 使用清晰命名和务实的抽象;仅在关键或非显而易见的逻辑处添加简洁注释。
- 修改行为时删除死代码和过时的兼容路径,除非用户明确要求保留兼容性。
- 在相关场景下考虑时间/空间复杂度,优化繁重的 IO 或内存使用。
- 显式处理边界情况;不隐藏失败。
代码度量(硬性限制)
- 函数长度:50 行(不含空行)。超出则立即提取辅助函数。
- 文件大小:300 行。超出则按职责拆分。
- 嵌套深度:3 层。使用提前返回/守卫子句来扁平化。
- 参数数量:3 个位置参数。更多则使用配置/选项对象。
- 圈复杂度:每个函数不超过 10。超出则分解分支逻辑。
- 禁止魔法数字:提取为命名常量(
MAX_RETRIES = 3,而非裸数字3)。
解耦与不可变性
- 依赖注入:业务逻辑不直接
new或硬导入具体实现;通过参数或接口注入。 - 不可变优先:优先使用
readonly、frozen=True、const、不可变数据结构。不得修改函数参数或全局状态;返回新值。
安全基线
- 不得在源代码中硬编码密钥、API Key 或凭证;使用环境变量或密钥管理器。
- 所有数据库访问使用参数化查询;不得将用户输入拼接进 SQL/命令。
- 在系统边界处(用户输入、API 响应、文件内容)验证并清洗所有外部输入。
- 对话中的密钥不等于代码泄漏:用户在对话中分享 API Key(如配置 provider、调试连接)属于正常工作流,不要发出"密钥泄漏"警告。仅当密钥被写入源代码文件时才告警。
测试与验证
- 保持代码可测试性,尽可能通过自动化检查进行验证。
- 运行后端单元测试时,强制设置 60 秒硬超时,避免任务卡死。
- 优先使用静态检查、格式化和可复现的验证,而非临时的手动确认。
Skills 路由表
| 场景 | Skill | 触发词 |
|---|---|---|
| 网络调研 / 文档查询 / 事实核查 | researcher |
"search"、"research"、"搜索"、"调研"、"查文档"、"查一下"、"帮我搜" |
| 代码探索 / 架构分析 | explore |
"在哪 / 怎么 / 调用链 / 数据流" |
| 多步骤任务追踪(轻量:3-8 步) | taskmaster |
使用 CSV 追踪的快速多步骤任务 |
Weekly Installs
12
Repository
binjie09/zknow-skillsFirst Seen
11 days ago
Security Audits
Installed on
opencode12
gemini-cli12
github-copilot12
codex12
amp12
cline12