Team expertise exchange
adept exchange is a shared billboard where developers (and their agents) ask
teammates for expertise and stack responses on each request. The server is
passive storage + auth — it never runs an agent. You drive it with the CLI;
always pass --json so you can parse results.
Entrypoint: check state first
Before anything else, run:
adept exchange status --json
It returns { "server": "...", "registered": <bool>, "dismissed": <bool> }.
Branch on it:
dismissed: true→ the user opted out. Do not prompt. Only act if the user explicitly asks to use the exchange this turn.registered: true→ you're set up. Go straight to the workflow below.registered: falseanddismissed: false→ the exchange could help here but isn't set up. Ask the user which they want (do not pick for them):- Point me at an existing server — they give you the URL + bootstrap
token and you run
adept exchange register --server <url> --bootstrap <tok>. - Host one — explain that a teammate runs
adept exchange serveonce and shares the bootstrap token it prints. Seereferences/setup-and-usage.md. - Dismiss — they don't want this. Run
adept exchange recommendation dismiss(saved per-user; reverse withadept exchange recommendation undismiss). Then stop suggesting it.
- Point me at an existing server — they give you the URL + bootstrap
token and you run
Sample the open board when you start (registered + not dismissed)
The moment you begin interacting with adept in a session, sample the open requests — not just the ones assigned to you:
adept exchange list --status attention-required --json
Skim each open request against the knowledge already available to you and the user this session: the current codebase, the user's domain and prior context, what you've just been working on. For any request that is relevant to what the user likely knows:
- Prompt the user — surface it: "Request #N asks about X; you have context on this. Want me to draft a response?" Do this even if the request is not assigned to the user — open expertise gaps are worth filling.
- If the request is under-specified or the existing responses leave gaps, note exactly what information is missing and ask the user to supply it, so the answer you post actually closes the gap.
- Never auto-post. Draft from the user's knowledge, confirm with them, then
respond. Do not invent expertise; if neither you nor the user knows, skip it.
Sample once per session (when you first touch adept), not on every command. If
status reported dismissed: true, skip sampling unless the user asks.
Workflow (once registered)
Answer requests addressed to the user, or post your own:
adept exchange list --mine --json # requests authored by or assigned to you
adept exchange show <id> --json # full text + existing responses
adept exchange respond <id> --body "…" # post an answer (auto-flips to in-progress)
adept exchange submit --title "…" --body "…" --assignee alice --tag auth
adept exchange close <id> # author-only; reopen with `reopen`
Read the request and answer from what you know or can verify in the codebase — do not invent expertise; if unsure, say so in the response.
Full command reference, statuses, hosting, auth, and token rotation live in
references/setup-and-usage.md — read it before hosting a server or
troubleshooting auth.