Why use it: This is the main everyday usage path — hand over a specific research goal, let the router pick a skill, and the agent runs and self-verifies.
What it produces: Session file, real artifacts in the working directory (scripts, configs, measurements), and output on stdout according to --mode.
This file contains only shell commands. Commands typed in the TUI are in
08-lenh-chat-trong-tui.md.
1. Interactive
disco # Researcher là mode MẶC ĐỊNH
disco --researcher # nói rõ ra, cho session mới
Example prompt typed at the prompt:
Use the installed skills to benchmark vLLM and SGLang on this machine under the same model, workload, and hardware constraints. Report verified throughput and preserve the commands and measurements needed to reproduce the comparison.
2. One-shot then exit (-p / --print)
disco -p "Fix the failing tests in this repository and run the relevant test suite"
disco --researcher -p "Benchmark vLLM and SGLang with the same model and workload on this machine. Tune each server under identical hardware and memory constraints, report the best verified throughput for each, and preserve the commands and measurements needed to reproduce the comparison."
Exit code of print mode (read from modes/print-mode.ts, not from the README):
| Situation | Exit |
|---|---|
| Normal completion | 0 |
The assistant's last message has stopReason is error or aborted — error printed to stderr |
1 |
Received SIGHUP |
129 |
Received SIGTERM |
143 |
Meaning: exit 0 does not guarantee the research task succeeded, only that the agent session ended without error. To gate quality you must verify the artifacts it created yourself.
3. Call a skill directly when you already know exactly what you need
disco --researcher -p "/skill:vllm determine and verify the highest-throughput vLLM configuration for <model and workload>"
The command naming convention is skill:<tên-skill> (built in agent-session.ts / interactive-mode.ts / rpc-mode.ts). Calling directly skips the router step, saving turns and making auditing easier.
Call the router explicitly (even when already router disable):
disco --researcher -p "/skill:repo-skills-router <mô tả task>"
4. Run a task-specific graph built by the Creator
disco --researcher -p "/skill:<graph-entry> Complete <research task> within <environment and budget constraints>, and verify it with <evaluator>."
Where the graph is deployed (written in the Creator's handoff):
- Tied to a specific task/project/dataset/evaluator/machine, or reuse is uncertain →
<project-dir>/.agents/skills/, only loaded after the project is trusted. - Self-contained, has provenance, cross-verified across multiple projects → only then propose
~/.disco/agent/skills/. - A graph is never split between two scopes.
5. Most useful flags day to day
# Output máy đọc được: mỗi dòng 1 JSON event
disco --mode json -p "..." > events.jsonl
# Chế độ chỉ đọc (không sửa file được)
disco --tools read,grep,find,ls -p "Review the code in src/"
# Chặn một tool cụ thể, giữ nguyên phần còn lại
disco --exclude-tools ask_question -p "..."
# Session
disco --continue "What did we discuss?" # tiếp session trước (-c)
disco --resume # chọn session để tiếp (-r)
disco --name "Refactor auth module" # đặt tên session (-n)
disco --no-session -p "..." # ephemeral, không lưu
# Nạp thêm file vào message đầu
disco @prompt.md "Use this plan while creating the skill"
# Xuất session ra HTML rồi thoát
disco --export session.html
# Mức thinking
disco --thinking high -p "..." # off|minimal|low|medium|high|xhigh|max
--mode text|json|rpc selects output protocol, completely independent of agent mode (--creator/--researcher).
6. How the router behaves (so you read the log correctly)
For a suitable request, DisCo reads repo-skills-router, opens 1–2 possible area pages, compares family pages, and only then reads the chosen skill (e.g. vllm/SKILL.md, sglang/SKILL.md). It does not stuff the descriptions or contents of 1,000 skills into the initial context. Seeing it read 3–4 router files before doing real work is correct, not waste.
7. Pitfalls
- After installing/updating, you must open a new session. A running session does not see new skills.
- The task must be a concrete, verifiable result. "Explore vLLM" gives the router nothing to latch onto; "measure the verified throughput of vLLM vs SGLang with the same model/workload, keep the command to reproduce" does.
- Wrong mode. If a request belongs to the other mode, DisCo stops before doing anything and suggests switching mode; it never silently switches mode on its own.
- Multi-message prompt:
disco "msg1" "msg2"sent sequentially; in print mode only the assistant's last message determines the exit code.
Next step
- To use the skill in Claude Code / Codex instead of in DisCo →
04-xuat-skill-sang-agent-khac.md - To create a new skill →
05-creator-tao-repo-skill.md