用途:为 context-inject.mjs 钩子编写与维护声明式配置 .claude/context-rules.json,先扫描代码库提出初始规则集。引擎同时支持 Claude Code 与 VS Code Copilot 的钩子载荷格式。
规则格式:规则为 JSON 数组,每条含 on 事件、when 过滤(键皆可选,隐式 AND)、inject 载荷(恰好一个键,可选 text/hint/learnings/block/allow)。优先级为 block > allow > context;只要命中任一 block 规则,调用即被拒绝。on 取值含 PreToolUse、PostToolUse、UserPromptSubmit、SessionStart、SubagentStart、PostToolUseFailure、Stop、PreCompact,安装器会自动注册全部 8 个事件。when 支持 tool、path、command、prompt、source、agent_type、error、content、response 等键。由于两平台工具名不同,tool 模式应同时包含两套名称,如写操作用 Write|Edit|MultiEdit|replace_string_in_file|create_file|multi_replace_string_in_file,读操作用 Read|read_file。
VS Code Copilot 支持:引擎自动识别 camelCase 字段与 toolArgs JSON 字符串;需将事件名作为 CLI 参数传入,例如 node .claude/hooks/context-inject.mjs preToolUse;输出仅支持 preToolUse 的 permissionDecision,且 text、hint、learnings 注入无效,支持的注入类型只有 block 和 allow。
安装与自举:技能每次调用先执行 Phase 0,检测引擎文件、设置注册与依赖是否齐全,缺失则运行 node skills/rules-to-hook/install.mjs(幂等,复制引擎、平台模块、learn CLI 与 harness 模块,安装 minimatch,合并钩子注册,生成空的 context-rules.json 与 learnings.json)。
自动发现:默认执行 Phase 1,分五层派发给子代理(批次 1 并行三层收集项目身份、架构图、文档要点;批次 2 并行做路径亲和与强制审计;批次 3 串行验证并逐段生成候选规则),最后以编号表格呈现候选规则及其范围、来源与验证证据。
学习系统:learnings 存于 .claude/learnings.json,可用 node .claude/hooks/learn.mjs add --files '...' --learning '...'、list、remove --index、update --index、repath --index、check 等命令增删查改与检出孤立条目;文件改名或删除后应运行 check 并修复。
限制:Stop 钩子阻止后会设置 stop_hook_active 以防无限循环;VS Code 不支持上下文注入;具体价格、平台与效果资料未提供。