DSHGuide

Chapter 6 — Tools and Skills: The Agent's Hands and Mind

4 min read · 939 words · 13 sections

What You Will Learn

  • Recognize the main tool categories;
  • Read tool cards and approvals;
  • Use planning, todos, subagents, and workflows;
  • Understand what a Skill is, and how it differs from a Tool or Plugin;
  • Use present correctly;
  • Avoid tool overload and skill sprawl.

6.1 Tool Categories

You do not need to memorize every tool name. Know the categories.

You want to Tool type Examples
Inspect files Read Read file, list directory, search contents
Change files Write Create, overwrite, edit
Run programs Execute Terminal, tests, builds
Find information Search Web search, fetch pages
Split work Collaboration Subagents, workflows
Track work Planning Plan mode, todos, goals
Deliver Delivery present
Ask you Interaction Questions, confirmations

One principle:

If read-only is enough, start read-only. If a small step is enough, do not take a big one.


6.2 Tool Cards and Approvals

A tool call usually shows:

  • Tool name;
  • Parameters (path, command);
  • Result (success, failure, output);
  • Sometimes an approval prompt.

Check:

  • Is the path correct?
  • Is the command destructive?
  • Does the output look wrong?
  • Did it ignore a constraint?

Denial is a skill

If it tries something you did not allow:

Stop. Do not run that step.
Explain why you need it, and whether a read-only alternative exists.

6.3 Plans and Todos

For complex tasks, ask for a plan first:

Enter plan mode. Give me a plan of at most five steps:
what to read/write, and how to verify each step.
Wait for my confirmation.

During execution, ask for a todo list:

Break the task into todos and update them as you go.
Do not start everything at once.

Benefits:

  • You can see progress;
  • Steps are less likely to be skipped;
  • Long tasks are easier to resume.

6.4 Subagents and Workflows

Subagents

A subagent is a separate Agent with its own context. Use it for:

  • Independent research;
  • Parallel information gathering;
  • Keeping large intermediate results out of the main context.
Send a subagent to research these three links and return only key points and sources.
Continue the local file work in the main task.

Remember:

  • Subagents consume model calls too;
  • Their results can be wrong;
  • The parent Agent must verify.

Workflows

Workflows orchestrate multiple subagents with a script. They are useful for batch, parallel, or multi-stage work.

Beginners can skip workflows until subagents feel comfortable.


6.5 What a Skill Is

A Skill is an instruction manual, usually a folder with SKILL.md.[1]

It tells the Agent:

  • When to use the skill;
  • What steps to follow;
  • What pitfalls exist;
  • Which references to read;
  • Which scripts can be run.

Skill vs. Tool

Tool Skill
Nature Executable action Knowledge and procedure
Example Read file, run command "How to do a code review"
Executed by Harness Agent reads and follows
Context Schema is loaded Loaded on demand

Skill vs. Plugin

  • A Skill is knowledge; it usually does not add new tools;
  • A Plugin is a runtime extension; it can add tools, services, or UI;
  • Some plugins ship with Skills.

Progressive disclosure

A good Skill does not dump thousands of lines into context. It:

  1. Loads only name and description first;
  2. Loads SKILL.md when the task matches;
  3. Reads references or runs scripts only when needed.

That is why you can have many Skills without instantly filling the context.


6.6 Using Skills

Two common ways:

  1. Automatic: the Agent chooses a relevant Skill from the task description;
  2. Explicit: you name the Skill.

If you know the Skill:

Use the `code-review` Skill for this change.
Read its SKILL.md, then follow the steps.

If you are unsure:

Which Skills are relevant to this task? List them first; do not execute yet.

Installing Skills

  • Only install from trusted sources;
  • Inspect scripts and network access;
  • Do not put secrets in a Skill;
  • Too many Skills consume metadata context;
  • Keep versions aligned with the CLI/plugins.

6.7 present: Delivering Files

When the output is a file, the Agent may call present.[2]

It means:

Declare an existing file as a final deliverable so the UI can show a card that opens the current file.

It does not create, upload, or copy content. It records paths and descriptions.

Ask for it when needed:

When done, use present for the final file. At most two files; do not present every intermediate artifact.

6.8 Common Tool Mistakes

  • More tools is better: no; more tools add choice and context cost.
  • Read the whole directory: search first, read what matters.
  • Treat subagents as free labor: they cost tokens and can be wrong.
  • Install every Skill: install only what you need.
  • Ignore tool results: summaries can hide errors.

Try It

  1. Ask the Agent for a three-step plan;
  2. Ask it to track execution with todos;
  3. Ask it to search first instead of reading a whole directory;
  4. Ask it to deliver one final file with present;
  5. Ask: "Which tools did you use? Which were read-only?"

Summary

  • Tools cover read, write, execute, search, collaboration, planning, and delivery.
  • Read-only first; small steps; watch tool cards.
  • Subagents and workflows split work but are not free.
  • Skill = knowledge; Tool = action; Plugin = runtime extension.
  • present is a delivery declaration, not an upload.

Part II Exercises

  1. Write an AGENTS.md for your test workspace with three forbidden actions.
  2. Start a new Session, read AGENTS.md and PROJECT.md, and restate the rules.
  3. Use todos to complete a three-step task, updating after each step.
  4. Ask which Skills are relevant, without executing them.
  5. Deliver one file with present and observe the card.

References

  1. DeepSeek Harness plugin development
  2. DeepSeek Harness GitHub repository

All links are public sources; product behavior may change between versions.

↑