agent-wiki-consolidate-guidelines
Read all atomic guidelines in wiki-twobatch/guidelines/ and propose themed clusters that group near-duplicates. Writes cluster pages and updates _config.yaml; originals are preserved with a `superseded_by:` backref.
git clone --depth 1 https://github.com/AgentToolkit/altk-evolve /tmp/agent-wiki-consolidate-guidelines && cp -r /tmp/agent-wiki-consolidate-guidelines/explorations/agent-wiki/skills/agent-wiki-consolidate-guidelines ~/.claude/skills/agent-wiki-consolidate-guidelinesSKILL.md
# Agent Wiki — Consolidate Guidelines
## Overview
Spot duplicates and recurring themes across the corpus of atomic
guidelines. Author cluster pages that aggregate related variants and
record the membership in `_config.yaml`. **Originals stay** — clusters
reference them; nothing is moved or merged.
This is the cross-trajectory **pattern-recognition** pass of the
`agent-wiki` family. Run it after one or more `extract-guidelines`
sessions when the wiki has accumulated enough atomic guidelines that a
theme is visible.
## When to run
- After a batch of `extract-guidelines` runs, when you suspect duplicates.
- When `guidelines/index.md`'s "By tag" section has 3+ entries under the
same tag and you want a canonical aggregator page for that theme.
- When users complain that recall returns N near-identical hits.
## Workflow
### Step 1: Read the corpus
```bash
uv run python explorations/agent-wiki/skills/scripts/build_agent_wiki.py dump-guidelines > /tmp/guidelines.json
```
Output is a JSON array of `{id, filename, title, trigger, cluster,
is_cluster_page, content}` for every page in `guidelines/`. The
`is_cluster_page` flag tells you which entries are existing aggregators
(`__cluster.md` suffix) — you will be **adding** new clusters, not
re-deriving existing ones.
Read the file:
```
Read /tmp/guidelines.json
```
### Step 2: Decide groupings
For each candidate cluster:
- **Theme**: a one-line statement of the shared idea ("when system EXIF tools are missing, parse JPEG bytes directly with stdlib").
- **Members**: 2–6 atomic guideline ids that share that theme. Atomic only
— never include `is_cluster_page: true` entries.
- **Tags**: 2–4 short tags that describe the theme.
Rules:
1. **Don't cluster unrelated guidelines just to clean up the listing.** A cluster needs a real shared rule, not a shared topic.
2. **Don't merge content across atomic pages.** Each atomic page stays whole. The cluster's body summarizes the *theme* and links to members.
3. **Don't propose a cluster for a single guideline.** Wait for ≥2 members.
4. **Don't re-author an existing cluster** unless members materially changed. Skip clusters that already exist with the same membership (`existing_clusters` field below).
### Step 3: For each new cluster, output JSON
```json
{
"slug": "exif-stdlib-fallback",
"title": "EXIF stdlib parser fallback",
"description": "1-2 paragraphs framing the shared theme.",
"takeaway": "1 paragraph: the actionable rule the cluster captures.",
"members": ["04474b0794e6", "de04f5adde2e", "4746bf445108"],
"tags": ["exif", "stdlib", "fallback"]
}
```
Pipe to:
```bash
echo '<json>' | uv run python explorations/agent-wiki/skills/scripts/build_agent_wiki.py render-cluster
```
The helper:
- Updates `wiki-twobatch/_config.yaml` `clusters.<slug>` entry.
- Writes `guidelines/<slug>__cluster.md` with `priority: high`, member links, snippets pulled from disk.
### Step 4: Refresh indexes
After writing all new cluster pages:
```bash
uv run python explorations/agent-wiki/skills/scripts/build_agent_wiki.py catalog
```
`catalog` propagates the cluster membership back to atomic pages: each
member gets `cluster: <slug>__cluster.md` and `superseded_by:
<slug>__cluster.md` in its frontmatter, and the cluster page is
re-rendered against current member content.
## Best practices
1. **Write the takeaway first.** If you can't articulate one shared rule in a sentence, the cluster doesn't exist.
2. **Be conservative.** Two false-positive clusters cost more than two un-clustered duplicates.
3. **Preserve atomic provenance.** A reader should be able to navigate cluster → member → source trajectory in two clicks.
4. **Don't re-cluster within an existing cluster.** Sub-themes don't justify nesting.
5. Always tail-call `catalog` after the cluster loop.Consult an agent-wiki for guidelines relevant to the task at hand. The wiki itself documents how to retrieve from it (AGENTS.md). Use this skill once you know what task or sub-task you're about to do — not at session start.
Read a normalized Claude Code trajectory JSON and extract reusable guidelines into wiki-twobatch/guidelines/. Use when mining saved trajectories for reusable lessons.
Ingest one or more agent trajectories (raw bob/claude traces or normalized JSON) into an agent-wiki end-to-end — convert, summarize, extract guidelines, synthesize skills, consolidate into clusters, and catalog. Use when you have a batch of traces to turn into a wiki in one pass.
Read a normalized Claude Code trajectory JSON and write an episodic summary page to wiki-twobatch/summaries/. Use when summarizing one or more saved trajectories into the agent wiki.
Read a normalized Claude Code trajectory JSON and produce a wiki-resident SKILL.md page that future agents can invoke. Use when a trajectory captured a non-trivial successful workflow worth promoting from a free-text guideline to an executable, callable artifact.
Discover task families across summaries and write per-family comparison pages with findings narrative. Updates wiki-twobatch/_config.yaml task definitions and writes tasks/<slug>__task.md.
Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.
Analyze saved trajectories and recall audit events offline to record whether recalled guidelines influenced completed sessions.