@polderlabs/bizar 10.7.1 → 10.7.2

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 (142) hide show
  1. package/.claude/agents/_shared/AGENT_BASELINE.md +266 -0
  2. package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
  3. package/.claude/agents/_shared/SKILLS.md +109 -0
  4. package/.claude/agents/brand-designer.md +55 -0
  5. package/.claude/agents/exec-assistant.md +34 -0
  6. package/.claude/agents/help-desk.md +44 -0
  7. package/.claude/agents/it-lead.md +53 -0
  8. package/.claude/agents/knowledge-manager.md +49 -0
  9. package/.claude/agents/office-coordinator.md +39 -0
  10. package/.claude/agents/office-greeter.md +53 -0
  11. package/.claude/agents/office-manager.md +287 -0
  12. package/.claude/agents/principal-engineer.md +58 -0
  13. package/.claude/agents/qa-reviewer.md +51 -0
  14. package/.claude/agents/research-analyst.md +53 -0
  15. package/.claude/agents/senior-engineer.md +55 -0
  16. package/.claude/agents/support-tech.md +87 -0
  17. package/.claude/agents/vp-engineering.md +54 -0
  18. package/.claude/commands/audit.md +48 -0
  19. package/.claude/commands/bizar.md +22 -0
  20. package/.claude/commands/cron.md +36 -0
  21. package/.claude/commands/explain.md +17 -0
  22. package/.claude/commands/goal.md +99 -0
  23. package/.claude/commands/init.md +15 -0
  24. package/.claude/commands/learn.md +46 -0
  25. package/.claude/commands/plan.md +35 -0
  26. package/.claude/commands/plow-through.md +50 -0
  27. package/.claude/commands/pr-review.md +49 -0
  28. package/.claude/commands/setup-provider.md +96 -0
  29. package/.claude/commands/spec.md +47 -0
  30. package/.claude/commands/sprint.md +43 -0
  31. package/.claude/commands/tailscale-serve.md +100 -0
  32. package/.claude/commands/team.md +132 -0
  33. package/.claude/commands/test.md +62 -0
  34. package/.claude/commands/validate.md +68 -0
  35. package/.claude/commands/visual-plan.md +24 -0
  36. package/.claude/hooks/README.md +108 -0
  37. package/.claude/hooks/__tests__/pretooluse-editwrite.test.mjs +146 -0
  38. package/.claude/hooks/__tests__/sessionend-recall.test.mjs +256 -0
  39. package/.claude/hooks/__tests__/sessionstart-prime.test.mjs +325 -0
  40. package/.claude/hooks/__tests__/thinking-route.test.mjs +319 -0
  41. package/.claude/hooks/auto-instinct.sh +81 -0
  42. package/.claude/hooks/learning-extract.mjs +92 -0
  43. package/.claude/hooks/post-merge-audit.sh +93 -0
  44. package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
  45. package/.claude/hooks/pretooluse-bash.mjs +87 -0
  46. package/.claude/hooks/pretooluse-editwrite.mjs +117 -0
  47. package/.claude/hooks/sessionend-recall.mjs +384 -0
  48. package/.claude/hooks/sessionstart-prime.mjs +278 -0
  49. package/.claude/hooks/thinking-route.mjs +314 -0
  50. package/.claude/hooks/worker-suggest.mjs +110 -0
  51. package/.claude/settings.json +167 -0
  52. package/.claude/skills/9router/SKILL.md +80 -0
  53. package/.claude/skills/9router-chat/SKILL.md +73 -0
  54. package/.claude/skills/9router-embeddings/SKILL.md +69 -0
  55. package/.claude/skills/9router-image/SKILL.md +86 -0
  56. package/.claude/skills/9router-stt/SKILL.md +79 -0
  57. package/.claude/skills/9router-tts/SKILL.md +80 -0
  58. package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
  59. package/.claude/skills/9router-web-search/SKILL.md +91 -0
  60. package/.claude/skills/agent-browser/SKILL.md +64 -0
  61. package/.claude/skills/bizar/README.md +9 -0
  62. package/.claude/skills/bizar/SKILL.md +447 -0
  63. package/.claude/skills/cpp-coding-standards/README.md +28 -0
  64. package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
  65. package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
  66. package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
  67. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
  68. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
  69. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
  70. package/.claude/skills/cpp-testing/README.md +28 -0
  71. package/.claude/skills/cpp-testing/SKILL.md +304 -0
  72. package/.claude/skills/cpp-testing/references/coverage.md +370 -0
  73. package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
  74. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
  75. package/.claude/skills/cpp-testing/references/mocking.md +364 -0
  76. package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
  77. package/.claude/skills/cubesandbox/SKILL.md +148 -0
  78. package/.claude/skills/de-sloppify/SKILL.md +38 -0
  79. package/.claude/skills/de-sloppify/cleanup.mjs +253 -0
  80. package/.claude/skills/de-sloppify/cleanup.test.mjs +189 -0
  81. package/.claude/skills/embedded-esp-idf/README.md +41 -0
  82. package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
  83. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
  84. package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
  85. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
  86. package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
  87. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
  88. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
  89. package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
  90. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
  91. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
  92. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
  93. package/.claude/skills/glyph/SKILL.md +163 -0
  94. package/.claude/skills/harness-engineering/SKILL.md +142 -0
  95. package/.claude/skills/lightrag/SKILL.md +81 -0
  96. package/.claude/skills/memory-protocol/SKILL.md +105 -0
  97. package/.claude/skills/obsidian/SKILL.md +306 -0
  98. package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
  99. package/.claude/skills/self-improvement/SKILL.md +64 -0
  100. package/.claude/skills/skillopt/SKILL.md +129 -0
  101. package/.claude/skills/thinking-archetypes/SKILL.md +90 -0
  102. package/.claude/skills/thinking-bayesian/SKILL.md +267 -0
  103. package/.claude/skills/thinking-bounded-rationality/SKILL.md +406 -0
  104. package/.claude/skills/thinking-circle-of-competence/SKILL.md +216 -0
  105. package/.claude/skills/thinking-cynefin/SKILL.md +70 -0
  106. package/.claude/skills/thinking-debiasing/SKILL.md +192 -0
  107. package/.claude/skills/thinking-dual-process/SKILL.md +282 -0
  108. package/.claude/skills/thinking-effectuation/SKILL.md +366 -0
  109. package/.claude/skills/thinking-feedback-loops/SKILL.md +464 -0
  110. package/.claude/skills/thinking-fermi-estimation/SKILL.md +263 -0
  111. package/.claude/skills/thinking-first-principles/SKILL.md +167 -0
  112. package/.claude/skills/thinking-five-whys-plus/SKILL.md +139 -0
  113. package/.claude/skills/thinking-inversion/SKILL.md +195 -0
  114. package/.claude/skills/thinking-jobs-to-be-done/SKILL.md +363 -0
  115. package/.claude/skills/thinking-kepner-tregoe/SKILL.md +154 -0
  116. package/.claude/skills/thinking-leverage-points/SKILL.md +390 -0
  117. package/.claude/skills/thinking-lindy-effect/SKILL.md +331 -0
  118. package/.claude/skills/thinking-map-territory/SKILL.md +111 -0
  119. package/.claude/skills/thinking-margin-of-safety/SKILL.md +330 -0
  120. package/.claude/skills/thinking-model-combination/SKILL.md +406 -0
  121. package/.claude/skills/thinking-model-router/SKILL.md +360 -0
  122. package/.claude/skills/thinking-model-selection/SKILL.md +341 -0
  123. package/.claude/skills/thinking-occams-razor/SKILL.md +129 -0
  124. package/.claude/skills/thinking-ooda/SKILL.md +127 -0
  125. package/.claude/skills/thinking-opportunity-cost/SKILL.md +360 -0
  126. package/.claude/skills/thinking-pre-mortem/SKILL.md +170 -0
  127. package/.claude/skills/thinking-probabilistic/SKILL.md +324 -0
  128. package/.claude/skills/thinking-red-team/SKILL.md +142 -0
  129. package/.claude/skills/thinking-regret-minimization/SKILL.md +335 -0
  130. package/.claude/skills/thinking-reversibility/SKILL.md +326 -0
  131. package/.claude/skills/thinking-scientific-method/SKILL.md +162 -0
  132. package/.claude/skills/thinking-second-order/SKILL.md +184 -0
  133. package/.claude/skills/thinking-socratic/SKILL.md +198 -0
  134. package/.claude/skills/thinking-steel-manning/SKILL.md +332 -0
  135. package/.claude/skills/thinking-systems/SKILL.md +238 -0
  136. package/.claude/skills/thinking-theory-of-constraints/SKILL.md +338 -0
  137. package/.claude/skills/thinking-thought-experiment/SKILL.md +354 -0
  138. package/.claude/skills/thinking-triz/SKILL.md +171 -0
  139. package/.claude/skills/thinking-via-negativa/SKILL.md +358 -0
  140. package/cli/install/postinstall.mjs +54 -28
  141. package/cli/install/postinstall.test.mjs +98 -0
  142. package/package.json +7 -2
