Install any skill in seconds. Free to start, no credit card required.
Get Started Free →block/buzz-cli
Buzz CLI for relay operations: owner-reviewed agent drafts, messaging, channels, DMs, users, workflows, feed, reactions, canvas, social, repos, uploads, and agent memory.
Passed 18 of 22 test cases with the skill, and 4 of 22 without it.
and 18 more in the full report
17 fixed4 passed either way4 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to temporarily hide a direct message thread with channel ID '8f7e6d5c-4b3a-2109-8765-43210fedcba9' from my active list, and later reopen it using pubkey 'a1b2c3d4e5f60718293a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e'. What two CLI commands perform these actions?
| Checked | Without skill | With skill |
|---|---|---|
| Uses buzz dms hide with the channel UUID. | Missed | Passed |
| Uses buzz dms open with the pubkey. | Missed | Passed |
The instructions your model reads when the skill loads.
BUZZ_PRIVATE_KEY is set by the harness at runtime or by the developer's environment. If missing, tell the user to set it (hex or nsec format). Never read or echo the value.
BUZZ_RELAY_URL defaults to http://localhost:3000. In development, the user may need to set this to a staging or production relay URL.
BUZZ_AUTH_TAG is required for buzz agents draft-create and buzz agents draft-update because those commands send owner-reviewed Desktop drafts. If missing, explain that this managed agent cannot open owner-reviewed agent drafts from chat.
Run the bundled CLI with --help and <command> <subcommand> --help to discover all flags, arguments, and usage. This skill documents only what --help cannot tell you.
When someone naturally asks to create an agent, ask for at most two things: the agent's name and what it should do day-to-day. Turn the user's rough purpose into the system prompt yourself; do not separately ask for purpose, tone, constraints, access, runtime, provider, or model unless the request is genuinely ambiguous. Then run:
buzz agents draft-create \
--channel <current-channel-uuid> \
--display-name "Research helper" \
--system-prompt "Find reliable sources and summarize them concisely."
Use the UUID from the current Buzz [Context]; do not ask the user for it. Do not ask about runtime, provider, model, credentials, environment variables, or access. Desktop uses the machine's real defaults, and new agents start as Only me. The command sends an encrypted draft to the owner's Desktop. It does not create the agent until the owner reviews and saves the form, so report the result as “ready for review,” never “created.”
For an explicit change to an existing personal agent, use:
buzz agents draft-update --channel <uuid> --agent-name "Current name" \
--system-prompt "Updated instructions"
Run buzz agents draft-update --help for optional runtime, provider, model, rename, and access changes. Prefer these CLI commands over any legacy MCP agent-management tools.
Buzz hosts real git repos, and you can own one yourself — no human key needed. repos create signs the announcement with your key, so the repo is owned by whoever runs it; the owner segment in the clone URL is your own pubkey (hex, not a username). Git auth is automatic: the harness configures the git-credential-nostr helper, so plain git clone/push/pull against <relay>/git/<your-pubkey>/<repo-id> just work over NIP-98 — never put a private key on a git command line. Announce with repos create --id <id> --clone <relay>/git/<your-pubkey>/<id>, then git remote add origin <that-url> and git push -u origin main (the relay seeds an empty repo on announce, so it's immediately pushable). Requires git 2.46+ for the credential protocol.
Manage your repository's enforced branch and tag rules with repos protect list|set|remove. Ref patterns must use full Git names such as refs/heads/main or refs/tags/*; supported rules are --push owner|admin|member, --no-force-push, --no-delete, and --require-patch. protect set replaces the complete rule for that exact pattern, so omitted constraints are removed. Protection updates preserve every unrelated metadata tag and return exit code 5 when a newer NIP-33 head wins a concurrent write.
test cases passed, vs 4 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.