trace-to-skill-inducer

$npx mdskill add Tibsfox/gsd-skill-creator/trace-to-skill-inducer

Induce a reusable skill spec from captured session traces.

  • Solves the problem of turning repeated interaction patterns into structured skill specs.
  • Depends on session traces from session-retro or session-observatory-live.
  • Segments traces into candidate skill units using LLM judgment.
  • Outputs a four-part structured spec for the skill-forge loop.

SKILL.md

.github/skills/trace-to-skill-inducerView on GitHub ↗
---
name: trace-to-skill-inducer
description: >
  Use when you have captured session evidence — session-retro / session-
  observatory-live traces in .planning/patterns/, tool logs, correction
  records — and want to induce a reusable skill from it. Segments the traces
  into candidate skill units (an LLM judgment, not a deterministic parse) and
  decomposes each candidate into a four-part structured spec: workflow
  structure, execution semantics, and runtime attachments (verification,
  safety, rollback, state). It emits a spec object, NOT a finished SKILL.md,
  and hands that spec to skill-forge. It sits between skill-integration
  (upstream frequency detector) and skill-forge (downstream author). Backed by
  Agent-Trace-to-Skill Induction (arxiv 2606.06893v1). Triggers on inducing a
  skill from captured traces, turning a repeated pattern into a skill spec,
  and preparing evidence for skill-forge.
description-frequency: on-demand
user-invocable: true
version: 1.0.0
format: 2025-10-02
triggers:
  - "induce a skill from these captured session traces"
  - "turn this repeated pattern in .planning/patterns/ into a skill spec"
  - "prepare a structured spec from trace evidence for skill-forge"
updated: 2026-07-18
status: ACTIVE
source: arxiv 2606.06893v1 (Agent-Trace-to-Skill Induction)
---

# Trace-to-Skill Inducer

Turn captured interaction traces into a **structured skill spec** the
skill-forge loop can author from. Segment the traces into candidate skill
units, decompose each candidate into workflow structure + execution semantics +
runtime attachments, scrub sensitive data, and hand the spec downstream. This
is the induction step of the skill lifecycle on this system: it converts raw
session evidence into a design contract, and stops there.

## Why

`skill-integration` frequency-detects that a tool sequence recurs, but a raw
recurrence count is not a skill — it has no declared preconditions,
verification, rollback, or state model, so authoring straight from it produces
under-specified skills that pass validate and then misbehave in
`skill-counterfactual-audit`. The failure this prevents is *scope collision*:
if induction emits a finished SKILL.md, it overlaps `skill-forge` and two
authors fight over the same file. Draw the boundary so induction *feeds*
authoring — spec out, not skill out.

## Data classes touched

Session traces from `.planning/patterns/` are **project-internal**. A trace can
incidentally capture a **credential value** (a token echoed into a tool arg) or
**Fox Companies IP** / a MEMORY.md "never surface" record (private origins,
Center Camp trust rules). Boundary rule: the induced spec may **reference such a
value by name** (e.g. `RH_POSTGRES_URL`, `Fox-IP:<slug>`) but must **never
embed the secret value itself**. A spec carrying a live credential or a
never-surface record is fail-closed: do not emit it — escalate to the
`security-hygiene` gate.

## How

1. **Gather evidence.** Read the trace set for the target pattern from
   `.planning/patterns/` (session-retro / session-observatory-live JSONL). Only
   proceed on a pattern `skill-integration` already flagged, or one you can
   confirm recurs in **≥ 3 distinct sessions**. Fewer than 3 → skip (§When to
   skip).
2. **Segment into candidate skill units.** A candidate is a *goal-directed
   span* with a stable entry precondition and a stable exit postcondition. This
   is an **LLM judgment** — do not treat tool-sequence equality as the segment
   boundary; two traces reaching the same goal via different tool order are one
   candidate (§Robustness rule).
3. **Decompose each candidate into the four-part spec** (this is the induction
   payload, not a SKILL.md):
   - **Workflow structure** — ordered steps, branch points, loop/iteration.
   - **Execution semantics** — tools invoked, arg schema, side effects, and
     which steps touch shared repo state (git, worktrees, refinery-merge queue).
   - **Runtime attachments** — the *verification* check that proves the step
     worked, the *safety* gate (ProcessContext/LoaderContext chokepoints,
     PreToolUse commit hook), the *rollback* action, and any *state* the skill
     must persist (Grove content-addressed store / MEMORY.md).
4. **Scrub.** Apply the §Data-classes boundary rule — replace any credential or
   never-surface value with a named reference before the spec leaves this skill.
5. **Emit the spec, hand to skill-forge.** Output the structured spec object and
   route it to `skill-forge`; do not scaffold or write SKILL.md frontmatter here.
6. **Low-confidence segmentation → defer.** If step 2 cannot draw a stable
   boundary (candidate spans overlap, or entry/exit conditions are unclear),
   emit **no** spec and hand the raw evidence to `skill-forge`'s HITL / a human,
   rather than guessing a unit.

### Robustness rule

