npx skills add ...
npx skills add incept5/eve-skillpacks --skill eve-agent-optimisation
Analyse agent execution to find wasted tool calls, wrong turns, and blind alleys. Optimise agents to reach their goal in the fewest turns, tokens, and least time. Recommend harness/model changes — never apply without user approval.
npx skills add incept5/eve-skillpacks --skill eve-agent-optimisation
The goal: get the agent to its objective in the fewest tool calls, fewest tokens, shortest time. Find where it wastes effort and eliminate it.
Never change the harness, model, reasoning effort, or permission policy without asking the user first. These are cost and capability decisions that belong to the project owner. Diagnose, explain the tradeoff, and recommend — then wait for approval.
Analyse agent execution logs to identify:
pdftotext when the LLM reads PDFs natively).Key numbers:
Read the log sequentially. For each tool call, ask:
Identify the minimum set of tool calls needed to achieve the goal:
Everything else is waste. Quantify: how many tool calls were on the critical path vs total? What percentage of tokens were spent on productive work?
For each category of waste, trace back to the root cause:
| Waste | Root Cause | Fix |
|---|---|---|
| Agent explored wrong files | SKILL.md doesn't say where to look | Add specific file paths or search patterns to SKILL.md |
| Agent tried wrong approach first | SKILL.md doesn't state the preferred approach | Add explicit instructions: "Do X, not Y" |
| Agent read files it didn't need | Job description too vague | Narrow the description; specify exact scope |
| Agent retried failing command | No error handling guidance | Add failure mode instructions to SKILL.md |
| Agent used wrong tool for file type | SKILL.md doesn't mention native capabilities | Add file-type routing: "PDFs: read natively. Images: view directly." |
| Agent read entire large file | No guidance on targeted reading | Add instructions: "Read only lines 1-50" or "Search for X" |
| Agent verbose in output | No output format specified | Specify exact format: JSON schema, attachment name, concise summary |
| Agent lacks context for decisions | Missing resource refs or env vars | Attach the right resources; ensure with_apis is configured |
| Agent re-discovers known facts | No persistent memory strategy | Use org docs, KV store, or attachments to carry forward knowledge |
| Agent slow due to provisioning | Too many resources, large clone, unnecessary toolchains | Trim resource refs, configure shallow clone, remove unused toolchains |
The SKILL.md is the highest-leverage optimisation target. A precise SKILL.md eliminates entire categories of wasted tool calls.
State the goal in one sentence. The agent should know exactly what it's trying to achieve before doing anything.
Name specific files and paths. "Check the auth config" wastes tool calls searching. "Read src/config/auth.ts lines 1-30" is one tool call.
State the approach explicitly. "Use native PDF reading via the Read tool — do NOT shell out to conversion tools" prevents the agent from trying the wrong path.
Specify what NOT to do. If there's a common wrong turn, block it. "Do not read the entire test suite; only read the failing test file."
Define the output format. "Write a JSON attachment named findings.json with schema {issues: [{file, line, severity, message}]}." This eliminates formatting deliberation.
Tell the agent what context it has. "The resource index at .eve/resources/index.json lists all attached documents with mime_type. Read it first to determine processing strategy."
Provide decision trees for branches. Instead of "handle different file types appropriately":
Keep it short. Every word the agent reads consumes input tokens. Cut filler. Use tables and lists over prose.
After rewriting, run the same job again and compare:
When SKILL.md changes aren't sufficient, look at these levers (all require user approval to change):
If the agent is consistently:
Present the tradeoff (speed vs cost vs quality) and let the user decide.
If the agent is blocked waiting for approvals on every file edit:
yolo for automated batch work.auto_edit for supervised coding.If provisioning is slow:
required: false.mime_type so the agent doesn't need to probe file types.If the agent wastes time on git operations:
commit: auto + push: on_success eliminates manual git ceremony.create_branch: if_missing avoids branch creation failures.ref_policy: auto minimises clone scope.If the agent is doing too much in one job:
If child agents duplicate work:
.eve/coordination-inbox.md at startup.depends_on for sequential steps.After analysing an agent's execution, present findings in this format:
| Pattern | Signal in Logs | Fix |
|---|---|---|
| File hunting | Multiple Read calls to different files | Name the target file in SKILL.md |
| Grep cascade | Multiple searches with different patterns | Provide the right search term |
| Trial and error | Tool call fails, agent retries with variation | Document the correct approach |
| Over-reading | Read tool on 5000+ line file | Specify line ranges or tell agent to search first |
| Unnecessary exploration | Agent reads README, CHANGELOG, etc. | Explicitly say what NOT to read |
| Format deliberation | Long assistant turns deciding output structure | Specify output format in SKILL.md |
| Redundant validation | Agent re-checks things it already confirmed | Structure the SKILL.md as a linear flow |
| Native capability miss | Shell out to CLI tool when LLM can process directly | State native capabilities explicitly |
| Context re-discovery | Agent re-learns project structure every run | Use org docs or KV store for persistent context |
| Approval blocking | Agent pauses waiting for permission | Recommend yolo or auto_edit to user |
eve-job-debugging — CLI commands for monitoring and diagnosing jobs.eve-orchestration — decomposing work into parallel children.eve-agent-memory — storage primitives for persistence across jobs.eve-skill-distillation — encoding learned patterns into reusable skills.eve-read-eve-docs — platform reference docs (CLI, manifest, jobs, harnesses).eve job follow <job-id> # Real-time (if still active)
eve job logs <job-id> # Historical