tribunal-kit 3.0.0 → 3.1.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 (226) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +187 -220
  4. package/.agent/agents/ai-code-reviewer.md +199 -233
  5. package/.agent/agents/backend-specialist.md +215 -238
  6. package/.agent/agents/code-archaeologist.md +161 -181
  7. package/.agent/agents/database-architect.md +184 -207
  8. package/.agent/agents/debugger.md +191 -218
  9. package/.agent/agents/dependency-reviewer.md +103 -136
  10. package/.agent/agents/devops-engineer.md +218 -238
  11. package/.agent/agents/documentation-writer.md +201 -221
  12. package/.agent/agents/explorer-agent.md +160 -180
  13. package/.agent/agents/frontend-reviewer.md +160 -194
  14. package/.agent/agents/frontend-specialist.md +248 -237
  15. package/.agent/agents/game-developer.md +48 -52
  16. package/.agent/agents/logic-reviewer.md +116 -149
  17. package/.agent/agents/mobile-developer.md +200 -223
  18. package/.agent/agents/mobile-reviewer.md +162 -195
  19. package/.agent/agents/orchestrator.md +181 -211
  20. package/.agent/agents/penetration-tester.md +157 -174
  21. package/.agent/agents/performance-optimizer.md +183 -203
  22. package/.agent/agents/performance-reviewer.md +178 -211
  23. package/.agent/agents/product-manager.md +142 -162
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +142 -162
  26. package/.agent/agents/qa-automation-engineer.md +225 -242
  27. package/.agent/agents/security-auditor.md +174 -194
  28. package/.agent/agents/seo-specialist.md +193 -213
  29. package/.agent/agents/sql-reviewer.md +161 -194
  30. package/.agent/agents/supervisor-agent.md +184 -203
  31. package/.agent/agents/swarm-worker-contracts.md +17 -17
  32. package/.agent/agents/swarm-worker-registry.md +46 -46
  33. package/.agent/agents/test-coverage-reviewer.md +160 -193
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +175 -208
  36. package/.agent/patterns/generator.md +9 -9
  37. package/.agent/patterns/inversion.md +12 -12
  38. package/.agent/patterns/pipeline.md +9 -9
  39. package/.agent/patterns/reviewer.md +13 -13
  40. package/.agent/patterns/tool-wrapper.md +9 -9
  41. package/.agent/rules/GEMINI.md +63 -63
  42. package/.agent/scripts/compress_skills.py +167 -0
  43. package/.agent/scripts/consolidate_skills.py +173 -0
  44. package/.agent/scripts/deep_compress.py +202 -0
  45. package/.agent/scripts/minify_context.py +80 -0
  46. package/.agent/scripts/security_scan.py +1 -1
  47. package/.agent/scripts/strip_tribunal.py +41 -0
  48. package/.agent/skills/agent-organizer/SKILL.md +92 -126
  49. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  50. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +126 -160
  51. package/.agent/skills/api-patterns/SKILL.md +123 -215
  52. package/.agent/skills/api-security-auditor/SKILL.md +143 -177
  53. package/.agent/skills/app-builder/SKILL.md +326 -50
  54. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  55. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  56. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  57. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  58. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  59. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  60. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  61. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  62. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  63. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  64. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  65. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  66. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  67. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  68. package/.agent/skills/appflow-wireframe/SKILL.md +87 -121
  69. package/.agent/skills/architecture/SKILL.md +82 -252
  70. package/.agent/skills/authentication-best-practices/SKILL.md +139 -173
  71. package/.agent/skills/bash-linux/SKILL.md +120 -154
  72. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  73. package/.agent/skills/brainstorming/SKILL.md +428 -104
  74. package/.agent/skills/building-native-ui/SKILL.md +143 -174
  75. package/.agent/skills/clean-code/SKILL.md +323 -360
  76. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  77. package/.agent/skills/config-validator/SKILL.md +107 -141
  78. package/.agent/skills/csharp-developer/SKILL.md +468 -528
  79. package/.agent/skills/database-design/SKILL.md +104 -369
  80. package/.agent/skills/deployment-procedures/SKILL.md +111 -145
  81. package/.agent/skills/devops-engineer/SKILL.md +295 -332
  82. package/.agent/skills/devops-incident-responder/SKILL.md +79 -113
  83. package/.agent/skills/doc.md +5 -5
  84. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  85. package/.agent/skills/edge-computing/SKILL.md +123 -157
  86. package/.agent/skills/extract-design-system/SKILL.md +100 -134
  87. package/.agent/skills/framer-motion-expert/SKILL.md +111 -855
  88. package/.agent/skills/frontend-design/SKILL.md +151 -499
  89. package/.agent/skills/game-design-expert/SKILL.md +71 -105
  90. package/.agent/skills/game-engineering-expert/SKILL.md +88 -122
  91. package/.agent/skills/geo-fundamentals/SKILL.md +89 -124
  92. package/.agent/skills/github-operations/SKILL.md +279 -314
  93. package/.agent/skills/gsap-expert/SKILL.md +119 -826
  94. package/.agent/skills/i18n-localization/SKILL.md +104 -138
  95. package/.agent/skills/intelligent-routing/SKILL.md +159 -127
  96. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  97. package/.agent/skills/llm-engineering/SKILL.md +344 -357
  98. package/.agent/skills/local-first/SKILL.md +120 -154
  99. package/.agent/skills/mcp-builder/SKILL.md +84 -118
  100. package/.agent/skills/mobile-design/SKILL.md +213 -219
  101. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  102. package/.agent/skills/nextjs-react-expert/SKILL.md +99 -698
  103. package/.agent/skills/nodejs-best-practices/SKILL.md +498 -559
  104. package/.agent/skills/observability/SKILL.md +293 -330
  105. package/.agent/skills/parallel-agents/SKILL.md +88 -122
  106. package/.agent/skills/performance-profiling/SKILL.md +217 -254
  107. package/.agent/skills/plan-writing/SKILL.md +84 -118
  108. package/.agent/skills/platform-engineer/SKILL.md +89 -123
  109. package/.agent/skills/playwright-best-practices/SKILL.md +128 -162
  110. package/.agent/skills/powershell-windows/SKILL.md +112 -146
  111. package/.agent/skills/python-patterns/SKILL.md +7 -35
  112. package/.agent/skills/python-pro/SKILL.md +148 -754
  113. package/.agent/skills/react-specialist/SKILL.md +123 -827
  114. package/.agent/skills/readme-builder/SKILL.md +15 -85
  115. package/.agent/skills/realtime-patterns/SKILL.md +269 -304
  116. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  117. package/.agent/skills/rust-pro/SKILL.md +623 -701
  118. package/.agent/skills/seo-fundamentals/SKILL.md +120 -154
  119. package/.agent/skills/server-management/SKILL.md +156 -190
  120. package/.agent/skills/shadcn-ui-expert/SKILL.md +172 -206
  121. package/.agent/skills/skill-creator/SKILL.md +18 -58
  122. package/.agent/skills/sql-pro/SKILL.md +579 -633
  123. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  124. package/.agent/skills/swiftui-expert/SKILL.md +142 -176
  125. package/.agent/skills/systematic-debugging/SKILL.md +84 -118
  126. package/.agent/skills/tailwind-patterns/SKILL.md +516 -576
  127. package/.agent/skills/tdd-workflow/SKILL.md +103 -137
  128. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  129. package/.agent/skills/testing-patterns/SKILL.md +512 -573
  130. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  131. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  132. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  133. package/.agent/skills/vue-expert/SKILL.md +127 -866
  134. package/.agent/skills/vulnerability-scanner/SKILL.md +354 -269
  135. package/.agent/skills/web-accessibility-auditor/SKILL.md +159 -193
  136. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  137. package/.agent/skills/webapp-testing/SKILL.md +111 -145
  138. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  139. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  140. package/.agent/workflows/api-tester.md +151 -151
  141. package/.agent/workflows/audit.md +127 -138
  142. package/.agent/workflows/brainstorm.md +110 -110
  143. package/.agent/workflows/changelog.md +112 -112
  144. package/.agent/workflows/create.md +124 -124
  145. package/.agent/workflows/debug.md +165 -189
  146. package/.agent/workflows/deploy.md +180 -189
  147. package/.agent/workflows/enhance.md +128 -151
  148. package/.agent/workflows/fix.md +114 -135
  149. package/.agent/workflows/generate.md +12 -4
  150. package/.agent/workflows/migrate.md +160 -160
  151. package/.agent/workflows/orchestrate.md +168 -168
  152. package/.agent/workflows/performance-benchmarker.md +114 -123
  153. package/.agent/workflows/plan.md +173 -173
  154. package/.agent/workflows/preview.md +80 -80
  155. package/.agent/workflows/refactor.md +161 -183
  156. package/.agent/workflows/review-ai.md +101 -129
  157. package/.agent/workflows/review.md +116 -116
  158. package/.agent/workflows/session.md +94 -94
  159. package/.agent/workflows/status.md +79 -79
  160. package/.agent/workflows/strengthen-skills.md +138 -139
  161. package/.agent/workflows/swarm.md +179 -179
  162. package/.agent/workflows/test.md +189 -211
  163. package/.agent/workflows/tribunal-backend.md +93 -113
  164. package/.agent/workflows/tribunal-database.md +94 -115
  165. package/.agent/workflows/tribunal-frontend.md +95 -118
  166. package/.agent/workflows/tribunal-full.md +92 -133
  167. package/.agent/workflows/tribunal-mobile.md +94 -119
  168. package/.agent/workflows/tribunal-performance.md +109 -133
  169. package/.agent/workflows/ui-ux-pro-max.md +122 -143
  170. package/package.json +1 -1
  171. package/.agent/skills/api-patterns/api-style.md +0 -42
  172. package/.agent/skills/api-patterns/auth.md +0 -24
  173. package/.agent/skills/api-patterns/documentation.md +0 -26
  174. package/.agent/skills/api-patterns/graphql.md +0 -41
  175. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  176. package/.agent/skills/api-patterns/response.md +0 -37
  177. package/.agent/skills/api-patterns/rest.md +0 -40
  178. package/.agent/skills/api-patterns/security-testing.md +0 -122
  179. package/.agent/skills/api-patterns/trpc.md +0 -41
  180. package/.agent/skills/api-patterns/versioning.md +0 -22
  181. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  182. package/.agent/skills/app-builder/feature-building.md +0 -53
  183. package/.agent/skills/app-builder/project-detection.md +0 -34
  184. package/.agent/skills/app-builder/scaffolding.md +0 -118
  185. package/.agent/skills/app-builder/tech-stack.md +0 -40
  186. package/.agent/skills/architecture/context-discovery.md +0 -43
  187. package/.agent/skills/architecture/examples.md +0 -94
  188. package/.agent/skills/architecture/pattern-selection.md +0 -68
  189. package/.agent/skills/architecture/patterns-reference.md +0 -50
  190. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  191. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  192. package/.agent/skills/database-design/database-selection.md +0 -43
  193. package/.agent/skills/database-design/indexing.md +0 -39
  194. package/.agent/skills/database-design/migrations.md +0 -48
  195. package/.agent/skills/database-design/optimization.md +0 -36
  196. package/.agent/skills/database-design/orm-selection.md +0 -30
  197. package/.agent/skills/database-design/schema-design.md +0 -56
  198. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  199. package/.agent/skills/frontend-design/color-system.md +0 -329
  200. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  201. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  202. package/.agent/skills/frontend-design/typography-system.md +0 -363
  203. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  204. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  205. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  206. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  207. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  208. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  209. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  210. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  211. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  212. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  213. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  214. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  215. package/.agent/skills/mobile-design/platform-android.md +0 -666
  216. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  217. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  218. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  219. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  220. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  221. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  222. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  223. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  224. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  225. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  226. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
