Use after completed recursive-mode runs accumulate to extract durable experiential memory into `/.recursive/memory/`, then load it for later runs through the canonical loader.
Scanned 9/1/2026
Install to Claude Code
npx -y skills add try-works/role-model --skill recursive-training --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Recursive Training?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/try-works-recursive-training)More formats (shields.io, HTML) on the badges page.
---
name: recursive-training
description: 'Use after completed recursive-mode runs accumulate to extract durable experiential memory into `/.recursive/memory/`, then load it for later runs through the canonical loader.'
---
# recursive-training
## Purpose
Use this skill after a repository has accumulated completed recursive-mode runs and you want to turn repeated successes or failures into durable, repo-local guidance.
The canonical workflow still lives in `/.recursive/RECURSIVE.md`. This skill owns only the training, loading, and memory-discipline layer that sits around completed runs.
## When to use it
Use `recursive-training` to:
- extract cross-run learnings from completed recursive-mode runs
- keep those learnings in `/.recursive/memory/` instead of ad hoc mirrors
- refresh memory after Phase 8 locks
- load only the most relevant prior learnings before a new run starts
- provide startup guidance without mutating the memory plane
## Hard rules
1. Repository-local only. Training data and extracted memory stay inside the current repo.
2. No parameter updates. Learning happens through files in `/.recursive/memory/`, not model mutation.
3. `/.recursive/memory/` is the only canonical store. Pointer files are bootstrap-managed and non-authoritative.
4. All markdown under `/.recursive/run/<run-id>/` is eligible training input, not just `00-08`.
5. Group runs by subsystem only. The extractor assigns task types per learning item.
6. Use contrastive extraction when both winners and losers exist; fall back to winner-only extraction for high-quality repos.
7. Every extracted item must remain evidence-grounded in completed runs.
8. Training scripts do not own `AGENTS.md`; bootstrap owns bridge-file updates.
## Training model
`recursive-training` combines two ideas:
- **ReasoningBank-style memory items** for structured, reusable extracted guidance
- **Training-free GRPO-style comparison** for contrastive winner/loser extraction when variance exists
At a high level:
1. Parse all markdown artifacts from completed runs.
2. Infer the dominant subsystem from changed paths and evidence across those artifacts.
3. Classify each subsystem group as contrastive, winner-only, or insufficient.
4. Ask the extractor for structured learning items.
5. Write those items into:
- `/.recursive/memory/domains/<subsystem>.md`
- `/.recursive/memory/training/<task-type>.md`
6. Refresh the memory registry/startup guidance without treating pointer files as authoritative memory.
For the full schema, grouping logic, evidence signals, and extraction contracts, see:
- `references/memory-architecture.md`
- `references/phase8-and-loading.md`
## Phase 8 and loading boundary
Phase 8 records the **current run's** observations in `08-memory-impact.md`.
Training then turns **many completed runs** into cross-run memory.
That means:
- `08-memory-impact.md` is run-local capture
- `recursive-training-phase8-trigger.py` is the handoff after Phase 8 locks
- `recursive-training-grpo.py` performs extraction
- `recursive-training-loader.py` is the canonical retrieval path before later runs
- `recursive-training-sync.py` prints startup guidance without mutating the memory plane
Detailed Phase 8 handoff and loader behavior lives in `references/phase8-and-loading.md`.
## Commands
Full training:
```bash
python .recursive/scripts/recursive-training-grpo.py --repo-root .
```
Incremental training after a specific run:
```bash
python .recursive/scripts/recursive-training-grpo.py --repo-root . --incremental --run-id <run-id>
```
Post-Phase 8 trigger:
```bash
python .recursive/scripts/recursive-training-phase8-trigger.py --repo-root . --run-id <run-id>
python .recursive/scripts/recursive-training-phase8-trigger.py --repo-root . --run-id <run-id> --auto
```
Read-only startup guidance:
```bash
python .recursive/scripts/recursive-training-sync.py --repo-root .
```
Canonical memory loading before a new run:
```bash
python .recursive/scripts/recursive-training-loader.py \
--repo-root . \
--query "<task description>" \
--files "<comma-separated paths>"
```
Optional MCP convenience layer:
```bash
python .recursive/scripts/recursive-training-mcp.py --repo-root .
```
## Trigger patterns
Recognize these as training requests:
- `train`
- `training`
- `extract memories`
- `learn from runs`
- `train from the latest run`
- `incremental training`
- `sync memories`
- `/recursive-training`
Default behavior:
- fewer than 2 completed runs: explain why extraction is skipped
- no explicit scope: default to full training
- explicit run or "incremental": use incremental mode
- "sync" or "what should I read": use `recursive-training-sync.py`
## Operator checklist
1. Confirm the repo already has recursive-mode scaffolding.
2. Confirm completed runs exist under `/.recursive/run/`.
3. Run the trigger or grpo script with the intended scope.
4. Verify updated items land under `/.recursive/memory/domains/` and `/.recursive/memory/training/`.
5. Before the next run, read `/.recursive/memory/MEMORY.md` and call the loader with task context.
6. Treat loader output as advisory context; the canonical records stay in the memory plane.
## Script surface
- `.recursive/scripts/recursive-training-grpo.py`
- `.recursive/scripts/recursive-training-grpo.ps1`
- `.recursive/scripts/recursive-training-phase8-trigger.py`
- `.recursive/scripts/recursive-training-phase8-trigger.ps1`
- `.recursive/scripts/recursive-training-sync.py`
- `.recursive/scripts/recursive-training-sync.ps1`
- `.recursive/scripts/recursive-training-loader.py`
- `.recursive/scripts/recursive-training-loader.ps1`
- `.recursive/scripts/recursive-training-mcp.py`
- `.recursive/scripts/recursive-training-mcp.ps1`
## Detailed references
- `references/memory-architecture.md` — schema, evidence signals, grouping, extraction modes, and output contract
- `references/phase8-and-loading.md` — Phase 8 handoff, trigger behavior, loader timing, and integration patterns
## Coverage Gate
- [x] Canonical memory-store boundary documented
- [x] Contrastive and winner-only extraction modes documented
- [x] Subsystem-only grouping documented
- [x] All-markdown run-folder input scope documented
- [x] Phase 8 handoff and loader boundary documented
- [x] Canonical command surface documented
- [x] Reference docs linked for detailed extraction and loading behavior
- [x] Script-only transport boundary preserved
Coverage: PASS
## Approval Gate
- [x] Skill defers to `/.recursive/RECURSIVE.md` for overall workflow rules
- [x] Repository-local scope preserved
- [x] No parameter-updating behavior introduced
- [x] `/.recursive/memory/` remains the only canonical store
- [x] Phase 8 capture vs training extraction boundary is explicit
- [x] Loader remains the canonical retrieval path
- [x] Pointer files remain bootstrap-managed, not sync-authored mirrors
Approval: PASS
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!