Waku Agent is a local-first personal AI assistant whose readable code implements the agent loop, memory, and evaluation system. It is for people who want an assistant they can run and understand on their own laptop, with memory stored in SQLite and built-in testing. The catalogue add-ons support its agent workflow.
Borrowing it
Nothing to install: this file belongs to ShenSeanChen/waku-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ShenSeanChen/waku-agent/main/.claude/skills/release/SKILL.mdgit clone --depth 1 https://github.com/ShenSeanChen/waku-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shenseanchen/waku-agent/release)<a href="https://agentmods.dev/skills/shenseanchen/waku-agent/release"><img src="https://agentmods.dev/badge/skills/shenseanchen/waku-agent/release/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shenseanchen/waku-agent/release"><img src="https://agentmods.dev/badge/skills/shenseanchen/waku-agent/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.00985 |
| Opus 5.5 | $0.00030 | $0.00394 |
| Sonnet 5.5 | $0.00015 | $0.00197 |
| Haiku 4.5 | $0.00007 | $0.00098 |
Grade A, and why
release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Procedure
-
Measure the gap. This shows the last release and how far
mainhas moved.git fetch origin --tags -q gh release list --limit 1 git log "$(git describe --tags --abbrev=0 origin/main)"..origin/main --oneline | wc -lRelease when the last release is 14 or more days old and a user-visible change has landed since, or when 10 or more commits have landed regardless of age. Otherwise report the gap in one line and stop.
release-due.ymlruns this check on Tuesday and Friday and opens the bump PR itself, so look for an openrelease/v*PR before opening another. -
Propose the version and the notes, then wait. Propose the next patch version (
0.1.Nto0.1.N+1) unless Sean names another. List the 3 to 5 changes a user would notice, in plain words, fromgit log <last tag>..origin/main. Sean says go before anything below happens. -
Bump the version in one file. Edit
__version__inwaku/__init__.pyand nowhere else:evals/deterministic/test_version.pygoes red if a second home appears. Ship it as its own PR with theshipskill: branch,make lint,make gate,gh pr create --fill,gh pr checks --watch, squash-merge. -
Tag the merged commit. Merging a
release/v*PR does this throughrelease-tag.yml. For a PR you opened yourself, or when that workflow fails: Pullmain, then push the tag. The tag is the release:.github/workflows/release.ymlruns the gate, publishes to PyPI over Trusted Publishing and creates the GitHub Release. An agent pushes the tag only with Sean's yes for that exact version, and never handles a PyPI token.git checkout main && git pull -q git tag vX.Y.Z && git push origin vX.Y.Z -
Watch the workflow finish.
gh run list --workflow release --limit 1must show success. A red run means nothing was published, so fix forward and re-tag only if PyPI never received the version (PyPI never accepts a version twice). -
Confirm by installing, not by reading the index page. In a fresh venv, install the new version from PyPI, check that
waku.__version__matches, and check that a file new in this release is present.d=$(mktemp -d) && python -m venv "$d/v" "$d/v/bin/pip" install -U waku-agent==X.Y.Z "$d/v/bin/python" -c "import waku; print(waku.__version__)" -
Announce it. Starring the repo does not subscribe anyone to releases, so GitHub notifies only people who watch with Releases selected. Draft these for Sean and post nothing yourself:
- an X post in his voice (lowercase, no dashes, no markdown bold) that leads with what changed, not the version number
- a GitHub Discussions post in the Announcements category with the same notes
- three lines to prepend to the GitHub Release (
gh release edit vX.Y.Z --notes-file ...), because the generated notes list PR titles and not what a user gains
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago First seen · 72 lines · 75 tokens per session scan A 1cf1f88ca610
release is a skill published in the GitHub repository ShenSeanChen/waku-agent (2,093 stars, last pushed yesterday), licensed MIT. It adds 75 tokens to every session and 985 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-09.
Other skills, from other repositories
github-repo-management
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
public-plugin-packaging
Use when packaging an Agentlas agent repo for public GitHub release, Codex plugin submission, Claude adapter distribution, or one-line terminal installation.
graincrawl
Maintain, verify, and release graincrawl, the local-first Granola archive CLI, including SQLite archive behavior, read-only Granola source boundaries, Homebrew tap packaging, and crawlkit-powered TUI/snapshot surfaces.
crawlkit
Maintain and release the crawlkit Go library, preserving downstream compatibility for gitcrawl, slacrawl, discrawl, and notcrawl.
agent-release-swarm
Agent skill for release-swarm - invoke with $agent-release-swarm.
agent-release-manager
Agent skill for release-manager - invoke with $agent-release-manager.