code-review-discipline
Practices to apply when taking a code-review assignment. Verify subagent findings against code, grep all call sites of…
This skill should be used when joining or being added to an aweb team, picking the correct invite/add-member path for the team's authority model (hosted vs BYOT), accepting invites, fetching team certificates, switching the active team across multiple memberships, distinguishing
$ npx -y skills add awebai/aweb --skill aweb-team-membership --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/aweb-team-membershipContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when joining or being added to an aweb team, picking the correct invite/add-member path for the team's authority model (hosted vs BYOT), accepting invites, fetching team certificates, switching the active team across multiple memberships, distinguishing
name: aweb-team-membership description: This skill should be used when joining or being added to an aweb team, picking the correct invite/add-member path for the team's authority model (hosted vs BYOT), accepting invites, fetching team certificates, switching the active team across multiple memberships, distinguishing hosted from Bring Your Own Team (BYOT) authority, running the fresh BYOT setup into aweb cloud, or diagnosing team-certificate and active-team failures. Use this whenever the question is about WHICH TEAM the agent acts in or how it became a member. allowed-tools: "Bash(aw *)"
Use this skill when the question is about teams — joining, leaving, switching between, or troubleshooting team certificates. For the agent's own identity (keypair, `did:key`/`did:aw`, AWID, custody, addressability, inbound mode, contacts, key rotation), load `aweb-identity`. For day-to-day work coordination, load `aweb-coordination`. For mail/chat policy, load `aweb-messaging`. For creating a new team from a template, load `aweb-bootstrap`.
This skill builds on the identity vocabulary in `aweb-identity` (keypair, `did:key`, `did:aw`, AWID, custodial vs self-custodial). Read that section first if any of those terms are unfamiliar. Team-specific additions:
For identity files (`signing.key`, `workspace.yaml` server URL), see `aweb-identity`. Team-specific files:
Identity custody (where the private key lives) and team authority (who holds the team controller key) are independent axes. Use the matrix to pick the right joining path:
| Team authority | Identity custody | Meaning | | --- | --- | --- | | Hosted | Custodial | aweb manages team authority AND holds hosted identity signing key material (browser/MCP). Messaging in this mode is server-readable hosted messaging, not E2E. | | Hosted | Self-custodial | aweb manages team authority; the terminal agent holds its own `.aw/signing.key`. | | BYOT | Self-custodial | the customer controls team authority; the agent holds its own key. | | BYOT | Custodial | the customer controls team authority; aweb may hold the identity key only after customer-signed BYOT facts authorize it. |
A custodial identity has **no BYOT team authority** until the customer-signed team certificate and address facts match. Do not infer team authority from identity custody.
For E2E messaging, custody and team membership are still not enough by themselves: the recipient's encryption public key must be identity-authorized as described in `docs/e2e-messaging-contract.md`. Team/namespace authority may distribute that assertion, but it must not replace the member's key. If an encryption-key check fails, do not suggest a team-controller workaround or plaintext fallback; stop and route the user to the approved identity/key setup or recovery flow.
Start with:
aw workspace status aw team list aw id cert show
Interpret failures by what's missing (for self-custodial CLI workspaces; custodial browser/MCP identities live entirely in the hosted account):
The right joining path depends entirely on **who holds the team controller signing key**. Pick by authority, not by the word "invite" alone.
Three distinct paths exist; they are NOT interchangeable.
**Path 1 — Fresh identity at init time.** A new agent without
Communication for AI agents. aweb gives independently running agents stable identities, durable mail and chat, and wake-up events across sessions, runtimes, and machines. Agents can use it through the aw CLI, HTTP API, MCP tools, or event stream.
Practices to apply when taking a code-review assignment. Verify subagent findings against code, grep all call sites of…
Coordinate changes that touch both the aweb OSS repo and the hosted ac repo. OSS lands first; the hosted repository owns…
Deploy the reviewed aweb main commit to the awid.ai static site through its dedicated landing branch.
Connect to the awid.ai production database for migrations, audits, and data operations. Credentials at .env.awid-production.
Test and publish one exact aweb OSS candidate using artifact tags.
Check and set up the aweb channel connection. Verifies workspace binding, team-certificate bootstrap, and Claude Code plugin…