@@ -0,0 +1,202 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ deep_compress.py - Deep surgical compression for .agent/ markdown files (skills, agents, workflows).
4
+ Targets: repetitive boilerplate, verbose code comments, redundant example sections.
5
+ Safe: never removes H1/H2 headers, never removes HALLUCINATION TRAP lines, never removes code blocks entirely.
6
+ """
7
+
8
+ import os, re, sys
9
+
10
+ BASE_DIRS = ['.agent/skills', '.agent/agents', '.agent/workflows']
11
+
12
+ # ─── SECTION REMOVAL ─────────────────────────────────────────────────────────
13
+ # These are globally covered by GEMINI.md — strip from all files
14
+
15
+ REMOVE_SECTIONS = [
16
+ r'(?ms)^## 🏛️ Tribunal Integration.*?(?=^## |\Z)',
17
+ r'(?ms)^## Tribunal Integration.*?(?=^## |\Z)',
18
+ r'(?ms)^### ✅ Pre-Flight Self-Audit.*?(?=^### |^## |\Z)',
19
+ r'(?ms)^## Pre-Flight Self-Audit.*?(?=^## |\Z)',
20
+ r'(?ms)^## Cross-Workflow Navigation.*?(?=^## |\Z)',
21
+ r'(?ms)^## LLM Traps.*?(?=^## |\Z)',
22
+ r'(?ms)^## VBC Protocol.*?(?=^## |\Z)',
23
+ r'(?ms)^## Output Format\n```[\s\S]*?```\n',
24
+ r'(?ms)^## 🤖 LLM-Specific Traps.*?(?=^## |\Z)', # covered in GEMINI.md
25
+ ]
26
+
27
+ # ─── VERBOSE COMMENT REMOVAL IN CODE BLOCKS ──────────────────────────────────
28
+ # Removes lines that just restate the concept being shown — pure padding
29
+
30
+ VERBOSE_COMMENT_PATTERNS = [
31
+ # e.g. "// Any HTML or SVG element can be prefixed with `motion.`"
32
+ r"(?m)^(\s*)//\s*(?:Any HTML or SVG element|motion\.div, motion\.span|The MAGIC of|This is the key performance|The pattern that|Compound components share|Note that children|The action receives|Children inherit the|Import first|Parent controls when|It's always motion)\b[^\n]*\n",
33
+ # e.g. "# TypedDict gives you autocomplete..."
34
+ r"(?m)^(\s*)#\s*(?:TypedDict gives you|Usage:|Note:|Return user|Return None|Automatically)\b[^\n]*\n",
35
+ # Obvious standalone "// Usage:" label inside code blocks
36
+ r"(?m)^\s*//\s*Usage:\s*\n(?=\s*[<{])",
37
+ r"(?m)^\s*#\s*Usage:\s*\n(?=\s*[{])",
38
+ # "// When server responds..." style obvious follow-on comment
39
+ r"(?m)^\s*//\s*When (?:server responds|a component|React can interrupt|the React Compiler)[^\n]*\n",
40
+ ]
41
+
42
+ # ─── CHATTY SENTENCE REMOVAL BEFORE FIRST CODE BLOCK ─────────────────────────
43
+ # Removes motivational opener sentences: "X is a paradigm shift. If you..."
44
+
45
+ def strip_chatty_openers(content):
46
+ """Remove 2-3 sentence filler paragraphs between H1 and first ---"""
47
+ return re.sub(
48
+ r'(^# .+\n)\n.{60,}\n.{30,}\n(?:\n---)',
49
+ r'\1\n---',
50
+ content,
51
+ flags=re.MULTILINE
52
+ )
53
+
54
+ # ─── COLLAPSE NESTED IDENTICAL EXAMPLES ──────────────────────────────────────
55
+ # Many files have "// Legacy" vs "// Modern" comments — compress to 1 block
56
+
57
+ def compress_legacy_modern_blocks(content):
58
+ """Convert // LEGACY + // MODERN dual examples into compact diff-style"""
59
+ # Pattern: code block with ❌ LEGACY followed immediately by ✅ MODERN
60
+ pattern = re.compile(
61
+ r'```(\w+)\n((?:.*\n)*?.*// ❌ LEGACY[^\n]*\n(?:.*\n)*?)```\n\n```\w+\n((?:.*\n)*?.*// ✅ MODERN[^\n]*\n(?:.*\n)*?)```',
62
+ re.MULTILINE
63
+ )
64
+ # Only compress if the whole block is < 30 lines total
65
+ def compress(m):
66
+ total_lines = m.group(2).count('\n') + m.group(3).count('\n')
67
+ if total_lines > 28:
68
+ return m.group(0) # too big to safely merge — leave alone
69
+ lang = m.group(1)
70
+ legacy = m.group(2).strip()
71
+ modern = m.group(3).strip()
72
+ return f'```{lang}\n// ❌ LEGACY\n{legacy}\n\n// ✅ MODERN\n{modern}\n```'
73
+ return pattern.sub(compress, content)
74
+
75
+ # ─── STRIP EMPTY COMMENT LINES ───────────────────────────────────────────────
76
+ def strip_empty_comments(content):
77
+ """Remove lines that are ONLY // or #"""
78
+ content = re.sub(r'(?m)^\s*//\s*$\n', '', content)
79
+ content = re.sub(r'(?m)^\s*#\s*$\n', '', content)
80
+ return content
81
+
82
+ # ─── TRIM REPEATED RULES (dedup consecutive bullet points in same section) ───
83
+ def dedup_bullet_points(content):
84
+ """Remove exact duplicate bullet point lines (often copy-pasted across sections)."""
85
+ lines = content.split('\n')
86
+ seen_bullets = {}
87
+ output = []
88
+ for i, line in enumerate(lines):
89
+ stripped = line.strip()
90
+ if stripped.startswith(('✅', '❌', '- ✅', '- ❌')):
91
+ if stripped in seen_bullets and i - seen_bullets[stripped] < 80:
92
+ continue # skip duplicate within 80 lines
93
+ seen_bullets[stripped] = i
94
+ output.append(line)
95
+ return '\n'.join(output)
96
+
97
+ # ─── COLLAPSE BLANKS ─────────────────────────────────────────────────────────
98
+ def collapse_blanks(content):
99
+ return re.sub(r'\n{3,}', '\n\n', content)
100
+
101
+ # ─── REMOVE REDUNDANT IMPORTS IN COMMENTS ────────────────────────────────────
102
+ # Some files have // import { x } from "y" repeated in every example
103
+
104
+ def compress_import_repetition(content):
105
+ """If same import line appears in 3+ separate code blocks, add a note and strip repetitions."""
106
+ import_line = re.compile(r'import \{[^}]+\} from "[^"]+";')
107
+ matches = import_line.findall(content)
108
+ freq = {}
109
+ for m in matches:
110
+ freq[m] = freq.get(m, 0) + 1
111
+
112
+ for imp, count in freq.items():
113
+ if count >= 4:
114
+ # First occurrence: keep it. Subsequent ones: replace with comment
115
+ first_done = [False]
116
+ def replacer(m, imp=imp, first_done=first_done):
117
+ if m.group(0) == imp:
118
+ if not first_done[0]:
119
+ first_done[0] = True
120
+ return m.group(0)
121
+ return f'// {imp} ← (already imported above)'
122
+ return m.group(0)
123
+ content = import_line.sub(replacer, content)
124
+ return content
125
+
126
+ # ─── MAIN PIPELINE ──────────────────────────────────────────────────────────
127
+
128
+ def compress_file(path):
129
+ with open(path, 'r', encoding='utf-8', errors='ignore') as f:
130
+ original = f.read()
131
+
132
+ content = original
133
+
134
+ # 1. Strip global boilerplate sections
135
+ for pattern in REMOVE_SECTIONS:
136
+ content = re.sub(pattern, '', content)
137
+
138
+ # 2. Strip chatty openers
139
+ content = strip_chatty_openers(content)
140
+
141
+ # 3. Compress legacy/modern dual blocks
142
+ content = compress_legacy_modern_blocks(content)
143
+
144
+ # 4. Verbose inline code comment removal
145
+ for pattern in VERBOSE_COMMENT_PATTERNS:
146
+ content = re.sub(pattern, '', content)
147
+
148
+ # 5. Strip empty comment lines
149
+ content = strip_empty_comments(content)
150
+
151
+ # 6. Deduplicate bullet points
152
+ content = dedup_bullet_points(content)
153
+
154
+ # 7. Collapse 3+ blank lines
155
+ content = collapse_blanks(content)
156
+
157
+ # Write back only if changed
158
+ if content.strip() != original.strip():
159
+ with open(path, 'w', encoding='utf-8') as f:
160
+ f.write(content.strip() + '\n')
161
+
162
+ return len(original), len(content)
163
+
164
+ def main():
165
+ total_orig = 0
166
+ total_new = 0
167
+ file_results = []
168
+
169
+ for base in BASE_DIRS:
170
+ if not os.path.exists(base):
171
+ continue
172
+ for root, _, files in os.walk(base):
173
+ for fname in files:
174
+ if fname.endswith('.md'):
175
+ path = os.path.join(root, fname)
176
+ orig, new = compress_file(path)
177
+ total_orig += orig
178
+ total_new += new
179
+ saved = orig - new
180
+ if saved > 200:
181
+ rel = os.path.relpath(path, '.')
182
+ file_results.append((saved, rel))
183
+
184
+ file_results.sort(reverse=True)
185
+
186
+ saved_total = total_orig - total_new
187
+ pct = saved_total / total_orig * 100 if total_orig else 0
188
+
189
+ print(f"\n{'='*58}")
190
+ print(f" Deep Compression Complete")
191
+ print(f"{'='*58}")
192
+ print(f" Original : {total_orig:,} bytes ({total_orig//1024}KB)")
193
+ print(f" After : {total_new:,} bytes ({total_new//1024}KB)")
194
+ print(f" Saved : {saved_total:,} bytes ({saved_total//1024}KB) — {pct:.1f}%")
195
+ print(f"\n Top savings:")
196
+ for saved, path in file_results[:20]:
197
+ skill = '/'.join(path.replace('\\','/').split('/')[-2:])
198
+ print(f" -{saved//1024:2}KB {skill}")
199
+ print()
200
+
201
+ if __name__ == '__main__':
202
+ main()
@@ -0,0 +1,80 @@
1
+ import os
2
+ import re
3
+
4
+ def minify_markdown(file_path):
5
+ with open(file_path, 'r', encoding='utf-8') as f:
6
+ content = f.read()
7
+
8
+ original_len = len(content)
9
+
10
+ # 1. Strip repetitive Output Format templates (These are huge and the LLM already knows how to output the Tribunal format from GEMINI.md)
11
+ content = re.sub(r'## Output Format\n\n```[\s\S]*?```\n', '', content)
12
+
13
+ # 2. Convert bloated Cross-Workflow Navigation tables to dense YAML lists
14
+ # Find tables under Cross-Workflow Navigation
15
+ def replace_table_with_list(match):
16
+ table_text = match.group(0)
17
+ lines = table_text.strip().split('\n')
18
+ out = []
19
+ for line in lines:
20
+ if line.startswith('|') and not line.startswith('|:') and not line.startswith('| After'):
21
+ parts = [p.strip() for p in line.split('|') if p.strip()]
22
+ if len(parts) >= 2:
23
+ out.append(f"- {parts[0]} -> {parts[1]}")
24
+ return "\n".join(out) + "\n"
25
+
26
+ content = re.sub(r'## Cross-Workflow Navigation\n\n\|.*?\|[\s\S]*?(?=\n## |\Z)', lambda m: '## Cross-Workflow Navigation\n' + replace_table_with_list(m), content)
27
+
28
+ # 3. Collapse multiple empty lines into a single one
29
+ content = re.sub(r'\n{3,}', '\n\n', content)
30
+
31
+ # 4. Remove padding from remaining tables to save space tokens
32
+ def unpad_table(match):
33
+ line = match.group(0)
34
+ # remove spaces around |
35
+ line = re.sub(r'\s+\|\s+', '|', line)
36
+ line = re.sub(r'\|\s+', '|', line)
37
+ line = re.sub(r'\s+\|', '|', line)
38
+ return line
39
+ content = re.sub(r'^\|.+|$', unpad_table, content, flags=re.MULTILINE)
40
+
41
+ # 5. Remove conversational blockquotes > if they don't contain WARNING/NOTE/IMPORTANT
42
+ def remove_conversational_quotes(match):
43
+ text = match.group(0)
44
+ if '⚠️' in text or 'WARNING' in text or 'CRITICAL' in text or '!' in text:
45
+ return text
46
+ # Otherwise just return the text without quote
47
+ return text.replace('> ', '').replace('>', '')
48
+ content = re.sub(r'^>.*$', remove_conversational_quotes, content, flags=re.MULTILINE)
49
+
50
+ # 6. Dense Examples (convert ❌ Bad: and ✅ Good: blocks to single lines)
51
+ content = content.replace('\n❌ Bad:', ' ❌')
52
+ content = content.replace('\n✅ Good:', ' ✅')
53
+
54
+ with open(file_path, 'w', encoding='utf-8') as f:
55
+ f.write(content)
56
+
57
+ return original_len, len(content)
58
+
59
+ def main():
60
+ agent_dir = os.path.join('.agent')
61
+ total_original = 0
62
+ total_new = 0
63
+
64
+ for root, _, files in os.walk(agent_dir):
65
+ for file in files:
66
+ if file.endswith('.md'):
67
+ file_path = os.path.join(root, file)
68
+ orig, new = minify_markdown(file_path)
69
+ total_original += orig
70
+ total_new += new
71
+
72
+ saved = total_original - total_new
73
+ percent = (saved / total_original * 100) if total_original > 0 else 0
74
+ print(f"Minification Complete.")
75
+ print(f"Original size: {total_original} bytes")
76
+ print(f"New size: {total_new} bytes")
77
+ print(f"Saved: {saved} bytes ({percent:.1f}%)")
78
+
79
+ if __name__ == '__main__':
80
+ main()
@@ -32,7 +32,7 @@ BOLD = "\033[1m"
32
32
  RESET = "\033[0m"
