dlab runs autonomous coding agents in frozen Docker environments with domain-specific skills and parallel subagents. You package the environment, prompts, and skills into a decision-pack, point it at data, and get back reports and recommendations that hold up to scrutiny.
When to use this skill
- Creating a new decision-pack (interactive or programmatic)
- Designing agent system prompts for data science workflows
- Understanding how parallel agents, consolidators, and retry protocols work
- Analyzing a completed session's logs, outputs, and artifacts
- Running or configuring dlab CLI commands
Workflow overview
- Create a decision-pack — scaffold with
dlab create-dpackwizard orgenerate_dpack()programmatically - Design agents — write orchestrator, subagent, and parallel agent configs
- Run a session —
dlab --dpack <path> --data <data> --prompt "..." - Monitor —
dlab connect <work-dir>(live TUI) ordlab timeline <work-dir>(Gantt chart) - Analyze results — browse session directory, logs, parallel instance outputs
Key concepts
decision-pack: A directory containing config.yaml, docker/, and opencode/ (agents, skills, tools, permissions). Everything an agent needs to run.
Orchestrator (mode: primary): Coordinates the workflow, spawns parallel agents, evaluates results, writes reports. One per decision-pack.
Subagents (mode: subagent): Execute focused tasks. Each runs ONE strategy per run. If it fails, it writes diagnosis and stops — the orchestrator coordinates retries.
Consolidator: Auto-generated read-only agent that compares parallel instance results. Never picks a winner.
Parallel exploration: Fan out multiple agents with structurally diverse approaches (different priors, models, data prep). Check if they agree before recommending.
Critical methodology rules
These are non-negotiable for any data science agent system:
- Never fabricate — no mocking data, no silently swallowing errors, no
try/except: value = 0 - Understanding over fitting — a model that doesn't converge is evidence, not failure
- Know when to stop — hard round limits, conflict detection, degenerate problem reports
- Templates, not implementations — no concrete numbers in prompts, use
<PLACEHOLDER>syntax - Uncertainty, not point estimates — always report intervals, distinguish model vs structural uncertainty
- Recommendations must be computed — no napkin math, multiple scenarios, realistic actions
- Document everything — including failures, two reports (business + technical)
Load references/agent-design.md for the full methodology guide.
References
Load these as needed — don't read all upfront:
references/agent-design.md— Full methodology: anti-fabrication, retry protocol, epistemic humility, conflict detection, prompt design, parallel exploration, degenerate problems, agent prompt structure, runtime directory layout, YAML configreferences/create-dpack.md— Programmatic decision-pack creation:generate_dpack()API, config keys, package managers, permissions, Modal integrationreferences/create-dpack-interactive.md— Interactive wizard guide: how to interview a user and callgenerate_dpack()with the right configreferences/run-analyzer.md— Session analysis: directory layout, log format (NDJSON events), how to navigate parallel runs, what to look for