Intake Sub-agents
Reference for intake skill sub-agent dispatch. Read on demand during Phases 1 and 3 — not loaded into ambient context.
Background Analyzer
Dispatch as a Task sub-agent (subagent_type: "general-purpose").
What to include in the dispatch prompt
You are analyzing materials a learner has provided for onboarding into
a personal development harness. Your job is to read their materials and
extract signal about who this person is, where they are in their
development, and what patterns their work reveals.
**Before reading any background files**, read the developmental model at
`.claude/references/developmental-model.md`. This tells you what to
look for: complexity level, chunking depth, the gap between them,
bridge dependencies from prior domains, and the compounding engine.
Use it as your analytical lens for everything you read.
**Background path:** [insert path]
**File manifest:** [insert the file listing you produced]
Read each file. For each, extract signals using the guide below.
[Insert the extraction table from this file, § Material Extraction]
After reading all files, produce a Background Analysis Report using the
output schema below. Be specific — cite materials, quote relevant
passages, name concrete skills and tools. "Good code quality" is not
a signal; "consistent use of early returns, descriptive variable names,
and test files mirroring source structure" is.
**Delegation:** If background is large enough that you cannot read all
materials and do the analysis justice within your own context, use the
Task tool to dispatch sub-agents for subsets of files. This is a HIGH
threshold — do it only when you genuinely cannot hold the material.
Each sub-agent receives: the developmental model path (they read it
themselves), their assigned files, and the extraction table. They
return their findings using the same output schema. You then merge
their reports, resolve contradictions, and produce one unified report.
**Conversation archives:** For any `.json` file >500KB in the
manifest, run the extraction script to check if it's a conversation
archive. If the script exits 0, it's a valid archive — use the
extracted output instead of reading raw JSON. If exit 1, treat as a
regular JSON file.
# Detection — run --list to check format and triage:
bun "$(cat ~/.config/weft/root)/scripts/conversation-extract.ts" <path> --list
This returns a manifest of conversations. Then extract the most
relevant ones (prioritize recent, substantive conversations):
bun "$(cat ~/.config/weft/root)/scripts/conversation-extract.ts" <path> \
--min-messages 5 --max-assistant-chars 300
Read the extracted text instead of the raw JSON.
**Do NOT write any files. Return text only.**
Material extraction guide
Include this table in the dispatch prompt:
| Material type | What to extract |
|---|---|
| Code files / repos | Languages, frameworks, file structure patterns, naming conventions, code style, README content, commit messages if .git/ present, test patterns |
| Resumes / CVs | Background domains, career trajectory, skills claimed, projects highlighted, education |
| Writing samples | Reasoning patterns, tone, vocabulary, domain interests, self-awareness cues |
| Conversation exports | Question patterns, help-seeking style, what confuses vs. what flows, reflection depth. For claude.ai JSON exports: use scripts/conversation-extract.ts — do not parse raw JSON directly. |
| Course materials / transcripts | Subject areas, performance indicators, completion status |
| Other files | Describe what you found and what signals it contains |
Output schema
Include this in the dispatch prompt as the expected return format:
## Background Analysis Report
### Background & Context
[findings with material citations]
**Signal strength:** strong | moderate | thin
### Goals & Aspirations
[findings — may be thin if materials don't reveal goals directly]
**Signal strength:** strong | moderate | thin
### Current State
[specific skills, tools, patterns observed — with evidence]
**Signal strength:** strong | moderate | thin
### Learning Style
[behavioral patterns: how they organize, iterate, seek help]
**Signal strength:** strong | moderate | thin
### Work & Communication Preferences
[quality standards, style signals, collaboration patterns]
**Signal strength:** strong | moderate | thin
### Cross-file Observations
[correlations, contradictions, and patterns that only emerge from seeing
multiple materials together. A resume claiming "JavaScript expert" plus
code showing dated patterns is a calibration signal. A writing style
that mirrors code organization suggests structural thinking transfer.]
### Surprises
[Anything that doesn't fit the categories above but seems significant.
Anomalies, unexpected signals, things worth surfacing even if you're
not sure what to do with them yet. This section exists because the most
valuable findings are often the ones we didn't think to ask for. If
nothing surprised you, say so explicitly.]
Synthesis Agents
Dispatch up to 4 Task sub-agents in parallel
(subagent_type: "general-purpose"), one per output document.
What each agent receives
Every synthesis agent receives:
- The full contents of
learning/.intake-notes.md - Its specific template and guidelines
Additionally:
- Arcs agent and current-state agent: instruct them to read
.claude/references/developmental-model.mdbefore drafting. Include the relevant SKILL.md section (3c or 3d) in the prompt. - Goals agent: include SKILL.md section 3b in the prompt.
- CLAUDE.md agent: instruct it to read
.claude/references/claude-md-template.md. It follows the synthesis annotations (HTML comments) in the template to populate each section. Additional instructions:- Strip all HTML comments from output
- Stop after Teaching Mode — do not emit system invariants
- Prioritize specificity and agent-actionability in the predictive sections ("How {name} learns", "How {name} gets unblocked", "Strengths") — each entry should change how an agent behaves
Dispatch prompt pattern
For goals, arcs, and current-state agents:
You are drafting a [document name] for a new learner based on their
intake interview. Below are the full intake notes (background analysis +
interview findings), followed by the template and guidelines for your
document.
[Paste full contents of learning/.intake-notes.md]
---
## Template and guidelines
[Paste the relevant section from SKILL.md: 3b, 3c, or 3d]
---
Generate the document following the template exactly. Use evidence
from the intake notes — do not invent or speculate beyond what the
notes contain.
**Do NOT write any files. Return the draft as text only.**
For the arcs and current-state agents, prepend:
Before drafting, read `.claude/references/developmental-model.md` to
inform your analysis of capability clusters and scoring context.
For the CLAUDE.md agent:
You are drafting a personalized CLAUDE.md for a new learner based on
their intake interview. Below are the full intake notes.
[Paste full contents of learning/.intake-notes.md]
---
Read `.claude/references/claude-md-template.md` for the template
structure and synthesis annotations (HTML comments). Follow the
annotations to populate each section from the intake notes.
Rules:
- Strip all HTML comments from your output
- Stop after Teaching Mode — do not emit system invariants
- Prioritize the three predictive sections: "How {name} learns",
"How {name} gets unblocked", and "Strengths". Each entry must be
predictive (changes agent behavior), not merely descriptive
- Minimum: at least 1 entry each in "How learns" and "How gets
unblocked". Strengths can be sparse if evidence is thin.
- Use evidence from the intake notes — do not invent or speculate
**Do NOT write any files. Return the draft as text only.**
After receiving drafts
The main agent reviews all 4 drafts for cross-document consistency before presenting. See SKILL.md Phase 3 for the consistency checklist.