Judge candidates by **effect, not surface phrasing**. Cluster traces by the
goal they achieve and the pre/post-conditions they satisfy, not by identical
tool calls or wording. A candidate that recurs only because the same literal
command string appears is a weaker unit than one whose *outcome* recurs.

## Confidence / failure model

Segmentation wraps an **LLM judgment** — it is semi-decidable, not a
deterministic check, so it can over- or under-segment. This skill **reduces**
the chance of authoring an under-specified skill; it does not guarantee a
correct unit. Fail-closed default: on any uncertainty about a candidate that
touches **shared repo state, sensitive memory, or self-modification**,
**escalate** (to `skill-forge` HITL / `mayor-coordinator`) rather than silently
emit a spec. The refinery-merge queue never auto-resolves conflicts; induction
inherits that posture — never auto-emit past an unresolved boundary.

## When to skip

- The pattern recurs in fewer than 3 sessions — collect more traces first.
- `skill-integration` has not surfaced it and you cannot confirm frequency — it
  may be a one-off, not a skill.
- A finished SKILL.md already exists for this behaviour — route to
  `skill-causal-curation` (keep/repair/retire) instead of re-inducing.
- The only available trace is a single session with no repetition — there is no
  reusable unit to induce.

## Integration

- **skill-integration** (upstream) — its frequency detection is the trigger; this
  skill consumes what it flags.
- **session-retro / session-observatory-live** (evidence source) — write the
  `.planning/patterns/` traces this skill segments.
- **skill-forge** (downstream) — receives the structured spec and does the
  authoring/validate/critique/ship; this skill never writes the SKILL.md.
- **security-hygiene** — the scrub + never-surface escalation runs under it.

More from Tibsfox/gsd-skill-creator

SkillDescription
3d-interaction-designDesign heuristics for three-dimensional interaction — input modalities (6DoF controllers, gaze, gesture, voice), selection and manipulation techniques (ray-cast, virtual hand, go-go, world-in-miniature), navigation (teleport, continuous, redirected walking), and feedback loops (haptic, audio, visual). Covers Fitts' law in 3D, discoverability vs affordance, safe-zone design, and comfort/simulator sickness mitigation. Use when designing VR/AR interactions, immersive walkthroughs, or any input system where the user's body is the controller.
accessibility-patternsProvides web accessibility best practices for semantic HTML, ARIA, keyboard navigation, color contrast, and screen reader patterns. Use when building UI components, reviewing accessibility, or when user mentions 'a11y', 'accessibility', 'ARIA', 'screen reader', 'keyboard navigation', 'WCAG'.
active-listeningActive listening techniques for effective communication. Covers attending behaviors, paraphrasing, reflective listening, clarifying questions, empathic response, barriers to listening, listening in conflict, and cross-cultural listening. Use when building listening skills, improving understanding in conversation, mediating disputes, or analyzing communication breakdowns.
adversarial-pr-reviewAdversarial spec-compliance PR review — cross-references diffs against approved specs, verifies runtime claims against source, detects competing PRs, audits scope/convention compliance. Use before merging.
agile-methodsAgile and Lean software development methodologies for iterative, adaptive project execution. Covers Scrum (roles, ceremonies, artifacts), Kanban (WIP limits, flow metrics), XP (TDD, pair programming, CI), SAFe overview, Lean Software Development (Poppendieck's 7 principles), user stories (INVEST criteria), estimation via story points and velocity, and the Agile Manifesto's values and principles. Includes Cynefin framework for methodology selection and GSD's relationship to Agile as a structured Lean variant.
algebraic-reasoningSymbolic manipulation, equation solving, and algebraic structures for mathematical reasoning. Covers distributive law, factoring, completing the square, linear through polynomial equation solving, systems of equations (substitution, elimination, Gaussian elimination, matrix methods), algebraic structures (groups, rings, fields), modular arithmetic, polynomial theory, and inequalities. Use when solving equations, simplifying expressions, working with algebraic structures, or performing symbolic manipulation.
algorithmic-awarenessUnderstanding how algorithmic systems shape what users see, know, and do -- from recommendation feeds to search ranking to credit scoring to hiring software. Covers the mechanics of recommendation systems, algorithmic bias and its sources, personalization's effects on information diets, opacity and accountability, AI limitations (hallucination, confident wrongness), and the human-in-the-loop question. Use when a learner needs to think critically about why particular content reached them.
algorithms-data-structuresAlgorithms and data structures from first principles through advanced analysis. Covers sorting (bubble, insertion, selection, merge, quick, heap, radix), searching (linear, binary, BFS, DFS, Dijkstra, A*), fundamental data structures (arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, tries), complexity analysis (Big-O, Big-Omega, Big-Theta, amortized), recurrence relations, and algorithm design paradigms (divide-and-conquer, greedy, dynamic programming, backtracking). Use when analyzing, selecting, implementing, or comparing algorithms and data structures.
aminet-browserAminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching, browsing, or managing package collections.
aminet-emulatorFS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring emulation, managing ROMs, or launching Amiga software.