Skip to content
Productivity
Skill

/new-tool

Add a new tool to Waku the right way — schema, safe execution, deterministic eval, honest output. Use when adding or modifying agent tools or when the user asks for a new capability.

From plugin
waku-agent
1k9 skills
Install
$ npx -y skills add ShenSeanChen/waku-agent --skill new-tool --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/new-tool

Context preview

The summary Claude sees to decide when to auto-load this skill.

Add a new tool to Waku the right way — schema, safe execution, deterministic eval, honest output. Use when adding or modifying agent tools or when the user asks for a new capability.

SKILL.md

new-tool.SKILL.md
name: new-tool
description: Add a new tool to Waku the right way — schema, safe execution, deterministic eval, honest output. Use when adding or modifying agent tools or when the user asks for a new capability.

Procedure

1. One file per tool in `waku/tools/`, exposing `make_tool(...) -> Tool`. Copy the shape of `waku/tools/calendar.py` (the reference implementation). 2. The tool function must be:

  • **Idempotent** where repeat calls could occur (check-before-insert, like

create_event's title+start guard).

  • **Honest in its return string**: say exactly where the artifact went

(file path, table) and how the user can see it. Never imply effects the tool doesn't have.

  • **Local-first by default**: write to `.waku/` or state.db; real external

services go behind env-gated adapters. 3. Register it in `waku/tools/__init__.py:build_registry`. 4. Add deterministic eval coverage in `evals/deterministic/`:

  • offline: scripted client fires the tool → assert the artifact (DB row/file)
  • a dataset case in `evals/dataset.jsonl` for the live tier

5. If the tool needs usage guidance, add a rule to DEFAULT_SOUL (`waku/runtime/session.py`) or a skill in `skills/`. 6. Check scope first: the repo ships flagship-task tools only. New capabilities beyond scheduling/notes/messages should be discussed before building.

Ships withwaku-agent

Your own AI assistant. On your laptop. In code you can read in an afternoon. Meet Waku — a local-first personal assistant that shows the four pillars behind every serious agent: Harness · Loop · Memory · Eval/LLM-Ops. No frameworks hiding the good parts.

Get the whole plugin
Stats
1,005
Stars
210
Forks
Active
Maintenance
Python
Language
MIT
License
14h ago
Last commit
1mo ago
Created

Repo: ShenSeanChen/waku-agent

Other skills on waku-agent.