Self-improver persona meta-skill. Handles 4 modes via an llm_classify
router — TAILOR_NEW (the default, pastes-JD-gets-application-pack
flow), INTERVIEW_PREP, COMPARE_ROLES, and STATUS_DIGEST. Each
mode unlocks only its relevant steps via when: conditions on the
classifier output, so a single composition handles all four without
forking the DAG into separate skills.
Composition philosophy — multi-skill bundled orchestration
This meta-skill uses only OpenSquilla-bundled atomic skills plus the five built-in step kinds — no external dependencies. The point of a meta-skill is to orchestrate multiple skills, so this DAG calls into 7 distinct bundled atomic skills, each at the right point in the pipeline:
| Skill | Step(s) | Role in the DAG |
|---|---|---|
multi-search-engine |
web_research |
Web research per target company |
deep-research |
deep_research |
Extra-context round for INTERVIEW_PREP only |
memory |
recall_company, store_pack |
Cross-session memory of past company research and prior application packs — recalled before web research, stored after deliverable |
pptx |
interview_deck |
Generate an interview-prep slide deck when INTERVIEW_PREP and the user mentions "deck" / "slides" / "幻灯片" |
xlsx |
tracker_xlsx |
Export the application ledger as a spreadsheet when STATUS_DIGEST |
docx |
export_docx |
Optional final-deliverable export when the user picks EXPORT_DOCX: YES |
Step kinds used: llm_chat, llm_classify, user_input, skill_exec,
agent.
What got dropped from the original 17-step design
The original draft had two ClawHub-shaped skill_exec steps that
turned out to be unnecessary:
- A
skill_exec: lead-enrichmentstep that produced a structured company brief. The currentenrich_companystep (anllm_chatreadingoutputs.web_research) covers exactly the same contract with no external dependency. The original was the substitute path; it's now the primary path. - A
skill_exec: notion-api-skillstep that POSTed the application pack to Notion. The deliverable is the markdown emitted bydeliver_jobpack; the user copies it wherever they want. Convenience does not justify the dependency.
Honest limitations
- No application-ledger persistence.
STATUS_DIGESTmode is paste-driven: the user pastes their current ledger every turn. Once the proposedstate:primitive ships, the ledger can persist across turns automatically. - No auto-apply. The skill produces text for the user to send; there is no LinkedIn / job-board posting integration. This is a deliberate read-only design.
COMPARE_ROLESis text-based. Without aforeachprimitive, the matrix is one llm_chat call with multiple roles in the same prompt; per-role isolation would needforeach.- Interview prep depth.
INTERVIEW_PREPmode runs onedeep-researchround; a multi-round interview-loop would benefit from cross-turn state.