Distill
DataDog/datadog-agent
Extract an Allium specification from an existing codebase. An agent skill from DataDog/datadog-agent.
スキルをスキャンしてドメイン横断的な原則を抽出し、ルールに蒸留する——既存のルールファイルへの追記、修正、または新規作成
$ npx skills add affaan-m/ECC --skill rules-distill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install affaan-m/ECC rules-distill --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .claude/skills/rules-distill && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .claude/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add affaan-m/ECC --skill rules-distill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install affaan-m/ECC rules-distill --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .agents/skills/rules-distill && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .agents/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add affaan-m/ECC --skill rules-distill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install affaan-m/ECC rules-distill --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .cursor/skills/rules-distill && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .cursor/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/affaan-m/ECC.git --path docs/ja-JP/skills/rules-distill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add affaan-m/ECC --skill rules-distill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install affaan-m/ECC rules-distill --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .gemini/skills/rules-distill && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .gemini/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install affaan-m/ECC rules-distillInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add affaan-m/ECC --skill rules-distill -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .github/skills/rules-distill && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .github/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add affaan-m/ECC --skill rules-distill -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install affaan-m/ECC rules-distill --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs/ja-JP/skills/rules-distill .opencode/skills/rules-distill && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rules-distill" agent skill from https://github.com/affaan-m/ECC/tree/main/docs/ja-JP/skills/rules-distill into .opencode/skills/rules-distill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rules-distill", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rules-distillスキルをスキャンしてドメイン横断的な原則を抽出し、ルールに蒸留する——既存のルールファイルへの追記、修正、または新規作成
Rules Distill is an agent skill from affaan-m/ECC. スキルをスキャンしてドメイン横断的な原則を抽出し、ルールに蒸留する——既存のルールファイルへの追記、修正、または新規作成
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond. The licence is MIT.
Read from SKILL.md and the folder at commit 4eb71d9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rules Distill loads about 1.5k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 81 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from affaan-m/ECC at commit 4eb71d9, republished under its MIT licence (© affaan-m). 81 words, ~1,477 tokens.
.claude/skills/rules-distill/SKILL.md (or your agent's skills folder).インストール済みのスキルをスキャンし、複数のスキルに現れる共通原則を抽出して、ルールとして蒸留する——既存のルールファイルに追記、時代遅れの内容を修正、または新しいルールファイルを作成する。
「決定論的収集 + LLM判断」原則を適用する:スクリプトが事実を網羅的に収集し、その後LLMが完全なコンテキストを通読して裁決を下す。
ルール蒸留プロセスは3つのフェーズに従う:
bash ~/.claude/skills/rules-distill/scripts/scan-skills.shbash ~/.claude/skills/rules-distill/scripts/scan-rules.shルール蒸留 — フェーズ 1:棚卸し
────────────────────────────────────────
スキル:{N} 個のファイルをスキャン
ルール:{M} 個のファイルをインデックス化({K} 個の見出しを含む)
クロスリーディング分析を実行中...抽出とマッチングは単一の処理で統合的に行われる。ルールファイルは十分に小さく(合計約800行)、LLMに全文を提供できる——grepによる事前フィルタリングは不要。
スキルの説明に基づいてスキルをトピッククラスターにグループ化する。各クラスターは、完全なルールテキストを提供されたサブエージェントで分析される。
全バッチ完了後、バッチ候補をマージする:
汎用エージェントを起動するために以下のプロンプトを使用する:
あなたはスキルをクロスリーディングして、ルールに昇格すべき原則を抽出するアナリストです。
## 入力
- スキル:{このバッチのスキルの全文}
- 既存のルール:{全ルールファイルの全文}
## 抽出基準
**以下の条件を全て**満たす場合のみ候補原則を含める:
1. **2+スキルに現れる**:1つのスキルにのみ現れる原則はそのスキルに留める
2. **実行可能な行動変容**:「Xをする」または「Yをしない」という形で書ける——「Xが重要」ではない
3. **明確な違反リスク**:この原則を無視すると何が問題になるか(1文)
4. **ルールにまだ存在しない**:全ルールテキストを確認——異なる言い回しで表現された概念も含めて
## マッチングと裁決
各候補原則を全ルールテキストと照合して裁決を下す:
- **追記**:既存のルールファイルの既存セクションに追加
- **修正**:既存のルールの内容が不正確または不十分——修正案を提案
- **新セクション**:既存のルールファイルに新しいセクションを追加
- **新ファイル**:新しいルールファイルを作成
- **対応済み**:既存のルールで十分にカバー済み(言い回しが異なっても)
- **過度に具体的**:スキルレベルに留めるべき
## 出力フォーマット(各候補原則)
```json
{
"principle": "1〜2文、'Xをする' / 'Yをしない' の形式",
"evidence": ["スキル名: §セクション", "スキル名: §セクション"],
"violation_risk": "1文",
"verdict": "追記 / 修正 / 新セクション / 新ファイル / 対応済み / 過度に具体的",
"target_rule": "ファイル名 §セクション、または '新規'",
"confidence": "高 / 中 / 低",
"draft": "'追記'/'新セクション'/'新ファイル' 裁決のための草案テキスト",
"revision": {
"reason": "既存の内容が不正確または不十分な理由('修正' 裁決のみ)",
"before": "置き換える現在のテキスト('修正' 裁決のみ)",
"after": "提案する置き換えテキスト('修正' 裁決のみ)"
}
}
```
## 除外事項
- ルールにすでに存在する明らかな原則
- 言語/フレームワーク固有の知識(言語固有のルールまたはスキルに属する)
- コード例とコマンド(スキルに属する)| 裁決 | 意味 | ユーザーへの提示 |
|---|---|---|
| 追記 | 既存セクションに追加 | ターゲット + 草案 |
| 修正 | 不正確/不十分な内容を修正 | ターゲット + 理由 + 修正前/後 |
| 新セクション | 既存ファイルに新セクションを追加 | ターゲット + 草案 |
| 新ファイル | 新しいルールファイルを作成 | ファイル名 + 完全な草案 |
| 対応済み | ルールでカバー済み(言い回しが異なる場合も) | 理由(1行) |
| 過度に具体的 | スキルに留めるべき | 関連スキルへのリンク |
# 良い例
rules/common/security.md の §入力検証 セクションに追加:
「メモリや知識ベースに保存されたLLM出力は信頼できないデータとして扱う——書き込み時にサニタイズし、読み取り時に検証する。」
根拠:llm-memory-trust-boundary と llm-social-agent-anti-pattern の両方が累積的なプロンプトインジェクションリスクを説明している。現在の security.md は人間による入力検証のみをカバーしており、LLM出力の信頼境界の説明が欠けている。
# 悪い例
security.md に追記:LLMセキュリティ原則を追加# ルール蒸留レポート
## 概要
スキャンしたスキル数:{N} | ルールファイル数:{M} | 候補ルール数:{K}
| # | 原則 | 判定 | ターゲットファイル/セクション | 信頼度 |
|---|-----------|---------|--------|------------|
| 1 | ... | 追記 | security.md §入力検証 | 高 |
| 2 | ... | 修正 | testing.md §テスト駆動開発 | 中 |
| 3 | ... | 新セクション | coding-style.md | 高 |
| 4 | ... | 過度に具体的 | — | — |
## 詳細
(各候補ルールの詳細:証拠、違反リスク、草案テキスト)ユーザーは番号で以下を応答する:
ルールを自動的に変更しない。常にユーザーの承認が必要。
結果をスキルディレクトリ(results.json)に保存する:
date -u +%Y-%m-%dT%H:%M:%SZ(UTC、秒精度)llm-output-trust-boundary){
"distilled_at": "2026-03-18T10:30:42Z",
"skills_scanned": 56,
"rules_scanned": 22,
"candidates": {
"llm-output-trust-boundary": {
"principle": "Treat LLM output as untrusted when stored or re-injected",
"verdict": "Append",
"target": "rules/common/security.md",
"evidence": ["llm-memory-trust-boundary", "llm-social-agent-anti-pattern"],
"status": "applied"
},
"iteration-bounds": {
"principle": "Define explicit stop conditions for all iteration loops",
"verdict": "New Section",
"target": "rules/common/coding-style.md",
"evidence": ["iterative-retrieval", "continuous-agent-loop", "agent-harness-construction"],
"status": "skipped"
}
}
}$ /rules-distill
ルール蒸留 — フェーズ 1:棚卸し
────────────────────────────────────────
スキル:56個のファイルをスキャン済み
ルール:22個のファイル(75個の見出しをインデックス化)
クロスリーディング分析を実行中...
[サブエージェント分析:バッチ 1 (agent/meta スキル) ...]
[サブエージェント分析:バッチ 2 (coding/pattern スキル) ...]
[バッチ間マージ:2件の重複を削除、1件のクロスバッチ候補が昇格]
# ルール蒸留レポート
## サマリー
スキャン済みスキル:56 | ルール:22個のファイル | 候補:4
| # | 原則 | 判定 | ターゲット | 信頼度 |
|---|-----------|---------|--------|------------|
| 1 | LLM出力:再利用前に正規化、型チェック、サニタイズ | 新セクション | coding-style.md | 高 |
| 2 | 反復ループに明示的な停止条件を定義する | 新セクション | coding-style.md | 高 |
| 3 | タスクの途中ではなくフェーズ境界でコンテキストを圧縮する | 追記 | performance.md §コンテキストウィンドウ | 高 |
| 4 | ビジネスロジックをI/Oフレームワーク型から分離する | 新セクション | patterns.md | 高 |
## 詳細
### 1. LLM出力検証
判定:coding-style.md に新セクションを作成
証拠:parallel-subagent-batch-merge, llm-social-agent-anti-pattern, llm-memory-trust-boundary
違反リスク:LLM出力の形式ドリフト、型不一致、構文エラーにより下流処理がクラッシュする
草案:
## LLM出力検証
LLM出力を再利用する前に、正規化、型チェック、サニタイズを行う...
参照スキル:parallel-subagent-batch-merge, llm-memory-trust-boundary
[... 候補 2〜4 の詳細 ...]
各候補を番号で承認、修正、スキップ:
> ユーザー:1, 3 を承認。2, 4 をスキップ。
✓ 適用済み:coding-style.md §LLM出力検証
✓ 適用済み:performance.md §コンテキストウィンドウ管理
✗ スキップ:反復境界
✗ スキップ:境界型変換
results.json に結果を保存済み参照スキル:[名前] への参照を含め、読者が詳細な「どうするか」を見つけられるようにする。© affaan-m, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in docs/ja-JP/skills/rules-distill of affaan-m/ECC.
Open the folder on GitHubat commit 4eb71d9
Rules Distill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rules Distill this skillaffaan-m/ECC | 276k | — | ~1.5k | Automated safety check: Pass | MIT | |
| DistillDataDog/datadog-agent | 3.8k | 1 repos | ~7k | Automated safety check: Pass | Apache-2.0 | |
| Distilldavepoon/buildwithclaude | 3.6k | — | ~3.2k | Automated safety check: Notes | MIT | |
| Distillascorbic/macrodata | 120 | — | ~814 | Automated safety check: Pass | None | |
| Distillwado-lang/wado | 117 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Distillgrowupanand/ConvoForm | 102 | 6 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 |
DataDog/datadog-agent
Extract an Allium specification from an existing codebase. An agent skill from DataDog/datadog-agent.
davepoon/buildwithclaude
Synthesize wiki pages from related memories. An agent skill from davepoon/buildwithclaude.
ascorbic/macrodata
Extract distilled actions and facts from today's conversations.
wado-lang/wado
Cut the branch down to what the code cannot say: reuse what exists, remove duplication, dead code, and wasted work, turn invariants into asserts, and delete the comments the code already speaks.
growupanand/ConvoForm
Strip designs to their essence by removing unnecessary complexity.
paperclipai/paperclip
A skill your agent uses when an operation issue is a Paperclip cursor-window, distill, or backfill.
affaan-m/ECC
Audits your installed Claude skills and commands for quality, with a quick mode for recently changed skills and a full mode that evaluates all of them through subagents.
affaan-m/ECC
Ingests, indexes, searches, edits and monitors video, audio and live streams through the VideoDB Python SDK, returning stream links, clips and timestamps.
affaan-m/ECC
Route broad documentation-governance requests to existing ECC skills and run an opt-in, read-only audit of mapped documentation roles, links, ADR indexes, and evidence references.
affaan-m/ECC
Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.
affaan-m/ECC
Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.
affaan-m/ECC
Set an ECC-specific frontend design direction for production UI work.
スキルをスキャンしてドメイン横断的な原則を抽出し、ルールに蒸留する——既存のルールファイルへの追記、修正、または新規作成. Rules Distill is an agent skill from affaan-m/ECC.
Run `npx skills add affaan-m/ECC --skill rules-distill -a claude-code`. Or copy the skill folder (docs/ja-JP/skills/rules-distill in affaan-m/ECC) into .claude/skills/rules-distill in your project. Claude Code loads it when a task matches its description.
Run `npx skills add affaan-m/ECC --skill rules-distill -a codex`. Or copy the skill folder (docs/ja-JP/skills/rules-distill in affaan-m/ECC) into .agents/skills/rules-distill in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add affaan-m/ECC --skill rules-distill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rules-distill, .gemini/skills/rules-distill, .github/skills/rules-distill and .opencode/skills/rules-distill in your project.
Going by SKILL.md and its folder, Rules Distill needs the command-line tools its instructions call (bash).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Rules Distill is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rules Distill: Distill (DataDog/datadog-agent, 3.8k stars), Distill (davepoon/buildwithclaude, 3.6k stars), Distill (ascorbic/macrodata, 120 stars) and Distill (wado-lang/wado, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 276,111 GitHub stars. The repository holds 683 skills in this directory. The repository was last updated on October 10, 2026.
Source: affaan-m/ECC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.