Skip to main content

ops-buzz

Buzz relay client for posting skill notifications, rendering Buzz-ready messages, querying recent channel messages, and checking Buzz CLI connectivity. Use when a skill needs to notify Buzz, post a morning report, inspect Buzz configuration, or prepare a Buzz agent-facing handoff.

インストールへ移動

ソース情報

リポジトリ
grahama1970/agent-skills
ソースの最終更新活動
2026年8月8日 16:32
検出された SKILL.md の言語
英語
スター
5
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
8 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
ops-buzz
description
Buzz relay client for posting skill notifications, rendering Buzz-ready messages, querying recent channel messages, and checking Buzz CLI connectivity. Use when a skill needs to notify Buzz, post a morning report, inspect Buzz configuration, or prepare a Buzz agent-facing handoff.
allowed-tools
["Bash","Read","Write"]
triggers
["buzz","buzz notification","buzz relay","post to buzz","buzz morning report","buzz agent handoff","ask buzz agent"]
provides
["buzz-notification","buzz-message-query","buzz-config-readiness","buzz-agent-request"]
composes
["agentic-evals"]
complies
["best-practices-skills","best-practices-python","best-practices-security"]
taxonomy
["operations","notification","agent-orchestration"]
runtime_self_improvement
basic
disciplines
["observability-operations","agentic-orchestration"]
# ops-buzz Thin, agent-safe wrapper around the upstream `buzz-cli` surface. Buzz is the chat and agent workspace. Domain skills remain the source of truth for their own artifacts. `ops-buzz` only transports or queries Buzz messages and records receipts for what it attempted. ## Grounded upstream contract Use the existing Buzz CLI and relay model: - `buzz-cli` is the agent-first CLI; it reads `BUZZ_RELAY_URL` and signs requests with `BUZZ_PRIVATE_KEY`. - `buzz messages send --channel <uuid> --content -` posts a message from stdin. - `buzz messages get --channel <uuid> --limit <n>` reads recent channel messages. - `buzz messages search --query <text>` searches messages. - Buzz's own agent guidance prefers Nostr events and `buzz-cli` over new bespoke HTTP endpoints. Do not add a new Buzz relay endpoint from this skill. If a missing Buzz feature is needed, implement it upstream in `buzz-cli`/Buzz first, then wrap it here. ## Current authority Allowed: - render a Buzz-ready Markdown message from a typed payload; - dry-run a post and write a receipt; - call `buzz messages send` when configuration exists and `--dry-run` is not set; - call `buzz messages get` and `buzz messages search`; - prepare agent-facing handoff text; - post a bounded agent request and optionally read back channel messages for a response receipt. Not established in v0: - durable Buzz `KIND_JOB_REQUEST` events; - semantic validation of Claude/Codex answer quality; - appending decisions back into another skill's ledger; - creating, editing, or deleting Buzz channels; - direct relay HTTP signing independent of `buzz-cli`. ## Commands ```bash ./run.sh config doctor --json ./run.sh render-message --input summary.json --output message.md ./run.sh post --channel <uuid> --input message.json --dry-run ./run.sh post --channel <uuid> --input message.json ./run.sh ask-agent --input agent-request.json --dry-run ./run.sh ask-agent --input agent-request.json --wait ./run.sh messages get --channel <uuid> --limit 20 ./run.sh messages search --query "monitor opportunities" ``` ## Message payload contract `render-message` and `post` accept JSON shaped like: ```json { "schema": "ops_buzz.message.v1", "title": "Morning opportunities", "body": "4 opportunities found.", "source_skill": "monitor-opportunities", "source_run_id": "run:example", "source_url": "http://example.invalid/report", "external_effects": false, "items": [ {"title": "Role", "subtitle": "Company", "url": "https://example.invalid"} ] } ``` The producer validates the payload before rendering or posting and stamps: ```json "seam_validation": {"kind": "ops_buzz.message.v1", "status": "PASS"} ``` `external_effects` must be `false` for dry-run and Stage 0 monitor summaries. This field refers to the source workflow; posting a Buzz message is still a Buzz write when `--dry-run` is omitted. ## Configuration Environment variables: | Variable | Meaning | |---|---| | `BUZZ_RELAY_URL` | Buzz relay URL. Defaults are owned by `buzz-cli`; set explicitly for production use. | | `BUZZ_PRIVATE_KEY` | Nostr private key used by `buzz-cli` for NIP-98 signing. | | `BUZZ_IDENTITY_KEY` | Backward-compatible local identity key; `run.sh` exports it as `BUZZ_PRIVATE_KEY` when the latter is unset. | | `BUZZ_BIN` | Optional path/name for `buzz`; defaults to `buzz`. | Optional local config: ```text ops-buzz.config.json ``` This file is gitignored and may store non-secret defaults such as channel IDs. Secrets belong in the environment, not in the skill directory. ## Composition pattern For `$monitor-opportunities`: 1. `$monitor-opportunities` writes the source-of-truth report manifest. 2. It renders a small `ops_buzz.message.v1` payload with report URL, shortlist, blockers, source health, and `external_effects=false`. 3. It calls `skills/ops-buzz/run.sh post --channel <uuid> --input <payload>`. 4. The returned receipt is stored alongside the monitor run. The Buzz channel is an interactive front door. It is not the decision ledger. ## Agent-facing handoffs Buzz may have Claude and Codex agents that can read `agent-skills/skills`. `ask-agent` is a generic message/readback primitive. It does not claim that the agent completed the requested work unless a response event is observed. Request payload: ```json { "schema": "ops_buzz.agent_request.v1", "channel": "00000000-0000-0000-0000-000000000000", "target_agent": "codex", "mention_pubkey": "optional hex or npub", "prompt": "Inspect this monitor-opportunities run and summarize blockers.", "expected_response": "Return a short finding list with artifact paths.", "source_skill": "monitor-opportunities", "source_run_id": "run:example", "source_url": "http://example.invalid/report", "source_artifact": "/path/to/report-manifest.json", "timeout_seconds": 60, "poll_interval_seconds": 5, "readback_limit": 20 } ``` Receipt statuses: | Status | Meaning | |---|---| | `DRY_RUN` | Rendered and validated without calling Buzz. | | `REQUEST_FAILED` | Buzz send command exited non-zero. | | `REQUEST_POSTED_NO_READBACK` | Request event was posted, but no response polling was requested. | | `NO_RESPONSE` | Request posted and polling finished without observing a response. | | `RESPONSE_OBSERVED` | A candidate response event was read back from the channel. | Limits and non-claims: - target agent identity or mention; - source artifact path/URL; - expected response contract; - timeout and readback query; - receipt containing the request event and observed response event. - response observation is syntactic readback, not semantic acceptance; - domain skills decide whether to use the response. ## Safety - Do not send credentials in message content. - Do not infer a Buzz write succeeded from subprocess exit alone; capture stdout, stderr, exit code, and parsed JSON when possible. - Do not claim agent completion from a posted mention; a response event must be read back. - Do not mutate another skill's ledger directly. Domain skills own their own decisions and receipts. ## Eval posture `eval_not_required`: v0 is a deterministic CLI transport wrapper with no autonomous agent behavior. `sanity.sh` covers positive rendering, missing-config negative control, dry-run no-network behavior, and payload/schema validation. Live Buzz posting is intentionally opt-in because it requires local relay, identity, and channel configuration.
GitHubで見る