recursive-training
SkillDocs & knowledgeUse after completed recursive-mode runs accumulate to extract durable experiential memory into `/.recursive/memory/`, then load it for later runs through the canonical loader.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the recursive-training skill
What this skill tells your AI
The instructions your AI receives, as published by try-works/role-model in .agents/skills/recursive-mode/skills/recursive-training/SKILL.md and read by ahel’s review.
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
- Repository-local only. Training data and extracted memory stay inside the current repo.
- No parameter updates. Learning happens through files in
/.recursive/memory/, not model mutation. /.recursive/memory/is the only canonical store. Pointer files are bootstrap-managed and non-authoritative.- All markdown under
/.recursive/run/<run-id>/is eligible training input, not just00-08. - Group runs by subsystem only. The extractor assigns task types per learning item.
- Use contrastive extraction when both winners and losers exist; fall back to winner-only extraction for high-quality repos.
- Every extracted item must remain evidence-grounded in completed runs.
- 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:
- Parse all markdown artifacts from completed runs.
- Infer the dominant subsystem from changed paths and evidence across those artifacts.
- Classify each subsystem group as contrastive, winner-only, or insufficient.
- Ask the extractor for structured learning items.
- Write those items into:
/.recursive/memory/domains/<subsystem>.md/.recursive/memory/training/<task-type>.md
- 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.mdreferences/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.mdis run-local capturerecursive-training-phase8-trigger.pyis the handoff after Phase 8 locksrecursive-training-grpo.pyperforms extractionrecursive-training-loader.pyis the canonical retrieval path before later runsrecursive-training-sync.pyprints startup guidance without mutating the memory plane
Detailed Phase 8 handoff and loader behavior lives in references/phase8-and-loading.md.
Commands
Full training:
python .recursive/scripts/recursive-training-grpo.py --repo-root .
Incremental training after a specific run:
python .recursive/scripts/recursive-training-grpo.py --repo-root . --incremental --run-id <run-id>
Post-Phase 8 trigger:
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:
python .recursive/scripts/recursive-training-sync.py --repo-root .
Canonical memory loading before a new run:
python .recursive/scripts/recursive-training-loader.py \
--repo-root . \
--query "<task description>" \
--files "<comma-separated paths>"
Optional MCP convenience layer:
python .recursive/scripts/recursive-training-mcp.py --repo-root .
Trigger patterns
Recognize these as training requests:
traintrainingextract memorieslearn from runstrain from the latest runincremental trainingsync 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
- Confirm the repo already has recursive-mode scaffolding.
- Confirm completed runs exist under
/.recursive/run/. - Run the trigger or grpo script with the intended scope.
- Verify updated items land under
/.recursive/memory/domains/and/.recursive/memory/training/. - Before the next run, read
/.recursive/memory/MEMORY.mdand call the loader with task context. - 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 contractreferences/phase8-and-loading.md— Phase 8 handoff, trigger behavior, loader timing, and integration patterns
Coverage Gate
- Canonical memory-store boundary documented
- Contrastive and winner-only extraction modes documented
- Subsystem-only grouping documented
- All-markdown run-folder input scope documented
- Phase 8 handoff and loader boundary documented
- Canonical command surface documented
- Reference docs linked for detailed extraction and loading behavior
- Script-only transport boundary preserved
Coverage: PASS
Approval Gate
- Skill defers to
/.recursive/RECURSIVE.mdfor overall workflow rules - Repository-local scope preserved
- No parameter-updating behavior introduced
-
/.recursive/memory/remains the only canonical store - Phase 8 capture vs training extraction boundary is explicit
- Loader remains the canonical retrieval path
- Pointer files remain bootstrap-managed, not sync-authored mirrors
Approval: PASS
Signals
- GitHub stars
- 115
- Forks
- 5
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
recursive-training- Source
- github.com/try-works/role-model