agentboot 0.1.0 → 0.3.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.
- package/README.md +9 -8
- package/agentboot.config.json +4 -1
- package/package.json +2 -2
- package/scripts/cli.ts +465 -18
- package/scripts/compile.ts +724 -75
- package/scripts/dev-sync.ts +1 -1
- package/scripts/lib/config.ts +259 -1
- package/scripts/lib/frontmatter.ts +3 -1
- package/scripts/validate.ts +12 -7
- package/website/docusaurus.config.ts +117 -0
- package/website/package-lock.json +18448 -0
- package/website/package.json +47 -0
- package/website/sidebars.ts +53 -0
- package/website/src/css/custom.css +23 -0
- package/website/src/pages/index.module.css +23 -0
- package/website/src/pages/index.tsx +125 -0
- package/website/static/.nojekyll +0 -0
- package/website/static/CNAME +1 -0
- package/website/static/img/favicon.ico +0 -0
- package/website/static/img/logo.svg +1 -0
- package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
- package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
- package/.github/workflows/cla.yml +0 -25
- package/.github/workflows/validate.yml +0 -49
- package/.idea/agentboot.iml +0 -9
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/CLAUDE.md +0 -230
- package/CONTRIBUTING.md +0 -168
- package/PERSONAS.md +0 -156
- package/core/instructions/baseline.instructions.md +0 -133
- package/core/instructions/security.instructions.md +0 -186
- package/core/personas/code-reviewer/SKILL.md +0 -175
- package/core/personas/security-reviewer/SKILL.md +0 -233
- package/core/personas/test-data-expert/SKILL.md +0 -234
- package/core/personas/test-generator/SKILL.md +0 -262
- package/core/traits/audit-trail.md +0 -182
- package/core/traits/confidence-signaling.md +0 -172
- package/core/traits/critical-thinking.md +0 -129
- package/core/traits/schema-awareness.md +0 -132
- package/core/traits/source-citation.md +0 -174
- package/core/traits/structured-output.md +0 -199
- package/docs/ci-cd-automation.md +0 -548
- package/docs/claude-code-reference/README.md +0 -21
- package/docs/claude-code-reference/agentboot-coverage.md +0 -484
- package/docs/claude-code-reference/feature-inventory.md +0 -906
- package/docs/cli-commands-audit.md +0 -112
- package/docs/cli-design.md +0 -924
- package/docs/concepts.md +0 -1117
- package/docs/config-schema-audit.md +0 -121
- package/docs/configuration.md +0 -645
- package/docs/delivery-methods.md +0 -758
- package/docs/developer-onboarding.md +0 -342
- package/docs/extending.md +0 -448
- package/docs/getting-started.md +0 -298
- package/docs/knowledge-layer.md +0 -464
- package/docs/marketplace.md +0 -822
- package/docs/org-connection.md +0 -570
- package/docs/plans/architecture.md +0 -2429
- package/docs/plans/design.md +0 -2018
- package/docs/plans/prd.md +0 -1862
- package/docs/plans/stack-rank.md +0 -261
- package/docs/plans/technical-spec.md +0 -2755
- package/docs/privacy-and-safety.md +0 -807
- package/docs/prompt-optimization.md +0 -1071
- package/docs/test-plan.md +0 -972
- package/docs/third-party-ecosystem.md +0 -496
- package/domains/compliance-template/README.md +0 -173
- package/domains/compliance-template/traits/compliance-aware.md +0 -228
- package/examples/enterprise/agentboot.config.json +0 -184
- package/examples/minimal/agentboot.config.json +0 -46
- package/tests/REGRESSION-PLAN.md +0 -705
- package/tests/TEST-PLAN.md +0 -111
- package/tests/cli.test.ts +0 -705
- package/tests/pipeline.test.ts +0 -608
- package/tests/validate.test.ts +0 -278
- package/tsconfig.json +0 -62
package/docs/plans/design.md
DELETED
|
@@ -1,2018 +0,0 @@
|
|
|
1
|
-
# AgentBoot Design Document
|
|
2
|
-
|
|
3
|
-
User experience, interaction design, and non-technical design decisions.
|
|
4
|
-
|
|
5
|
-
**Status:** Draft
|
|
6
|
-
**Last updated:** 2026-03-19
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Table of Contents
|
|
11
|
-
|
|
12
|
-
1. [Summary](#1-summary)
|
|
13
|
-
2. [User Experience Design](#2-user-experience-design)
|
|
14
|
-
3. [Privacy Design](#3-privacy-design)
|
|
15
|
-
4. [Marketplace & Community Design](#4-marketplace--community-design)
|
|
16
|
-
5. [Prompt Development Lifecycle](#5-prompt-development-lifecycle)
|
|
17
|
-
6. [Onboarding Design](#6-onboarding-design)
|
|
18
|
-
7. [Uninstall Design](#7-uninstall-design)
|
|
19
|
-
8. [Brand & Positioning](#8-brand--positioning)
|
|
20
|
-
9. [Licensing & Attribution Design](#9-licensing--attribution-design)
|
|
21
|
-
10. [Open Questions](#10-open-questions)
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 1. Summary
|
|
26
|
-
|
|
27
|
-
AgentBoot is a build tool for AI agent governance. It compiles behavioral personas
|
|
28
|
-
from composable traits and distributes them across an organization's repositories,
|
|
29
|
-
providing structured AI agent behavior without requiring developers to think about
|
|
30
|
-
governance. The tool follows a hub-and-spoke model: a central personas repository
|
|
31
|
-
(the hub) compiles and syncs governed artifacts to target repositories (the spokes).
|
|
32
|
-
|
|
33
|
-
The design philosophy rests on three pillars:
|
|
34
|
-
|
|
35
|
-
**Privacy as architecture.** Developer prompts are private by design invariant, not
|
|
36
|
-
by configuration toggle. The system collects aggregate persona effectiveness metrics
|
|
37
|
-
and never individual conversation content. This is the single most important design
|
|
38
|
-
decision in AgentBoot because developer trust determines adoption, and adoption
|
|
39
|
-
determines whether the entire investment produces value. If developers believe their
|
|
40
|
-
AI conversations are being monitored, they stop asking questions, stop experimenting,
|
|
41
|
-
and stop trusting the tool. A governance framework that makes developers afraid to
|
|
42
|
-
use AI is worse than no framework.
|
|
43
|
-
|
|
44
|
-
**Convention over configuration.** AgentBoot follows the Spring Boot model: strong
|
|
45
|
-
defaults that work immediately, with escape hatches for customization. A developer
|
|
46
|
-
who clones a repo with `.claude/` already populated should be able to invoke
|
|
47
|
-
`/review-code` and get useful output without reading documentation, running setup
|
|
48
|
-
commands, or understanding the governance system behind it. The framework should be
|
|
49
|
-
invisible to the end developer.
|
|
50
|
-
|
|
51
|
-
**Agent-agnostic content, Claude Code-first delivery.** Personas, traits, and
|
|
52
|
-
gotchas rules are written in portable markdown. The build system produces
|
|
53
|
-
platform-specific output for Claude Code, Copilot, and Cursor. Claude Code users
|
|
54
|
-
get the richest experience (hooks, managed settings, plugin marketplace, subagent
|
|
55
|
-
isolation); other platforms get the content with weaker enforcement. This is
|
|
56
|
-
documented honestly rather than hidden.
|
|
57
|
-
|
|
58
|
-
The design serves six user segments (developers, platform teams, org leaders, IT
|
|
59
|
-
admins, skeptics, and non-engineers) through different interfaces to the same
|
|
60
|
-
underlying system. Each segment has different needs, different trust thresholds,
|
|
61
|
-
and different definitions of "value." The UX design addresses each segment on its
|
|
62
|
-
own terms while maintaining a single, coherent privacy model that protects all of
|
|
63
|
-
them equally.
|
|
64
|
-
|
|
65
|
-
This document covers the interaction design, privacy decisions, marketplace
|
|
66
|
-
community model, prompt development lifecycle, onboarding flows, uninstall
|
|
67
|
-
guarantees, brand positioning, and licensing strategy. It flags every gap,
|
|
68
|
-
ambiguity, and open question discovered during writing. The Open Questions section
|
|
69
|
-
(Section 10) is as valuable as the design itself.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## 2. User Experience Design
|
|
74
|
-
|
|
75
|
-
### 2.1 Developer UX
|
|
76
|
-
|
|
77
|
-
The developer is the primary consumer of AgentBoot's output but should never need
|
|
78
|
-
to know AgentBoot exists. They experience personas, skills, and rules -- not a
|
|
79
|
-
governance framework.
|
|
80
|
-
|
|
81
|
-
#### First Encounter
|
|
82
|
-
|
|
83
|
-
The ideal first encounter is invisible:
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
git clone git@github.com:acme-corp/my-service.git
|
|
87
|
-
cd my-service
|
|
88
|
-
claude
|
|
89
|
-
# .claude/ is already populated via sync
|
|
90
|
-
# /review-code just works
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
The developer did not install AgentBoot. They did not run a setup command. They
|
|
94
|
-
did not read a README about governance. They cloned a repo, opened Claude Code,
|
|
95
|
-
and personas were already there. This is the "it just works" path that repo sync
|
|
96
|
-
enables.
|
|
97
|
-
|
|
98
|
-
For the first session, CLAUDE.md includes a lightweight welcome fragment (~80
|
|
99
|
-
tokens) that orients without overwhelming:
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
## Welcome -- Quick Start
|
|
103
|
-
|
|
104
|
-
This repo uses AgentBoot personas for code review, security, and testing.
|
|
105
|
-
|
|
106
|
-
Try these now:
|
|
107
|
-
/review-code Review your current changes
|
|
108
|
-
/review-security Security-focused review
|
|
109
|
-
/gen-tests Generate tests for a file
|
|
110
|
-
|
|
111
|
-
Tips:
|
|
112
|
-
- Be specific: "/review-code src/auth/login.ts" beats "/review-code"
|
|
113
|
-
- Personas give structured findings (CRITICAL/ERROR/WARN/INFO)
|
|
114
|
-
- You can ask follow-up questions about any finding
|
|
115
|
-
- Your conversations are private (see privacy policy)
|
|
116
|
-
|
|
117
|
-
New to AI coding tools? Run: /learn
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
This fragment loads once per session. After a few sessions, it fades into background
|
|
121
|
-
context -- Claude knows about it but does not repeat it unsolicited.
|
|
122
|
-
|
|
123
|
-
**Alternative first encounters:**
|
|
124
|
-
|
|
125
|
-
- **Managed settings path:** IT has force-enabled the org plugin via MDM. The
|
|
126
|
-
developer opens Claude Code on any repo and the plugin is already active. No
|
|
127
|
-
action required.
|
|
128
|
-
|
|
129
|
-
- **Plugin install path:** The developer's onboarding doc says "run this command":
|
|
130
|
-
`/plugin marketplace add acme-corp/acme-personas` followed by
|
|
131
|
-
`/plugin install acme`. Two commands, then done.
|
|
132
|
-
|
|
133
|
-
- **Self-service path:** The developer has heard about AgentBoot from a colleague
|
|
134
|
-
and runs `agentboot connect acme-corp` or `/agentboot:connect`. The skill
|
|
135
|
-
auto-detects the org from the git remote and connects them.
|
|
136
|
-
|
|
137
|
-
Each path converges on the same result: the developer has personas available and
|
|
138
|
-
can invoke them. The governance infrastructure is invisible.
|
|
139
|
-
|
|
140
|
-
#### Daily Workflow
|
|
141
|
-
|
|
142
|
-
A typical day for a developer using AgentBoot personas:
|
|
143
|
-
|
|
144
|
-
1. **Write code.** No AgentBoot involvement. The developer works normally.
|
|
145
|
-
|
|
146
|
-
2. **Ready to review.** The developer invokes `/review-code` (or
|
|
147
|
-
`/review-code src/api/users.ts` for a targeted review). The persona runs as a
|
|
148
|
-
subagent with its own context, reads the diff, and produces structured findings
|
|
149
|
-
with severity levels and citations.
|
|
150
|
-
|
|
151
|
-
3. **Act on findings.** The developer reads CRITICAL and ERROR findings, fixes
|
|
152
|
-
what needs fixing, asks follow-up questions about findings they disagree with
|
|
153
|
-
("Why is this an ERROR? I think this is intentional because..."), and marks INFO
|
|
154
|
-
findings as acknowledged.
|
|
155
|
-
|
|
156
|
-
4. **Generate tests.** The developer invokes `/gen-tests src/services/user-service.ts`
|
|
157
|
-
to generate test cases for new code. The test generator persona uses structured
|
|
158
|
-
output and cites patterns from existing tests in the codebase.
|
|
159
|
-
|
|
160
|
-
5. **Open PR.** The developer commits their code. If CI runs `claude -p` with the
|
|
161
|
-
code-reviewer agent, the persona runs again in CI and posts findings to the PR.
|
|
162
|
-
The developer sees the findings in the PR comment, not in their private session.
|
|
163
|
-
|
|
164
|
-
6. **End of week (optional).** The developer runs `/insights` to see their personal
|
|
165
|
-
usage patterns -- which personas they use most, their rephrase rate, cost -- and
|
|
166
|
-
optionally shares anonymized patterns with the org.
|
|
167
|
-
|
|
168
|
-
The daily workflow involves invoking personas by name. The developer never runs
|
|
169
|
-
`agentboot` commands, never thinks about traits or composition, and never interacts
|
|
170
|
-
with the governance layer.
|
|
171
|
-
|
|
172
|
-
#### Learning Curve
|
|
173
|
-
|
|
174
|
-
The learning curve follows a natural progression:
|
|
175
|
-
|
|
176
|
-
**Stage 1: Vague prompts.** The developer types "review this" and gets a broad,
|
|
177
|
-
not-very-useful response. Contextual tips (rate-limited to one per session, disableable)
|
|
178
|
-
nudge them toward specificity:
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
[TIP] Your prompt "review this" could be more effective as:
|
|
182
|
-
"Review src/api/users.ts for the changes I made to the pagination logic."
|
|
183
|
-
Specific prompts -> specific, useful findings.
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**Stage 2: Discovery via /learn.** The developer runs `/learn` and discovers the
|
|
187
|
-
topic browser -- how to write effective prompts, how code review personas work, how
|
|
188
|
-
to read findings, how to do their first AI-assisted PR. The `/learn` skill is
|
|
189
|
-
context-aware ("how do I review one file?" produces a specific, actionable answer)
|
|
190
|
-
rather than a static tutorial.
|
|
191
|
-
|
|
192
|
-
**Stage 3: Effective prompting.** The developer has internalized the patterns.
|
|
193
|
-
They invoke personas by name with targeted arguments. They ask follow-up questions
|
|
194
|
-
about findings. Their rephrase rate drops. Their `/insights` shows improvement
|
|
195
|
-
trends -- privately, only to them.
|
|
196
|
-
|
|
197
|
-
**Stage 4: Persona contributor.** The developer has domain expertise that is not
|
|
198
|
-
captured by existing personas. They paste a raw prompt into
|
|
199
|
-
`agentboot add prompt "Always verify RLS is enabled on new tables"`. AgentBoot
|
|
200
|
-
classifies it as a path-scoped gotcha, formats it with proper frontmatter, and
|
|
201
|
-
saves it. Eventually, they open a PR to the personas repo. They have graduated
|
|
202
|
-
from consumer to contributor without ever reading a contribution guide -- the
|
|
203
|
-
tooling taught them the format by example.
|
|
204
|
-
|
|
205
|
-
#### Privacy Experience
|
|
206
|
-
|
|
207
|
-
What the developer sees:
|
|
208
|
-
- Persona findings in their Claude Code session (private until they publish via PR)
|
|
209
|
-
- `/insights` personal analytics (private, opt-in to share anonymized patterns)
|
|
210
|
-
- The privacy policy in `/learn resources` or linked from the welcome fragment
|
|
211
|
-
|
|
212
|
-
What the developer does not see:
|
|
213
|
-
- Telemetry data (it is about the persona, not the developer)
|
|
214
|
-
- Org dashboard metrics
|
|
215
|
-
- Other developers' usage patterns
|
|
216
|
-
|
|
217
|
-
What the developer trusts:
|
|
218
|
-
- Raw prompts never leave their machine via AgentBoot channels
|
|
219
|
-
- `/insights` sends transcripts to the same Claude API they already use (same
|
|
220
|
-
trust boundary, not a new data flow)
|
|
221
|
-
- Sharing is always opt-in with preview before submission
|
|
222
|
-
- The `rawPrompts` config section has three `false` fields that cannot be set to
|
|
223
|
-
`true` -- this is a design invariant visible in the schema
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
### 2.2 Platform Team UX
|
|
228
|
-
|
|
229
|
-
The platform team (DevEx, developer productivity, or engineering tooling) is the
|
|
230
|
-
primary operator of AgentBoot. They configure, build, distribute, and maintain
|
|
231
|
-
personas for the organization.
|
|
232
|
-
|
|
233
|
-
#### Setup
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
brew install agentboot
|
|
237
|
-
agentboot setup
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
The setup wizard detects the platform team role from the first question and adjusts
|
|
241
|
-
the question flow accordingly:
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
Q1: What's your role?
|
|
245
|
-
> Platform / DevEx team
|
|
246
|
-
Q5: How many developers will use this?
|
|
247
|
-
> Department (20-100)
|
|
248
|
-
Q6: What AI tools does your team use?
|
|
249
|
-
> Claude Code only
|
|
250
|
-
Q6.5: Want me to scan for existing agentic content?
|
|
251
|
-
> Yes
|
|
252
|
-
Q7: Do you have compliance requirements?
|
|
253
|
-
> SOC 2
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Setup produces:
|
|
257
|
-
- `agentboot.config.json` with org structure
|
|
258
|
-
- `repos.json` (empty, ready for population)
|
|
259
|
-
- Core personas (4), traits (6), baseline instructions
|
|
260
|
-
- SOC 2 compliance hooks (if selected)
|
|
261
|
-
|
|
262
|
-
The platform team then:
|
|
263
|
-
1. Edits `agentboot.config.json` with team structure and scope hierarchy
|
|
264
|
-
2. Adds target repos to `repos.json`
|
|
265
|
-
3. Runs `agentboot build` to compile
|
|
266
|
-
4. Runs `agentboot sync` to distribute
|
|
267
|
-
|
|
268
|
-
#### Discovery
|
|
269
|
-
|
|
270
|
-
Before building new content, the platform team discovers what already exists.
|
|
271
|
-
`agentboot discover` scans the org's repos, local machines, and configuration for
|
|
272
|
-
existing AI agent content:
|
|
273
|
-
|
|
274
|
-
```bash
|
|
275
|
-
agentboot discover --path ~/work/ --local
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
This produces:
|
|
279
|
-
- An inventory of every CLAUDE.md, custom agent, skill, rule, hook, and MCP server
|
|
280
|
-
across all scanned repos
|
|
281
|
-
- An overlap analysis showing duplicate content across repos
|
|
282
|
-
- A migration plan that classifies every instruction as trait, gotcha, persona rule,
|
|
283
|
-
or always-on instruction
|
|
284
|
-
- An estimated result ("Before: 74 files, 5,600 lines, no governance. After: 6
|
|
285
|
-
traits, 3 gotchas, 3 personas, ~800 lines total, centralized.")
|
|
286
|
-
|
|
287
|
-
Discovery is non-destructive. It never modifies, moves, or deletes existing files.
|
|
288
|
-
The migration plan produces new files in the AgentBoot personas repo. Originals
|
|
289
|
-
stay untouched. The platform team reviews the plan, tests it, and only deploys
|
|
290
|
-
when ready -- via PR, with review, at their pace.
|
|
291
|
-
|
|
292
|
-
#### Ongoing Governance
|
|
293
|
-
|
|
294
|
-
The weekly governance cycle:
|
|
295
|
-
|
|
296
|
-
1. **Pull metrics:** `agentboot metrics --period 7d`
|
|
297
|
-
2. **Identify outliers:**
|
|
298
|
-
- Personas with high false positive rates (tune rules tighter)
|
|
299
|
-
- Personas with high token usage (compress prompts, split personas)
|
|
300
|
-
- Personas rarely invoked (investigate: not useful? not discoverable?)
|
|
301
|
-
- Personas on Opus that could run on Sonnet (test model downgrade)
|
|
302
|
-
3. **Update prompts:** Edit SKILL.md based on findings
|
|
303
|
-
4. **Run tests:** `agentboot test` to verify changes do not regress
|
|
304
|
-
5. **Lint:** `agentboot lint` to check prompt quality
|
|
305
|
-
6. **Deploy:** `agentboot build && agentboot sync`
|
|
306
|
-
|
|
307
|
-
The metrics dashboard shows persona-level data (rephrase rates, false positive
|
|
308
|
-
rates, cost by team) without individual developer attribution. High rephrase rates
|
|
309
|
-
are framed as persona quality problems ("developers need to rephrase 23% of the
|
|
310
|
-
time" means the persona's output is unclear), not developer intelligence problems.
|
|
311
|
-
|
|
312
|
-
#### Marketplace Contribution
|
|
313
|
-
|
|
314
|
-
When the platform team has content worth sharing:
|
|
315
|
-
|
|
316
|
-
```bash
|
|
317
|
-
agentboot publish gotcha postgres-rls --to marketplace
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
AgentBoot strips org-specific content (internal URLs, paths, proprietary names),
|
|
321
|
-
validates format and lint, generates a README, and opens a PR to the marketplace
|
|
322
|
-
repository. The contributor's name goes in the PR and in the content's frontmatter.
|
|
323
|
-
Attribution is permanent and travels with the content.
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
### 2.3 Org Owner / Leader UX
|
|
328
|
-
|
|
329
|
-
The org owner (VP Engineering, CTO, or engineering director) needs to justify the
|
|
330
|
-
AI tooling investment, measure ROI, and ensure compliance -- without understanding
|
|
331
|
-
the technical details of persona composition.
|
|
332
|
-
|
|
333
|
-
#### Dashboard
|
|
334
|
-
|
|
335
|
-
The org dashboard shows investment metrics, not surveillance metrics:
|
|
336
|
-
|
|
337
|
-
```
|
|
338
|
-
AgentBoot Org Dashboard (Monthly)
|
|
339
|
-
|
|
340
|
-
Investment Summary:
|
|
341
|
-
Total AI spend: $8,200 (52 developers)
|
|
342
|
-
Avg spend/developer: $158/mo
|
|
343
|
-
Median spend/developer: $120/mo
|
|
344
|
-
|
|
345
|
-
ROI Indicators:
|
|
346
|
-
PR review turnaround: -34% (faster since deployment)
|
|
347
|
-
Bug escape rate: -22% (fewer prod bugs)
|
|
348
|
-
Test coverage: +15% (from test generation personas)
|
|
349
|
-
Onboarding time: -40% (new hires productive faster)
|
|
350
|
-
|
|
351
|
-
Adoption:
|
|
352
|
-
Active seats: 47/52 (90%)
|
|
353
|
-
Daily active users: 38 (73%)
|
|
354
|
-
Persona usage rate: 68% of sessions invoke at least one persona
|
|
355
|
-
|
|
356
|
-
Cost Efficiency:
|
|
357
|
-
Opus usage: 12% of invocations, 68% of cost
|
|
358
|
-
Recommendation: audit Opus usage for model downgrade candidates
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
What the dashboard shows:
|
|
362
|
-
- Cost, adoption, and ROI indicators at team level
|
|
363
|
-
- Persona effectiveness (aggregate rephrase rates, false positive rates)
|
|
364
|
-
- Common knowledge gaps ("authentication patterns asked about 89 times" with
|
|
365
|
-
action: "improve auth documentation")
|
|
366
|
-
- Model usage mix with cost optimization suggestions
|
|
367
|
-
- Attention items (zero-usage developers, high-cost teams, low persona adoption)
|
|
368
|
-
|
|
369
|
-
What the dashboard explicitly does not show:
|
|
370
|
-
- Individual developer prompts or conversations
|
|
371
|
-
- Individual developer rephrase rates or question topics
|
|
372
|
-
- Rankings of developers by prompt quality or AI skill
|
|
373
|
-
- Session transcripts or conversation excerpts
|
|
374
|
-
- Any metric that could be used to judge an individual developer's intelligence
|
|
375
|
-
|
|
376
|
-
#### ROI Metrics
|
|
377
|
-
|
|
378
|
-
The dashboard provides before/after comparison for key outcome metrics:
|
|
379
|
-
|
|
380
|
-
| Metric | Before AgentBoot | After AgentBoot | Delta |
|
|
381
|
-
|--------|------------------|-----------------|-------|
|
|
382
|
-
| PR review turnaround | 4.2 hours | 2.8 hours | -34% |
|
|
383
|
-
| Bug escape rate | 12/quarter | 9/quarter | -22% |
|
|
384
|
-
| Test coverage | 62% | 71% | +15% |
|
|
385
|
-
| New hire time-to-first-commit | 8 days | 5 days | -40% |
|
|
386
|
-
|
|
387
|
-
These are outcome metrics sourced from existing systems (GitHub API, CI coverage
|
|
388
|
-
reports, incident tracking) -- not from AI conversation monitoring. They measure
|
|
389
|
-
whether the investment is producing better engineering outcomes.
|
|
390
|
-
|
|
391
|
-
Cost tracking:
|
|
392
|
-
- Total spend by team per month
|
|
393
|
-
- Cost per persona per invocation (average)
|
|
394
|
-
- Model mix (% Haiku/Sonnet/Opus) with cost correlation
|
|
395
|
-
- Month-over-month trends
|
|
396
|
-
|
|
397
|
-
#### Compliance Posture
|
|
398
|
-
|
|
399
|
-
What is enforced (HARD guardrails, via hooks and managed settings):
|
|
400
|
-
- Credential blocking (PreToolUse hooks prevent committing secrets)
|
|
401
|
-
- PHI scanning (UserPromptSubmit hooks flag protected health information)
|
|
402
|
-
- Permission restrictions (deny dangerous tool patterns)
|
|
403
|
-
|
|
404
|
-
What is advisory (SOFT guardrails, via persona instructions):
|
|
405
|
-
- Code style guidelines
|
|
406
|
-
- Architecture patterns
|
|
407
|
-
- Best practices
|
|
408
|
-
|
|
409
|
-
The org owner sees which HARD guardrails are active across the org and which repos
|
|
410
|
-
have them deployed. They do not see individual guardrail trigger events unless
|
|
411
|
-
the escalation exception applies (see Section 3.7).
|
|
412
|
-
|
|
413
|
-
---
|
|
414
|
-
|
|
415
|
-
### 2.4 IT Admin UX
|
|
416
|
-
|
|
417
|
-
The IT admin manages device policies, compliance requirements, and enterprise
|
|
418
|
-
software deployment.
|
|
419
|
-
|
|
420
|
-
#### MDM Deployment
|
|
421
|
-
|
|
422
|
-
AgentBoot generates managed settings files for common MDM platforms:
|
|
423
|
-
|
|
424
|
-
```bash
|
|
425
|
-
agentboot export --format managed
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
This produces:
|
|
429
|
-
- `dist/managed/managed-settings.json` (Claude Code configuration)
|
|
430
|
-
- `dist/managed/managed-mcp.json` (MCP server configuration)
|
|
431
|
-
- `dist/managed/CLAUDE.md` (organization-wide instructions)
|
|
432
|
-
|
|
433
|
-
The IT admin deploys these via their MDM tool:
|
|
434
|
-
|
|
435
|
-
| MDM Platform | Deploy Path |
|
|
436
|
-
|---|---|
|
|
437
|
-
| Jamf | Configuration Profiles > Claude Code |
|
|
438
|
-
| Intune | Device Configuration > macOS/Windows |
|
|
439
|
-
| JumpCloud | Policies > Script Deployment |
|
|
440
|
-
| Kandji | Library > Custom Profiles |
|
|
441
|
-
|
|
442
|
-
The managed settings carry HARD guardrails only -- compliance hooks, credential
|
|
443
|
-
blocking, and forced plugin installation. They do not carry persona definitions
|
|
444
|
-
(that is the plugin and sync channel's job).
|
|
445
|
-
|
|
446
|
-
#### Plugin Control
|
|
447
|
-
|
|
448
|
-
Managed settings support plugin force-enable and marketplace lockdown:
|
|
449
|
-
|
|
450
|
-
```json
|
|
451
|
-
{
|
|
452
|
-
"extraKnownMarketplaces": {
|
|
453
|
-
"acme-personas": {
|
|
454
|
-
"source": { "source": "github", "repo": "acme-corp/acme-personas" }
|
|
455
|
-
}
|
|
456
|
-
},
|
|
457
|
-
"enabledPlugins": {
|
|
458
|
-
"acme@acme-personas": true
|
|
459
|
-
},
|
|
460
|
-
"strictKnownMarketplaces": [
|
|
461
|
-
{ "source": "github", "repo": "acme-corp/acme-personas" }
|
|
462
|
-
]
|
|
463
|
-
}
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
`strictKnownMarketplaces` locks down the marketplace to only approved sources.
|
|
467
|
-
Developers cannot add unauthorized marketplaces. This is the IT admin's compliance
|
|
468
|
-
control for preventing unapproved AI tooling.
|
|
469
|
-
|
|
470
|
-
#### Audit Trail
|
|
471
|
-
|
|
472
|
-
What is logged:
|
|
473
|
-
- Persona invocation events (persona ID, model, tokens, cost, scope, findings
|
|
474
|
-
count, timestamp)
|
|
475
|
-
- Compliance hook trigger events (category, timestamp -- not the prompt that
|
|
476
|
-
triggered it)
|
|
477
|
-
- Sync events (what was deployed where, when)
|
|
478
|
-
|
|
479
|
-
Where logs live:
|
|
480
|
-
- Local NDJSON files (default) or HTTP webhook (configurable)
|
|
481
|
-
- Format is machine-readable, compatible with SIEM ingestion
|
|
482
|
-
|
|
483
|
-
What is explicitly not logged:
|
|
484
|
-
- Developer prompts or conversation content
|
|
485
|
-
- Developer identity (default; configurable to hashed or email if org policy
|
|
486
|
-
requires it)
|
|
487
|
-
- Files read during sessions
|
|
488
|
-
- Session transcripts
|
|
489
|
-
|
|
490
|
-
---
|
|
491
|
-
|
|
492
|
-
### 2.5 Skeptic UX
|
|
493
|
-
|
|
494
|
-
The skeptic is a developer who is resistant to AI tooling, either from past bad
|
|
495
|
-
experiences, philosophical objections, or simple inertia. AgentBoot's design for
|
|
496
|
-
skeptics is: deliver value without requiring buy-in, then let the value speak for
|
|
497
|
-
itself.
|
|
498
|
-
|
|
499
|
-
#### Zero-Touch Activation
|
|
500
|
-
|
|
501
|
-
Managed settings + repo sync = personas active without opt-in. The skeptic does not
|
|
502
|
-
install anything, does not run any commands, and does not change their workflow.
|
|
503
|
-
They clone a repo and the governance is already there.
|
|
504
|
-
|
|
505
|
-
This is not about forcing AI on unwilling developers. It is about ensuring that
|
|
506
|
-
compliance hooks (credential blocking, PHI scanning) are active regardless of
|
|
507
|
-
individual preferences. The personas are available; the developer is not required
|
|
508
|
-
to invoke them.
|
|
509
|
-
|
|
510
|
-
#### First Value Moment
|
|
511
|
-
|
|
512
|
-
The skeptic's conversion typically happens when a gotchas rule saves them from a
|
|
513
|
-
production bug:
|
|
514
|
-
|
|
515
|
-
```
|
|
516
|
-
[ERROR] src/db/migrations/007-add-user-roles.ts:23
|
|
517
|
-
Missing RLS policy on new table. The users_roles table has no
|
|
518
|
-
row-level security policy. All previous tables in this schema have
|
|
519
|
-
RLS enabled.
|
|
520
|
-
Recommendation: Add RLS policy before deploying.
|
|
521
|
-
Confidence: HIGH
|
|
522
|
-
Source: .claude/rules/gotchas-postgres.md
|
|
523
|
-
```
|
|
524
|
-
|
|
525
|
-
The skeptic was not invoking a persona. The gotchas rule activated because of
|
|
526
|
-
path-scoped rules matching the migration file. The finding was specific, correct,
|
|
527
|
-
and would have caused a real problem in production. This is the "huh, that was
|
|
528
|
-
actually useful" moment.
|
|
529
|
-
|
|
530
|
-
#### Gradual Adoption
|
|
531
|
-
|
|
532
|
-
The progression:
|
|
533
|
-
1. **Passive value:** Gotchas rules and always-on instructions help without being
|
|
534
|
-
invoked. The skeptic benefits from the governance without interacting with it.
|
|
535
|
-
2. **Curiosity:** After a few saves, the skeptic starts reading persona output more
|
|
536
|
-
carefully. They ask follow-up questions about findings.
|
|
537
|
-
3. **Manual invocation:** The skeptic starts invoking `/review-code` before opening
|
|
538
|
-
PRs. They see structured findings instead of ad-hoc review comments.
|
|
539
|
-
4. **Advocacy:** The skeptic tells colleagues "that database gotchas rule saved me
|
|
540
|
-
from a production bug." They become an advocate.
|
|
541
|
-
|
|
542
|
-
This progression cannot be forced or gamified. It happens organically when the
|
|
543
|
-
tooling delivers genuine, visible value. AgentBoot's role is to make the first
|
|
544
|
-
value moment as likely as possible (through path-scoped gotchas and always-on
|
|
545
|
-
instructions that activate without invocation) and then get out of the way.
|
|
546
|
-
|
|
547
|
-
#### What AgentBoot Must Not Do for Skeptics
|
|
548
|
-
|
|
549
|
-
- Never make AI usage mandatory or tracked at the individual level by default
|
|
550
|
-
- Never surface "developer X has zero AI sessions" to management
|
|
551
|
-
- Never gamify adoption (no leaderboards, no badges, no "prompt of the week")
|
|
552
|
-
- Never shame non-adoption ("your team's AI usage is below average")
|
|
553
|
-
|
|
554
|
-
The skeptic's opt-out must be genuine. If management wants adoption metrics, they
|
|
555
|
-
configure `includeDevId` and communicate the policy to the team in advance.
|
|
556
|
-
Surprise surveillance destroys the trust that gradual adoption depends on.
|
|
557
|
-
|
|
558
|
-
---
|
|
559
|
-
|
|
560
|
-
### 2.6 Non-Engineer UX
|
|
561
|
-
|
|
562
|
-
Non-engineers (product managers, designers, technical writers, compliance officers)
|
|
563
|
-
use the same personas through a different interface.
|
|
564
|
-
|
|
565
|
-
#### Cowork Desktop App
|
|
566
|
-
|
|
567
|
-
Cowork is Anthropic's desktop application for non-terminal users. It supports the
|
|
568
|
-
same Claude Code plugin system, which means AgentBoot personas work in Cowork
|
|
569
|
-
without modification.
|
|
570
|
-
|
|
571
|
-
The non-engineer experience:
|
|
572
|
-
- GUI application, no terminal
|
|
573
|
-
- Same org plugin installed (via managed settings or IT)
|
|
574
|
-
- Structured forms for input (paste a document, select a review type)
|
|
575
|
-
- Same persona output (findings, suggestions, structured reports)
|
|
576
|
-
|
|
577
|
-
#### Same Personas, Different Interface
|
|
578
|
-
|
|
579
|
-
The code-reviewer persona in Cowork might be invoked as:
|
|
580
|
-
- "Review this API specification for consistency" (paste document)
|
|
581
|
-
- "Check this compliance report against our SOC 2 controls" (paste report)
|
|
582
|
-
|
|
583
|
-
The persona definition is identical. The invocation interface is graphical instead
|
|
584
|
-
of CLI. The privacy model is identical (conversations are private, same three-tier
|
|
585
|
-
model).
|
|
586
|
-
|
|
587
|
-
#### Structured Forms
|
|
588
|
-
|
|
589
|
-
For non-engineers, the most effective UX is structured forms rather than free-text
|
|
590
|
-
prompting:
|
|
591
|
-
|
|
592
|
-
```
|
|
593
|
-
+------------------------------------------+
|
|
594
|
-
| Document Review |
|
|
595
|
-
| |
|
|
596
|
-
| Paste document: [ ] |
|
|
597
|
-
| Review type: [Compliance v ] |
|
|
598
|
-
| Focus areas: [x] Accuracy |
|
|
599
|
-
| [x] Completeness |
|
|
600
|
-
| [ ] Formatting |
|
|
601
|
-
| |
|
|
602
|
-
| [Review] |
|
|
603
|
-
+------------------------------------------+
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
This translates to a persona invocation under the hood. The non-engineer never
|
|
607
|
-
writes a prompt; they fill in a form. The form maps to the same skill arguments
|
|
608
|
-
that a developer would type in the terminal.
|
|
609
|
-
|
|
610
|
-
---
|
|
611
|
-
|
|
612
|
-
## 3. Privacy Design
|
|
613
|
-
|
|
614
|
-
The privacy model is the most important design in AgentBoot. Every other design
|
|
615
|
-
decision is downstream of it. If the privacy model fails, developers stop trusting
|
|
616
|
-
the tool, stop using it, and the entire investment produces zero value.
|
|
617
|
-
|
|
618
|
-
This section goes deep on every privacy decision, the reasoning behind it, and the
|
|
619
|
-
explicit trade-offs.
|
|
620
|
-
|
|
621
|
-
### 3.1 The Core Tension
|
|
622
|
-
|
|
623
|
-
Organizations need data to optimize AI investment. What are developers asking? Where
|
|
624
|
-
do personas succeed and fail? Which personas deliver value? Without this data,
|
|
625
|
-
prompt optimization is guesswork and investment justification is impossible.
|
|
626
|
-
|
|
627
|
-
Developers need psychological safety. The path from "I do not know how this works"
|
|
628
|
-
to "I understand it deeply" is paved with embarrassing questions, false starts, and
|
|
629
|
-
wrong turns. If developers believe their interactions are being watched, judged,
|
|
630
|
-
and reported, they:
|
|
631
|
-
|
|
632
|
-
1. Stop asking questions (pretend to know things they do not)
|
|
633
|
-
2. Stop experimenting (stick to safe, known prompts)
|
|
634
|
-
3. Stop trusting the tool (AI becomes a surveillance instrument)
|
|
635
|
-
4. Game the metrics (optimize for looking smart, not getting help)
|
|
636
|
-
|
|
637
|
-
This kills the value proposition. The privacy model must resolve this tension.
|
|
638
|
-
|
|
639
|
-
### 3.2 The PR Analogy
|
|
640
|
-
|
|
641
|
-
Every developer understands this distinction intuitively:
|
|
642
|
-
|
|
643
|
-
| Your IDE | Your PR |
|
|
644
|
-
|----------|---------|
|
|
645
|
-
| Private | Public |
|
|
646
|
-
| Messy, full of false starts | Clean, only the final result |
|
|
647
|
-
| You talk to yourself | You present to the team |
|
|
648
|
-
| "Wait, how does this work again?" | "Implemented X using Y pattern" |
|
|
649
|
-
| No judgment | Reviewed by peers |
|
|
650
|
-
|
|
651
|
-
Nobody reviews your IDE history. Nobody sees the 47 times you typed something,
|
|
652
|
-
deleted it, and tried again. Nobody sees the Stack Overflow tabs.
|
|
653
|
-
|
|
654
|
-
AgentBoot applies this principle to AI interactions. The persona's output (findings,
|
|
655
|
-
reviews, generated code) is the PR -- visible, reviewable, measurable. The
|
|
656
|
-
developer's prompts and conversation are the IDE -- private, protected, not reported.
|
|
657
|
-
|
|
658
|
-
### 3.3 The Three Tiers of Data
|
|
659
|
-
|
|
660
|
-
```
|
|
661
|
-
+-----------------------------------------------------------+
|
|
662
|
-
| Tier 1: PRIVATE (Developer's Workshop) |
|
|
663
|
-
| |
|
|
664
|
-
| - Raw prompts typed by the developer |
|
|
665
|
-
| - Conversation history with AI |
|
|
666
|
-
| - Questions asked ("what does this function do?") |
|
|
667
|
-
| - False starts and deleted attempts |
|
|
668
|
-
| - Session transcripts |
|
|
669
|
-
| - Files read during exploration |
|
|
670
|
-
| |
|
|
671
|
-
| WHO SEES THIS: The developer. No one else. |
|
|
672
|
-
| WHERE IT LIVES: Developer's machine only. |
|
|
673
|
-
| RETENTION: Session duration (or developer's choice). |
|
|
674
|
-
| |
|
|
675
|
-
+-----------------------------------------------------------+
|
|
676
|
-
| Tier 2: PRIVILEGED (Non-Human Analysis) |
|
|
677
|
-
| |
|
|
678
|
-
| - Aggregated patterns extracted by LLM analysis |
|
|
679
|
-
| - "Developers frequently ask about auth patterns" |
|
|
680
|
-
| - "The security reviewer's false positive rate is 34%" |
|
|
681
|
-
| - "Average prompt length is increasing over time" |
|
|
682
|
-
| - Token usage and cost (anonymized) |
|
|
683
|
-
| |
|
|
684
|
-
| WHO SEES THIS: The developer first. Then aggregated |
|
|
685
|
-
| anonymized insights shared with the org if developer |
|
|
686
|
-
| opts in. Never raw prompts, never attributed. |
|
|
687
|
-
| WHERE IT LIVES: Local analysis -> anonymized aggregate. |
|
|
688
|
-
| |
|
|
689
|
-
+-----------------------------------------------------------+
|
|
690
|
-
| Tier 3: ORGANIZATIONAL (Persona Output) |
|
|
691
|
-
| |
|
|
692
|
-
| - Review findings posted to PRs |
|
|
693
|
-
| - Generated test files committed to repos |
|
|
694
|
-
| - Compliance audit logs (required by policy) |
|
|
695
|
-
| - Persona invocation counts (not who, just how many) |
|
|
696
|
-
| - Persona effectiveness metrics (aggregate) |
|
|
697
|
-
| |
|
|
698
|
-
| WHO SEES THIS: The team, the org, compliance. |
|
|
699
|
-
| WHERE IT LIVES: PR comments, repos, telemetry. |
|
|
700
|
-
| RETENTION: Org's data retention policy. |
|
|
701
|
-
| |
|
|
702
|
-
+-----------------------------------------------------------+
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
The tiers are not configurable. Data does not move between tiers except through
|
|
706
|
-
explicit mechanisms:
|
|
707
|
-
|
|
708
|
-
- Tier 1 -> Tier 2: Only through `/insights` analysis (Claude API call using the
|
|
709
|
-
developer's existing auth, extracting patterns not transcripts, developer reviews
|
|
710
|
-
first)
|
|
711
|
-
- Tier 2 -> Tier 3: Only through developer opt-in (sharing anonymized patterns with
|
|
712
|
-
the org dashboard)
|
|
713
|
-
- Tier 1 -> Tier 3: Never. There is no mechanism for raw prompts to reach the
|
|
714
|
-
organizational tier.
|
|
715
|
-
|
|
716
|
-
### 3.4 The Key Design Invariant
|
|
717
|
-
|
|
718
|
-
**AgentBoot will never collect, transmit, or surface raw developer prompts.**
|
|
719
|
-
|
|
720
|
-
This is not optional or configurable. The configuration schema contains:
|
|
721
|
-
|
|
722
|
-
```jsonc
|
|
723
|
-
{
|
|
724
|
-
"privacy": {
|
|
725
|
-
"rawPrompts": {
|
|
726
|
-
"collect": false,
|
|
727
|
-
"transmit": false,
|
|
728
|
-
"surfaceToOrg": false
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
```
|
|
733
|
-
|
|
734
|
-
These three fields cannot be set to `true`. They exist in the schema to make
|
|
735
|
-
AgentBoot's design intent explicit and auditable. An org reviewing AgentBoot's
|
|
736
|
-
configuration can see -- in code, not in marketing materials -- that prompt
|
|
737
|
-
collection is structurally impossible.
|
|
738
|
-
|
|
739
|
-
### 3.5 Two Types of Prompts, Two Privacy Models
|
|
740
|
-
|
|
741
|
-
There are two fundamentally different types of prompts in AgentBoot. They have
|
|
742
|
-
different privacy models because they have different "submit" boundaries.
|
|
743
|
-
|
|
744
|
-
**Type 1: Persona definitions** (SKILL.md, traits, instructions, gotchas rules).
|
|
745
|
-
|
|
746
|
-
These are code. They live in the personas repo. They go through PRs. The standard
|
|
747
|
-
local-first, CI-gate model applies:
|
|
748
|
-
|
|
749
|
-
| Tool | Local (private) | CI (visible after PR) |
|
|
750
|
-
|------|----------------|----------------------|
|
|
751
|
-
| `agentboot lint` | Full detail: which rules failed, where, why | Pass/fail + error count |
|
|
752
|
-
| `agentboot test` | Full output: expected vs. actual | Pass/fail summary |
|
|
753
|
-
| `agentboot cost-estimate` | Per-persona cost projection | Not run in CI |
|
|
754
|
-
|
|
755
|
-
The "submit" boundary is opening the PR to the personas repo. Before that, the
|
|
756
|
-
platform engineer iterates privately. After that, CI validation and team review
|
|
757
|
-
are fair game. This is identical to how code works.
|
|
758
|
-
|
|
759
|
-
**Type 2: Developer prompts** (conversations with Claude Code).
|
|
760
|
-
|
|
761
|
-
These are conversations. They have no submit moment. There is no PR for "explain
|
|
762
|
-
this function" or "I do not understand this codebase."
|
|
763
|
-
|
|
764
|
-
These are always private. The only thing that crosses the private-to-public
|
|
765
|
-
boundary is what the developer chooses to publish: a PR comment, committed code,
|
|
766
|
-
a filed issue. The conversation that produced the output stays private.
|
|
767
|
-
|
|
768
|
-
| Tool | What the developer sees | What the org sees |
|
|
769
|
-
|------|------------------------|-------------------|
|
|
770
|
-
| `/insights` | Personal patterns and suggestions | Nothing (unless developer opts in) |
|
|
771
|
-
| Telemetry | N/A (developer does not see telemetry) | Persona invocation counts, cost, findings count -- no prompts, no developer IDs |
|
|
772
|
-
|
|
773
|
-
There is no "after submit" state for developer prompts. They are always in the
|
|
774
|
-
private zone. This distinction is fundamental to the entire privacy architecture.
|
|
775
|
-
|
|
776
|
-
### 3.6 The /insights Flow
|
|
777
|
-
|
|
778
|
-
The challenge: extract optimization value from private data without exposing it.
|
|
779
|
-
|
|
780
|
-
The solution: a non-human intermediary (Claude API) analyzes private data and
|
|
781
|
-
outputs only aggregate, anonymized insights.
|
|
782
|
-
|
|
783
|
-
**The trust boundary argument.** The developer already trusts Anthropic's API
|
|
784
|
-
with their prompts -- that is what happens every time they type in Claude Code.
|
|
785
|
-
The `/insights` analysis uses that same trust boundary (a Claude API call via
|
|
786
|
-
Haiku or Sonnet). It is not a new data flow. It is another API call using the
|
|
787
|
-
developer's existing authentication.
|
|
788
|
-
|
|
789
|
-
What the developer is protected from is their employer/org seeing their raw
|
|
790
|
-
prompts. The privacy boundary is between the developer and the organization,
|
|
791
|
-
not between the developer and the API provider.
|
|
792
|
-
|
|
793
|
-
**The flow:**
|
|
794
|
-
|
|
795
|
-
```
|
|
796
|
-
Developer -> Claude API (already trusted, already happening)
|
|
797
|
-
|
|
|
798
|
-
v
|
|
799
|
-
/insights analysis
|
|
800
|
-
(pattern extraction via Haiku/Sonnet)
|
|
801
|
-
|
|
|
802
|
-
v
|
|
803
|
-
Developer sees insights FIRST
|
|
804
|
-
|
|
|
805
|
-
v (developer approves)
|
|
806
|
-
Anonymized aggregate -> Org Dashboard
|
|
807
|
-
```
|
|
808
|
-
|
|
809
|
-
There is no local LLM requirement. No new infrastructure. The same API the
|
|
810
|
-
developer uses for coding is used for insights analysis.
|
|
811
|
-
|
|
812
|
-
**What the developer sees:**
|
|
813
|
-
|
|
814
|
-
```
|
|
815
|
-
$ /insights
|
|
816
|
-
|
|
817
|
-
Personal Prompt Insights (last 7 days)
|
|
818
|
-
|
|
819
|
-
Sessions: 23
|
|
820
|
-
Total prompts: 187
|
|
821
|
-
Avg prompt length: 42 words
|
|
822
|
-
Most-used personas: code-reviewer (34), gen-tests (28)
|
|
823
|
-
|
|
824
|
-
Patterns:
|
|
825
|
-
- You frequently ask about authentication patterns (12 times).
|
|
826
|
-
Consider: the auth-patterns skill has this context built in.
|
|
827
|
-
- Your security reviews take 2.3x longer than average.
|
|
828
|
-
This is likely because you review larger diffs.
|
|
829
|
-
- You often rephrase when the first answer is not useful.
|
|
830
|
-
The code-reviewer has a 23% rephrase rate for you.
|
|
831
|
-
This suggests the persona's output may not match expectations.
|
|
832
|
-
|
|
833
|
-
Cost: $14.20 this week (vs. $18.50 team average)
|
|
834
|
-
|
|
835
|
-
Share anonymized insights with your team? [y/N]
|
|
836
|
-
(This shares PATTERNS only, never your actual prompts)
|
|
837
|
-
```
|
|
838
|
-
|
|
839
|
-
**What the org sees (aggregate dashboard):**
|
|
840
|
-
|
|
841
|
-
```
|
|
842
|
-
Persona Effectiveness:
|
|
843
|
-
code-reviewer: 18% rephrase rate
|
|
844
|
-
security-reviewer: 34% false positive rate (too aggressive)
|
|
845
|
-
test-generator: 8% rephrase rate (working well)
|
|
846
|
-
|
|
847
|
-
Common Knowledge Gaps (anonymized):
|
|
848
|
-
- "Authentication patterns" asked about 89 times across 23 developers
|
|
849
|
-
Action: Create an auth-patterns skill or improve CLAUDE.md context
|
|
850
|
-
- "Database migration rollback" asked about 34 times across 12 developers
|
|
851
|
-
Action: Add to gotchas-database.md
|
|
852
|
-
```
|
|
853
|
-
|
|
854
|
-
**What the org NEVER sees:**
|
|
855
|
-
|
|
856
|
-
- "Developer X asked 'what is a foreign key?' 4 times" -- NO
|
|
857
|
-
- "Here is developer Y's conversation transcript" -- NO
|
|
858
|
-
- Individual prompt texts, attributed or not -- NO
|
|
859
|
-
- Per-developer rephrase rates (only aggregate) -- NO
|
|
860
|
-
|
|
861
|
-
**The analysis prompt design.** The prompt sent to Claude API for `/insights`
|
|
862
|
-
analysis is explicitly designed to extract patterns, not judge:
|
|
863
|
-
|
|
864
|
-
```markdown
|
|
865
|
-
Analyze these session transcripts and extract:
|
|
866
|
-
1. Most frequently asked topics (not the questions themselves)
|
|
867
|
-
2. Persona rephrase rate
|
|
868
|
-
3. Knowledge gaps (topics where the developer asks the same
|
|
869
|
-
type of question repeatedly)
|
|
870
|
-
4. Persona friction points
|
|
871
|
-
|
|
872
|
-
Do NOT:
|
|
873
|
-
- Quote any developer prompt
|
|
874
|
-
- Judge the quality or intelligence of any question
|
|
875
|
-
- Identify specific knowledge deficiencies
|
|
876
|
-
- Produce output that could embarrass the developer if shared
|
|
877
|
-
|
|
878
|
-
Frame everything as PERSONA improvement opportunities,
|
|
879
|
-
not developer deficiencies.
|
|
880
|
-
```
|
|
881
|
-
|
|
882
|
-
This prompt design is itself a design decision. The framing ("persona improvement
|
|
883
|
-
opportunities, not developer deficiencies") ensures that even the LLM analysis
|
|
884
|
-
treats high rephrase rates as persona quality problems, not developer intelligence
|
|
885
|
-
problems.
|
|
886
|
-
|
|
887
|
-
### 3.7 Org Dashboard Design
|
|
888
|
-
|
|
889
|
-
The org dashboard shows investment metrics and outcome metrics. It never shows
|
|
890
|
-
process metrics.
|
|
891
|
-
|
|
892
|
-
**Investment metrics** (from telemetry):
|
|
893
|
-
- Total AI spend by team per month
|
|
894
|
-
- Active seats vs. licensed seats
|
|
895
|
-
- Sessions per day (org-wide)
|
|
896
|
-
- Persona invocations per day
|
|
897
|
-
- Model mix (% Haiku/Sonnet/Opus)
|
|
898
|
-
|
|
899
|
-
**Outcome metrics** (from existing systems, not AI monitoring):
|
|
900
|
-
- PR review turnaround (GitHub/GitLab API)
|
|
901
|
-
- Findings-to-fix ratio (PR comment resolution)
|
|
902
|
-
- Bug escape rate (incident tracking)
|
|
903
|
-
- Test coverage delta (CI coverage reports)
|
|
904
|
-
- Time to first commit for new hires (git history)
|
|
905
|
-
|
|
906
|
-
**Process metrics** (never shown):
|
|
907
|
-
- What developers typed
|
|
908
|
-
- How many times they rephrased
|
|
909
|
-
- What they asked about
|
|
910
|
-
- Which developers asked "dumb" questions
|
|
911
|
-
|
|
912
|
-
The dashboard informs management actions. It does not automate them. When the
|
|
913
|
-
dashboard shows an outlier (5 developers with zero usage, one team at 3x cost),
|
|
914
|
-
the response flows through management conversations, not through AgentBoot.
|
|
915
|
-
|
|
916
|
-
### 3.8 The includeDevId Configuration
|
|
917
|
-
|
|
918
|
-
The telemetry schema supports three levels of developer identity:
|
|
919
|
-
|
|
920
|
-
| Format | What the org sees | Use case |
|
|
921
|
-
|--------|------------------|----------|
|
|
922
|
-
| `false` (default) | No developer identity | Privacy-first (recommended) |
|
|
923
|
-
| `"hashed"` | Consistent anonymous ID | Usage patterns without names |
|
|
924
|
-
| `"email"` | Real developer email | Full attribution for cost allocation |
|
|
925
|
-
|
|
926
|
-
**`false` (default):** Team-level patterns only. "The platform team ran 340 code
|
|
927
|
-
reviews this month." Sufficient for budget tracking and persona effectiveness. Not
|
|
928
|
-
sufficient for per-developer usage analysis.
|
|
929
|
-
|
|
930
|
-
**`"hashed"`:** Anonymous individual tracking. "Developer a3f2... : 12 sessions/day,
|
|
931
|
-
$14/day, 85% persona usage." The hash is consistent (same person, same hash) but
|
|
932
|
-
not reversible to a name without a restricted-access lookup table. The hash uses a
|
|
933
|
-
salted hash with BYOS (Bring Your Own Salt) -- the org provides and stores the salt
|
|
934
|
-
in their own secrets manager. No salt is the default for ease of adoption, but the
|
|
935
|
-
system indicates when an org has not provided a salt. When salts are updated,
|
|
936
|
-
previous metrics are not correlated to future metrics (forward-only). This is the
|
|
937
|
-
sweet spot for most orgs.
|
|
938
|
-
|
|
939
|
-
**`"email"`:** Full attribution. Legitimate for cost allocation (chargeback to teams),
|
|
940
|
-
license optimization (reassign unused seats), and identifying training needs. Must
|
|
941
|
-
be communicated to the team in advance. Surprise surveillance destroys trust.
|
|
942
|
-
Announced measurement builds accountability.
|
|
943
|
-
|
|
944
|
-
AgentBoot's recommendation: start with `false` or `"hashed"`. Full attribution
|
|
945
|
-
should only be enabled when the org has communicated the policy.
|
|
946
|
-
|
|
947
|
-
### 3.9 The Escalation Exception
|
|
948
|
-
|
|
949
|
-
There is one exception to prompt privacy: genuinely harmful content.
|
|
950
|
-
|
|
951
|
-
If the local analysis (via a `UserPromptSubmit` hook using Haiku for fast
|
|
952
|
-
evaluation) detects prompts indicating:
|
|
953
|
-
- Attempted exfiltration of proprietary code/data
|
|
954
|
-
- Attempted circumvention of compliance guardrails
|
|
955
|
-
- Harassment, threats, or hostile content
|
|
956
|
-
- Attempted generation of malware or exploit code
|
|
957
|
-
|
|
958
|
-
Then the system:
|
|
959
|
-
|
|
960
|
-
1. **Flags it locally first.** Shows the developer: "This interaction was flagged.
|
|
961
|
-
It will be reported to [compliance contact]."
|
|
962
|
-
2. **Reports the flag, not the transcript.** The report says "a compliance flag
|
|
963
|
-
was triggered on [date] for [category]." It does not include the raw prompt.
|
|
964
|
-
3. **The compliance team can request the transcript** through a formal process
|
|
965
|
-
(like a legal hold), not through the analytics pipeline.
|
|
966
|
-
|
|
967
|
-
This mirrors corporate email: your emails are technically on company servers, but
|
|
968
|
-
your manager cannot browse them casually. A formal process is required.
|
|
969
|
-
|
|
970
|
-
The hook prompt is explicitly scoped to harmful categories only:
|
|
971
|
-
|
|
972
|
-
```
|
|
973
|
-
Does this prompt attempt to: (1) exfiltrate proprietary data,
|
|
974
|
-
(2) circumvent security guardrails, (3) generate malware or
|
|
975
|
-
exploits, (4) contain harassment or threats?
|
|
976
|
-
Respond with CLEAR or FLAG:{category}.
|
|
977
|
-
Do NOT evaluate the content's quality, intelligence, or
|
|
978
|
-
correctness -- only these four categories.
|
|
979
|
-
```
|
|
980
|
-
|
|
981
|
-
The prompt explicitly excludes quality and intelligence evaluation. This prevents
|
|
982
|
-
the escalation system from becoming a judgment mechanism.
|
|
983
|
-
|
|
984
|
-
### 3.10 The Honest Caveat
|
|
985
|
-
|
|
986
|
-
AgentBoot's privacy commitment covers what AgentBoot does. It does not and cannot
|
|
987
|
-
override what the API provider or the organization does independently:
|
|
988
|
-
|
|
989
|
-
- **Anthropic's Compliance API** (Enterprise plan) gives org admins programmatic
|
|
990
|
-
access to conversation content for regulatory compliance and auditing. This is an
|
|
991
|
-
Anthropic feature, not an AgentBoot feature.
|
|
992
|
-
|
|
993
|
-
- **Enterprise data exports** allow Primary Owners to request conversation data.
|
|
994
|
-
|
|
995
|
-
- **Network-level monitoring** (DLP, proxy logging) can capture API traffic
|
|
996
|
-
regardless of any application-level privacy design.
|
|
997
|
-
|
|
998
|
-
AgentBoot's position: "We will not be the tool that does this." If an org wants to
|
|
999
|
-
monitor developer AI interactions, that capability exists through Anthropic's
|
|
1000
|
-
Compliance API and enterprise data governance tools. AgentBoot's role is prompt
|
|
1001
|
-
optimization through aggregate, anonymized metrics -- not surveillance.
|
|
1002
|
-
|
|
1003
|
-
Developers should understand that their prompts go to the Claude API (which their
|
|
1004
|
-
org may have compliance access to), the same way they understand that their Slack
|
|
1005
|
-
messages go to Slack's servers (which their org admin can export). The privacy
|
|
1006
|
-
boundary AgentBoot enforces is between the developer and AgentBoot's analytics --
|
|
1007
|
-
not between the developer and the universe.
|
|
1008
|
-
|
|
1009
|
-
This honesty is itself a design decision. Overpromising privacy ("your prompts are
|
|
1010
|
-
completely private!") and then having developers discover the Compliance API destroys
|
|
1011
|
-
trust more thoroughly than being upfront about the boundaries. AgentBoot documents
|
|
1012
|
-
both what it guarantees and what it does not control.
|
|
1013
|
-
|
|
1014
|
-
### 3.11 How Privacy Builds Trust Which Drives Adoption
|
|
1015
|
-
|
|
1016
|
-
The privacy model is not altruistic. It is strategic.
|
|
1017
|
-
|
|
1018
|
-
```
|
|
1019
|
-
Strong privacy guarantees
|
|
1020
|
-
|
|
|
1021
|
-
v
|
|
1022
|
-
Developers trust the tool
|
|
1023
|
-
|
|
|
1024
|
-
v
|
|
1025
|
-
Developers use the tool honestly
|
|
1026
|
-
(ask real questions, experiment, make mistakes)
|
|
1027
|
-
|
|
|
1028
|
-
v
|
|
1029
|
-
The tool delivers real value
|
|
1030
|
-
(because it is used for real work, not performance theater)
|
|
1031
|
-
|
|
|
1032
|
-
v
|
|
1033
|
-
Org gets genuine ROI data
|
|
1034
|
-
(because the usage is authentic)
|
|
1035
|
-
|
|
|
1036
|
-
v
|
|
1037
|
-
Org invests more in the tooling
|
|
1038
|
-
|
|
|
1039
|
-
v
|
|
1040
|
-
Better personas, more domains, deeper governance
|
|
1041
|
-
```
|
|
1042
|
-
|
|
1043
|
-
The alternative -- surveillance-driven adoption -- produces:
|
|
1044
|
-
|
|
1045
|
-
```
|
|
1046
|
-
Weak privacy / surveillance
|
|
1047
|
-
|
|
|
1048
|
-
v
|
|
1049
|
-
Developers distrust the tool
|
|
1050
|
-
|
|
|
1051
|
-
v
|
|
1052
|
-
Developers use it performatively
|
|
1053
|
-
(safe prompts, avoid asking questions)
|
|
1054
|
-
|
|
|
1055
|
-
v
|
|
1056
|
-
The tool delivers superficial value
|
|
1057
|
-
(usage metrics look good, actual value is low)
|
|
1058
|
-
|
|
|
1059
|
-
v
|
|
1060
|
-
Org sees usage but not outcomes
|
|
1061
|
-
|
|
|
1062
|
-
v
|
|
1063
|
-
"Why are we spending $8,200/month on AI that doesn't move the needle?"
|
|
1064
|
-
```
|
|
1065
|
-
|
|
1066
|
-
The best prompt optimization system is one that developers feed willingly because
|
|
1067
|
-
they trust it with their worst questions.
|
|
1068
|
-
|
|
1069
|
-
### 3.12 Privacy Configuration Summary
|
|
1070
|
-
|
|
1071
|
-
```jsonc
|
|
1072
|
-
{
|
|
1073
|
-
"privacy": {
|
|
1074
|
-
"telemetry": {
|
|
1075
|
-
"enabled": true,
|
|
1076
|
-
"includeDevId": false, // Default: no developer identity
|
|
1077
|
-
"devIdFormat": "hashed", // If includeDevId: true
|
|
1078
|
-
"includeCost": true,
|
|
1079
|
-
"includeScope": true,
|
|
1080
|
-
"destination": "local" // "local" = NDJSON; "http" = webhook
|
|
1081
|
-
},
|
|
1082
|
-
"insights": {
|
|
1083
|
-
"enabled": true,
|
|
1084
|
-
"autoShareAnonymized": false, // Developer must opt-in
|
|
1085
|
-
"escalation": {
|
|
1086
|
-
"enabled": true,
|
|
1087
|
-
"categories": [
|
|
1088
|
-
"exfiltration",
|
|
1089
|
-
"guardrail-circumvention",
|
|
1090
|
-
"malware",
|
|
1091
|
-
"harassment"
|
|
1092
|
-
],
|
|
1093
|
-
"contact": "security@acme-corp.com"
|
|
1094
|
-
}
|
|
1095
|
-
},
|
|
1096
|
-
"rawPrompts": {
|
|
1097
|
-
"collect": false, // Cannot be true
|
|
1098
|
-
"transmit": false, // Cannot be true
|
|
1099
|
-
"surfaceToOrg": false // Cannot be true
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
}
|
|
1103
|
-
```
|
|
1104
|
-
|
|
1105
|
-
### 3.13 What AgentBoot Must Never Do
|
|
1106
|
-
|
|
1107
|
-
These are anti-patterns that AgentBoot commits to avoiding:
|
|
1108
|
-
|
|
1109
|
-
- Never surface individual developer prompts to anyone other than that developer
|
|
1110
|
-
- Never rank developers by prompt quality, question frequency, or AI usage
|
|
1111
|
-
- Never gamify (no leaderboards, badges, or "prompt of the week")
|
|
1112
|
-
- Never shame ("your prompts are below team average")
|
|
1113
|
-
- Never correlate AI usage with performance reviews
|
|
1114
|
-
- Never make AI usage mandatory (skeptics opt out without penalty)
|
|
1115
|
-
- Never frame knowledge gaps as individual deficiencies
|
|
1116
|
-
|
|
1117
|
-
When the system detects that "developers frequently ask about auth patterns," the
|
|
1118
|
-
action item is "improve the auth documentation," not "find out who does not know
|
|
1119
|
-
auth."
|
|
1120
|
-
|
|
1121
|
-
---
|
|
1122
|
-
|
|
1123
|
-
## 4. Marketplace & Community Design
|
|
1124
|
-
|
|
1125
|
-
### 4.1 Three Layers
|
|
1126
|
-
|
|
1127
|
-
The marketplace has three layers with progressively lower quality bars:
|
|
1128
|
-
|
|
1129
|
-
**Layer 1: Core** (maintained by AgentBoot project):
|
|
1130
|
-
- Core traits: critical-thinking, structured-output, source-citation,
|
|
1131
|
-
confidence-signaling, audit-trail, schema-awareness
|
|
1132
|
-
- Core personas: code-reviewer, security-reviewer, test-generator, test-data-expert
|
|
1133
|
-
- Core instructions: baseline.instructions.md, security.instructions.md
|
|
1134
|
-
- Quality bar: tested in CI on every commit, documented, versioned with the
|
|
1135
|
-
framework, Apache 2.0 licensed
|
|
1136
|
-
- How to get it: included when you `agentboot setup`
|
|
1137
|
-
|
|
1138
|
-
**Layer 2: Verified** (reviewed + attributed community contributions):
|
|
1139
|
-
- Examples: phi-awareness trait, postgres-rls gotcha, accessibility-reviewer persona,
|
|
1140
|
-
healthcare-compliance domain
|
|
1141
|
-
- Quality bar: reviewed by at least one maintainer, follows format standards, has
|
|
1142
|
-
behavioral tests, documentation, Apache 2.0 or MIT license, no org-specific
|
|
1143
|
-
content, attribution to contributor
|
|
1144
|
-
- How to get it: `agentboot add trait phi-awareness --from marketplace` or via CC
|
|
1145
|
-
plugin marketplace
|
|
1146
|
-
|
|
1147
|
-
**Layer 3: Community** (unreviewed, use at your own risk):
|
|
1148
|
-
- Examples: brand-voice-casual trait, unity-reviewer persona, redis-clustering gotcha
|
|
1149
|
-
- Quality bar: valid frontmatter/metadata and declared license. That is it.
|
|
1150
|
-
- How to get it: `agentboot add trait some-trait --from github:user/repo`
|
|
1151
|
-
|
|
1152
|
-
The three layers serve different trust needs. An enterprise that can only use
|
|
1153
|
-
reviewed content installs Layer 1 + Layer 2. An individual experimenting can pull
|
|
1154
|
-
from Layer 3. Version pinning works at all layers.
|
|
1155
|
-
|
|
1156
|
-
### 4.2 Contribution UX
|
|
1157
|
-
|
|
1158
|
-
**Individual trait or gotcha (easiest path):**
|
|
1159
|
-
|
|
1160
|
-
```bash
|
|
1161
|
-
# Fork agentboot/marketplace
|
|
1162
|
-
# Add your trait
|
|
1163
|
-
agentboot add trait my-trait
|
|
1164
|
-
# Edit core/traits/my-trait.md
|
|
1165
|
-
agentboot lint --trait my-trait
|
|
1166
|
-
agentboot test --trait my-trait
|
|
1167
|
-
# Open PR to agentboot/marketplace
|
|
1168
|
-
```
|
|
1169
|
-
|
|
1170
|
-
**Publishing from an org's existing content:**
|
|
1171
|
-
|
|
1172
|
-
```bash
|
|
1173
|
-
agentboot publish gotcha postgres-rls --to marketplace
|
|
1174
|
-
```
|
|
1175
|
-
|
|
1176
|
-
AgentBoot:
|
|
1177
|
-
1. Strips org-specific content (internal URLs, paths, names)
|
|
1178
|
-
2. Validates format and lint
|
|
1179
|
-
3. Generates README from content
|
|
1180
|
-
4. Opens PR to agentboot/marketplace
|
|
1181
|
-
5. Contributor's name in the PR; review handles the rest
|
|
1182
|
-
|
|
1183
|
-
The `--to marketplace` flag does the generalization work. It scans for org-specific
|
|
1184
|
-
content and either strips it or warns the contributor.
|
|
1185
|
-
|
|
1186
|
-
**Complete domain layer (highest effort, highest value):**
|
|
1187
|
-
|
|
1188
|
-
```bash
|
|
1189
|
-
agentboot add domain my-domain
|
|
1190
|
-
agentboot build
|
|
1191
|
-
agentboot test --domain my-domain
|
|
1192
|
-
# Publish to own marketplace first (test in production)
|
|
1193
|
-
agentboot publish --marketplace my-github/my-marketplace
|
|
1194
|
-
# When stable, open PR to agentboot/marketplace
|
|
1195
|
-
```
|
|
1196
|
-
|
|
1197
|
-
**Review process for Verified (Layer 2):**
|
|
1198
|
-
|
|
1199
|
-
1. Contributor opens PR to `agentboot/marketplace`
|
|
1200
|
-
2. Automated checks: lint, test, format validation, license scan
|
|
1201
|
-
3. Maintainer review: quality, generalizability, overlap with existing content
|
|
1202
|
-
4. If accepted: merged with attribution, listed in marketplace index
|
|
1203
|
-
5. Contributor credited in CONTRIBUTORS.md and in content frontmatter
|
|
1204
|
-
|
|
1205
|
-
### 4.3 Discoverability
|
|
1206
|
-
|
|
1207
|
-
**In CLI:**
|
|
1208
|
-
```bash
|
|
1209
|
-
agentboot search traits "gdpr"
|
|
1210
|
-
agentboot search gotchas "postgres"
|
|
1211
|
-
agentboot search domains "healthcare"
|
|
1212
|
-
```
|
|
1213
|
-
|
|
1214
|
-
**In Claude Code:**
|
|
1215
|
-
```
|
|
1216
|
-
/plugin search agentboot gdpr
|
|
1217
|
-
```
|
|
1218
|
-
|
|
1219
|
-
**On the web:** A static site (agentboot.dev/marketplace) generated from the
|
|
1220
|
-
marketplace repo, showing available traits, personas, gotchas, and domains with
|
|
1221
|
-
usage stats, README previews, and install commands.
|
|
1222
|
-
|
|
1223
|
-
**Trust signals on every marketplace item:**
|
|
1224
|
-
- Core / Verified / Community badge
|
|
1225
|
-
- Download count (how many orgs are using it)
|
|
1226
|
-
- Last updated date
|
|
1227
|
-
- Test coverage indicator
|
|
1228
|
-
- Compatible AgentBoot versions
|
|
1229
|
-
- License
|
|
1230
|
-
- Author with link to profile
|
|
1231
|
-
|
|
1232
|
-
### 4.4 Motivation Model
|
|
1233
|
-
|
|
1234
|
-
The marketplace contribution model is built on understanding what actually motivates
|
|
1235
|
-
sustained, high-quality contributions:
|
|
1236
|
-
|
|
1237
|
-
**What works:**
|
|
1238
|
-
|
|
1239
|
-
| Motivation | How AgentBoot serves it |
|
|
1240
|
-
|---|---|
|
|
1241
|
-
| Professional reputation | Permanent attribution in frontmatter, contributor profiles on agentboot.dev, usage stats visible to contributors |
|
|
1242
|
-
| Reciprocity | Visible attribution on everything you install; you see who helped you |
|
|
1243
|
-
| Content improvement | When 50 orgs use your trait, they file issues and submit PRs; your content gets better than you could make it alone |
|
|
1244
|
-
| Org visibility | "Acme Corp contributed the healthcare compliance domain" is a recruiting signal |
|
|
1245
|
-
| Low friction | `agentboot publish` makes sharing a one-command action |
|
|
1246
|
-
|
|
1247
|
-
**What does not work (and AgentBoot will not use):**
|
|
1248
|
-
|
|
1249
|
-
- Stars/likes (dopamine hit on day one, forgotten by day three)
|
|
1250
|
-
- Gamification (badges, leaderboards, streaks -- attracts gaming, not quality)
|
|
1251
|
-
- Points/tokens (creates mercenary contributors who optimize for quantity)
|
|
1252
|
-
- Forced contribution ("you must contribute to use the marketplace")
|
|
1253
|
-
|
|
1254
|
-
AgentBoot will not gamify contributions. The motivation hierarchy is:
|
|
1255
|
-
professional reputation > reciprocity > altruism. No leaderboards. No badges.
|
|
1256
|
-
No streak counters.
|
|
1257
|
-
|
|
1258
|
-
**Attribution that matters professionally:**
|
|
1259
|
-
|
|
1260
|
-
Every marketplace item has permanent, visible attribution:
|
|
1261
|
-
|
|
1262
|
-
```yaml
|
|
1263
|
-
---
|
|
1264
|
-
trait: gdpr-awareness
|
|
1265
|
-
version: 2.1.0
|
|
1266
|
-
author:
|
|
1267
|
-
name: Jane Doe
|
|
1268
|
-
github: janedoe
|
|
1269
|
-
org: Acme Corp
|
|
1270
|
-
attribution:
|
|
1271
|
-
- name: Jane Doe
|
|
1272
|
-
contribution: "Initial implementation"
|
|
1273
|
-
- name: Bob Smith
|
|
1274
|
-
contribution: "Added right-to-deletion rules"
|
|
1275
|
-
---
|
|
1276
|
-
```
|
|
1277
|
-
|
|
1278
|
-
This attribution travels with the content. When an org installs `gdpr-awareness`,
|
|
1279
|
-
the build output includes: `# Contributed by Jane Doe (@janedoe) / Acme Corp`.
|
|
1280
|
-
The contributor's name is in every repo that uses their work.
|
|
1281
|
-
|
|
1282
|
-
### 4.5 Cross-Listing with Third-Party Tools
|
|
1283
|
-
|
|
1284
|
-
AgentBoot's marketplace lists third-party plugins by pointing to upstream, not
|
|
1285
|
-
copying:
|
|
1286
|
-
|
|
1287
|
-
```json
|
|
1288
|
-
{
|
|
1289
|
-
"name": "agentboot-marketplace",
|
|
1290
|
-
"plugins": [
|
|
1291
|
-
{ "name": "ab-core", "source": "./plugins/core" },
|
|
1292
|
-
{
|
|
1293
|
-
"name": "superclaude-traits",
|
|
1294
|
-
"source": {
|
|
1295
|
-
"source": "github",
|
|
1296
|
-
"repo": "SuperClaude-Org/SuperClaude_Plugin"
|
|
1297
|
-
},
|
|
1298
|
-
"description": "SuperClaude composable traits (cross-listed)"
|
|
1299
|
-
},
|
|
1300
|
-
{
|
|
1301
|
-
"name": "arckit",
|
|
1302
|
-
"source": {
|
|
1303
|
-
"source": "github",
|
|
1304
|
-
"repo": "tractorjuice/arc-kit"
|
|
1305
|
-
},
|
|
1306
|
-
"description": "Enterprise architecture governance (cross-listed)"
|
|
1307
|
-
}
|
|
1308
|
-
]
|
|
1309
|
-
}
|
|
1310
|
-
```
|
|
1311
|
-
|
|
1312
|
-
The recommended partnership model is marketplace curation (point to upstream) over
|
|
1313
|
-
bundling. AgentBoot acts as curator, not distributor. This avoids license
|
|
1314
|
-
complexity, ensures users always get the latest upstream version, and positions
|
|
1315
|
-
AgentBoot as the governance layer rather than the content layer.
|
|
1316
|
-
|
|
1317
|
-
---
|
|
1318
|
-
|
|
1319
|
-
## 5. Prompt Development Lifecycle
|
|
1320
|
-
|
|
1321
|
-
### 5.1 Type 1: Persona Definitions
|
|
1322
|
-
|
|
1323
|
-
Persona definitions follow the same lifecycle as code:
|
|
1324
|
-
|
|
1325
|
-
```
|
|
1326
|
-
Write -> Lint -> Test -> PR -> CI -> Deploy
|
|
1327
|
-
|
|
1328
|
-
Locally (private):
|
|
1329
|
-
1. Write or edit SKILL.md, traits, instructions
|
|
1330
|
-
2. agentboot lint (static analysis: token budgets, vague language,
|
|
1331
|
-
conflicts, security)
|
|
1332
|
-
3. agentboot test --type deterministic (free: schema, composition)
|
|
1333
|
-
4. agentboot test --type behavioral (LLM: does the persona catch
|
|
1334
|
-
the SQL injection?)
|
|
1335
|
-
5. agentboot cost-estimate (projected monthly cost)
|
|
1336
|
-
|
|
1337
|
-
Submit (PR to personas repo):
|
|
1338
|
-
6. Open PR
|
|
1339
|
-
7. CI runs: agentboot validate --strict && agentboot lint --severity error
|
|
1340
|
-
8. CI runs: agentboot test --ci (pass/fail summary, not full output)
|
|
1341
|
-
9. Team reviews (the prompt IS the code)
|
|
1342
|
-
10. Merge
|
|
1343
|
-
|
|
1344
|
-
Deploy:
|
|
1345
|
-
11. CI runs: agentboot build && agentboot sync
|
|
1346
|
-
12. Target repos get updated .claude/ via sync PRs
|
|
1347
|
-
13. Plugin marketplace gets updated via agentboot publish
|
|
1348
|
-
```
|
|
1349
|
-
|
|
1350
|
-
Before the PR, everything is private. After the PR, CI validation and team review
|
|
1351
|
-
are fair game. This is not a new model -- it is the code workflow applied to prompts.
|
|
1352
|
-
|
|
1353
|
-
### 5.2 Type 2: Developer Conversations
|
|
1354
|
-
|
|
1355
|
-
Developer conversations are always private. There is no submit moment. The
|
|
1356
|
-
optimization tools for developer prompts work through:
|
|
1357
|
-
|
|
1358
|
-
1. **Personas** -- structured prompts that work better than ad-hoc questions
|
|
1359
|
-
2. **Skills** -- prompt templates with argument hints (`/explain-code src/auth/middleware.ts "why is there a double-check on token expiry?"`)
|
|
1360
|
-
3. **`/insights`** -- private analytics on prompting patterns (rephrase rate,
|
|
1361
|
-
specificity trend, persona discovery, cost awareness)
|
|
1362
|
-
4. **`/prompting-tips`** -- a lightweight personal skill with example patterns
|
|
1363
|
-
(INSTEAD OF "fix the bug" TRY "the test in auth.test.ts:47 fails with...")
|
|
1364
|
-
5. **Always-on hints** -- ~50 tokens in CLAUDE.md with contextual prompting guidance
|
|
1365
|
-
|
|
1366
|
-
None of these require collecting, transmitting, or surfacing developer prompts.
|
|
1367
|
-
They work by giving developers better tools so their prompts are effective from
|
|
1368
|
-
the start, and private feedback so they can improve over time.
|
|
1369
|
-
|
|
1370
|
-
### 5.3 Prompt Ingestion
|
|
1371
|
-
|
|
1372
|
-
`agentboot add prompt` is the on-ramp from informal sharing to governed content:
|
|
1373
|
-
|
|
1374
|
-
```bash
|
|
1375
|
-
# Raw text
|
|
1376
|
-
agentboot add prompt "Always check null safety before DB calls"
|
|
1377
|
-
|
|
1378
|
-
# From a file
|
|
1379
|
-
agentboot add prompt --file ~/Downloads/tips.md
|
|
1380
|
-
|
|
1381
|
-
# From clipboard
|
|
1382
|
-
agentboot add prompt --clipboard
|
|
1383
|
-
|
|
1384
|
-
# From a URL
|
|
1385
|
-
agentboot add prompt --url https://blog.example.com/gotchas
|
|
1386
|
-
|
|
1387
|
-
# Interactive
|
|
1388
|
-
agentboot add prompt --interactive
|
|
1389
|
-
```
|
|
1390
|
-
|
|
1391
|
-
The classifier analyzes the input and suggests the right type:
|
|
1392
|
-
|
|
1393
|
-
| Signal in the Prompt | Classified As | Destination |
|
|
1394
|
-
|---|---|---|
|
|
1395
|
-
| "Always...", "Never...", "Verify that..." | Rule / Gotcha | `.claude/rules/` |
|
|
1396
|
-
| Technology-specific warning with examples | Gotcha (path-scoped) | `.claude/rules/` with `paths:` |
|
|
1397
|
-
| Behavioral stance ("be skeptical", "cite sources") | Trait | `core/traits/` |
|
|
1398
|
-
| Complete review workflow with output format | Persona | `core/personas/` |
|
|
1399
|
-
| Single-use instruction | Session instruction | Not persisted |
|
|
1400
|
-
| Vague/motivational ("write good code") | Rejected | Suggestion for improvement |
|
|
1401
|
-
|
|
1402
|
-
The classification uses a Haiku API call (fast, cheap). The developer sees a preview
|
|
1403
|
-
with actions: save as gotcha, save as trait, add to existing persona, save to
|
|
1404
|
-
personal rules, or dry run to see it in context.
|
|
1405
|
-
|
|
1406
|
-
Dry run mode shows what would happen without writing anything: classification,
|
|
1407
|
-
destination, lint results, and token impact. This is the safe way to evaluate
|
|
1408
|
-
someone else's prompt before incorporating it.
|
|
1409
|
-
|
|
1410
|
-
### 5.4 Batch Ingestion
|
|
1411
|
-
|
|
1412
|
-
For orgs migrating from existing CLAUDE.md files:
|
|
1413
|
-
|
|
1414
|
-
```bash
|
|
1415
|
-
agentboot add prompt --file .claude/CLAUDE.md --batch
|
|
1416
|
-
```
|
|
1417
|
-
|
|
1418
|
-
This decomposes an 800-line CLAUDE.md into proper AgentBoot structure:
|
|
1419
|
-
- 12 instructions become path-scoped gotcha rules
|
|
1420
|
-
- 8 become composable traits
|
|
1421
|
-
- 3 belong in specific persona definitions
|
|
1422
|
-
- 18 stay as always-on rules in CLAUDE.md
|
|
1423
|
-
- 4 are too vague and need rewriting
|
|
1424
|
-
- 2 are org-specific and should not be shared
|
|
1425
|
-
|
|
1426
|
-
The developer reviews each classification before any files are written.
|
|
1427
|
-
|
|
1428
|
-
`agentboot discover` performs this at scale across the entire org, scanning all
|
|
1429
|
-
repos and producing a consolidated migration plan.
|
|
1430
|
-
|
|
1431
|
-
### 5.5 Continuous Optimization Loop
|
|
1432
|
-
|
|
1433
|
-
Metrics feed back into prompt improvements in a structured weekly cycle:
|
|
1434
|
-
|
|
1435
|
-
```
|
|
1436
|
-
Write/Edit -> Lint -> Build -> Deploy
|
|
1437
|
-
persona |
|
|
1438
|
-
Telemetry
|
|
1439
|
-
|
|
|
1440
|
-
Metrics -> Review (weekly) -> Repeat
|
|
1441
|
-
```
|
|
1442
|
-
|
|
1443
|
-
1. Pull metrics: `agentboot metrics --period 7d`
|
|
1444
|
-
2. Identify outliers (high false positive rates, high token usage, low invocation,
|
|
1445
|
-
Opus usage that could be Sonnet)
|
|
1446
|
-
3. Update prompts based on findings
|
|
1447
|
-
4. Run tests to verify no regression
|
|
1448
|
-
5. Lint to check quality
|
|
1449
|
-
6. Deploy: `agentboot build && agentboot sync`
|
|
1450
|
-
|
|
1451
|
-
The `/optimize` skill (planned for V2+) automates parts of this: analyzing
|
|
1452
|
-
telemetry and suggesting prompt compression opportunities, model downgrade
|
|
1453
|
-
candidates, false positive patterns, and coverage gaps.
|
|
1454
|
-
|
|
1455
|
-
---
|
|
1456
|
-
|
|
1457
|
-
## 6. Onboarding Design
|
|
1458
|
-
|
|
1459
|
-
### 6.1 Setup Wizard Question Flow
|
|
1460
|
-
|
|
1461
|
-
The `agentboot setup` wizard adapts to the user's role:
|
|
1462
|
-
|
|
1463
|
-
**Solo developer (3 questions):**
|
|
1464
|
-
```
|
|
1465
|
-
Q1: What's your role? -> Developer
|
|
1466
|
-
Q2: What AI coding tool? -> Claude Code
|
|
1467
|
-
Q3: Does your org have AgentBoot? -> I'm solo
|
|
1468
|
-
-> Quick Start: creates .claude/ with core personas in current repo
|
|
1469
|
-
```
|
|
1470
|
-
|
|
1471
|
-
**Developer joining existing org (4 questions):**
|
|
1472
|
-
```
|
|
1473
|
-
Q1: Role -> Developer
|
|
1474
|
-
Q2: Tool -> Claude Code
|
|
1475
|
-
Q3: Org has AgentBoot? -> Yes (or auto-detected)
|
|
1476
|
-
Q4: How to connect? -> Auto-detect (managed settings, .claude/, marketplace)
|
|
1477
|
-
-> Connected. Try /review-code.
|
|
1478
|
-
```
|
|
1479
|
-
|
|
1480
|
-
**Platform team (7 questions):**
|
|
1481
|
-
```
|
|
1482
|
-
Q1: Role -> Platform team
|
|
1483
|
-
Q5: How many developers? -> Department (20-100)
|
|
1484
|
-
Q6: What tools? -> Claude Code only
|
|
1485
|
-
Q6.5: Scan existing content? -> Yes (runs agentboot discover)
|
|
1486
|
-
Q7: Compliance requirements? -> SOC 2
|
|
1487
|
-
-> Standard Setup with org scaffold + SOC 2 hooks
|
|
1488
|
-
```
|
|
1489
|
-
|
|
1490
|
-
**IT admin (4 questions):**
|
|
1491
|
-
```
|
|
1492
|
-
Q1: Role -> IT / Security
|
|
1493
|
-
Q8: What MDM? -> Jamf
|
|
1494
|
-
-> Enterprise Setup with managed settings for Jamf deployment
|
|
1495
|
-
```
|
|
1496
|
-
|
|
1497
|
-
The wizard auto-detects as much as possible before asking: git remote for org name,
|
|
1498
|
-
`.claude/` for existing setup, managed settings on disk, `claude --version` for CC
|
|
1499
|
-
installation.
|
|
1500
|
-
|
|
1501
|
-
### 6.2 First-Session Experience
|
|
1502
|
-
|
|
1503
|
-
The first session in a repo with AgentBoot personas presents:
|
|
1504
|
-
|
|
1505
|
-
1. **Welcome fragment** (~80 tokens in CLAUDE.md): persona names with one-line
|
|
1506
|
-
descriptions, invocation examples, and privacy assurance
|
|
1507
|
-
2. **Available personas**: listed via the `/` slash command interface, each with
|
|
1508
|
-
a description and argument hint
|
|
1509
|
-
3. **Privacy note**: "Your conversations are private" linked to the privacy policy
|
|
1510
|
-
|
|
1511
|
-
The welcome fragment is not a pop-up, modal, or separate tutorial. It is part of
|
|
1512
|
-
the CLAUDE.md that loads as context, so Claude Code naturally incorporates it into
|
|
1513
|
-
its first response if relevant. After a few sessions, it fades into background
|
|
1514
|
-
context.
|
|
1515
|
-
|
|
1516
|
-
### 6.3 /learn Skill Interaction Design
|
|
1517
|
-
|
|
1518
|
-
The `/learn` skill provides contextual help, not a static tutorial:
|
|
1519
|
-
|
|
1520
|
-
**Topic browser (no arguments):**
|
|
1521
|
-
```
|
|
1522
|
-
$ /learn
|
|
1523
|
-
|
|
1524
|
-
What would you like to learn about?
|
|
1525
|
-
|
|
1526
|
-
Getting Started
|
|
1527
|
-
+-- How to write effective prompts
|
|
1528
|
-
+-- How code review personas work
|
|
1529
|
-
+-- How to read persona findings
|
|
1530
|
-
+-- Your first AI-assisted PR
|
|
1531
|
-
|
|
1532
|
-
Going Deeper
|
|
1533
|
-
+-- Customizing personas for your team
|
|
1534
|
-
+-- Writing your own gotchas rules
|
|
1535
|
-
+-- Understanding traits and composition
|
|
1536
|
-
+-- Cost optimization tips
|
|
1537
|
-
|
|
1538
|
-
Quick Reference
|
|
1539
|
-
+-- All available personas
|
|
1540
|
-
+-- Privacy model
|
|
1541
|
-
+-- Getting help
|
|
1542
|
-
|
|
1543
|
-
Or ask me anything: /learn how do I review only one file?
|
|
1544
|
-
```
|
|
1545
|
-
|
|
1546
|
-
**Contextual answer (with argument):**
|
|
1547
|
-
```
|
|
1548
|
-
$ /learn how do I review only one file?
|
|
1549
|
-
|
|
1550
|
-
To review a specific file:
|
|
1551
|
-
/review-code src/auth/login.ts
|
|
1552
|
-
|
|
1553
|
-
You can also review a specific function:
|
|
1554
|
-
"Review the getUserById function in src/services/user-service.ts
|
|
1555
|
-
for null safety and error handling"
|
|
1556
|
-
|
|
1557
|
-
Tip: specific requests give better results.
|
|
1558
|
-
```
|
|
1559
|
-
|
|
1560
|
-
**Resources (curated external links):**
|
|
1561
|
-
```
|
|
1562
|
-
$ /learn resources
|
|
1563
|
-
|
|
1564
|
-
Beginner
|
|
1565
|
-
+-- Anthropic: "Getting Started with Claude Code"
|
|
1566
|
-
+-- Anthropic: "Common Workflows"
|
|
1567
|
-
|
|
1568
|
-
Intermediate
|
|
1569
|
-
+-- Anthropic: "Using CLAUDE.md Files"
|
|
1570
|
-
+-- Anthropic: "Skills and Agent Skills"
|
|
1571
|
-
|
|
1572
|
-
Advanced
|
|
1573
|
-
+-- Anthropic: "Hooks Reference"
|
|
1574
|
-
+-- Trail of Bits: "Claude Code Config"
|
|
1575
|
-
```
|
|
1576
|
-
|
|
1577
|
-
The `/learn` skill has `disable-model-invocation: true` in its frontmatter,
|
|
1578
|
-
meaning it provides structured content without making an additional LLM call.
|
|
1579
|
-
The responses are pre-authored in the skill content, organized by topic.
|
|
1580
|
-
|
|
1581
|
-
### 6.4 Contextual Tips
|
|
1582
|
-
|
|
1583
|
-
AgentBoot can generate optional tips in persona output when patterns suggest the
|
|
1584
|
-
developer is new:
|
|
1585
|
-
|
|
1586
|
-
**First invocation of a persona:**
|
|
1587
|
-
```
|
|
1588
|
-
[INFO] First time using /review-code? Tip: ask follow-up questions
|
|
1589
|
-
about any finding. "Why is this an ERROR?" or "Show me how to fix this."
|
|
1590
|
-
```
|
|
1591
|
-
|
|
1592
|
-
**Vague prompt detected:**
|
|
1593
|
-
```
|
|
1594
|
-
[TIP] Your prompt "review this" could be more effective as:
|
|
1595
|
-
"Review src/api/users.ts for the changes I made to pagination."
|
|
1596
|
-
Specific prompts -> specific, useful findings.
|
|
1597
|
-
```
|
|
1598
|
-
|
|
1599
|
-
**Rephrase pattern detected:**
|
|
1600
|
-
```
|
|
1601
|
-
[TIP] You might be looking for a more specific answer. Try:
|
|
1602
|
-
- Pointing to a specific file or function
|
|
1603
|
-
- Describing what you expected vs. what happened
|
|
1604
|
-
- Asking for an example instead of an explanation
|
|
1605
|
-
```
|
|
1606
|
-
|
|
1607
|
-
Design constraints on contextual tips:
|
|
1608
|
-
- Generated by the persona itself (part of the persona prompt, not a separate system)
|
|
1609
|
-
- Triggered by pattern matching, not surveillance
|
|
1610
|
-
- Rate-limited: maximum one tip per session to avoid annoyance
|
|
1611
|
-
- Disableable by the developer (`/config` -> tips: off)
|
|
1612
|
-
|
|
1613
|
-
### 6.5 Team Onboarding Checklist
|
|
1614
|
-
|
|
1615
|
-
For platform teams rolling out AgentBoot, a generated checklist:
|
|
1616
|
-
|
|
1617
|
-
```bash
|
|
1618
|
-
$ agentboot onboarding-checklist
|
|
1619
|
-
|
|
1620
|
-
New Developer Onboarding Checklist
|
|
1621
|
-
|
|
1622
|
-
[ ] Claude Code installed and authenticated
|
|
1623
|
-
Run: claude --version
|
|
1624
|
-
|
|
1625
|
-
[ ] Org plugin installed (or managed settings active)
|
|
1626
|
-
Run: /plugin list | grep acme
|
|
1627
|
-
|
|
1628
|
-
[ ] Try your first code review
|
|
1629
|
-
Make a small change, then: /review-code
|
|
1630
|
-
|
|
1631
|
-
[ ] Try your first test generation
|
|
1632
|
-
Pick a file: /gen-tests src/services/user-service.ts
|
|
1633
|
-
|
|
1634
|
-
[ ] Explore available personas
|
|
1635
|
-
Type / in Claude Code to see all skills
|
|
1636
|
-
|
|
1637
|
-
[ ] (Optional) Set up personal preferences
|
|
1638
|
-
~/.claude/CLAUDE.md for personal instructions
|
|
1639
|
-
|
|
1640
|
-
[ ] (Optional) Run /insights after your first week
|
|
1641
|
-
```
|
|
1642
|
-
|
|
1643
|
-
This checklist is generated from the org's actual AgentBoot config -- the persona
|
|
1644
|
-
names, skill invocations, and plugin names are real, not generic examples. It can
|
|
1645
|
-
be exported as markdown or email for distribution.
|
|
1646
|
-
|
|
1647
|
-
### 6.6 Org-Authored Onboarding Content
|
|
1648
|
-
|
|
1649
|
-
The org's platform team can add custom onboarding content specific to their stack:
|
|
1650
|
-
|
|
1651
|
-
```
|
|
1652
|
-
org-personas/
|
|
1653
|
-
+-- onboarding/
|
|
1654
|
-
+-- welcome.md # First-session content (added to CLAUDE.md)
|
|
1655
|
-
+-- tips.md # Tips for /learn skill
|
|
1656
|
-
+-- resources.md # Org-specific resource links
|
|
1657
|
-
```
|
|
1658
|
-
|
|
1659
|
-
Example org tips:
|
|
1660
|
-
|
|
1661
|
-
```markdown
|
|
1662
|
-
## Acme-Specific Tips
|
|
1663
|
-
|
|
1664
|
-
- Our code reviewer checks for our API versioning convention. If you get
|
|
1665
|
-
a WARN about missing version headers, see: confluence.acme.com/api-versioning
|
|
1666
|
-
|
|
1667
|
-
- The security reviewer is strict about SQL parameterization. This is
|
|
1668
|
-
because we had a production incident. It is not optional.
|
|
1669
|
-
|
|
1670
|
-
- For database work, the Postgres gotchas rules activate automatically.
|
|
1671
|
-
Read them: .claude/rules/gotchas-postgres.md
|
|
1672
|
-
```
|
|
1673
|
-
|
|
1674
|
-
This is institutional knowledge transfer encoded, version-controlled, and available
|
|
1675
|
-
around the clock.
|
|
1676
|
-
|
|
1677
|
-
---
|
|
1678
|
-
|
|
1679
|
-
## 7. Uninstall Design
|
|
1680
|
-
|
|
1681
|
-
### 7.1 Non-Destructive Guarantee
|
|
1682
|
-
|
|
1683
|
-
If someone asks "how do I get rid of AgentBoot?", the answer should be one command,
|
|
1684
|
-
not a scavenger hunt.
|
|
1685
|
-
|
|
1686
|
-
```bash
|
|
1687
|
-
agentboot uninstall --repo my-org/api-service # Single repo
|
|
1688
|
-
agentboot uninstall --all-repos # All synced repos
|
|
1689
|
-
agentboot uninstall --plugin # Remove CC plugin
|
|
1690
|
-
agentboot uninstall --managed # Generate IT removal instructions
|
|
1691
|
-
agentboot uninstall --everything # Full removal
|
|
1692
|
-
agentboot uninstall --dry-run # Preview what would change
|
|
1693
|
-
```
|
|
1694
|
-
|
|
1695
|
-
The uninstall command removes exactly what AgentBoot manages and nothing else.
|
|
1696
|
-
Files authored locally by the team are never touched.
|
|
1697
|
-
|
|
1698
|
-
### 7.2 Manifest Tracking
|
|
1699
|
-
|
|
1700
|
-
During sync, AgentBoot writes `.claude/.agentboot-manifest.json` listing every file
|
|
1701
|
-
it manages:
|
|
1702
|
-
|
|
1703
|
-
```json
|
|
1704
|
-
{
|
|
1705
|
-
"managed_by": "agentboot",
|
|
1706
|
-
"version": "1.2.0",
|
|
1707
|
-
"synced_at": "2026-03-19T14:30:00Z",
|
|
1708
|
-
"files": [
|
|
1709
|
-
{ "path": "agents/code-reviewer/CLAUDE.md", "hash": "a3f2..." },
|
|
1710
|
-
{ "path": "skills/review-code/SKILL.md", "hash": "7b1c..." },
|
|
1711
|
-
{ "path": "traits/critical-thinking.md", "hash": "e4d8..." }
|
|
1712
|
-
]
|
|
1713
|
-
}
|
|
1714
|
-
```
|
|
1715
|
-
|
|
1716
|
-
Uninstall removes exactly the files in the manifest. If a managed file was modified
|
|
1717
|
-
after sync (hash mismatch), uninstall warns: "This file was synced by AgentBoot but
|
|
1718
|
-
has been modified locally. Remove anyway? [y/N]"
|
|
1719
|
-
|
|
1720
|
-
### 7.3 Pre-AgentBoot Archive
|
|
1721
|
-
|
|
1722
|
-
When `agentboot discover` + migrate first runs, it archives the repo's original
|
|
1723
|
-
agentic files to `.claude/.agentboot-archive/`. Uninstall can restore them:
|
|
1724
|
-
|
|
1725
|
-
```
|
|
1726
|
-
Restore pre-AgentBoot state:
|
|
1727
|
-
AgentBoot discovered and archived your original files during setup.
|
|
1728
|
-
Archive location: .claude/.agentboot-archive/
|
|
1729
|
-
+-- CLAUDE.md.pre-agentboot (original, 812 lines)
|
|
1730
|
-
+-- copilot-instructions.md.pre-agentboot
|
|
1731
|
-
|
|
1732
|
-
[1] Restore originals from archive
|
|
1733
|
-
[2] Don't restore (start fresh)
|
|
1734
|
-
[3] Show diff between original and current
|
|
1735
|
-
```
|
|
1736
|
-
|
|
1737
|
-
This is the "undo" for the entire AgentBoot adoption. The org gets back exactly
|
|
1738
|
-
what they had before.
|
|
1739
|
-
|
|
1740
|
-
### 7.4 Mixed Content Handling
|
|
1741
|
-
|
|
1742
|
-
If CLAUDE.md has both AgentBoot-generated `@imports` and manually authored content,
|
|
1743
|
-
uninstall separates them:
|
|
1744
|
-
|
|
1745
|
-
```
|
|
1746
|
-
Requires attention:
|
|
1747
|
-
.claude/CLAUDE.md contains both AgentBoot content AND manual edits.
|
|
1748
|
-
+-- Lines 1-45: AgentBoot @imports and generated content
|
|
1749
|
-
+-- Lines 46-78: Manually added by your team
|
|
1750
|
-
|
|
1751
|
-
[1] Remove AgentBoot content, keep manual edits
|
|
1752
|
-
[2] Keep entire file as-is (manual cleanup later)
|
|
1753
|
-
[3] Show me the diff
|
|
1754
|
-
```
|
|
1755
|
-
|
|
1756
|
-
The developer reviews the result before anything is written.
|
|
1757
|
-
|
|
1758
|
-
### 7.5 Managed Settings Removal
|
|
1759
|
-
|
|
1760
|
-
AgentBoot cannot remove MDM-deployed files (that requires IT). The `--managed` flag
|
|
1761
|
-
generates instructions:
|
|
1762
|
-
|
|
1763
|
-
```
|
|
1764
|
-
Managed settings removal requires IT action:
|
|
1765
|
-
|
|
1766
|
-
macOS (Jamf):
|
|
1767
|
-
Remove profile: "AgentBoot Managed Settings"
|
|
1768
|
-
Files to remove:
|
|
1769
|
-
/Library/Application Support/ClaudeCode/managed-settings.json
|
|
1770
|
-
/Library/Application Support/ClaudeCode/managed-mcp.json
|
|
1771
|
-
/Library/Application Support/ClaudeCode/CLAUDE.md
|
|
1772
|
-
|
|
1773
|
-
Paste these instructions into a ticket to your IT team.
|
|
1774
|
-
```
|
|
1775
|
-
|
|
1776
|
-
### 7.6 "Easy Exit Builds Trust for Easy Entry"
|
|
1777
|
-
|
|
1778
|
-
This principle is not just a tagline. It is a strategic design decision.
|
|
1779
|
-
|
|
1780
|
-
An org evaluating AgentBoot has a legitimate concern: "What if this does not work
|
|
1781
|
-
out? How hard is it to remove?" The answer needs to be: "One command. It tracks
|
|
1782
|
-
what it manages, archives what it replaces, and restores what was there before.
|
|
1783
|
-
No vendor lock-in, no orphaned files, no scavenger hunt."
|
|
1784
|
-
|
|
1785
|
-
An org that knows they can cleanly remove the tool in one command is more willing
|
|
1786
|
-
to try it. The uninstall experience is part of the sales pitch, not an afterthought.
|
|
1787
|
-
|
|
1788
|
-
---
|
|
1789
|
-
|
|
1790
|
-
## 8. Brand & Positioning
|
|
1791
|
-
|
|
1792
|
-
### 8.1 "The Easy Button for Agentic Development Teams"
|
|
1793
|
-
|
|
1794
|
-
Primary tagline (to be workshopped): **"The Easy Button for Agentic Development Teams."**
|
|
1795
|
-
Audience-specific alternatives are used when the audience is known (e.g., "The Spring
|
|
1796
|
-
Boot of AI Agent Governance" for Java-familiar audiences).
|
|
1797
|
-
|
|
1798
|
-
Spring Boot took opinionated defaults and convention-over-configuration to the
|
|
1799
|
-
Java ecosystem. Before Spring Boot, configuring a Java web application required
|
|
1800
|
-
hundreds of lines of XML. After Spring Boot, a single annotation got you a working
|
|
1801
|
-
application with sensible defaults and escape hatches for customization.
|
|
1802
|
-
|
|
1803
|
-
AgentBoot applies the same philosophy to AI agent governance. Before AgentBoot,
|
|
1804
|
-
governing AI behavior across an org requires manually maintaining CLAUDE.md files
|
|
1805
|
-
in every repo, writing custom hooks from scratch, and hoping developers follow
|
|
1806
|
-
guidelines. After AgentBoot, `agentboot setup` gets you working personas with
|
|
1807
|
-
built-in governance, distributed automatically.
|
|
1808
|
-
|
|
1809
|
-
The analogy communicates:
|
|
1810
|
-
- **Opinionated defaults.** AgentBoot ships with strong opinions about how personas
|
|
1811
|
-
should work, how privacy should be handled, and how content should be structured.
|
|
1812
|
-
These opinions are overridable, not mandatory.
|
|
1813
|
-
- **Convention over configuration.** Standard directory structures, standard trait
|
|
1814
|
-
format, standard build pipeline. You do not need to configure what you do not
|
|
1815
|
-
customize.
|
|
1816
|
-
- **It is a build tool, not a runtime.** AgentBoot compiles and distributes. It does
|
|
1817
|
-
not run at query time. This is a strength, not a limitation.
|
|
1818
|
-
|
|
1819
|
-
### 8.2 Agent-Agnostic Content, CC-First Delivery
|
|
1820
|
-
|
|
1821
|
-
The name is "AgentBoot," not "ClaudeBoot." The content (traits, personas, gotchas)
|
|
1822
|
-
is intentionally agent-agnostic. The delivery is honestly CC-first.
|
|
1823
|
-
|
|
1824
|
-
This means:
|
|
1825
|
-
- Traits are pure markdown behavioral instructions with no agent-specific syntax
|
|
1826
|
-
- Personas use the agentskills.io cross-platform standard
|
|
1827
|
-
- Gotchas use glob-based path patterns supported by all major tools
|
|
1828
|
-
- The build system produces CC-native, Copilot, and Cursor output from the same
|
|
1829
|
-
source
|
|
1830
|
-
|
|
1831
|
-
But also:
|
|
1832
|
-
- CC users get hooks, managed settings, plugin marketplace, subagent isolation
|
|
1833
|
-
- Non-CC users get the content with advisory-only enforcement
|
|
1834
|
-
- Some of the most valuable features (compliance hooks, managed settings,
|
|
1835
|
-
`context: fork`) are CC-only
|
|
1836
|
-
- This is documented honestly rather than hidden
|
|
1837
|
-
|
|
1838
|
-
The positioning acknowledges this tension without apologizing for it: "AgentBoot
|
|
1839
|
-
works best with Claude Code. It also works with Copilot and Cursor. The content is
|
|
1840
|
-
the same; the enforcement is stronger on CC."
|
|
1841
|
-
|
|
1842
|
-
### 8.3 Privacy as Differentiator
|
|
1843
|
-
|
|
1844
|
-
In a market where enterprises are deploying AI monitoring tools, AgentBoot takes
|
|
1845
|
-
the opposite stance: "We will not be the tool that does this."
|
|
1846
|
-
|
|
1847
|
-
This is a competitive differentiator, not just a policy:
|
|
1848
|
-
- Enterprises evaluating AI governance tools will compare AgentBoot's privacy
|
|
1849
|
-
architecture against competitors that collect prompts
|
|
1850
|
-
- Developers who have a choice of tooling will prefer the one that does not
|
|
1851
|
-
report their questions
|
|
1852
|
-
- The privacy stance is verifiable (the `rawPrompts` config fields, the telemetry
|
|
1853
|
-
schema with no prompt fields, the open-source code)
|
|
1854
|
-
|
|
1855
|
-
The positioning: "Your developers will trust AgentBoot because we optimize from
|
|
1856
|
-
aggregates, not transcripts."
|
|
1857
|
-
|
|
1858
|
-
### 8.4 Prior Art Acknowledgment
|
|
1859
|
-
|
|
1860
|
-
AgentBoot's core concepts (composable traits, scope hierarchy, persona governance,
|
|
1861
|
-
hook-based compliance) were developed independently through real-world use across
|
|
1862
|
-
personal and family projects that grew organically and were adapted for professional
|
|
1863
|
-
use. The third-party tools were discovered after the design was complete.
|
|
1864
|
-
|
|
1865
|
-
This is parallel evolution, not derivation. Multiple teams independently arrived at
|
|
1866
|
-
similar patterns because these are natural solutions to the same underlying problems.
|
|
1867
|
-
|
|
1868
|
-
Specific acknowledgments:
|
|
1869
|
-
- **SuperClaude**: Composable trait architecture and cognitive persona patterns.
|
|
1870
|
-
The most mature public implementation of the composable-trait approach. MIT
|
|
1871
|
-
licensed.
|
|
1872
|
-
- **ArcKit**: Enterprise governance via hooks, with the most mature public
|
|
1873
|
-
hook-as-governance architecture. MIT licensed.
|
|
1874
|
-
- **Trail of Bits**: Production-hardened hook patterns and the "guardrails, not
|
|
1875
|
-
walls" philosophy. Their config work articulates what AgentBoot independently
|
|
1876
|
-
concluded. Their skills are licensed CC-BY-SA-4.0.
|
|
1877
|
-
|
|
1878
|
-
The tone is respectful and honest: "They got there first and in several cases did
|
|
1879
|
-
it better. We acknowledge their prior art and seek to partner rather than compete."
|
|
1880
|
-
|
|
1881
|
-
### 8.5 Origin Story
|
|
1882
|
-
|
|
1883
|
-
AgentBoot grew from personal and family projects -- practical AI tooling built for
|
|
1884
|
-
real use, not as an academic exercise. Those projects evolved organically, handling
|
|
1885
|
-
increasingly complex scenarios. When similar needs appeared at work, the patterns
|
|
1886
|
-
were adapted for professional engineering teams with multi-repo governance, compliance
|
|
1887
|
-
requirements, and organizational scale.
|
|
1888
|
-
|
|
1889
|
-
This origin matters for positioning because:
|
|
1890
|
-
- It explains why the tool handles both simple (personal project) and complex
|
|
1891
|
-
(enterprise org) use cases
|
|
1892
|
-
- It grounds the design in actual use rather than theoretical planning
|
|
1893
|
-
- It establishes that the patterns were validated before being generalized
|
|
1894
|
-
|
|
1895
|
-
---
|
|
1896
|
-
|
|
1897
|
-
## 9. Licensing & Attribution Design
|
|
1898
|
-
|
|
1899
|
-
### 9.1 Apache 2.0 for Core
|
|
1900
|
-
|
|
1901
|
-
AgentBoot core is licensed under Apache 2.0 for these reasons:
|
|
1902
|
-
- Maximum adoption (no friction for enterprise legal teams)
|
|
1903
|
-
- Explicit patent grant (enterprise legal appreciates this over MIT)
|
|
1904
|
-
- Compatible with all tools in the ecosystem (SuperClaude MIT, ArcKit MIT,
|
|
1905
|
-
spec-kit MIT)
|
|
1906
|
-
- Allows orgs to create proprietary domain layers on top
|
|
1907
|
-
- Standard for developer tooling
|
|
1908
|
-
|
|
1909
|
-
### 9.2 Domain Layers Carry Their Own Licenses
|
|
1910
|
-
|
|
1911
|
-
Domain layers are opt-in and can have different licenses than core:
|
|
1912
|
-
|
|
1913
|
-
| Layer | License | Reason |
|
|
1914
|
-
|-------|---------|--------|
|
|
1915
|
-
| AgentBoot core | Apache 2.0 | Maximum adoption + patent grant |
|
|
1916
|
-
| Org-specific layers | Proprietary (org's choice) | Contains org IP |
|
|
1917
|
-
| Community domain layers | Apache 2.0 or MIT | Community contribution |
|
|
1918
|
-
| Trail of Bits security skills (if bundled) | CC-BY-SA-4.0 | Required by upstream |
|
|
1919
|
-
| Healthcare compliance domain | Contributor's choice | Depends on contributor |
|
|
1920
|
-
|
|
1921
|
-
Key rule: AgentBoot core must never depend on non-permissive code. Domain layers
|
|
1922
|
-
are opt-in. The build system includes license metadata in compiled output so orgs
|
|
1923
|
-
know what they are distributing.
|
|
1924
|
-
|
|
1925
|
-
### 9.3 License Compatibility Matrix
|
|
1926
|
-
|
|
1927
|
-
| Upstream License | Can AgentBoot bundle it? | Requirements |
|
|
1928
|
-
|-----------------|------------------------|-------------|
|
|
1929
|
-
| MIT | Yes | Include license text |
|
|
1930
|
-
| Apache 2.0 | Yes (same license) | Include license + NOTICE |
|
|
1931
|
-
| CC-BY-4.0 | As domain layer only | Attribution |
|
|
1932
|
-
| CC-BY-SA-4.0 | As domain layer only | Attribution + ShareAlike (derivatives must use same license) |
|
|
1933
|
-
| GPL-3.0 | No (core) | Viral -- cannot be composed with Apache 2.0 core |
|
|
1934
|
-
|
|
1935
|
-
### 9.4 ACKNOWLEDGMENTS.md Structure
|
|
1936
|
-
|
|
1937
|
-
AgentBoot maintains an ACKNOWLEDGMENTS.md at the repo root with four categories:
|
|
1938
|
-
|
|
1939
|
-
```markdown
|
|
1940
|
-
# Acknowledgments
|
|
1941
|
-
|
|
1942
|
-
AgentBoot was developed independently through real-world use across
|
|
1943
|
-
personal projects and engineering teams.
|
|
1944
|
-
|
|
1945
|
-
## Prior Art
|
|
1946
|
-
Projects that independently developed overlapping patterns.
|
|
1947
|
-
- SuperClaude Framework (MIT) -- composable traits, cognitive personas
|
|
1948
|
-
- ArcKit (MIT) -- hook-as-governance architecture
|
|
1949
|
-
- Trail of Bits claude-code-config -- "guardrails, not walls" philosophy
|
|
1950
|
-
|
|
1951
|
-
## Complementary Tools
|
|
1952
|
-
Adjacent projects that work alongside AgentBoot.
|
|
1953
|
-
- spec-kit (MIT) -- spec-driven development
|
|
1954
|
-
- Trail of Bits skills (CC-BY-SA-4.0) -- security audit skills
|
|
1955
|
-
|
|
1956
|
-
## Standards
|
|
1957
|
-
- agentskills.io -- open standard for agent skills
|
|
1958
|
-
|
|
1959
|
-
## Community
|
|
1960
|
-
- awesome-claude-code -- community curation
|
|
1961
|
-
```
|
|
1962
|
-
|
|
1963
|
-
### 9.5 Contributor Attribution in Content Frontmatter
|
|
1964
|
-
|
|
1965
|
-
Every marketplace item carries attribution in its frontmatter:
|
|
1966
|
-
|
|
1967
|
-
```yaml
|
|
1968
|
-
---
|
|
1969
|
-
trait: gdpr-awareness
|
|
1970
|
-
version: 2.1.0
|
|
1971
|
-
license: Apache-2.0
|
|
1972
|
-
author:
|
|
1973
|
-
name: Jane Doe
|
|
1974
|
-
github: janedoe
|
|
1975
|
-
org: Acme Corp
|
|
1976
|
-
attribution:
|
|
1977
|
-
- name: Jane Doe
|
|
1978
|
-
contribution: "Initial implementation"
|
|
1979
|
-
- name: Bob Smith
|
|
1980
|
-
contribution: "Added right-to-deletion rules"
|
|
1981
|
-
---
|
|
1982
|
-
```
|
|
1983
|
-
|
|
1984
|
-
Attribution is permanent and travels with the content through compilation and
|
|
1985
|
-
distribution.
|
|
1986
|
-
|
|
1987
|
-
### 9.6 CC-BY-SA-4.0 Handling for Trail of Bits Skills
|
|
1988
|
-
|
|
1989
|
-
Trail of Bits skills are licensed CC-BY-SA-4.0, which requires:
|
|
1990
|
-
- Attribution (credit Trail of Bits in any distribution)
|
|
1991
|
-
- ShareAlike (any derivative work must use the same license)
|
|
1992
|
-
|
|
1993
|
-
This means AgentBoot cannot relicense ToB skills as Apache 2.0. If AgentBoot
|
|
1994
|
-
distributes them as a domain layer, that domain layer must carry CC-BY-SA-4.0.
|
|
1995
|
-
The build system must include the full CC-BY-SA notice in any output that contains
|
|
1996
|
-
ToB content.
|
|
1997
|
-
|
|
1998
|
-
This is fine -- domain layers can have different licenses than core. The license
|
|
1999
|
-
metadata in compiled output makes this transparent to orgs.
|
|
2000
|
-
|
|
2001
|
-
---
|
|
2002
|
-
|
|
2003
|
-
## 10. Open Questions
|
|
2004
|
-
|
|
2005
|
-
Open questions discovered during design have been resolved or deferred.
|
|
2006
|
-
See the internal tracking document for remaining items.
|
|
2007
|
-
|
|
2008
|
-
Key resolved decisions applied to this design:
|
|
2009
|
-
- Escalation and /insights are separate processes
|
|
2010
|
-
- includeDevId transitions are forward-only and intentionally onerous
|
|
2011
|
-
- CI-mode is a different privacy context — attribute to CI user with PR traceability
|
|
2012
|
-
- Hashed developer ID uses salted hash (BYOS — org provides salt via secrets manager)
|
|
2013
|
-
- Welcome fragment includes removal-after-first-use when implemented
|
|
2014
|
-
- Non-interactive CLI outputs config file for CI use
|
|
2015
|
-
- Telemetry offered as option to keep or delete on uninstall
|
|
2016
|
-
- In-flight sync PRs: best effort close via gh, report if unable
|
|
2017
|
-
- Audience-specific catchphrases. Default: "The Easy Button for Agentic Development Teams"
|
|
2018
|
-
- No public opinions on AI regulation outside the already opinionated product
|