33
33
 
34
34
  SOURCE_EXTENSIONS = {".ts", ".tsx", ".js", ".jsx", ".py", ".go", ".java", ".rb"}
35
- SKIP_DIRS = {"node_modules", ".git", "dist", "build", "__pycache__", ".agent", ".next", "vendor"}
35
+ SKIP_DIRS = {"node_modules", ".git", "dist", "build", "__pycache__", ".agent", ".next", "vendor", "coverage", "lcov-report", ".nyc_output", "test-results", ".jest-cache"}
36
36
 
37
37
 
38
38
  @dataclass
@@ -0,0 +1,41 @@
1
+ import os
2
+ import re
3
+
4
+ def strip_boilerplate(file_path):
5
+ with open(file_path, 'r', encoding='utf-8') as f:
6
+ content = f.read()
7
+
8
+ original_len = len(content)
9
+
10
+ # Regex to find everything from "## 🏛️ Tribunal Integration" (or without emojis) to the end of the file or next major H1
11
+ # Often it appears at the end of agents
12
+ content = re.sub(r'## 🏛️ Tribunal Integration[\s\S]*?(?=\n# |\Z)', '', content)
13
+ content = re.sub(r'## Tribunal Integration[\s\S]*?(?=\n# |\Z)', '', content)
14
+
15
+ # Strip Cross-Workflow Navigation since GEMINI.md has global handling
16
+ content = re.sub(r'## Cross-Workflow Navigation[\s\S]*?(?=\n# |\Z)', '', content)
17
+
18
+ # Strip What the Maker Is Not Allowed to Do (it's in GEMINI.md)
19
+ content = re.sub(r'## What the Maker Is Not Allowed to Do[\s\S]*?(?=\n# |\Z)', '', content)
20
+
21
+ with open(file_path, 'w', encoding='utf-8') as f:
22
+ f.write(content.strip() + '\n')
23
+
24
+ return original_len, len(content)
25
+
26
+ def main():
27
+ dirs_to_check = ['.agent/agents', '.agent/workflows']
28
+ total_stripped = 0
29
+
30
+ for d in dirs_to_check:
31
+ if not os.path.exists(d): continue
32
+ for file in os.listdir(d):
33
+ if file.endswith('.md'):
34
+ file_path = os.path.join(d, file)
35
+ orig, new = strip_boilerplate(file_path)
36
+ total_stripped += (orig - new)
37
+
38
+ print(f"Stripped {total_stripped} bytes of repetitive boilerplate.")
39
+
40
+ if __name__ == '__main__':
41
+ main()
@@ -1,126 +1,92 @@
1
- ---
2
- name: agent-organizer
3
- description: Master Agent orchestration framework. Coordination of sub-agents, workflow definitions, delegation patterns, state management across conversations, memory distillation, and execution loops. Use when assembling multi-agent systems or managing complex agent-to-agent architectures.
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 2.0.0
6
- last-updated: 2026-04-02
7
- applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
- ---
9
-
10
- # Agent Organizer — Multi-Agent Orchestration Mastery
11
-
12
- > A single monolithic agent degrades as context grows.
13
- > Multi-agent architectures succeed through strict encapsulation, clear interfaces, and context-budgeting.
14
-
15
- ---
16
-
17
- ## 1. The Delegation Sub-Agent Pattern
18
-
19
- Agents should defer specific domain problems to specialized sub-agents.
20
-
21
- ```json
22
- // Define the payload contract the Worker Agent expects
23
- {
24
- "taskId": "task-auth-migration-01",
25
- "workerRole": "api-security-auditor",
26
- "isolatedContext": {
27
- "filesToScan": ["src/login.ts", "src/middleware.ts"],
28
- "objective": "Identify unprotected mass assignments"
29
- },
30
- "requiredOutputFormat": "json_list"
31
- }
32
- ```
33
-
34
- ### Delegation Rules:
35
- 1. **Never pass full histories:** Do not pass the entire conversation history to a worker sub-agent. Extract only the exact files and goal context required. (Context Window Budgeting).
36
- 2. **Clear Boundaries:** If the worker is fixing CSS, it must not invent logic for the database.
37
- 3. **Structured Handoff:** The parent agent requests JSON from the worker, parses it, and then acts. Let machines talk to machines through syntax, not prose.
38
-
39
- ---
40
-
41
- ## 2. Execution Loops (Supervisor Pattern)
42
-
43
- A Supervisor decides *who* works and *when*, but does not execute the work.
44
-
45
- ```
46
- [User Request: "Add OAuth and secure it"]
47
- |
48
- [Supervisor Agent analyzing required skills...]
49
- |
50
- ├─> [Dispatches: authentication-best-practices]
51
- | (Worker builds OAuth implementation)
52
- |
53
- ├─> [Dispatches: api-security-auditor]
54
- | (Worker reviews implementation against OWASP)
55
- |
56
- [Supervisor Agent synthesizes findings]
57
- |
58
- [Action Executed / Git Commit]
59
- ```
60
-
61
- ### Handoff Signals
62
- A worker must return definitive state signals when yielding control:
63
- - `COMPLETE`: Goal achieved. Final diff generated.
64
- - `BLOCKED`: Missing context (e.g., "I need the `.env` schema").
65
- - `ERROR`: Script failed, requires manual Supervisor intervention.
66
-
67
- ---
68
-
69
- ## 3. Session State Management (Memory)
70
-
71
- Agents lose memory across boundaries. The Organizer must explicitly persist context.
72
-
73
- 1. **Short-Term Context:** Maintained natively in the active LLM context window.
74
- 2. **Task State:** Maintained locally in `task.md`. Workers check-in and check-out checkboxes.
75
- 3. **Long-Term Memory:** "Knowledge Items" (KIs). Distilling massive conversations down into a single `learnings.json` file injected on subsequent startups.
76
-
77
- ```markdown
78
- <!-- task.md (The Global Execution State) -->
79
- # Current Objective: Build Chat Feature
80
- - [x] Initialize websocket connection
81
- - [/] (Worker: frontend-specialist) Build Chat UI component
82
- - [ ] (Worker: realtime-patterns) Implement presence sync
83
- ```
84
-
85
- ---
86
-
87
- ## 4. The Human-in-the-Loop (Socratic Gate)
88
-
89
- Automation without oversight is reckless. The Organizer manages when to pause and query the human.
90
-
91
- **Mandatory Gates:**
92
- 1. **Approval Gate (Before Execution):** "I have drafted the architecture plan. Do you approve execution?"
93
- 2. **Recovery Gate (After 3 Failures):** "The database migration script has failed 3 times. I am halting. How would you like to proceed?"
94
-
95
- ---
96
-
97
- ## 🤖 LLM-Specific Traps (Agent Organization)
98
-
99
- 1. **The Context Dump:** Sending highly-specialized worker agents the entire chat transcript. Workers become confused by the broader goals instead of focusing on their localized task.
100
- 2. **Infinite Loops:** Having two agents argue with each other (e.g., Code Generator vs Linter) infinitely. The Organizer MUST implement a hard limit (e.g., max 3 iterations) before halting and escalating to the human.
101
- 3. **God-Agent Regression:** The Organizer attempting to write the code itself instead of actively routing the request to the designated `python-pro` or `react-specialist`.
102
- 4. **Vague Instructions:** Delegating tasks with "Fix the UI" instead of "Review `src/Header.tsx` and adjust padding to standard 4px increments."
103
- 5. **Loss of Task Tracking:** Delegating multiple tasks in parallel and forgetting to update the central tracking `task.md` file, leading to redundant work or dropped constraints.
104
- 6. **Premature Completion:** The Supervisor telling the user the workflow is finished before the individual worker agents have successfully returned positive exit signals.
105
- 7. **Ignoring Worker Feedback:** A worker agent returns `BLOCKED` due to missing dependencies, and the Supervisor blindly continues executing the next dependent step in the workflow.
106
- 8. **Format Mixing:** Expecting natural language responses from a worker, but feeding it into a CLI script that expects structured JSON parameters.
107
- 9. **No Fallback State:** Dispatching a worker to modify files without snapshotting/branching. If the worker hallucinates, there is no easy rollback.
108
- 10. **Bypassing the Socratic Gate:** Autonomous agents deciding on major architectural pivots without seeking explicit human confirmation first.
109
-
110
- ---
111
-
112
- ## 🏛️ Tribunal Integration
113
-
114
- ### ✅ Pre-Flight Self-Audit
115
- ```
116
- ✅ Are instructions sent to worker agents localized, stripped of unnecessary global context?
117
- ✅ Has a strict maximum-iteration limit been defined to prevent infinite agent argument loops?
118
- ✅ Is the global state properly documented and maintained within the `task.md` file?
119
- ✅ Did the Organizer strictly act as a router rather than assuming execution duties?
120
- ✅ Are worker agent responses processed using strict formatting (e.g., JSON schemas)?
121
- ✅ Have human-in-the-loop Approval Gates been enforced prior to destructive actions?
122
- ✅ Are dependencies formally mapped (e.g., Backend Worker must finish before Frontend Worker begins)?
123
- ✅ Are worker failure states (`BLOCKED`, `ERROR`) explicitly caught and handled by the Supervisor?
124
- ✅ Does the system gracefully halt and explicitly prompt the user after 3 sequential execution failures?
125
- ✅ Did I ensure the worker relies on explicitly designated skills/manifests rather than generalized knowledge?
126
- ```
1
+ ---
2
+ name: agent-organizer
3
+ description: Master Agent orchestration framework. Coordination of sub-agents, workflow definitions, delegation patterns, state management across conversations, memory distillation, and execution loops. Use when assembling multi-agent systems or managing complex agent-to-agent architectures.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 2.0.0
6
+ last-updated: 2026-04-02
7
+ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
+ ---
9
+
10
+ # Agent Organizer — Multi-Agent Orchestration Mastery
11
+
12
+ ---
13
+
14
+ ## 1. The Delegation Sub-Agent Pattern
15
+
16
+ Agents should defer specific domain problems to specialized sub-agents.
17
+
18
+ ```json
19
+ // Define the payload contract the Worker Agent expects
20
+ {
21
+ "taskId": "task-auth-migration-01",
22
+ "workerRole": "api-security-auditor",
23
+ "isolatedContext": {
24
+ "filesToScan": ["src/login.ts", "src/middleware.ts"],
25
+ "objective": "Identify unprotected mass assignments"
26
+ },
27
+ "requiredOutputFormat": "json_list"
28
+ }
29
+ ```
30
+
31
+ ### Delegation Rules:
32
+ 1. **Never pass full histories:** Do not pass the entire conversation history to a worker sub-agent. Extract only the exact files and goal context required. (Context Window Budgeting).
33
+ 2. **Clear Boundaries:** If the worker is fixing CSS, it must not invent logic for the database.
34
+ 3. **Structured Handoff:** The parent agent requests JSON from the worker, parses it, and then acts. Let machines talk to machines through syntax, not prose.
35
+
36
+ ---
37
+
38
+ ## 2. Execution Loops (Supervisor Pattern)
39
+
40
+ A Supervisor decides *who* works and *when*, but does not execute the work.
41
+
42
+ ```
43
+ [User Request: "Add OAuth and secure it"]
44
+ |
45
+ [Supervisor Agent analyzing required skills...]
46
+ |
47
+ ├─> [Dispatches: authentication-best-practices]
48
+ | (Worker builds OAuth implementation)
49
+ |
50
+ ├─> [Dispatches: api-security-auditor]
51
+ | (Worker reviews implementation against OWASP)
52
+ |
53
+ [Supervisor Agent synthesizes findings]
54
+ |
55
+ [Action Executed / Git Commit]
56
+ ```
57
+
58
+ ### Handoff Signals
59
+ A worker must return definitive state signals when yielding control:
60
+ - `COMPLETE`: Goal achieved. Final diff generated.
61
+ - `BLOCKED`: Missing context (e.g., "I need the `.env` schema").
62
+ - `ERROR`: Script failed, requires manual Supervisor intervention.
63
+
64
+ ---
65
+
66
+ ## 3. Session State Management (Memory)
67
+
68
+ Agents lose memory across boundaries. The Organizer must explicitly persist context.
69
+
70
+ 1. **Short-Term Context:** Maintained natively in the active LLM context window.
71
+ 2. **Task State:** Maintained locally in `task.md`. Workers check-in and check-out checkboxes.
72
+ 3. **Long-Term Memory:** "Knowledge Items" (KIs). Distilling massive conversations down into a single `learnings.json` file injected on subsequent startups.
73
+
74
+ ```markdown
75
+ <!-- task.md (The Global Execution State) -->
76
+ # Current Objective: Build Chat Feature
77
+ - [x] Initialize websocket connection
78
+ - [/] (Worker: frontend-specialist) Build Chat UI component
79
+ - [ ] (Worker: realtime-patterns) Implement presence sync
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 4. The Human-in-the-Loop (Socratic Gate)
85
+
86
+ Automation without oversight is reckless. The Organizer manages when to pause and query the human.
87
+
88
+ **Mandatory Gates:**
89
+ 1. **Approval Gate (Before Execution):** "I have drafted the architecture plan. Do you approve execution?"
90
+ 2. **Recovery Gate (After 3 Failures):** "The database migration script has failed 3 times. I am halting. How would you like to proceed?"
91
+
92
+ ---
@@ -9,9 +9,6 @@ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
9
9
 
10
10
  # Agentic Patterns
11
11
 
12
- > An agent is a loop. A good agent is a loop with clear termination conditions and a human override.
13
- > An agent without guardrails is a liability, not a feature.
14
-
15
12
  ---
16
13
 
17
14
  ## The Agent Loop
@@ -265,71 +262,4 @@ VBC status: PENDING → VERIFIED
265
262
  Evidence: [link to terminal output, test result, or file diff]
266
263
  ```
