1仕組みと動作原理
これは純粋な表示用インストラクションカードです。SKILL.md 本文は静的なクイックリファレンス表(6 つのモード + 4 つのスキル + 無効化方法 + 言語ルール + デフォルトモード設定)そのものであり、スクリプト、ツール呼び出し、ファイル書き込み指示は一切含まれていません。
Display this reference card when invoked. One-shot — do NOT change mode, write flag files, or persist anything. Output in caveman style.
「単発実行・副作用なし」が 2 箇所に明記されています。SKILL.md 本文の記述、およびリポジトリ同梱のスキル動作対照表(出力規約/副作用の 2 列)です。
| `caveman-help` | One-shot command card | Does not change active mode |
カードが解説する「デフォルトモード」設定は、ドキュメント上のスローガンではなく実在する仕組みです。ホスト側のフックコードには 4 段階の解決チェーンが存在し、環境変数が最優先で、最終フォールバックは 'full' です。
// Resolution order for default mode: // 1. CAVEMAN_DEFAULT_MODE environment variable // 2. Repo-local config (checked-in, per-project default):
モードのセマンティクスは同一リポジトリの caveman メインスキルによって実現され、本カードはそのインデックスに過ぎません。モードはユーザーが変更するかセッションが終了するまで「持続」します。
Mode stick until changed or session end.
カードは意図的にユーザーの言語を保持します。圧縮されるのはスタイルのみで言語ではありません。専門用語、コード、コマンド、エラー文字列は原文のまま保持されます。
Keep user's language by default. User write Portuguese → reply Portuguese caveman. Compress the style, not the language. Technical terms, code, commands, commit types, and exact error strings stay verbatim unless user ask for translation.
トリガー面は、ユーザーによる明示的な呼び出し(/caveman-help)と 1 つの自然言語エイリアスで構成され、エイリアスは SKILL.md の description と人間向けの README の両方に記載されています。
Also triggers on "caveman help", "what caveman commands", "how do I use caveman".
配信パス:本スキルは Claude Code プラグインミラーには含まれず(plugins/caveman/skills/ 下には caveman / cavecrew / caveman-stats / caveman-compress のみ配置)、独立した hook+skill インストールパス、`npx skills add`、および CLI による hermes/opencode 向けスキルディレクトリーマニフェストを経由して各ホストに配信されます。
const HERMES_SKILL_DIRS = ['caveman', 'caveman-commit', 'caveman-review', 'caveman-help', 'caveman-stats', 'caveman-compress', 'cavecrew'];
2コア機能
4推奨統制措置と判定根拠
- SKILL.md: 純粋なプロンプト指示およびルールテキストのみであり、スクリプト実行や外部への影響はありません。
5二重目の独立検証
- [ok] 卡片属实:一次性展示、不改模式、不落盘 — SKILL.md 正文首段与 docs/technical/skills-hooks-and-plugins.md 的副作用列两处独立印证;目录内无任何可执行脚本。
- [discrepancy] 默认模式配置链(卡片声称 env > config file > full) — 卡片写 'Resolution: env var > config file > `full`.',实际代码是四级且含仓库内配置:① CAVEMAN_DEFAULT_MODE → ② 仓库内 .caveman/config.json 或 .caveman.json(从 process.cwd() 向上最多 64 级查找,拒绝符号链接)→ ③ 用户 config($XDG_CONFIG_HOME/caveman/config.json,或 ~/.config,或 Windows %APPDATA%)→ ④ 'full'(src/hooks/caveman-config.js:15-26 与 findRepoConfigPath 注释)。卡片漏了「仓库内配置」这一层,团队若用 .caveman.json 固定项目默认档,卡片会让人误判优先级。非安全影响,属文档简化。
- [ok] wenyan 档位命名一致性(卡片 vs 主 skill vs 代码) — 卡片列 wenyan-lite/wenyan/wenyan-ultra(并称 'Wenyan-Full | /caveman wenyan');代码 VALID_MODES 为 ['off','lite','full','ultra','wenyan-lite','wenyan','wenyan-full','wenyan-ultra',...],卡片触发词全部落在集合内;主 skill SKILL.md 的切换串亦为 '/caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off'。
- [ok] 外部依赖为零 — 对两个文件扫描 URL/CLI/包/网络 token 零命中;卡片末行的 'Full docs: https://github.com/JuliusBrussee/caveman' 是给人点的文档链接,不是运行时调用点。
- [ok] 无脚本执行 / 无凭证读取 / 无文件写入 — skills/caveman-help 下仅两个 markdown;仓库级 shell/node 代码(bin/install.js、src/hooks/*)属于 caveman CLI 本体,不由本 skill 触发,除 SKILL.md 文字外无任何指向它们的调用指令。
- [ok] 声明 'Saves ~46% input tokens'(指向 caveman-compress)是否有出处 — skills/caveman-compress/README.md 基准表平均值为 46%(Average 898 → 481,46%),卡片引用与邻居 skill 自述一致。
- [ok] pin commit 与上游状态 — 本地 HEAD == origin/main == 15581d14007fd01fb3f132016741962f34936ca2(2026-09-07T08:19:43+00:00, 'chore: sync SKILL.md copies [skip ci]')。gh 显示仓库 pushed_at 晚于该时间,故本报告结论仅对该 pin commit 有效,不跨版本推广。
6結論
742f9e1fe5d8d598…