rlm (Recursive Language Model workflow)
Use this skill when:
- The user provides a large context file or document directory.
- You need iterative search/chunk/extract over that context.
- You want to reuse loaded context across multiple queries.
Inputs
Required:
context=<path>: file path (single-file mode) or directory path (corpus mode)query=<question>: question/task to run against the loaded context
Optional:
chunk_chars=<int>(default ~200000)overlap_chars=<int>(default 0)strict=true(corpus mode only, fail on first parse error)
If arguments are missing, ask for:
- context path
- query
Resolve <skill-dir> to the directory containing this SKILL.md before running bundled scripts. Do not assume the repository working directory contains scripts/rlm_repl.py.
Workflow
Initialize state.
Single-file mode:
python3 <skill-dir>/scripts/rlm_repl.py init <context_path> python3 <skill-dir>/scripts/rlm_repl.py statusCorpus mode (recursive, honors
.rlmignoreif present):python3 <skill-dir>/scripts/rlm_repl.py init-corpus <context_dir> python3 <skill-dir>/scripts/rlm_repl.py statusCorpus strict mode:
python3 <skill-dir>/scripts/rlm_repl.py init-corpus <context_dir> --strictCheck/install optional parsers when needed.
python3 <skill-dir>/scripts/rlm_repl.py check-deps python3 <skill-dir>/scripts/rlm_repl.py install-deps --all --dry-runInstall missing dependencies only with user approval.
Scout the loaded context.
python3 <skill-dir>/scripts/rlm_repl.py exec -c "print(peek(0, 3000))" python3 <skill-dir>/scripts/rlm_repl.py exec -c "print(peek(len(content)-3000, len(content)))"Materialize chunks for subagent analysis.
python3 <skill-dir>/scripts/rlm_repl.py exec <<'PY' paths = write_chunks('.mnemonic/rlm_state/chunks', size=200000, overlap=0) print(len(paths)) print(paths[:5]) PYUse the host's available subagent mechanism for chunk analysis when useful, then synthesize results. If subagents are unavailable, analyze chunks sequentially.
Guardrails
- Do not paste large raw chunks into chat.
- Quote only needed excerpts.
- Keep scratch/state files under
.mnemonic/rlm_state/. - For first iteration, refresh manually when sources change:
- run
python3 <skill-dir>/scripts/rlm_repl.py reset - then reinvoke the skill with
context=... query=...
- run
Notes
- Optional document parsers:
- PDF:
pypdf - DOCX:
python-docx - ODT:
odfpy
- PDF:
- Default corpus excludes:
.git/,node_modules/,bin/,_archive/. - Additional reference docs are in
references/.