AutoLab ships six workflows — each one a Claude Code skill that thin-wraps
a CLI verb with doctrine reminders and post-conditions
(audit + render + commit + push). The routing table below is the
“which one do I want?” reference, with the
scaffold vs loop decision called out up top.
The decision that gets miswritten most
The autonomous loop (/autoresearch,
/survey) is the special case — narrow sweet spot, only
worth the compute on open-ended questions where adversarial
iteration genuinely earns its keep. Everything else — equity
tearsheets, refreshes, fund composition — is
scaffold-driven: copy the template, fill it under
the doctrine, audit, ship.
scaffold-driven: 4 workflows
loop-driven: 2 workflows
/equity Write up a single name
Scaffold
Scaffold a tearsheet from the canonical template, fill every section under the doctrine, audit + render. The autonomous loop is the wrong tool for single-name tearsheets.
CLI: autolab equity <slug> Output: topics/equities/<slug>.md Rubric: profiles/equity/rubric.md
/refresh Update an existing analysis
Scaffold
Archive the prior version under <slug>.history/<old-date>.md, bump the frontmatter date, edit under the doctrine, then record the new conviction entry to the sidecar. URL stays stable.
CLI: autolab refresh <path> Output: mutates the file; appends to <slug>.history.json Rubric: docs/workflows/REFRESH.md
/fund Compose a portfolio brief
Scaffold
Deterministic composer — takes existing equity tearsheets and produces per-holding cards (PNG) + a combined report (PDF) with sector themes, comparison table, and per-name deep-dive.
CLI: autolab fund <files> Output: web/public/assets/fund/<slug>.{pdf,png} Rubric: profiles/fund/rubric.md
/autoresearch Defend an open thesis
Loop
The autonomous Scout → Researcher → Editor → Scorer → Red-team → Wildcard loop on a question like "Does NVIDIA have a moat?". Narrow sweet spot — only worth the compute on genuinely adversarial questions.
CLI: autolab topic "<question>" Output: topics/research/<slug>-YYYY-MM-DD.md Rubric: profiles/topic/rubric.md
/survey Map a landscape
Loop
Coverage-driven landscape map (players, segments, bottlenecks). Scaffold-first; optional additive survey loop when adversarial completeness is needed.
CLI: autolab research --mode survey Output: topics/research/<slug>-YYYY-MM-DD.md Rubric: profiles/survey/rubric.md
/audit Verify doctrine compliance
Scaffold
Mechanically check every analysis against the doctrine: frontmatter, Snapshot, financials table, bear case, decision boundaries, Sources + tier tags, citation resolution, Markdown well-formedness. Pair with /refresh or /equity to fix gaps.
CLI: python scripts/audit.py Output: stdout (regenerate docs/workflows/AUDIT.md) Rubric: docs/PRINCIPLES.md
How agents pick the right one
- Single-name tearsheet? →
/equity. Done. - User has strong intuitions and just wants to write it up?
→ scaffold-first (
--scaffold on workflows that support
both modes). Fill the template interactively with WebSearch + reasoning.
Most workflows are this by default; the loop is the exception.
- Open-ended adversarial question ("Does X have a moat?",
"Will Y trend hold?") where the iteration itself earns its compute?
→
/autoresearch.
- Refresh / update of an existing analysis? →
/refresh. - Composition from existing tearsheets? →
/fund. - "Map the landscape" survey? →
/survey.
If none of the above fits cleanly, ask the user before invoking
machinery. The cost of asking is one round-trip; the cost of running
the wrong loop is hours of wasted compute and a half-finished
artifact that doesn't fit the website.
What every workflow finishes with
Every workflow that writes a new or updated artifact under
topics/ leaves the repo in a shippable state:
- The new/updated
topics/<vertical>/<slug>.md
exists with valid frontmatter. python scripts/audit.py passes (or known gaps are
flagged needs_refresh: true honestly —
see /audit). python scripts/build_artifacts.py --vertical <v>
regenerates the PDF + PNG in
web/public/assets/<v>/. - The change is committed on
main and pushed.
If a workflow can't get the artifact to a shippable state in one
turn, it says so explicitly rather than half-shipping. The
audit
is the gate.
Further reading