53 lines
2.6 KiB
Markdown
53 lines
2.6 KiB
Markdown
# DSH tool mapping (claude-harness port)
|
|
|
|
Skills speak in actions ("read a file", "dispatch a subagent", "create a todo").
|
|
On DeepSeek Harness these actions resolve to the tools below.
|
|
|
|
| Action | DSH tool |
|
|
|---|---|
|
|
| Read a file | `read` |
|
|
| Read several files | `read` once per file, or `grep`/`glob` first |
|
|
| Write a file | `write` |
|
|
| Edit a file | `edit` |
|
|
| Run a shell command | `bash` |
|
|
| Search file contents | `grep` |
|
|
| Find files by name | `glob` |
|
|
| Fetch a URL / web search | `web_fetch` / `web_search` |
|
|
| Dispatch a subagent | `subagent` (asynchronous) or `workflow` (synchronous fan-out) |
|
|
| Continue a child | `send_message` |
|
|
| List children | `list_agents` |
|
|
| Create / update todos | `todo_write` |
|
|
| Ask the user | `ask_user_question` |
|
|
| Load a skill | `skill` |
|
|
| Present a deliverable | `present` |
|
|
| Approve a plan | `exit_plan_mode` |
|
|
| Request an approval | `request_approval {change_id, kind}` — the model initiates it; the owner clicks Approve/Cancel |
|
|
| Change directory | `working_directory` |
|
|
| Create a worktree | `create_worktree` when the bundle is enabled, otherwise `bash` with `git worktree` |
|
|
|
|
## Important differences
|
|
|
|
- **No `superpowers:` namespace.** A skill is named in kebab-case and loaded as
|
|
`skill({ name: "brainstorming" })`, not `superpowers:brainstorming`.
|
|
- **`subagent` does not wait.** It returns `started subagent <id>` and the
|
|
completion notice arrives later. Do not expect the child's answer in the same
|
|
tool result. For a synchronous fan-out where the parent needs every result in
|
|
one call, use `workflow`; for one child with follow-up messages, use
|
|
`subagent` + `send_message`.
|
|
- **No implicit model tiers.** There is no built-in `sonnet`/`haiku`/`opus`.
|
|
Use the provider/model routes that are available in this session. When a
|
|
skill asks for a model tier, map it to an explicit `provider`/`model` pair
|
|
from the live catalog.
|
|
- **Instructions files are `AGENTS.md` / `CLAUDE.md`.** DSH loads them from the
|
|
harness home, the shared agents home, and the project root down to the
|
|
working directory. The `CLAUDE.md` files of this harness need no rewrite.
|
|
- **`todo_write` is the task-tracking action.** Older `TodoWrite` references
|
|
mean this tool.
|
|
- **An approval is the owner's click, not the model's claim.**
|
|
`request_approval({change_id, kind})` starts the flow: the harness writes the
|
|
approval marker only after the owner answers Approve; Cancel writes nothing.
|
|
Never treat "I asked" or "the tool was called" as approval. `/approve` in the
|
|
Claude Code text is the same idea through a slash command.
|
|
- **Plan mode is a real mode.** Use `exit_plan_mode` to submit a plan; prose
|
|
agreement does not leave plan mode.
|