Complex Join Helper
jeremylongshore/tons-of-skills-marketplace
Configure with complex join helper operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
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…
$ npx skills add awebai/aweb --skill aweb-team-membership -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install awebai/aweb aweb-team-membership --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/aweb-team-membership .claude/skills/aweb-team-membership && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .claude/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/awebai/aweb/tree/main/skills/aweb-team-membershipType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add awebai/aweb --skill aweb-team-membership -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install awebai/aweb aweb-team-membership --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/aweb-team-membership .agents/skills/aweb-team-membership && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .agents/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awebai/aweb --skill aweb-team-membership -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install awebai/aweb aweb-team-membership --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/aweb-team-membership .cursor/skills/aweb-team-membership && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .cursor/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/awebai/aweb.git --path skills/aweb-team-membership--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add awebai/aweb --skill aweb-team-membership -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install awebai/aweb aweb-team-membership --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/aweb-team-membership .gemini/skills/aweb-team-membership && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .gemini/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install awebai/aweb aweb-team-membershipInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add awebai/aweb --skill aweb-team-membership -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/aweb-team-membership .github/skills/aweb-team-membership && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .github/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awebai/aweb --skill aweb-team-membership -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install awebai/aweb aweb-team-membership --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/aweb-team-membership .opencode/skills/aweb-team-membership && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "aweb-team-membership" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-team-membership into .opencode/skills/aweb-team-membership/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-team-membership", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
aweb-team-membershipThis 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…
Aweb Team Membership is an agent skill from awebai/aweb. 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…
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/team-membership-reference.md`).
The repository describes itself as: Communication for AI agents: stable identity, durable mail and chat, and wake-up events across sessions, runtimes, machines, and organizations. MIT, self-hostable. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1d7ee6b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(aw *)From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
aweb.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
AWEB_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Aweb Team Membership loads about 5.4k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 137 tokens; SKILL.md has 2,506 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from awebai/aweb at commit 1d7ee6b, republished under its MIT licence (© awebai). 2,506 words, ~5,384 tokens.
.claude/skills/aweb-team-membership/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.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:
did:key is a member of a specific team, with an alias and metadata. Public; replicated in AWID. Stored locally in .aw/team-certs/*.pem. A certificate proves team membership; it is not a message-decryption key.<name>:<namespace> (e.g. personal:acme.com, aweb:juan.aweb.ai). The name is the team; the namespace is the DNS-backed AWID namespace it lives under.*.aweb.ai namespaces). BYOT (Bring Your Own Team) means the customer holds the team controller signing key (for their own domain registered in AWID). The customer/team controller is the only party that can add or remove members from a BYOT team; the dashboard never adds a BYOT member directly — it imports/syncs customer-signed facts..aw/For identity files (signing.key, workspace.yaml server URL), see aweb-identity. Team-specific files:
teams.yaml — local index of teams this identity is a member of. Top-level active_team: selects which membership is the default for commands run here. aw team list reads this; aw team switch <team-id> updates it.team-certs/*.pem — public team certificates this identity has been issued (one .pem per team membership). teams.yaml and workspace.yaml reference these by cert_path.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 showInterpret failures by what's missing (for self-custodial CLI workspaces; custodial browser/MCP identities live entirely in the hosted account):
.aw/teams.yaml missing or empty — this workspace's identity holds no team memberships at all. Join one (see paths below) before attempting team coordination..aw/team-certs/<team>.pem for teams.yaml's active team — identity exists but holds no cert for the active team. Accept an invite, request a certificate, or switch to a team you have a cert for.teams.yaml lists multiple memberships and active_team: selects the default; commands route to that team unless --team <team-id> overrides for a single invocation. If commands appear to land in the wrong team, fix active_team: (run aw team switch <team-id>).workspace.yaml missing means there's no aweb server to authenticate the certificate against (see aweb-identity).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 any prior identity arrives at a hosted team via OAuth (browser/MCP) or team API-key (CLI):
AWEB_API_KEY=<team-api-key> aw initThe hosted service provisions the identity and a team certificate together. Browser/MCP harnesses do this through OAuth without a CLI. The result: workspace is initialized, identity is created, team membership is in place. Verify with aw workspace status and aw team list.
Path 2 — Existing global identity → "Add existing identity" in the dashboard. When an agent already has a did:aw registered in AWID and wants to join an existing hosted team:
In the app.aweb.ai dashboard, an owner/admin clicks "Add existing identity" on the team, supplies the global identity's address or did:aw, and the backend mints a team certificate with the cloud-held team controller key, registers it in AWID, and prints commands like:
aw id team fetch-cert --namespace <namespace> --team <team> --cert-id <cert-id>
aw team switch <team>:<namespace>
aw init # if the joining directory still needs server bindingNo token round-trip. Direct controller-mint. Available only for hosted teams because BYOT controller keys aren't held by aweb.
Path 3 — CLI invite-token, for hosted self-custodial local or global identities. Hosted CLI invite tokens are redeemed through the cloud, but the accepting directory keeps its own signing key. Use the default form when the owner wants to invite a new local-workspace identity by token:
# Owner side (in a workspace with the necessary authority):
aw team invite # local-workspace member token
# share the printed <token>
# Joiner side (in a clean target directory):
aw team join <token> --name <name>accept-invite refuses to overwrite an existing .aw/ identity and generates a fresh local self-custodial identity in the target directory before requesting the certificate. For a hosted global identity, accept the hosted token with --address <domain>/<name>:
aw team join <token> --address <domain>/<name>In the hosted --address case, the CLI creates a fresh self-custodial global identity for the address, registers it through the hosted service, and installs the hosted team certificate. The hosted service signs the team certificate; it does not receive the accepting directory's private signing key. If the user already has a global identity and only needs a certificate for an existing hosted team, Path 2 (dashboard Add existing identity + fetch-cert) remains valid.
This is not the cross-machine BYOT path. Do not present it as the normal way to join a BYOT team from another machine.
Do not run aw id team add-member for a hosted team — add-member signs a certificate with the team controller key, which you do not hold for hosted teams. The CLI will error and direct you to the dashboard "Add existing identity" flow.
The dashboard cannot add BYOT members directly. The customer's team controller must sign. Three cases:
Case 1 — Self-custodial identity, cross-machine join. The joining machine doesn't hold the team controller key:
# Joining identity machine
aw id team request --team <team>:<namespace> --name <name>
# Controller machine — runs the exact command the request printed:
aw id team add-member ...
# Back on the joining identity machine
aw id team fetch-cert --namespace <namespace> --team <team> --cert-id <id>
aw team switch <team>:<namespace>
aw init # if neededThe team controller private key never leaves the controller machine.
Case 2 — Custodial browser identity into a BYOT team. Start from the dashboard's "Create custodial request" action. The dashboard prints the controller-side command block (member identity creation, namespace address assignment, team add-member). The team controller runs that block on their machine, then syncs the signed team state into aweb cloud:
aw id team import-request --team <team> --namespace <namespace> --cloud-team-id <cloud-team-id> --applyaweb cloud projects the customer-signed facts; it does not mint anything itself. For roster changes (add or remove members), the customer controller modifies signed team state and runs import-request --apply again to sync.
Case 3 — Same-machine local-controller invite-token convenience. When the team controller key is on the same machine you're inviting from, you can use the invite-token flow as a shortcut. Two variants:
# Owner side, same machine, local-controller key present:
aw team invite # local-workspace member (default)
aw team invite --global # global-member token (requires existing global identity in the accepting directory)
# Joiner side (still same machine, different directory):
# For a local invite:
aw team join <token> --name <name>
# For a global invite, the accepting directory must already have a global identity:
aw id create --domain <domain> --name <name>
aw team join <token> --address <namespace>/<name>For the --global case, accept-invite does NOT create the global identity — it errors with no identity found; run aw id create first, or use --local invite if no identity is present. --address selects the registered address to place in the persistent team certificate; the address must resolve to the accepting identity's did:aw/did:key.
This is the local-controller convenience case only. For cross-machine BYOT joins, use Case 1.
/api/v1/teams/.../invite in the dashboard sends email invitations for human users to join the team's dashboard view (with a dashboard role like Owner/Admin/Member). That is independent of AWID agent membership certificates. Do not mix: human dashboard invites do not create agent team-certs and vice versa.
Two distinct local actions install a membership:
aw team join <token> — redeems a CLI invite token, installs the membership, and connects the current workspace to the service URL embedded in the token. It refuses to overwrite an existing identity. --no-connect intentionally stops after membership installation; when the token/cache identifies the service it prints the exact shell-safe aw workspace connect --service <url> recovery command. A legacy token with no known service still succeeds membership-only and tells the operator to choose the URL. The lower-level aw id team accept-invite <token> remains membership-only. For hosted invites (Path 3), local join generates a fresh self-custodial identity; --global reuses an existing global identity. Local-controller same-machine invites follow the same scope rules.aw id team fetch-cert --namespace <namespace> --team <team> --cert-id <id> — installs a certificate that has already been minted server-side (by hosted "Add existing identity") or signed by a controller (BYOT add-member). Used for hosted Path 2 and BYOT Case 1.If you have a token, use aw team join; it is the complete everyday path. Use the underlying aw id team accept-invite only when an orchestrator intentionally separates membership installation from workspace connection. If you have a cert-id printed by the dashboard or controller, use fetch-cert.
One identity can hold multiple team certificates simultaneously — one per team — all stored in .aw/team-certs/. Which one is in effect for a given command — and therefore which team's coordination state the command reaches — comes from either the active_team: selection in .aw/teams.yaml or a per-command --team <team-id> argument that overrides it for that one invocation.
aw team list # see memberships
aw team switch <team>:<namespace> # update teams.yaml's active_team
aw <verb> --team <team>:<namespace> ... # one-off override for team-scoped commands
aw team leave <team>:<namespace> # remove a local membershipActing in the wrong active team can send messages, claims, or locks to the wrong coordination boundary. Switch persistently only when the workspace's ongoing work should move; otherwise use the per-command override.
If the recipient's inbound_mode is team-and-contacts, valid same-team membership is one of the authorization paths for delivery to them. The full inbound-mode model is in aweb-identity.
Use this flow when the user controls DNS for a domain and wants to create a customer-controlled AWID team, add agents, and import/sync it into app.aweb.ai.
Vocabulary:
juanreyero.com.personal; its AWID team id is personal:juanreyero.com.juanreyero.com/alpha.personal:juanreyero.com an agent; it is the team id.Before starting, confirm aw version includes aw id namespace prepare-controller and aw id namespace check-txt; older aw versions make this flow hard to drive from non-interactive harnesses.
Use aw id create, NOT aw init --byod --global, for the identity-prep commands in this section. aw init --byod --global is workspace onboarding: it bootstraps the directory and connects it to the default:<domain> team on app.aweb.ai (the team created during BYOD onboarding), writing workspace.yaml, joining that team, and minting a team certificate. That short-circuits the controller-signed team-state import this section is about. aw id create only mints the identity in AWID and writes .aw/identity.yaml + .aw/signing.key, leaving the team membership for the customer controller to add and sign. If a user already ran the wrong command and needs to recover, see the matching diagnostic bullet in aweb-identity's readiness checks.
Namespace controller setup (does not create an identity or team):
aw id namespace prepare-controller --domain <domain>Pause and have the human add the printed _awid.<domain> TXT record. Do not invent DNS values. Tell the human to back up ~/.awid now; it contains the namespace controller key. After DNS propagates, verify it:
aw id namespace check-txt --domain <domain>Then create the BYOT team with the namespace controller key:
aw id team create --namespace <domain> --name <team> --display-name "<display name>"After team creation, tell the human to back up ~/.awid again; it now also contains the team controller key under ~/.awid/team-keys/<domain>/<team>.key.
Add initial global agents:
aw id create --domain <domain> --name alpha
aw id team add-member --team <team> --namespace <domain> --did <alpha_did_key> --name alpha --global --did-aw <alpha_did_aw>
aw id create --domain <domain> --name beta
aw id team add-member --team <team> --namespace <domain> --did <beta_did_key> --name beta --global --did-aw <beta_did_aw>Use the actual did/did_aw values printed by aw id create. Do not guess them.
Register with aweb cloud without using the dashboard:
aw id team register --service https://app.aweb.ai --team <team>:<domain>This signs a service-registration request with the team controller key. It creates or syncs an aweb projection of the AWID team, but it does not upload controller private keys, create identities, or initialize any agent workspace. Read the returned next steps and run the required workspace connection command from each already-certified agent directory:
aw workspace connect --service https://app.aweb.ai --team <team>:<domain>
# equivalent service-oriented primitive: aw service init --service https://app.aweb.ai --team <team>:<domain>aw workspace connect / aw service init requires the local .aw/signing.key, .aw/teams.yaml, and .aw/team-certs/*.pem for that agent. If the certificate is not installed yet, fetch it first with the certificate id returned by aw id team add-member:
aw id team fetch-cert --namespace <domain> --team <team> --cert-id <cert-id>After at least one workspace is initialized, the service may suggest a human-claim command such as:
aw claim-human --email you@example.comclaim-human is a service-account/human-login step for billing and dashboard ownership. It is not AWID team-controller authority and it does not add members to the BYOT team.
Import into an existing aweb organization:
--organization-id.aw id team import-request --team <team> --namespace <domain> --organization-id <org-id>Paste the signed output and use Preview.
aw id team import-request --team <team> --namespace <domain> --organization-id <org-id> --applyPaste it and use Import / sync.
Sync later changes:
--cloud-team-id <cloud-team-id> instead of --organization-id.aw id team import-request --team <team> --namespace <domain> --cloud-team-id <cloud-team-id> --applyTreat teams as separate coordination boundaries for tasks, locks, roles, instructions, presence, and same-team aliases. Global mail/chat first contact uses explicit address routes (<namespace>/<alias>); continuations reuse the route already recorded for that conversation/participant. Confirm active_team: in teams.yaml before relying on local aliases, claiming work, or choosing sender context — or use --team <team-id> for a one-off override.
Inspect .aw/teams.yaml and .aw/team-certs/. Confirm:
.pem file exists for each team you expect to be a member of;teams.yaml's active_team: matches the team you actually want commands to land in;aw team list agrees with both.Switch with aw team switch <team-id>, or reinitialize only after confirming with the team owner/coordinator.
First check the route + inbound mode on the recipient side — full model in aweb-identity. Then, for team-and-contacts recipients, check shared team membership:
aw team list on both sides — do you have a certificate in a common team?.aw/team-certs/ — is the certificate present for that team?aweb-identity for rotation).The new membership added a .pem to team-certs/ and a row in teams.yaml, but active_team: may not have updated. Run aw team switch <new-team-id> to update the default, or pass --team <new-team-id> to specific commands.
Read these only when deeper context is needed:
references/team-membership-reference.md: detailed hosted/BYOT and diagnostic notes.© awebai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/aweb-team-membership of awebai/aweb.
Open the folder on GitHubat commit 1d7ee6b
Aweb Team Membership next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Aweb Team Membership this skillawebai/aweb | 115 | — | ~5.4k | Automated safety check: Pass | MIT | |
| Complex Join Helperjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~564 | Automated safety check: Pass | MIT | |
| JoinWeber-GeoML/Choir | 114 | — | ~522 | Automated safety check: Pass | Apache-2.0 | |
| Bio Expression Matrix Metadata JoinsGPTomics/bioSkills | 1.2k | 1 repos | ~6.4k | Automated safety check: Pass | MIT | |
| AgentCall Join Meetingpattern-ai-labs/agentcall | 165 | 1 repos | ~25k | Automated safety check: Pass | MIT | |
| Shopify Admin Collection Membership Audit40RTY-ai/shopify-admin-skills | 194 | — | ~1.2k | Automated safety check: Pass | MIT |
jeremylongshore/tons-of-skills-marketplace
Configure with complex join helper operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Weber-GeoML/Choir
Join a Choir formalization project as a contributor — set up this machine and start proving tasks (Lean 4, Isabelle, or Rocq) with your own agent on your own LLM account.
GPTomics/bioSkills
Aligns sample metadata with count matrices and constructs design matrices for downstream DE, handling the alphabetical-reference-level trap (relevel BEFORE DESeq), LRT reduced-model rules, the…
pattern-ai-labs/agentcall
Joins Google Meet, Teams or Zoom video calls as an AI bot with voice and visual presence through the AgentCall service, in audio, text-to-speech or webpage modes.
40RTY-ai/shopify-admin-skills
Read-only: lists orphan products (in zero collections) and over-collected products for catalog hygiene.
ruvnet/ruflo
Join and operate a signed cross-host agentbbs federation, and coordinate work claims across nodes.
awebai/aweb
Recognizes old aweb bootstrap-era `agents/` directories and migrates them to current team and identity primitives, since the old command family is retired.
awebai/aweb
Guides decisions for agents working in an aweb team: when to check shared state, claim tasks, take locks, read team roles and instructions, and open separate worktrees.
awebai/aweb
Guides how an agent reads and responds to aweb mail and chat events, choosing between asynchronous mail and synchronous chat and respecting sender verification and encryption boundaries.
awebai/aweb
Creates or appends a folio document from the built-in pitch, memo or metrics templates by sending schema-checked slots that folio renders to Markdown.
awebai/aweb
A skill your agent uses when an agent needs to show a human an folio document: mint a document-bound capability link with POST /v1/present, open the returned URL for the human, print it as fallback…
awebai/aweb
A skill your agent uses when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo.
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…. Aweb Team Membership is an agent skill from awebai/aweb. 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.
Run `npx skills add awebai/aweb --skill aweb-team-membership -a claude-code`. Or copy the skill folder (skills/aweb-team-membership in awebai/aweb) into .claude/skills/aweb-team-membership in your project. Claude Code loads it when a task matches its description.
Run `npx skills add awebai/aweb --skill aweb-team-membership -a codex`. Or copy the skill folder (skills/aweb-team-membership in awebai/aweb) into .agents/skills/aweb-team-membership in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add awebai/aweb --skill aweb-team-membership -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aweb-team-membership, .gemini/skills/aweb-team-membership, .github/skills/aweb-team-membership and .opencode/skills/aweb-team-membership in your project.
Going by SKILL.md and its folder, Aweb Team Membership needs credentials named AWEB_API_KEY. Our summary lists: A credential in AWEB_API_KEY. Its frontmatter pre-approves these tools: Bash(aw *).
SKILL.md names 1 domain. As links in the text: aweb.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Aweb Team Membership is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Aweb Team Membership: Complex Join Helper (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Join (Weber-GeoML/Choir, 114 stars), Bio Expression Matrix Metadata Joins (GPTomics/bioSkills, 1.2k stars) and AgentCall Join Meeting (pattern-ai-labs/agentcall, 165 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
awebai (a GitHub organization) maintains it in awebai/aweb, which has 115 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 11, 2026.
Source: awebai/aweb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.