@awebai/claude-skills 0.1.0 → 0.2.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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "aweb-skills",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "aweb agent coordination skills — teach your Claude Code agent how to use the aw CLI for mail, chat, tasks, and team coordination."
5
5
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@awebai/claude-skills",
3
- "version": "0.1.0",
4
- "description": "Content-only Claude Code plugin shipping the canonical aweb agent-coordination skills: aweb-coordination, aweb-messaging, aweb-team-membership.",
3
+ "version": "0.2.0",
4
+ "description": "Content-only Claude Code plugin shipping the canonical aweb agent-coordination skills: aweb-coordination, aweb-messaging, aweb-team-membership, aweb-bootstrap.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://aweb.ai",
7
7
  "repository": {
@@ -23,8 +23,9 @@
23
23
  "package.json"
24
24
  ],
25
25
  "scripts": {
26
- "sync-skills": "rm -rf skills && mkdir -p skills && cp -R ../../skills/aweb-coordination ../../skills/aweb-messaging ../../skills/aweb-team-membership skills/",
27
- "prepack": "npm run sync-skills",
28
- "prepublishOnly": "npm run sync-skills"
26
+ "sync-skills": "rm -rf skills && mkdir -p skills && cp -R ../../skills/aweb-coordination ../../skills/aweb-messaging ../../skills/aweb-team-membership ../../skills/aweb-bootstrap skills/",
27
+ "sync-plugin-version": "node -e \"const p=JSON.parse(require('fs').readFileSync('.claude-plugin/plugin.json','utf8')); p.version=require('./package.json').version; require('fs').writeFileSync('.claude-plugin/plugin.json',JSON.stringify(p,null,2)+'\\n')\"",
28
+ "prepack": "npm run sync-skills && npm run sync-plugin-version",
29
+ "prepublishOnly": "npm run sync-skills && npm run sync-plugin-version"
29
30
  }
