agentboot 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +8 -7
  2. package/agentboot.config.json +4 -1
  3. package/package.json +2 -2
  4. package/scripts/cli.ts +42 -14
  5. package/scripts/compile.ts +30 -7
  6. package/scripts/dev-sync.ts +1 -1
  7. package/scripts/lib/config.ts +17 -1
  8. package/scripts/validate.ts +12 -7
  9. package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
  10. package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
  11. package/.github/workflows/cla.yml +0 -25
  12. package/.github/workflows/validate.yml +0 -49
  13. package/.idea/agentboot.iml +0 -9
  14. package/.idea/misc.xml +0 -6
  15. package/.idea/modules.xml +0 -8
  16. package/.idea/vcs.xml +0 -6
  17. package/CLAUDE.md +0 -230
  18. package/CONTRIBUTING.md +0 -168
  19. package/PERSONAS.md +0 -156
  20. package/core/instructions/baseline.instructions.md +0 -133
  21. package/core/instructions/security.instructions.md +0 -186
  22. package/core/personas/code-reviewer/SKILL.md +0 -175
  23. package/core/personas/security-reviewer/SKILL.md +0 -233
  24. package/core/personas/test-data-expert/SKILL.md +0 -234
  25. package/core/personas/test-generator/SKILL.md +0 -262
  26. package/core/traits/audit-trail.md +0 -182
  27. package/core/traits/confidence-signaling.md +0 -172
  28. package/core/traits/critical-thinking.md +0 -129
  29. package/core/traits/schema-awareness.md +0 -132
  30. package/core/traits/source-citation.md +0 -174
  31. package/core/traits/structured-output.md +0 -199
  32. package/docs/ci-cd-automation.md +0 -548
  33. package/docs/claude-code-reference/README.md +0 -21
  34. package/docs/claude-code-reference/agentboot-coverage.md +0 -484
  35. package/docs/claude-code-reference/feature-inventory.md +0 -906
  36. package/docs/cli-commands-audit.md +0 -112
  37. package/docs/cli-design.md +0 -924
  38. package/docs/concepts.md +0 -1117
  39. package/docs/config-schema-audit.md +0 -121
  40. package/docs/configuration.md +0 -645
  41. package/docs/delivery-methods.md +0 -758
  42. package/docs/developer-onboarding.md +0 -342
  43. package/docs/extending.md +0 -448
  44. package/docs/getting-started.md +0 -298
  45. package/docs/knowledge-layer.md +0 -464
  46. package/docs/marketplace.md +0 -822
  47. package/docs/org-connection.md +0 -570
  48. package/docs/plans/architecture.md +0 -2429
  49. package/docs/plans/design.md +0 -2018
  50. package/docs/plans/prd.md +0 -1862
  51. package/docs/plans/stack-rank.md +0 -261
  52. package/docs/plans/technical-spec.md +0 -2755
  53. package/docs/privacy-and-safety.md +0 -807
  54. package/docs/prompt-optimization.md +0 -1071
  55. package/docs/test-plan.md +0 -972
  56. package/docs/third-party-ecosystem.md +0 -496
  57. package/domains/compliance-template/README.md +0 -173
  58. package/domains/compliance-template/traits/compliance-aware.md +0 -228
  59. package/examples/enterprise/agentboot.config.json +0 -184
  60. package/examples/minimal/agentboot.config.json +0 -46
  61. package/tests/REGRESSION-PLAN.md +0 -705
  62. package/tests/TEST-PLAN.md +0 -111
  63. package/tests/cli.test.ts +0 -705
  64. package/tests/pipeline.test.ts +0 -608
  65. package/tests/validate.test.ts +0 -278
  66. package/tsconfig.json +0 -62
@@ -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