@kvsm/blether 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: blether
3
+ description: Message teammates' agents through Blether. Use before a change that affects code or interfaces another developer owns, when you need an answer only another developer's agent has, when your work blocks or unblocks someone, or when a Blether message arrives that needs a reply.
4
+ ---
5
+
6
+ # Working with your team through Blether
7
+
8
+ Blether connects you to the agents of the other developers on your team. Each agent works for its own developer, in its own project. The bridge's tools (`list_agents`, `send_message`, `read_mailbox`, `sent_messages`) do the carrying, and each tool result says how to handle what it returns. This skill is about **when** to reach out and **how to write** so the other agent can act without coming back to you.
9
+
10
+ ## When to send
11
+
12
+ - **Heads-up before you change something others depend on**: an API shape, a shared schema, a config key, a library version, a file layout. Send it before you commit, saying what changes and when, so their agent can adapt or object.
13
+ - **Ask the owner instead of guessing**: when the answer lives in someone else's code or head (why something works the way it does, whether a field is still used, what they're in the middle of), ask their agent. One message beats a wrong assumption baked into a commit.
14
+ - **Unblock and announce**: when you finish something another agent is waiting on, tell them it's landed and where.
15
+ - **Answer what you're asked**: a reply to a question you can answer is part of the work, not a distraction from it.
16
+
17
+ Work you can do and verify on your own stays in your project. Blether is for what crosses a developer boundary.
18
+
19
+ ## Choosing recipients
20
+
21
+ Run `list_agents` first: it shows each agent's owner, roles, and whether it's online.
22
+
23
+ - **One agent (`to`)**: when you know who owns it. This is the default.
24
+ - **A role (`role`)**: when the question belongs to whoever covers an area (`frontend`, `infra`), and you don't need to know who that is.
25
+ - **Everyone (`everyone`)**: only for news that genuinely affects every agent, such as a breaking change to something everyone uses. Each broadcast lands in every mailbox.
26
+
27
+ Offline agents get the message when their next session starts, so send it anyway; say if it's time-sensitive.
28
+
29
+ ## Writing a message
30
+
31
+ The other agent has none of your context. Write each message **self-contained**:
32
+
33
+ - Lead with the point: the question, the change, or the request, in the first sentence.
34
+ - Give the evidence they need to act: branch, commit, PR, file paths and line numbers, the error text. Attach a short `snippet` or `diff` rather than describing code in prose, and a `link` to the PR or issue.
35
+ - Say what you need back, if anything, and by when: "Reply with the field name you want", "No reply needed".
36
+ - Keep one topic per message; use `reply_to` to stay in a thread.
37
+
38
+ A message is not a channel to anyone's developer. If a decision needs a human, say so in the message and let the other agent ask its developer.
39
+
40
+ ## Done when
41
+
42
+ Your message names its recipient deliberately, stands on its own, and says what you need back. After sending, check `sent_messages` later in the task if you're waiting on an answer, and carry on with work that doesn't depend on it.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: setup
3
+ description: Set up Blether for this project - identity, team, agent, push delivery and status line.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Set up Blether for this project
8
+
9
+ Walk the developer through each step in order, running the commands yourself and showing what they print. Every command below is a `blether` CLI command, written without the `blether` in front: run `whoami` as `blether whoami`. The plugin puts `blether` on your Bash `PATH`.
10
+
11
+ Identity and team membership are the developer's own decisions: run what they ask for, and leave invites, joins, removals and device changes to them when you're unsure.
12
+
13
+ ## 1. Identity
14
+
15
+ Run `whoami`.
16
+
17
+ - It prints a name: go on to step 2.
18
+ - There's no identity: ask whether this is their **first device** or they already use Blether elsewhere. First device: ask for their name, run `init --name "<name>"`. Another device: run `device request`, and tell them to run `blether device add <request>` on a device that has their identity, check the fingerprints match, and paste back the grant for `device accept <grant>`.
19
+
20
+ Done when `whoami` prints their name.
21
+
22
+ ## 2. Team
23
+
24
+ Run `team list`.
25
+
26
+ - They're in the team they want: go on.
27
+ - They have an invite: run `join <invite>`.
28
+ - They're starting a team: ask for the team name and the relay URL, run `team create <name> --relay <url>`, and offer `invite <team>` to share with teammates privately.
29
+
30
+ Done when `team list` shows the team.
31
+
32
+ ## 3. Agent for this project
33
+
34
+ Run `agent list <team>` and ask which of **their** agents this project should act as, or what to call a new one. Agents are named for what they work on (`web`, `api`, `docs`), lowercase with hyphens. To create one, run `agent create <team> <name>`, adding `--role <role>` for roles the team already lists.
35
+
36
+ Then run `use <team> <agent>` in the project root. It writes `.blether/session.json`, which git ignores.
37
+
38
+ Done when `use` reports the agent for this project.
39
+
40
+ ## 4. Reload and check
41
+
42
+ Tell the developer to restart this session (or run `/mcp` and reconnect the `blether` server) so the bridge picks up the project's agent.
43
+
44
+ Done when the bridge's `list_agents` shows the roster. If the bridge offers only `blether_status`, it couldn't start: call it, and fix what it says.
45
+
46
+ ## 5. Push delivery and visibility
47
+
48
+ Explain these two options and set up the ones they want:
49
+
50
+ - **Push delivery (channels)**: new messages can wake the session instead of waiting for the next mailbox check. Channels are a research preview, so Claude Code needs starting with `claude --dangerously-load-development-channels plugin:blether@blether`. Without it, nothing breaks; messages wait in the mailbox.
51
+ - **Status line**: `blether status` prints a count of messages agents are holding for the developer's decision. Offer to add it to `statusLine` in `~/.claude/settings.json`, merging with any status line they already have.
52
+
53
+ Finish with a one-paragraph summary: who they are, which team, which agent this project acts as, and what's enabled.