/agent-wiki-synthesize-skill
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.
$ npx -y skills add AgentToolkit/altk-evolve --skill agent-wiki-synthesize-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/agent-wiki-synthesize-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
agent-wiki-synthesize-skill.SKILL.mdname: agent-wiki-synthesize-skill
description: 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.
Agent Wiki — Synthesize Skill
Overview
Promote a successful workflow from a saved trajectory into an **executable agent skill** living inside a wiki at `<wiki>/skills/<slug>/SKILL.md`. The output is the procedural counterpart to `agent-wiki-extract-guidelines`'s declarative pages: a guideline tells a future agent *what to do*; a synthesized skill is a structured workflow page the future agent can read and *execute directly*, optionally invoking sibling scripts via Bash.
This is the per-trajectory **promote-to-procedural** pass of the `agent-wiki` family. Run it after one or more trajectories captured the same recipe and you want future agents to invoke that recipe instead of re-deriving it.
> **Ingesting a whole batch end-to-end?** Prefer the `agent-wiki-ingest` > skill, which sequences summarize → extract → synthesize → **consolidate** > → catalog. It runs this skill at the right point (after extraction, before > consolidation) and guarantees the consolidation pass that clusters the > surviving atomics is never skipped. Use this standalone skill only to > promote a single trajectory's workflow.
When To Use
Use this skill when a trajectory captured:
- A **non-trivial successful workflow** — multiple tool calls, with at least
one custom script or non-obvious sequence — that produced the answer after trial-and-error. The eventual happy path is worth saving.
- A **reusable command sequence or script** the agent wrote. Particularly
if the agent had to reconstruct it across multiple attempts.
- A pattern a future agent will hit on a similar-but-not-identical task —
parsing a binary format, walking a structured directory, reaching a specific tool fallback.
Skip this skill — let `agent-wiki-extract-guidelines` cover the case with a guideline alone — when:
- The workflow is a single trivial command (`grep -c TODO ...`).
- The path embeds secrets, tokens, or one-off user inputs.
- A skill with the same trigger already exists in `<wiki>/skills/`.
- The session ended without reaching a clear successful answer.
Input
A path that is either:
- a normalized trajectory JSON file
- a directory of such files
Default if no path is given: `trajectories/normalized`.
Workflow
Step 1: Resolve input files
Use `Glob` to enumerate JSON files.
Step 2: Glance at existing skills
`Glob <wiki>/skills/*/SKILL.md` to see what's already there. **Don't re-author a skill with the same name** unless the trajectory's recipe materially refines or generalizes it.
Step 3: For each trajectory
Read the file. The fields you need:
- `session_id`, `agent`, `model`
- `openai_chat_completion.messages` — the source of truth for what happened
Walk the messages and identify:
3a. The successful workflow
The **final, working** tool sequence — the one that produced the answer. Distinguish it from the trial-and-error leading up to it. Capture the exact tool calls, scripts, or command sequences verbatim.
3b. The trial-and-error context
What didn't work — the dead ends. You'll use this to author a *trigger description* so a future agent knows when to reach for this skill **instead of** the failing approaches.
3c. Environment assumptions
What was missing or had to be installed (no `exiftool`, `pip install Pillow` needed, etc.).
If no clearly successful workflow is in the trajectory, output zero skills for it and continue.
Step 4: Decide a skill name and trigger
The skill **name** must be:
- kebab-case, action-oriented (`extract-jpeg-exif-camera-optics`,
`parse-png-dimensions`, `walk-zip-central-directory`)
- specific enough that a future agent reading just the name can guess
what it does
- not a duplicate of any existing skill in `<wiki>/skills/`
The skill **description** (one line in frontmatter) describes the *task*, not the trajectory. Bad: "Solves the lens-model question from session 07d60d9f." Good: "Read camera-optics fields (lens model, focal length, aperture, ISO) from JPEG EXIF using stdlib `struct` when system EXIF tools are unavailable."
The **trigger** (frontmatter + `## When To Use`) describes the broad task context, not the narrow original request.
Step 5: Synthesize a JSON object
{
"name": "<kebab-case-name>",
"description": "<one-line task description>",
"trigger": "<situational context when this applies>",
"session_id": "<from JSON>",
"normalized_path": "<path to the JSON, relative to repo root>",
"related_summary": "summaries/<sid>.md",
"agent": "<from JSON, default 'claude-code'>",
"tags": ["<2-4 short tags>"],
"overview": "<1-2 sentences: what the skill does and when>",
"when_to_use": [
"<trigger condition 1>",
"<trigger condition 2>"
],
"workflow_steps": [
"<step 1: an instruction to the future agent>",
"<step 2: ...>"
],
"scripts": [
{
"name": "<action>.py",
"language": "python",
"content": "<full script contents>"
}
]
}Notes on each field:
- **`overview`** — the SKILL.md's `## Overview` section body. Keep it
to 1-2 sentences. Don't retell the original session.
- **`when_to_use`** — a bulleted list of trigger conditions. The
future agent matches its current task against these.
- **`workflow_steps`** — the procedural body. Each step is an
instruction the agent will follow. Reference scripts as `Run \`bash <wiki>/skills/<name>/scripts/<file>.sh\`` (the helper resolves `<wiki>` at write time).
- **`scripts`** — optional. If the workflow needs a non-trivial script,
include it here. The helper writes it to `<wiki>/skills/<name>/scripts/<file>` and references it in the workflow body. Keep scripts minimal — strip inci
Read more
name: agent-wiki-synthesize-skill description: 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.
Agent Wiki — Synthesize Skill
Overview
Promote a successful workflow from a saved trajectory into an **executable agent skill** living inside a wiki at `<wiki>/skills/<slug>/SKILL.md`. The output is the procedural counterpart to `agent-wiki-extract-guidelines`'s declarative pages: a guideline tells a future agent *what to do*; a synthesized skill is a structured workflow page the future agent can read and *execute directly*, optionally invoking sibling scripts via Bash.
This is the per-trajectory **promote-to-procedural** pass of the `agent-wiki` family. Run it after one or more trajectories captured the same recipe and you want future agents to invoke that recipe instead of re-deriving it.
> **Ingesting a whole batch end-to-end?** Prefer the `agent-wiki-ingest` > skill, which sequences summarize → extract → synthesize → **consolidate** > → catalog. It runs this skill at the right point (after extraction, before > consolidation) and guarantees the consolidation pass that clusters the > surviving atomics is never skipped. Use this standalone skill only to > promote a single trajectory's workflow.
When To Use
Use this skill when a trajectory captured:
- A **non-trivial successful workflow** — multiple tool calls, with at least
one custom script or non-obvious sequence — that produced the answer after trial-and-error. The eventual happy path is worth saving.
- A **reusable command sequence or script** the agent wrote. Particularly
if the agent had to reconstruct it across multiple attempts.
- A pattern a future agent will hit on a similar-but-not-identical task —
parsing a binary format, walking a structured directory, reaching a specific tool fallback.
Skip this skill — let `agent-wiki-extract-guidelines` cover the case with a guideline alone — when:
- The workflow is a single trivial command (`grep -c TODO ...`).
- The path embeds secrets, tokens, or one-off user inputs.
- A skill with the same trigger already exists in `<wiki>/skills/`.
- The session ended without reaching a clear successful answer.
Input
A path that is either:
- a normalized trajectory JSON file
- a directory of such files
Default if no path is given: `trajectories/normalized`.
Workflow
Step 1: Resolve input files
Use `Glob` to enumerate JSON files.
Step 2: Glance at existing skills
`Glob <wiki>/skills/*/SKILL.md` to see what's already there. **Don't re-author a skill with the same name** unless the trajectory's recipe materially refines or generalizes it.
Step 3: For each trajectory
Read the file. The fields you need:
- `session_id`, `agent`, `model`
- `openai_chat_completion.messages` — the source of truth for what happened
Walk the messages and identify:
3a. The successful workflow
The **final, working** tool sequence — the one that produced the answer. Distinguish it from the trial-and-error leading up to it. Capture the exact tool calls, scripts, or command sequences verbatim.
3b. The trial-and-error context
What didn't work — the dead ends. You'll use this to author a *trigger description* so a future agent knows when to reach for this skill **instead of** the failing approaches.
3c. Environment assumptions
What was missing or had to be installed (no `exiftool`, `pip install Pillow` needed, etc.).
If no clearly successful workflow is in the trajectory, output zero skills for it and continue.
Step 4: Decide a skill name and trigger
The skill **name** must be:
- kebab-case, action-oriented (`extract-jpeg-exif-camera-optics`,
`parse-png-dimensions`, `walk-zip-central-directory`)
- specific enough that a future agent reading just the name can guess
what it does
- not a duplicate of any existing skill in `<wiki>/skills/`
The skill **description** (one line in frontmatter) describes the *task*, not the trajectory. Bad: "Solves the lens-model question from session 07d60d9f." Good: "Read camera-optics fields (lens model, focal length, aperture, ISO) from JPEG EXIF using stdlib `struct` when system EXIF tools are unavailable."
The **trigger** (frontmatter + `## When To Use`) describes the broad task context, not the narrow original request.
Step 5: Synthesize a JSON object
{
"name": "<kebab-case-name>",
"description": "<one-line task description>",
"trigger": "<situational context when this applies>",
"session_id": "<from JSON>",
"normalized_path": "<path to the JSON, relative to repo root>",
"related_summary": "summaries/<sid>.md",
"agent": "<from JSON, default 'claude-code'>",
"tags": ["<2-4 short tags>"],
"overview": "<1-2 sentences: what the skill does and when>",
"when_to_use": [
"<trigger condition 1>",
"<trigger condition 2>"
],
"workflow_steps": [
"<step 1: an instruction to the future agent>",
"<step 2: ...>"
],
"scripts": [
{
"name": "<action>.py",
"language": "python",
"content": "<full script contents>"
}
]
}Notes on each field:
- **`overview`** — the SKILL.md's `## Overview` section body. Keep it
to 1-2 sentences. Don't retell the original session.
- **`when_to_use`** — a bulleted list of trigger conditions. The
future agent matches its current task against these.
- **`workflow_steps`** — the procedural body. Each step is an
instruction the agent will follow. Reference scripts as `Run \`bash <wiki>/skills/<name>/scripts/<file>.sh\`` (the helper resolves `<wiki>` at write time).
- **`scripts`** — optional. If the workflow needs a non-trivial script,
include it here. The helper writes it to `<wiki>/skills/<name>/scripts/<file>` and references it in the workflow body. Keep scripts minimal — strip inci
Showing the first part of this file.
Blog posts: IBM announcement | Hugging Face blog Coding agents repeat the same mistakes because they start fresh every session. Evolve gives agents memory — they learn from what worked and what didn't, so each session is better than the last.
Repo: AgentToolkit/altk-evolve
Other skills on altk-evolve.
- /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.
Open skill - /agent-wiki-consult
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.
Open skill - /agent-wiki-extract-guidelines
Read a normalized Claude Code trajectory JSON and extract reusable guidelines into wiki-twobatch/guidelines/. Use when mining saved trajectories for reusable lessons.
Open skill - /agent-wiki-ingest
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.
Open skill - /agent-wiki-summarize
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.
Open skill - /agent-wiki-tasks
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.
Open skill