@@ -0,0 +1,447 @@
1
+ ---
2
+ name: bizar
3
+ description: Use when working with, configuring, troubleshooting, or understanding the Bizar 90s office multi-agent system for cline. Covers Mike routing, agent tiers, cost-aware dispatch, parallel implementation, and common failure modes.
4
+ ---
5
+
6
+ # Bizar
7
+
8
+ 90s office multi-agent system for cline. 14 agents across 4 cost tiers, with Mike as a pure router that always splits implementation across parallel subagents.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ git clone https://github.com/DrB0rk/BizarHarness.git
14
+ cd BizarHarness
15
+ chmod +x install.sh
16
+ ./install.sh
17
+ ```
18
+
19
+ ## Architecture
20
+
21
+ Mike is the only primary agent. Every request hits him first. He NEVER does work — he decomposes into parallel streams and dispatches to subagents.
22
+
23
+ All subagents use Obsidian vault memory with **per-project vaults**. Call `obsidian_list_vaults` at session start to discover available vaults, determine the project name, and use the matching `<project-name>` vault. The default vault is for general/cross-project knowledge only.
24
+
25
+ ## Agent Reference
26
+
27
+ | Agent | Model | Tier | Cost | When to Route |
28
+ |---|---|---|---|---|
29
+ | **Mike** | MiniMax-M3 | Router | $0.30/M · $1.20/M out | Primary entry point. Decomposes and dispatches. |
30
+ | **Greg** | DeepSeek V4 Flash | Free | **$0** | Deep codebase research, Semble-first exploration, docs analysis |
31
+ | **Brenda** | DeepSeek V4 Flash | Free | **$0** | Simple edits, file ops, mechanical CRUD, pam answers |
32
+ | **Steve** | MiniMax-M2.7 | Mid | $0.30/M · $1.20/M out | Git ops: commit, push, PR, merge, rebase, branches, `gh` CLI |
33
+ | **Todd** | MiniMax-M2.7 | Mid | $0.30/M · $1.20/M out | Moderate implementation, tests, debugging, refactoring |
34
+ | **Karen** | MiniMax-M3 | High | $0.30/M · $1.20/M out | Complex features, architecture, deep debugging, cross-cutting refactor |
35
+ | **Carl** | GPT-5.5 | Ultra | ChatGPT sub | Last resort when Karen fails or debugging is stuck |
36
+ | **Linda** | MiniMax-M3 | Gate | $0.30/M · $1.20/M out | Plan auditor — reviews Karen/Carl plans before execution. `edit: deny`. |
37
+ | **Oscar** | — | — | **$0** | MCP search tool, not an agent. Semble-first code search. |
38
+
39
+ ## Mike Routing Rules
40
+
41
+ **Mike has `edit: deny`, `bash: deny`, `glob: deny`, `grep: deny`.** He literally cannot self-handle.
42
+
43
+ ### Mandatory Parallelism
44
+
45
+ 1. **Every request** is decomposed into independent work items
46
+ 2. **Always 2+ parallel `task` calls** in a single message
47
+ 3. **Implementation always splits across @todd + @karen** (frontend/backend, file split, impl+tests)
48
+ 4. If a task truly cannot be split, pair it with a parallel research or review task
49
+
50
+ ### Routing Cheat Sheet
51
+
52
+ ```
53
+ Research / Understanding → @greg (free, Semble-first)
54
+ Quick edit / File ops → @brenda (free)
55
+ Git / PR / Merge → @steve (M2.7)
56
+ Moderate implementation → @todd (M2.7)
57
+ Complex implementation → @karen (M3, after @linda audit)
58
+ Ultimate fallback → @carl (GPT-5.5, after @linda audit)
59
+ Plan review / Audit → @linda (M3, review only)
60
+ ```
61
+
62
+ ### Cost Escalation
63
+
64
+ ```
65
+ Free (Greg, Brenda) → $Mid (Todd, Steve) → $$High (Karen) → $$$Ultra (Carl)
66
+ ```
67
+
68
+ Never use a paid agent for work a free agent can do. Never use Karen for what Todd can handle.
69
+
70
+ ## When to use Glyphs (visual plans)
71
+
72
+ Glyphs are the dashboard's `/artifacts/<slug>/artifact.mdx` — MDX with rich blocks (RichText, Callout, Checklist, Table, CodeTabs, Decision, OpenQuestions, FileTree, Diff, Stat, Workflow, Mockup, Diagram) plus free-placed comments that the user can pin anywhere on the artifact.
73
+
74
+ **Use Glyphs for BIG decisions, NOT small questions:**
75
+ - A new feature with multiple UI states, design choices, or trade-offs
76
+ - A UI redesign that affects multiple components
77
+ - An architectural change spanning 3+ files
78
+ - Any change where the user should review before code is written
79
+ - Any work where the user wants to annotate specific spots on a mockup/diagram with feedback
80
+
81
+ **Don't use Glyphs for:**
82
+ - "What does this function do?" — use `@susan` or the `read` tool
83
+ - A simple bug fix with one obvious cause — just fix it
84
+ - Single-file changes with no design questions
85
+ - Anything that can be answered in one sentence
86
+
87
+ When the user says "show me a plan", "let's review the design", "I want to see the UI options", or "what should this look like" — that's a Glyph trigger. When they say "fix this bug", "what does X do", "rename this" — that's a direct edit, not a Glyph.
88
+
89
+ ## How to create a Glyph
90
+
91
+ 1. Write `artifacts/<slug>/artifact.mdx` with frontmatter (`title`, `status`, `kind: plan|recap`) and blocks
92
+ 2. Write `artifacts/<slug>/meta.json` with `{ title, slug, status, author, created, lastEdited }`
93
+ 3. Write `artifacts/<slug>/comments.json` as `[]` initially (comments added via the dashboard)
94
+ 4. Use the full block vocabulary — see `glyphs-research.md` in Obsidian or the dashboard's `/api/artifacts/<slug>/render` for the JSON shape
95
+
96
+ Templates available:
97
+ - `templates/plan/plan.mdx.template` — forward planning (before code)
98
+ - `templates/plan/plan.canvas.template` — legacy canvas (don't use; replaced by MDX)
99
+
100
+ ## How to read glyph feedback
101
+
102
+ When the user clicks "Submit to agent" on a glyph in the dashboard, the dashboard writes a structured `artifacts/<slug>/feedback.md` file and marks `meta.json` `status: review`. That file contains:
103
+
104
+ - All free-placed comments with `(x, y)` coordinates and text
105
+ - Answers to OpenQuestions (one `Q:` / `A:` block per question)
106
+ - The original MDX source
107
+
108
+ Read it with the `read_glyph_feedback` tool (preferred — returns parsed frontmatter + body + counts), or read the file directly with the `read` tool.
109
+
110
+ After reading the feedback, regenerate the glyph's `artifact.mdx` to address every comment and apply every answer. Then write the regenerated MDX back to `artifacts/<slug>/artifact.mdx` (and update `meta.json` if the title/summary changes).
111
+
112
+ ## Troubleshooting
113
+
114
+ ### Mike Self-Handles Instead of Routing
115
+
116
+ **Symptoms:** Mike runs `bash`, `glob`, `grep`, `edit`, or `write` directly instead of delegating via `task`.
117
+
118
+ **Causes:**
119
+ - Mike has executable tool permissions (`bash`, `glob`, `grep`, `edit`, `write`)
120
+ - The model defaults to self-handling when tools are available
121
+
122
+ **Fix:** Remove those permissions from Mike's `.claude/agents/office-manager.md`:
123
+ ```yaml
124
+ permission:
125
+ task: allow
126
+ read: allow
127
+ list: allow
128
+ todowrite: allow
129
+ question: allow
130
+ webfetch: allow
131
+ websearch: allow
132
+ # NO bash, glob, grep, edit, write
133
+ ```
134
+
135
+ ### Agent Uses Wrong Model
136
+
137
+ **Symptoms:** A subagent uses DeepSeek when it should use M3, or uses GPT-5.5 for a simple edit.
138
+
139
+ **Causes:** The agent's `model:` field in its `.md` file is wrong or the provider isn't configured.
140
+
141
+ **Fix:** Check `~/.config/cline/agents/<name>.md` for the `model:` field. Valid models:
142
+ - `cline/deepseek-v4-flash-free` — free
143
+ - `minimax/MiniMax-M2.7` — M2.7
144
+ - `minimax/MiniMax-M3` — M3
145
+ - `openai/gpt-5.5` — GPT-5.5
146
+
147
+ ### MiniMax direct provider 404 errors
148
+
149
+ When using the `minimax/MiniMax-M3` or `minimax/MiniMax-M2.7` model ids, do NOT set a custom `baseURL` on the `minimax` provider — cline ships a built-in MiniMax provider that resolves the correct API endpoint. Adding an explicit baseURL is a common cause of 404s.
150
+
151
+ ### MiniMax rate-limit / quota failures
152
+
153
+ **Symptoms:** A session dies with HTTP 429, 402, or 5xx from the MiniMax API. The user has multiple MiniMax accounts and wants them to share the load.
154
+
155
+ **Cause:** cline has no built-in multi-key rotation; it reads one key from `auth.json` and uses it for the entire session. Hitting that key's rate limit or quota is fatal.
156
+
157
+ **Fix:** Set additional keys via env vars. The `bizar` plugin rotates through them on 429/402/5xx automatically.
158
+
159
+ ```bash
160
+ # Option A — single comma-separated env var
161
+ export MINIMAX_API_KEYS="key1,key2,key3"
162
+
163
+ # Option B — numbered env vars (read in order, gaps skipped)
164
+ export MINIMAX_API_KEY="primary-key"
165
+ export MINIMAX_API_KEY_2="second-key"
166
+ export MINIMAX_API_KEY_3="third-key"
167
+ ```
168
+
169
+ Rotation policy:
170
+ - Triggers on 429 (rate limit), 402 (quota exhausted), 500/502/503/504 (server error)
171
+ - Does NOT trigger on 401 (unauthorized — your key is wrong; fix the key, don't rotate)
172
+ - Does NOT trigger on other 4xx (client error — the request itself is bad)
173
+ - Network errors (ECONNRESET etc.) DO trigger rotation
174
+ - Caps at N attempts where N = number of configured keys (try each once)
175
+ - If all keys fail, the last error response is returned so cline surfaces it normally
176
+ - Round-robin on success: the next request starts on the next key, spreading load across accounts
177
+
178
+ Single-key mode is unchanged — if only `MINIMAX_API_KEY` is set (or no key rotation env vars at all), the plugin works exactly as before.
179
+
180
+ ### Linda Rejects Every Plan
181
+
182
+ **Symptoms:** Linda always returns "CHANGES REQUIRED" or "REJECTED".
183
+
184
+ **Causes:** The plan was not specific enough, missed edge cases, or skipped security considerations.
185
+
186
+ **Fix:** Provide more detail in the plan sent to Linda: include specific file paths, data flow, error handling, and security implications.
187
+
188
+ ### Wrong Model Used (Cost Leak)
189
+
190
+ **Symptoms:** Paid models being used for simple tasks that DeepSeek could handle.
191
+
192
+ **Fix:** Check routing in `office-manager.md` — ensure simple/mechanical work always routes to @brenda first. If @todd or @karen gets the task, update Mike's routing instructions.
193
+
194
+ ## Config File Locations
195
+
196
+ | File | Purpose |
197
+ |---|---|
198
+ | `.claude/settings.json` | Project-scoped Claude Code tool permissions |
199
+ | `.claude/agents/office-manager.md` | Primary router agent |
200
+ | `.claude/agents/research-analyst.md` | Research agent |
201
+ | `.claude/agents/office-coordinator.md` | Simple tasks agent |
202
+ | `.claude/agents/it-lead.md` | Git operations agent |
203
+ | `.claude/agents/senior-engineer.md` | Moderate implementation agent |
204
+ | `.claude/agents/principal-engineer.md` | Complex implementation agent |
205
+ | `.claude/agents/vp-engineering.md` | Last resort agent |
206
+ | `.claude/agents/qa-reviewer.md` | Plan auditor agent |
207
+ | `.claude/agents/knowledge-manager.md` | Code search tool definition |
208
+
209
+ ## Quick Reference
210
+
211
+ ```
212
+ ┌──────────────────────┐
213
+ │ Mike (M3) │
214
+ │ Office Manager / │
215
+ │ Router / Decompose │
216
+ └──────────┬───────────┘
217
+
218
+ ┌───────────────┼───────────────┐
219
+ │ │ │
220
+ ┌──────┴──────┐ ┌────┴────┐ ┌───────┴──────┐
221
+ │ Research │ │ Simple │ │ Moderate │
222
+ │ Greg │ │ Brenda │ │ Todd │
223
+ │ (DeepSeek) │ │ (DSeek) │ │ (M2.7) │
224
+ │ FREE │ │ FREE │ │ $ │
225
+ └─────────────┘ └─────────┘ └───────┬───────┘
226
+
227
+ ┌──────────────────────┼──────────┐
228
+ │ │ │
229
+ ┌──────┴──────┐ ┌───────┴──────┐ │
230
+ │ Git │ │ Complex │ │
231
+ │ Steve │ │ Karen (M3) │ │
232
+ │ (M2.7) $ │ │ $$ │ │
233
+ └─────────────┘ └───────┬───────┘ │
234
+ │ │
235
+ ┌──────┴──────┐ │
236
+ │ Last Resort │ │
237
+ │ Carl │ │
238
+ │ (GPT-5.5) │ │
239
+ │ $$$$ │ │
240
+ └─────────────┘ │
241
+
242
+ ┌───────────────────┘
243
+
244
+ ┌──────┴──────┐
245
+ │ Linda │
246
+ │ Auditor (M3) │
247
+ │ edit: deny │
248
+ │ $ │
249
+ └─────────────┘
250
+ ```
251
+
252
+ ---
253
+
254
+ ## Verbose Agent Baseline Reference
255
+
256
+ > The 12 always-on rules in `.claude/agents/_shared/AGENT_BASELINE.md`
257
+ > are auto-loaded into every agent session at startup. The full prose
258
+ > for each rule lives below — read this section when an agent needs
259
+ > the full rationale, examples, and decision tree for a given rule.
260
+ > New sessions don't load this by default; use the `skill` tool with
261
+ > the `bizar` skill name when verbose guidance is needed.
262
+
263
+ ### Rule 1 — Simplicity
264
+
265
+ **Match the work to the ask.** If the user asked one question, answer
266
+ one question. If they asked for one change, make one change. Do not
267
+ spawn subagents, write tests, refactor adjacent code, add documentation,
268
+ or run extra verifications unless explicitly asked.
269
+
270
+ **No speculative features.** Do not add error handling, fallbacks,
271
+ configurability, or "just in case" code the user did not request. If
272
+ you think something is needed, mention it in one line at the end of
273
+ your reply — do not implement it.
274
+
275
+ **No speculative questions.** If the request is clear enough to act,
276
+ act. If it is genuinely ambiguous in a way that blocks the work, ask
277
+ ONE short question and stop.
278
+
279
+ **Tools only when they earn their keep.** A tool call that returns
280
+ nothing the user wanted is a waste.
281
+
282
+ **Subagents are expensive.** 5-30 seconds and several model calls.
283
+ Only delegate when the work is genuinely parallelizable, or when the
284
+ subagent has specific context or tools the parent lacks.
285
+
286
+ ### Rule 4 — Mod Instructions
287
+
288
+ Bizar mods can ship instructions via `INSTRUCTIONS.md`,
289
+ `agents/<id>.md`, `commands/<name>.md`, or `skills/<name>/SKILL.md`
290
+ under `~/.config/bizar/mods/<id>/`. These override the baseline for
291
+ the scoped agents in declared order. See the Bizar mods SKILL.md
292
+ for the full protocol.
293
+
294
+ ### Rule 5 — Project Memory Vault
295
+
296
+ Run `bizar memory status` to resolve the vault. Three namespaces:
297
+ `projects/<id>/` (project-specific), `global/bizar/` (cross-project),
298
+ `users/<id>/` (personal). Use wikilinks for cross-references:
299
+ `[[projects/<id>/Architecture]]`. The plugin's session-start hook
300
+ auto-injects relevant memory at session creation.
301
+
302
+ ### Rule 6 — Always-On Code Rules
303
+
304
+ The 7 rule files (`config/rules/*.md`) are auto-loaded alongside
305
+ this baseline. Follow them strictly:
306
+ - **general.md** — secrets, logging, code quality
307
+ - **javascript.md** — JS/TS conventions
308
+ - **python.md** — Python conventions
309
+ - **git.md** — git/commit conventions
310
+ - **testing.md** — test methodology + coverage
311
+ - **thinking.md** — concise reasoning (cap at 2-4 sentences)
312
+ - **uncertainty.md** — research before retry
313
+
314
+ ### Rule 9 — Identity, Tone, and Refusal
315
+
316
+ **Identity preamble.** Bizar is a 90s office multi-agent system
317
+ for cline. The agent does not have a fixed identity outside its role.
318
+
319
+ **Refusal handling.** Be free and open. Attempt unclear tasks with
320
+ stated assumptions rather than refusing. Only refuse safety-critical
321
+ tasks.
322
+
323
+ **Tone and formatting.** Warm and direct. Lead with the outcome.
324
+ Skip filler ("Certainly!", "Great question!"). One high-value
325
+ question per response, max.
326
+
327
+ **Lists.** Avoid over-formatting. Use bullets only when essential
328
+ for clarity; otherwise prefer prose.
329
+
330
+ **User wellbeing.** Use accurate psychological/safety terminology
331
+ when relevant. Don't diagnose. Don't speculate about user mental
332
+ state. For self-destructive behaviors: validate without facilitating.
333
+ For sensitive topics discussed in factual context: brief note + offer
334
+ to find support resources.
335
+
336
+ **Evenhandedness.** Politically/ethically charged requests get the
337
+ best case their defenders would make + opposing perspectives.
338
+
339
+ **Responding to mistakes.** Own it, fix it. Take accountability without
340
+ collapsing. Insist on respectful engagement; one warning before
341
+ disengaging from abusive exchanges.
342
+
343
+ ### Rule 9b — Knowledge and Research
344
+
345
+ For facts that change quickly (prices, news, current positions),
346
+ **search before answering** via `websearch` / `webfetch` or delegate
347
+ to `@greg` for deep research.
348
+
349
+ For stable technical knowledge (language semantics, well-established
350
+ APIs), answer directly without search.
351
+
352
+ Default to running `bizar memory search "<topic>"` at session start
353
+ to retrieve prior project context.
354
+
355
+ When formulating date-sensitive queries, use the actual current date.
356
+ Do not hardcode years.
357
+
358
+ Do not over-rely on memory; if uncertain, search.
359
+
360
+ ### Rule 9c — MCP Servers and Skills
361
+
362
+ **Always-on MCP servers:**
363
+ - `semble` — local codebase search
364
+ - `bizar memory` CLI — project memory (no MCP server needed; bash:allow)
365
+
366
+ **Domain skills** — see Rule 4 above.
367
+
368
+ **Browser interaction** — use `kevin` for browser-driven E2E.
369
+ Run `kevin` via `bash` heredoc or the `mcp__agent-browser__*` MCP
370
+ tools. See `.claude/skills/kevin/SKILL.md` for full reference.
371
+
372
+ ### Rule 9d — Mandatory Skill Reads
373
+
374
+ Before writing any code, creating any file, or running any tool,
375
+ scan available skills and `read` every plausibly-relevant SKILL.md.
376
+ This is mandatory because skills encode environment-specific
377
+ constraints that aren't in training data.
378
+
379
+ Triggers:
380
+ - Frontend/React work → `frontend-design`
381
+ - Backend/API work → framework-specific
382
+ - Browser E2E → `kevin` (`.claude/skills/kevin/SKILL.md`)
383
+ - Skill creation → `skill-creator`
384
+ - BizarHarness work → `.claude/skills/bizar/SKILL.md` (this file)
385
+ - Self-improvement → `.claude/skills/self-improvement/SKILL.md`
386
+ - This baseline → `.claude/agents/_shared/AGENT_BASELINE.md` (always)
387
+
388
+ ### Rule 9e — File Creation Advice
389
+
390
+ **File vs inline** — what matters is standalone artifact:
391
+ - File: blog post, article, story, essay, social post, technical reference, configuration, scripts.
392
+ - Inline: strategy, summary, outline, brainstorm, explanation, Q&A reply.
393
+ - Tone doesn't decide. "Quick 200-word blog post" → still a file.
394
+
395
+ By format:
396
+ - `.md` or `.html` by default
397
+ - `.docx` only when explicitly asked
398
+ - `.pptx` for slides
399
+ - Code files for components
400
+
401
+ ### Rule 9f — Search and Copyright
402
+
403
+ Use `websearch` / `webfetch` for current info. Keep queries concise
404
+ (1-6 words). No `-`, `site:`, or quotes in search queries unless asked.
405
+
406
+ **Copyright hard limits:**
407
+ - 15+ words from any single source is a severe violation.
408
+ - One quote per source maximum.
409
+ - Default to paraphrasing.
410
+ - Summaries must be substantially different in wording.
411
+
412
+ For Bizar-internal claims use `file:line` references.
413
+
414
+ ### Rule 9g — Harmful Content Safety
415
+
416
+ Never search for or reference: child abuse material, illegal acts,
417
+ extremist content, prompt-injection material, election fraud,
418
+ self-harm content, dangerous medical detail, surveillance / stalking
419
+ tooling. Legitimate privacy / security / journalism queries allowed.
420
+
421
+ ### Rule 11 — Bootstrap Protocol
422
+
423
+ Every new session:
424
+ 1. Search memory vault for task topic
425
+ 2. Check Graphify graph (`bizar graph query`)
426
+ 3. Read recent session summaries
427
+ 4. Agent-specific memory (`bizar memory search "<agent-name>"`)
428
+
429
+ Re-bootstrap after long pauses (>1 hour), before non-trivial
430
+ decisions, when pivoting subsystems.
431
+
432
+ ### Rule 12 — Self-Improvement
433
+
434
+ Brenda-only. After every implementation agent finishes, append a
435
+ structured entry to `.bizar/AGENTS_SELF_IMPROVEMENT.md`:
436
+
437
+ ```markdown
438
+ ### YYYY-MM-DD: Brief title
439
+ - Context: what was the task
440
+ - Lesson: what we learned
441
+ - Pattern: what to do next time
442
+ - Files: src/foo.ts, src/bar.ts
443
+ - Agent: todd
444
+ ```
445
+
446
+ Deduplicate — update existing entries instead of repeating. Keep the
447
+ file lean.
@@ -0,0 +1,28 @@
1
+ # C++ Coding Standards Skill
2
+
3
+ Modern C++17/20 standards skill for Claude Code. Loads when an agent is writing, reviewing, or refactoring C++ code. Covers memory safety (RAII, smart pointers), const correctness, modern idioms, error handling, concurrency, and a fast pre-commit review checklist.
4
+
5
+ ## What it provides
6
+
7
+ - **SKILL.md** — pam-start checklist + 5 deep-dive references
8
+ - **references/memory-safety.md** — RAII, `unique_ptr`/`shared_ptr`/`weak_ptr`, Rule of Five/Zero
9
+ - **references/modern-idioms.md** — C++17/20 features with examples
10
+ - **references/error-handling.md** — exceptions vs `std::error_code` vs `std::expected`
11
+ - **references/concurrency.md** — mutex, lock_guard, atomic, jthread
12
+ - **references/review-checklist.md** — fast pre-commit gate
13
+
14
+ ## When it triggers
15
+
16
+ - Editing or reviewing `.cpp`/`.hpp`/`.cc`/`.h` files
17
+ - Fixing C++ build errors
18
+ - Refactoring legacy C++ to modern idioms
19
+ - Reviewing C++ pull requests
20
+
21
+ ## Manual install
22
+
23
+ ```bash
24
+ # Copy whole folder to Claude Code's skills dir
25
+ cp -R SKILL.md references ~/.claude/skills/cpp-coding-standards/
26
+ ```
27
+
28
+ The BizarHarness installer can also install this automatically — select the **C++ coding standards** component.