30
31
  }
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: aweb-bootstrap
3
+ description: This skill should be used when helping a human create a new aweb team from a template (aw team bootstrap), choosing a template and bootstrap mode (hosted vs BYOT vs manual), selecting work-directory vs work-repo-url, provisioning optional worktree agents, and validating/re-running bootstrap safely.
4
+ allowed-tools: "Bash(aw *)"
5
+ ---
6
+
7
+ # aweb Bootstrap
8
+
9
+ Use this skill when a human wants to create a new aweb team for the first time, and you need to guide them through `aw team bootstrap` decisions and validation.
10
+
11
+ This skill is about **decision policy + safe execution**, not memorizing flags.
12
+
13
+ Related skills:
14
+
15
+ - For day-to-day coordination once the team exists: `aweb-coordination`
16
+ - For mail/chat response policy: `aweb-messaging`
17
+ - For joining an existing team, multi-team membership, custody, addressability, and contacts: `aweb-team-membership`
18
+
19
+ Long-form reference: docs/team-bootstrap.md in the aweb repo.
20
+
21
+ ## Bootstrap vs join (first decision)
22
+
23
+ Bootstrap when:
24
+
25
+ - You are creating a brand-new team (new template repo clone, new identities, new role bundle).
26
+ - You want reproducible setup for multiple agents/workspaces.
27
+ - You want a “one command creates the team + installs roles + provisions agent dirs” flow.
28
+
29
+ Do NOT bootstrap when:
30
+
31
+ - The team already exists and you just need to add yourself: use `aweb-team-membership` and the `aw id team ...` commands.
32
+ - You only need another workspace for yourself: use `aw workspace add-worktree` (git worktree) or create another directory and `aw init` it.
33
+
34
+ ## Pick a template (what team shape are we creating?)
35
+
36
+ Canonical templates:
37
+
38
+ - awebai/aweb-team-dev-review (2 agents)
39
+ Use when you want the smallest meaningful team: implementation + review.
40
+
41
+ - awebai/aweb-team-company-surfaces (6 agents)
42
+ Use when you want a cross-functional team: direction/engineering/operations/support/outreach/analytics.
43
+
44
+ Fork vs use-as-is:
45
+
46
+ - Use as-is to learn the flow or to run a standard team.
47
+ - Fork when you want to customize roles, responsibilities, or instructions.
48
+
49
+ ## Before running bootstrap (safety checks)
50
+
51
+ 1) Run bootstrap from a directory that is NOT already inside a git repo/worktree.
52
+
53
+ - If you are inside a git repo/worktree and you are using a remote template ref, bootstrap will refuse to clone by default.
54
+ - Use `--template-cache-dir` as the explicit escape hatch when you must run from inside a repo.
55
+
56
+ 2) Decide the “work” directory model (see next section). This affects whether agents share one checkout or get isolated worktrees.
57
+
58
+ ## Exactly one of: work-directory OR work-repo-url (XOR)
59
+
60
+ Bootstrap needs a directory to symlink into each agent workspace as ./work.
61
+
62
+ You must provide exactly one of:
63
+
64
+ A) --work-directory PATH
65
+
66
+ - Use when you already have a local directory you want agents to use as work.
67
+ - For code teams with worktree agents (team.yaml worktrees:), PATH must be a git repo.
68
+
69
+ B) --work-repo-url VALUE
70
+
71
+ - Use when you want bootstrap to clone a repo for you.
72
+ - VALUE can be a URL or a local path; bootstrap runs “git clone VALUE” into:
73
+
74
+ <template-checkout>/worktrees/<derived-name>/
75
+
76
+ where <derived-name> matches git’s default directory naming (basename, .git stripped).
77
+
78
+ - That clone destination is then used as the effective work directory (symlinked as ./work in each agent workspace).
79
+
80
+ If both flags are set, treat it as a user error and stop.
81
+
82
+ ## Hosted vs BYOT vs manual bootstrap modes
83
+
84
+ Bootstrap can be used in three broad modes:
85
+
86
+ 1) Hosted (aweb.ai)
87
+
88
+ - Best for first-time teams.
89
+ - Bootstrap will prompt for hosted onboarding details when appropriate, then provision each agent workspace.
90
+
91
+ 2) BYOT (your own controller + namespace)
92
+
93
+ - Use when the team’s namespace and controller key live in your environment.
94
+ - Bootstrap can create/ensure the team in that namespace and provision all agents.
95
+
96
+ 3) Manual (print next commands)
97
+
98
+ - Use when you cannot or should not auto-provision from this run (for example, non-interactive environments or policy constraints).
99
+ - Bootstrap will print the next `aw init ...` commands to run inside each agent directory.
100
+
101
+ Policy guidance:
102
+
103
+ - Prefer hosted for “get a working team now”.
104
+ - Prefer BYOT when you need local control over identity and routing.
105
+ - Prefer manual when you need human confirmation at each step.
106
+
107
+ ## Worktree agents (team.yaml worktrees:)
108
+
109
+ Worktree agents are an OPTIONAL second layer for codebases where multiple agents will edit in parallel.
110
+
111
+ - Responsibility workspaces live under agents/<responsibility>/.
112
+ - Worktree agents live under worktrees/ and each has its own git worktree checkout and its own .aw/ identity state.
113
+
114
+ Turn worktree agents on when:
115
+
116
+ - The work directory is a git repo.
117
+ - Multiple agents will change files in parallel.
118
+ - You want each agent’s edits isolated until you merge.
119
+
120
+ Leave it off when:
121
+
122
+ - Work is non-code.
123
+ - Only one agent edits at a time.
124
+
125
+ Operational note:
126
+
127
+ - Worktree agents are local-only identities by design; they are for parallel local work, not for global addressability.
128
+
129
+ ## After bootstrap: validate that the team is actually usable
130
+
131
+ For each agent directory under agents/<responsibility>/:
132
+
133
+ - Run `aw workspace status` to confirm:
134
+ - the workspace is initialized
135
+ - the active team is correct
136
+ - the identity is present
137
+
138
+ - Run `aw whoami` to confirm the identity fields are present.
139
+
140
+ - If you use a wake-up path (Pi extension / Claude Code channel plugin), start it inside the agent directory after initialization.
141
+
142
+ ## Re-run safety and idempotence (how to avoid making a mess)
143
+
144
+ When iterating on templates or recovering from partial setup:
145
+
146
+ - Use `--dry-run` first to validate the plan.
147
+ - Use `--refresh-template` only when you intend to re-clone over a previous template checkout.
148
+ - Treat identity/certificate state under .aw/ as the source of truth; do not delete it casually.
149
+ - If you need to create a fresh workspace, do it in a new directory rather than mutating an existing identity in place.
150
+
151
+ If bootstrap fails mid-way:
152
+
153
+ - Capture the first failing command and error.
154
+ - Do not keep retrying blindly; first confirm whether some workspaces were already created and connected.
155
+ - Prefer completing the remaining agent dirs rather than redoing everything.
156
+
157
+ ## Adding agents later
158
+
159
+ Two common expansions after initial bootstrap:
160
+
161
+ - Add another responsibility workspace: create a new directory and run `aw init` (or extend your template and bootstrap a new repo).
162
+ - Add another isolated code workspace on the same repo: use `aw workspace add-worktree`.
163
+
164
+ When in doubt, choose the smallest change that preserves existing identities and avoids rewriting certificates.
165
+
166
+ ## References
167
+
168
+ Read these only when deeper context is needed:
169
+
170
+ - references/bootstrap-scenarios.md: scenarios, checklists, and troubleshooting.
171
+ - https://aweb.ai/docs/team-bootstrap/ : full reference guide.
172
+ - docs/team-bootstrap.md (aweb repo checkout): full reference guide.
@@ -0,0 +1,112 @@
1
+ # aweb Bootstrap scenarios and checklists
2
+
3
+ This reference is support material for the aweb-bootstrap skill. Use it when you need concrete examples, troubleshooting checklists, or a quick “what should I run next?” guide.
4
+
5
+ It is intentionally narrower than docs/team-bootstrap.md: it focuses on common decision points and failure modes.
6
+
7
+ ## Scenario: first-time hosted team from a template (recommended)
8
+
9
+ Goal: create a new aweb.ai team and provision agent workspaces from a template.
10
+
11
+ Checklist:
12
+
13
+ - Run from a directory that is not inside an existing git repo/worktree.
14
+ - Pick a template:
15
+ - awebai/aweb-team-dev-review for a minimal 2-agent setup.
16
+ - awebai/aweb-team-company-surfaces for a 6-agent cross-functional setup.
17
+
18
+ Example (using an existing local work directory):
19
+
20
+ aw team bootstrap https://github.com/awebai/aweb-team-dev-review.git --yes --work-directory /path/to/work
21
+
22
+ Example (clone the work repo into the template checkout):
23
+
24
+ aw team bootstrap https://github.com/awebai/aweb-team-dev-review.git --yes --work-repo-url https://github.com/ORG/REPO.git
25
+
26
+ Notes:
27
+
28
+ - work-directory and work-repo-url are XOR: set exactly one.
29
+ - When work-repo-url is used, bootstrap clones into:
30
+
31
+ <template-checkout>/worktrees/<derived-name>/
32
+
33
+ where derived-name is the git-style repo directory name (basename with .git stripped).
34
+
35
+ ## Scenario: BYOT (your own controller + namespace)
36
+
37
+ Goal: bootstrap a team under a namespace you control.
38
+
39
+ Checklist:
40
+
41
+ - Confirm you have a controller identity key for the namespace.
42
+ - Decide whether bootstrap should auto-provision (interactive) or just print next commands.
43
+
44
+ Example shape (values are placeholders):
45
+
46
+ aw team bootstrap https://github.com/awebai/aweb-team-dev-review.git \
47
+ --yes \
48
+ --namespace example.com \
49
+ --team dev \
50
+ --work-directory /path/to/work
51
+
52
+ If you are also self-hosting the coordination stack, add:
53
+
54
+ --aweb-url http://localhost:8000
55
+ --registry http://localhost:8010
56
+
57
+ ## Scenario: manual mode (print next commands)
58
+
59
+ Goal: validate the plan and generate the next steps without changing server state.
60
+
61
+ Checklist:
62
+
63
+ - Use dry-run to see the plan.
64
+ - Use the printed aw init commands inside each agent directory.
65
+
66
+ Example:
67
+
68
+ aw team bootstrap /path/to/template --dry-run --work-directory /path/to/work
69
+
70
+ ## Worktree agents: when to enable and what to expect
71
+
72
+ Use worktree agents when multiple agents will edit code in parallel.
73
+
74
+ Requirements:
75
+
76
+ - The work directory must be a git repo.
77
+ - The template must declare a worktrees: block in team.yaml.
78
+
79
+ What bootstrap does:
80
+
81
+ - It creates template worktrees/ (if missing) and git-excludes it locally.
82
+ - It creates one git worktree per entry.
83
+ - Each worktree agent gets its own .aw/ state and local-scope identity.
84
+
85
+ Common pitfall:
86
+
87
+ - Alias collisions: worktree agent aliases must not collide with existing team aliases.
88
+
89
+ ## Quick validation after bootstrap
90
+
91
+ In each generated agent directory (agents/<responsibility>/):
92
+
93
+ - aw workspace status
94
+ - aw whoami
95
+
96
+ If you are using a wake-up integration:
97
+
98
+ - start the Pi extension or the Claude Code channel plugin in that directory after initialization
99
+
100
+ ## Troubleshooting patterns
101
+
102
+ If bootstrap fails:
103
+
104
+ - Stop and capture the first error.
105
+ - Identify which directories were already created.
106
+ - Prefer completing the remaining steps rather than deleting existing .aw state.
107
+
108
+ If you see identity_mismatch or unverified messages in live channel metadata:
109
+
110
+ - Compare with aw chat history output.
111
+ - Confirm the channel plugin / Pi package version is current.
112
+ - Prefer collecting a raw fetch payload before changing trust logic.