267
264
 
268
-
269
- ---
270
-
271
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
272
-
273
- **Slash command: `/review-ai`**
274
- **Active reviewers: `logic` · `security` · `ai-code-reviewer`**
275
-
276
- ### ❌ Forbidden AI Tropes in Agentic Systems
277
-
278
- 1. **Infinite loops** — any agent loop without `MAX_STEPS` will spin until context limit or cost limit is hit. Always define a hard cap.
279
- 2. **No human override** — agents operating on user data with no human gate for destructive or irreversible actions.
280
- 3. **Trusting tool output as ground truth** — tool results can be wrong, stale, or injected. Always validate before acting on them.
281
- 4. **Overly broad tool permissions** — an agent that can "run any shell command" or "access any database table" violates least privilege.
282
- 5. **No cost cap** — `Promise.all(100 tasks × $0.10 each)` = $10 surprise bill per trigger. Set cost limits at the session level.
283
-
284
- ### ✅ Pre-Flight Self-Audit
285
-
286
- ```
287
- ✅ Is there a hard MAX_STEPS limit on every agent loop?
288
- ✅ Are irreversible actions gated behind human approval?
289
- ✅ Are tool results validated before being acted upon?
290
- ✅ Does each agent follow least-privilege tool access (not "all tools")?
291
- ✅ Is there a per-session token and cost cap?
292
- ✅ Is there an output guardrail checking for hallucinated citations or schema violations?
293
- ```
294
-
295
-
296
- ---
297
-
298
- ## 🤖 LLM-Specific Traps
299
-
300
- AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
301
-
302
- 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
303
- 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
304
- 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
305
- 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
306
- 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
307
-
308
265
  ---
309
-
310
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
311
-
312
- **Slash command: `/review` or `/tribunal-full`**
313
- **Active reviewers: `logic-reviewer` · `security-auditor`**
314
-
315
- ### ❌ Forbidden AI Tropes
316
-
317
- 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
318
- 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
319
- 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
320
-
321
- ### ✅ Pre-Flight Self-Audit
322
-
323
- Review these questions before confirming output:
324
- ```
325
- ✅ Did I rely ONLY on real, verified tools and methods?
326
- ✅ Is this solution appropriately scoped to the user's constraints?
327
- ✅ Did I handle potential failure modes and edge cases?
328
- ✅ Have I avoided generic boilerplate that doesn't add value?
329
- ```
330
-
331
- ### 🛑 Verification-Before-Completion (VBC) Protocol
332
-
333
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
334
- - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
335
- - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.