Your AI co-pilot for complex paperwork.
A toolkit for completing multi-section applications with AI collaboration. Load context, collaborate, capture answers, iterate. Two ways to work: directly in a Claude Code session (the queen's garden), or through the interactive Python menu (the wood where things have no names).
Complex forms ask hard questions - questions requiring reflection, specific details, and coherent narratives. This tool provides structure, memory, AI partnership, and iteration.
Work directly in a Claude Code session. Claude reads the config, presents questions, discusses answers collaboratively, banks context notes for later questions, and saves directly to the memory layer. No intermediary scripts needed.
# Start a Claude Code session in your project directory, then:
# 1. Claude reads the config to know all questions
# 2. You pick questions to work on (by priority, section, or interest)
# 3. Discuss and draft answers together
# 4. Claude saves to the memory layer
# 5. Context notes from earlier answers surface at relevant questions
# 6. Export when readyThis workflow proved itself completing 49/49 Oregon SEA questions in a single session. Context flows naturally between questions, and banked notes ensure coherent narrative across the entire application.
Why it works: The Python menu was designed to shuttle context between you and Claude via JSON files. But if you're already in a Claude session, the shuttling is unnecessary. Claude can hold the full picture - your config, your answers so far, your context notes - and be a genuine thought partner rather than a subprocess.
"This must be the wood," she said thoughtfully to herself, "where things have no names. I wonder what'll become of my name when I go in?" --- Lewis Carroll, Through the Looking-Glass
In Carroll's story, Alice enters a quiet forest where all labels fall away. A fawn walks beside her without fear, because neither of them remembers the word stranger. It is a place of peace before the names return.
This is the offline mode. No AI session, no internet required. Just you, the questions, and a structured menu to think them through at your own pace. Work on a plane, in the woods, or during a break from the noise. The Python menu provides step-by-step guidance, tracks your progress, and holds your answers in the memory layer until you're ready to return to the garden.
python3 form_copilot.py # Interactive mode
python3 form_copilot.py list # See available configs
python3 form_copilot.py status # Check progressPress [C] on any question to launch a Claude Code session with context auto-loaded --- a door back to the queen's garden whenever you want it. When you're done, Claude writes to .sea_answer.md, and the menu saves it to the memory layer.
| Command | Purpose |
|---|---|
/form-start |
Read question context, begin discussion |
/form-save |
Write final answer to file |
/generate-config |
Create a config from pasted questions |
/export-docs |
Export to Markdown/Texinfo/PDF |
If you're familiar with Ralph Wiggum loops - the "keep trying until done" pattern - you might wonder why form completion needs something different.
Ralph Wiggum excels at greenfield tasks with clear completion criteria: build a REST API, get tests passing, generate code. The loop reads files, sees what exists, tries again. No explicit memory needed.
Form Copilot handles a different problem: complex questions where why matters as much as what. Your answer to "What problem does your business solve?" might inform "Describe your competitive advantage" - and you need to remember your reasoning, not just the text.
| Ralph Wiggum | Form Copilot | |
|---|---|---|
| Memory | Files + git | Explicit task/decision store |
| Reasoning | Implicit in code | Decision trails with hypotheses |
| Sessions | One long loop | Multi-session with synthesis |
| Completion | <promise>DONE</promise> |
Task status + dependencies |
| Best for | "Make tests pass" | "Help me think through this" |
In Simpsons terms: Ralph runs into the wall until there's a hole. Lisa keeps a journal of which walls are load-bearing.
In Alice terms: Ralph drinks the bottle to see what happens. The Memory layer is the White Queen, remembering "things that happened the week after next."
| Application Type | Example |
|---|---|
| Self-Employment Programs | Oregon SEA, state business grants |
| College Applications | Common App, UC apps, supplements |
| Research Grants | NSF, NIH, private foundations |
| Immigration | I-485, N-400, visa applications |
| Business Loans | SBA loans, bank applications |
| Fellowships | Fulbright, Rhodes, professional fellowships |
Four example configs included. Or create your own from any source.
Three formats, three purposes:
# From memory layer (preferred):
python3 export_docs.py --memory .memory --config config.json # markdown
python3 export_docs.py --memory .memory --config config.json --format texinfo # texinfo
python3 export_docs.py --memory .memory --config config.json --format latex # tufte PDF
# Legacy SQLite:
python3 export_docs.py form.db
python3 export_docs.py form.db --format texinfo
python3 export_docs.py form.db --format latex| Format | Purpose | Output |
|---|---|---|
| Markdown | Lingua franca for AI tools and GitHub | .md |
| Texinfo | Structured multi-format (PDF, HTML, Info) | .texi |
| LaTeX | Tufte margin notes for review and comprehension | .pdf |
The LaTeX export uses the tufte-handout class to produce Robert Greene / 48 Laws of Power style margin notes with helper hints, priority badges, and clickable cross-references between questions.
Paste any application into Claude:
Here are questions from my [grant / college app / loan form].
Create a form-copilot config JSON with sections, priorities, and helper text.
[paste questions]
Or use /generate-config in Claude Code. Validate with python3 validate_config.py.
See docs/CONFIG.md for details.
Form Copilot includes a memory layer inspired by beads and quint-code:
- Tasks - Track answers with hash-based IDs, labels, dependencies
- Decisions - Record reasoning trails (hypotheses considered, why you chose one)
- Synthesis - Detect patterns across accumulated answers
- Context notes - Bank insights from one question for use in later questions
python3 form_copilot.py memory status # See memory summary
python3 form_copilot.py memory patterns # Find themes across answersStorage: JSONL source of truth (git-friendly) + SQLite index (fast queries). SQLite answer storage is deprecated in favor of the memory layer.
See RFC 002 for the full specification.
- CONFIG.md - Creating and validating configs
- WORKFLOW.md - Menu options, Claude integration, files
- EXAMPLES.md - Included example configs
- CHANGELOG.md - Version history (Alice in Wonderland themed)
- RFCs - Architecture decisions and specifications
- Python 3.6+ (standard library only)
- Claude Code CLI for AI features (queen's garden workflow)
texlive-latex-extrafor LaTeX/PDF export (optional)
MIT
Inspired by Choose Your Own Adventure books, Lewis Carroll's Alice, and the belief that complex paperwork deserves both a garden to think out loud and a wood to think in silence.