tribunal-kit 4.5.0 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/ARCHITECTURE.md +279 -277
- package/.agent/GEMINI.md +127 -121
- package/.agent/agents/accessibility-reviewer.md +187 -187
- package/.agent/agents/ai-code-reviewer.md +199 -199
- package/.agent/agents/api-architect.md +71 -66
- package/.agent/agents/backend-specialist.md +219 -215
- package/.agent/agents/cloud-engineer.md +98 -0
- package/.agent/agents/code-archaeologist.md +168 -161
- package/.agent/agents/database-architect.md +184 -184
- package/.agent/agents/db-latency-auditor.md +213 -216
- package/.agent/agents/debugger.md +198 -191
- package/.agent/agents/dependency-reviewer.md +106 -103
- package/.agent/agents/devops-engineer.md +218 -218
- package/.agent/agents/documentation-writer.md +209 -201
- package/.agent/agents/explorer-agent.md +167 -160
- package/.agent/agents/frontend-reviewer.md +162 -160
- package/.agent/agents/frontend-specialist.md +257 -248
- package/.agent/agents/game-developer.md +48 -48
- package/.agent/agents/logic-reviewer.md +118 -116
- package/.agent/agents/mobile-developer.md +197 -200
- package/.agent/agents/mobile-reviewer.md +159 -162
- package/.agent/agents/orchestrator.md +187 -181
- package/.agent/agents/penetration-tester.md +160 -157
- package/.agent/agents/performance-optimizer.md +183 -183
- package/.agent/agents/performance-reviewer.md +178 -178
- package/.agent/agents/precedence-reviewer.md +251 -250
- package/.agent/agents/product-manager.md +149 -142
- package/.agent/agents/product-owner.md +81 -80
- package/.agent/agents/project-planner.md +152 -142
- package/.agent/agents/qa-automation-engineer.md +216 -225
- package/.agent/agents/resilience-reviewer.md +88 -88
- package/.agent/agents/schema-reviewer.md +67 -67
- package/.agent/agents/security-auditor.md +180 -174
- package/.agent/agents/seo-specialist.md +188 -193
- package/.agent/agents/sql-reviewer.md +159 -161
- package/.agent/agents/supervisor-agent.md +173 -184
- package/.agent/agents/swarm-worker-contracts.md +170 -166
- package/.agent/agents/swarm-worker-registry.md +92 -92
- package/.agent/agents/system-architect.md +85 -0
- package/.agent/agents/test-coverage-reviewer.md +158 -160
- package/.agent/agents/test-engineer.md +118 -118
- package/.agent/agents/throughput-optimizer.md +291 -299
- package/.agent/agents/type-safety-reviewer.md +182 -175
- package/.agent/agents/ui-ux-auditor.md +300 -292
- package/.agent/agents/vitals-reviewer.md +223 -223
- package/.agent/mcp_config.json +37 -40
- package/.agent/patterns/generator.md +11 -9
- package/.agent/patterns/inversion.md +14 -12
- package/.agent/patterns/pipeline.md +11 -9
- package/.agent/patterns/reviewer.md +15 -13
- package/.agent/patterns/tool-wrapper.md +11 -9
- package/.agent/routing_index.json +654 -0
- package/.agent/rules/GEMINI.md +358 -352
- package/.agent/scripts/compile_router.py +112 -0
- package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
- package/.agent/scripts/strengthen_skills.js +1 -1
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
- package/.agent/skills/agent-organizer/SKILL.md +156 -150
- package/.agent/skills/agentic-patterns/SKILL.md +313 -315
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
- package/.agent/skills/api-patterns/SKILL.md +253 -247
- package/.agent/skills/api-security-auditor/SKILL.md +195 -193
- package/.agent/skills/app-builder/SKILL.md +573 -572
- package/.agent/skills/app-builder/templates/SKILL.md +108 -115
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
- package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
- package/.agent/skills/architecture/SKILL.md +226 -219
- package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
- package/.agent/skills/backend-security-expert/SKILL.md +16 -2
- package/.agent/skills/bash-linux/SKILL.md +179 -179
- package/.agent/skills/behavioral-modes/SKILL.md +239 -223
- package/.agent/skills/brainstorming/SKILL.md +498 -486
- package/.agent/skills/browser-native-ai/SKILL.md +57 -4
- package/.agent/skills/building-native-ui/SKILL.md +202 -202
- package/.agent/skills/cicd-pro/SKILL.md +442 -0
- package/.agent/skills/clean-code/SKILL.md +400 -381
- package/.agent/skills/cloud-architect/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +203 -194
- package/.agent/skills/config-validator/SKILL.md +165 -165
- package/.agent/skills/containerization-pro/SKILL.md +452 -0
- package/.agent/skills/csharp-developer/SKILL.md +518 -518
- package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
- package/.agent/skills/database-design/SKILL.md +247 -240
- package/.agent/skills/deployment-procedures/SKILL.md +172 -169
- package/.agent/skills/devops-engineer/SKILL.md +345 -345
- package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
- package/.agent/skills/doc.md +209 -177
- package/.agent/skills/documentation-templates/SKILL.md +291 -279
- package/.agent/skills/edge-computing/SKILL.md +183 -181
- package/.agent/skills/error-resilience/SKILL.md +411 -428
- package/.agent/skills/extract-design-system/SKILL.md +160 -158
- package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
- package/.agent/skills/frontend-design/SKILL.md +208 -201
- package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
- package/.agent/skills/game-design-expert/SKILL.md +132 -129
- package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
- package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
- package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
- package/.agent/skills/git-pro/SKILL.md +435 -0
- package/.agent/skills/github-operations/SKILL.md +335 -329
- package/.agent/skills/gsap-core/SKILL.md +319 -308
- package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
- package/.agent/skills/gsap-performance/SKILL.md +139 -133
- package/.agent/skills/gsap-plugins/SKILL.md +486 -480
- package/.agent/skills/gsap-react/SKILL.md +202 -189
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
- package/.agent/skills/gsap-timeline/SKILL.md +165 -161
- package/.agent/skills/gsap-utils/SKILL.md +344 -338
- package/.agent/skills/harness-protocol/SKILL.md +48 -0
- package/.agent/skills/i18n-localization/SKILL.md +174 -163
- package/.agent/skills/intelligent-routing/SKILL.md +202 -246
- package/.agent/skills/knowledge-graph/SKILL.md +60 -52
- package/.agent/skills/lint-and-validate/SKILL.md +261 -261
- package/.agent/skills/llm-engineering/SKILL.md +400 -394
- package/.agent/skills/local-first/SKILL.md +178 -178
- package/.agent/skills/mcp-builder/SKILL.md +143 -142
- package/.agent/skills/mobile-design/SKILL.md +272 -263
- package/.agent/skills/monorepo-management/SKILL.md +335 -334
- package/.agent/skills/motion-engineering/SKILL.md +266 -234
- package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
- package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
- package/.agent/skills/observability/SKILL.md +343 -343
- package/.agent/skills/parallel-agents/SKILL.md +143 -146
- package/.agent/skills/performance-profiling/SKILL.md +259 -267
- package/.agent/skills/plan-writing/SKILL.md +150 -142
- package/.agent/skills/platform-engineer/SKILL.md +148 -147
- package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
- package/.agent/skills/powershell-windows/SKILL.md +162 -162
- package/.agent/skills/project-idioms/SKILL.md +137 -137
- package/.agent/skills/python-patterns/SKILL.md +260 -259
- package/.agent/skills/python-pro/SKILL.md +324 -323
- package/.agent/skills/react-specialist/SKILL.md +305 -277
- package/.agent/skills/readme-builder/SKILL.md +310 -300
- package/.agent/skills/realtime-patterns/SKILL.md +323 -319
- package/.agent/skills/red-team-tactics/SKILL.md +231 -218
- package/.agent/skills/rust-pro/SKILL.md +671 -673
- package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
- package/.agent/skills/server-management/SKILL.md +218 -214
- package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
- package/.agent/skills/skill-creator/SKILL.md +87 -86
- package/.agent/skills/sql-pro/SKILL.md +629 -629
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
- package/.agent/skills/swiftui-expert/SKILL.md +204 -201
- package/.agent/skills/system-design-pro/SKILL.md +345 -0
- package/.agent/skills/systematic-debugging/SKILL.md +153 -142
- package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
- package/.agent/skills/tdd-workflow/SKILL.md +169 -161
- package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
- package/.agent/skills/testing-patterns/SKILL.md +566 -579
- package/.agent/skills/trend-researcher/SKILL.md +243 -237
- package/.agent/skills/typescript-advanced/SKILL.md +336 -335
- package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
- package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
- package/.agent/skills/vue-expert/SKILL.md +294 -275
- package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
- package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
- package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
- package/.agent/skills/webapp-testing/SKILL.md +167 -169
- package/.agent/skills/webgpu-performance/SKILL.md +56 -2
- package/.agent/skills/whimsy-injector/SKILL.md +346 -325
- package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
- package/.agent/workflows/acf.md +141 -0
- package/.agent/workflows/api-tester.md +176 -151
- package/.agent/workflows/audit.md +150 -127
- package/.agent/workflows/brainstorm.md +134 -110
- package/.agent/workflows/changelog.md +140 -112
- package/.agent/workflows/create.md +168 -124
- package/.agent/workflows/debug.md +190 -165
- package/.agent/workflows/deploy.md +201 -180
- package/.agent/workflows/enhance.md +154 -128
- package/.agent/workflows/fix.md +136 -114
- package/.agent/workflows/generate.md +198 -183
- package/.agent/workflows/marathon.md +37 -11
- package/.agent/workflows/migrate.md +184 -160
- package/.agent/workflows/orchestrate.md +192 -168
- package/.agent/workflows/performance-benchmarker.md +135 -114
- package/.agent/workflows/plan.md +196 -173
- package/.agent/workflows/preview.md +103 -80
- package/.agent/workflows/refactor.md +192 -161
- package/.agent/workflows/review-ai.md +125 -101
- package/.agent/workflows/review.md +141 -116
- package/.agent/workflows/session.md +122 -94
- package/.agent/workflows/status.md +101 -79
- package/.agent/workflows/strengthen-skills.md +164 -138
- package/.agent/workflows/super-prompt.md +24 -0
- package/.agent/workflows/swarm.md +193 -179
- package/.agent/workflows/test.md +211 -189
- package/.agent/workflows/tribunal-backend.md +136 -105
- package/.agent/workflows/tribunal-database.md +122 -95
- package/.agent/workflows/tribunal-frontend.md +221 -96
- package/.agent/workflows/tribunal-full.md +129 -100
- package/.agent/workflows/tribunal-mobile.md +122 -95
- package/.agent/workflows/tribunal-performance.md +136 -110
- package/.agent/workflows/tribunal-speed.md +209 -183
- package/.agent/workflows/ui-ux-pro-max.md +145 -122
- package/README.md +107 -55
- package/bin/mcp-server.js +159 -0
- package/bin/tribunal-kit.js +105 -29
- package/bin/wrapper.js +16 -7
- package/mcp_config.json +9 -0
- package/package.json +94 -86
- package/scripts/changelog.js +4 -3
- package/scripts/validate-payload.js +6 -1
- package/scripts/postinstall.js +0 -127
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import re
|
|
3
|
+
import json
|
|
4
|
+
import logging
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
# Configure basic logging
|
|
8
|
+
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
|
|
9
|
+
|
|
10
|
+
AGENT_DIR = Path(__file__).parent.parent
|
|
11
|
+
SKILLS_DIR = AGENT_DIR / "skills"
|
|
12
|
+
ROUTING_INDEX_PATH = AGENT_DIR / "routing_index.json"
|
|
13
|
+
|
|
14
|
+
FRONTMATTER_REGEX = re.compile(r"^---\n(.*?)\n---", re.DOTALL | re.MULTILINE)
|
|
15
|
+
|
|
16
|
+
def parse_yaml_frontmatter(content: str) -> dict:
|
|
17
|
+
"""Very basic YAML parser specifically for the expected frontmatter."""
|
|
18
|
+
match = FRONTMATTER_REGEX.search(content)
|
|
19
|
+
if not match:
|
|
20
|
+
return {}
|
|
21
|
+
|
|
22
|
+
frontmatter_text = match.group(1)
|
|
23
|
+
data = {}
|
|
24
|
+
current_key = None
|
|
25
|
+
|
|
26
|
+
lines = frontmatter_text.split("\n")
|
|
27
|
+
for line in lines:
|
|
28
|
+
if not line.strip() or line.startswith("#"):
|
|
29
|
+
continue
|
|
30
|
+
|
|
31
|
+
# Check if this line is part of a nested block (like routing:)
|
|
32
|
+
if line.startswith(" ") and current_key:
|
|
33
|
+
if not isinstance(data[current_key], dict):
|
|
34
|
+
data[current_key] = {}
|
|
35
|
+
|
|
36
|
+
sub_line = line.strip()
|
|
37
|
+
if ":" in sub_line:
|
|
38
|
+
k, v = [x.strip() for x in sub_line.split(":", 1)]
|
|
39
|
+
# Basic array parsing for triggers, co-requires, etc: [a, b, c]
|
|
40
|
+
if v.startswith("[") and v.endswith("]"):
|
|
41
|
+
items = [x.strip().strip("'\"") for x in v[1:-1].split(",") if x.strip()]
|
|
42
|
+
data[current_key][k] = items
|
|
43
|
+
else:
|
|
44
|
+
data[current_key][k] = v
|
|
45
|
+
continue
|
|
46
|
+
|
|
47
|
+
# Top-level keys
|
|
48
|
+
if ":" in line:
|
|
49
|
+
k, v = [x.strip() for x in line.split(":", 1)]
|
|
50
|
+
current_key = k
|
|
51
|
+
if not v:
|
|
52
|
+
# Value is on the next indented lines
|
|
53
|
+
data[k] = {}
|
|
54
|
+
else:
|
|
55
|
+
data[k] = v
|
|
56
|
+
|
|
57
|
+
return data
|
|
58
|
+
|
|
59
|
+
def main():
|
|
60
|
+
if not SKILLS_DIR.exists():
|
|
61
|
+
logging.error(f"Skills directory not found: {SKILLS_DIR}")
|
|
62
|
+
return
|
|
63
|
+
|
|
64
|
+
index = []
|
|
65
|
+
skill_dirs = [d for d in SKILLS_DIR.iterdir() if d.is_dir()]
|
|
66
|
+
|
|
67
|
+
logging.info(f"Scanning {len(skill_dirs)} skill directories...")
|
|
68
|
+
|
|
69
|
+
for skill_dir in skill_dirs:
|
|
70
|
+
skill_file = skill_dir / "SKILL.md"
|
|
71
|
+
if not skill_file.exists():
|
|
72
|
+
continue
|
|
73
|
+
|
|
74
|
+
with open(skill_file, "r", encoding="utf-8") as f:
|
|
75
|
+
content = f.read()
|
|
76
|
+
|
|
77
|
+
frontmatter = parse_yaml_frontmatter(content)
|
|
78
|
+
if not frontmatter:
|
|
79
|
+
continue
|
|
80
|
+
|
|
81
|
+
name = frontmatter.get("name", skill_dir.name)
|
|
82
|
+
desc = frontmatter.get("description", "")
|
|
83
|
+
routing = frontmatter.get("routing", {})
|
|
84
|
+
|
|
85
|
+
# Build the compressed index entry
|
|
86
|
+
entry = {
|
|
87
|
+
"name": name,
|
|
88
|
+
"description": desc,
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
# Only include routing metadata if it exists
|
|
92
|
+
if routing:
|
|
93
|
+
if isinstance(routing, dict):
|
|
94
|
+
for k, v in routing.items():
|
|
95
|
+
entry[f"routing_{k}"] = v
|
|
96
|
+
else:
|
|
97
|
+
entry["routing"] = routing
|
|
98
|
+
|
|
99
|
+
index.append(entry)
|
|
100
|
+
|
|
101
|
+
# Sort alphabetically for deterministic output
|
|
102
|
+
index.sort(key=lambda x: x["name"])
|
|
103
|
+
|
|
104
|
+
# Write the index
|
|
105
|
+
with open(ROUTING_INDEX_PATH, "w", encoding="utf-8") as f:
|
|
106
|
+
json.dump({"skills": index}, f, indent=2)
|
|
107
|
+
|
|
108
|
+
logging.info(f"Compiled {len(index)} skills into {ROUTING_INDEX_PATH}")
|
|
109
|
+
logging.info(f"File size: {os.path.getsize(ROUTING_INDEX_PATH)} bytes")
|
|
110
|
+
|
|
111
|
+
if __name__ == "__main__":
|
|
112
|
+
main()
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import re
|
|
3
|
+
import logging
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
|
|
7
|
+
|
|
8
|
+
AGENT_DIR = Path(__file__).parent.parent
|
|
9
|
+
SKILLS_DIR = AGENT_DIR / "skills"
|
|
10
|
+
|
|
11
|
+
FRONTMATTER_REGEX = re.compile(r"^---\n(.*?)\n---", re.DOTALL | re.MULTILINE)
|
|
12
|
+
|
|
13
|
+
def inject_routing_frontmatter(content: str) -> str:
|
|
14
|
+
"""Injects a baseline routing block into the YAML frontmatter if it doesn't exist."""
|
|
15
|
+
match = FRONTMATTER_REGEX.search(content)
|
|
16
|
+
if not match:
|
|
17
|
+
return content
|
|
18
|
+
|
|
19
|
+
frontmatter_text = match.group(1)
|
|
20
|
+
|
|
21
|
+
if "\nrouting:" in frontmatter_text or frontmatter_text.startswith("routing:"):
|
|
22
|
+
# Already migrated
|
|
23
|
+
return content
|
|
24
|
+
|
|
25
|
+
# Append the routing block to the end of the frontmatter
|
|
26
|
+
new_routing_block = "\nrouting:\n domain: general\n tier: basic"
|
|
27
|
+
new_frontmatter = frontmatter_text + new_routing_block
|
|
28
|
+
|
|
29
|
+
# Replace the old frontmatter with the new one
|
|
30
|
+
new_content = content[:match.start(1)] + new_frontmatter + content[match.end(1):]
|
|
31
|
+
return new_content
|
|
32
|
+
|
|
33
|
+
def main():
|
|
34
|
+
if not SKILLS_DIR.exists():
|
|
35
|
+
logging.error(f"Skills directory not found: {SKILLS_DIR}")
|
|
36
|
+
return
|
|
37
|
+
|
|
38
|
+
skill_dirs = [d for d in SKILLS_DIR.iterdir() if d.is_dir()]
|
|
39
|
+
migrated_count = 0
|
|
40
|
+
skipped_count = 0
|
|
41
|
+
|
|
42
|
+
logging.info(f"Scanning {len(skill_dirs)} skill directories for migration...")
|
|
43
|
+
|
|
44
|
+
for skill_dir in skill_dirs:
|
|
45
|
+
skill_file = skill_dir / "SKILL.md"
|
|
46
|
+
if not skill_file.exists():
|
|
47
|
+
continue
|
|
48
|
+
|
|
49
|
+
with open(skill_file, "r", encoding="utf-8") as f:
|
|
50
|
+
content = f.read()
|
|
51
|
+
|
|
52
|
+
new_content = inject_routing_frontmatter(content)
|
|
53
|
+
|
|
54
|
+
if new_content != content:
|
|
55
|
+
with open(skill_file, "w", encoding="utf-8") as f:
|
|
56
|
+
f.write(new_content)
|
|
57
|
+
migrated_count += 1
|
|
58
|
+
else:
|
|
59
|
+
skipped_count += 1
|
|
60
|
+
|
|
61
|
+
logging.info(f"Migration complete: {migrated_count} files updated, {skipped_count} skipped.")
|
|
62
|
+
|
|
63
|
+
if __name__ == "__main__":
|
|
64
|
+
main()
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: advanced-rag-pipelines
|
|
3
3
|
description: Production-grade Retrieval-Augmented Generation (RAG) mastery. Semantic chunking, Hybrid Search (Dense + Sparse/BM25), Cross-Encoder Reranking, and architecture-agnostic vector database management.
|
|
4
|
+
routing:
|
|
5
|
+
domain: general
|
|
6
|
+
tier: basic
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Advanced RAG Pipelines (Production AI Data)
|
|
@@ -8,6 +11,7 @@ description: Production-grade Retrieval-Augmented Generation (RAG) mastery. Sema
|
|
|
8
11
|
You are an expert in building production-grade Retrieval-Augmented Generation (RAG) data pipelines. You understand that naive RAG (fixed chunking + Cosine similarity) fails in production. You architect systems that retrieve context with high precision using hybrid search, reranking, and semantic strategies.
|
|
9
12
|
|
|
10
13
|
## 1. Core Principles
|
|
14
|
+
|
|
11
15
|
- **Garbage In, Garbage Out:** Vector embeddings are only as good as the chunking strategy. Never use arbitrary character counts for chunking code or complex documents.
|
|
12
16
|
- **Hybrid Search is Mandatory:** Dense vectors (embeddings) are terrible at exact keyword matches (e.g., finding "ID-4912" or "v4.4.4"). Always combine Dense Search with Sparse Search (BM25) to catch both semantic intent and exact matches.
|
|
13
17
|
- **Retrieve Many, Rerank to Few:** It is cheaper and more accurate to retrieve 50 candidate chunks from a Vector DB and use a Cross-Encoder to rerank them down to the top 5 for the LLM.
|
|
@@ -15,12 +19,15 @@ You are an expert in building production-grade Retrieval-Augmented Generation (R
|
|
|
15
19
|
## 2. Advanced Architectural Patterns
|
|
16
20
|
|
|
17
21
|
### A. Semantic Chunking
|
|
22
|
+
|
|
18
23
|
Instead of splitting text every 1000 characters, split by structural bounds:
|
|
24
|
+
|
|
19
25
|
- **Code:** Split by Abstract Syntax Tree (AST) nodes (functions, classes).
|
|
20
26
|
- **Markdown:** Split by Header levels (`##`).
|
|
21
27
|
- **Prose:** Use LLM-assisted proposition extraction (extracting atomic facts from sentences).
|
|
22
28
|
|
|
23
29
|
### B. Two-Stage Retrieval (Reranking)
|
|
30
|
+
|
|
24
31
|
```text
|
|
25
32
|
1. User Query -> Embed -> Vector DB (Pinecone/Milvus/Pgvector)
|
|
26
33
|
2. Retrieve Top K = 50 (Fast, low precision)
|
|
@@ -30,18 +37,23 @@ Instead of splitting text every 1000 characters, split by structural bounds:
|
|
|
30
37
|
```
|
|
31
38
|
|
|
32
39
|
### C. Query Transformation
|
|
40
|
+
|
|
33
41
|
Never embed the user's raw query directly. Users write poor queries.
|
|
42
|
+
|
|
34
43
|
- **HyDE (Hypothetical Document Embeddings):** Have the LLM write a fake answer to the query, then embed that fake answer to search the Vector DB.
|
|
35
44
|
- **Query Routing:** Route "summarize" queries to a Graph database, and "how do I" queries to the Vector DB.
|
|
36
45
|
|
|
37
46
|
## 3. LLM Traps & Pre-Flight Checks
|
|
47
|
+
|
|
38
48
|
- **TRAP:** Sending 20 chunks to the LLM. This dilutes the context (Lost in the Middle phenomenon) and increases cost.
|
|
39
49
|
- **FIX:** Always rerank and aggressively filter down to 3-5 highly relevant chunks before the generation step.
|
|
40
50
|
- **TRAP:** Not attaching metadata to chunks.
|
|
41
51
|
- **FIX:** Always attach `{ source_file, line_numbers, date, author }` to the vector payload. This allows the Vector DB to pre-filter before calculating cosine similarity.
|
|
42
52
|
|
|
43
53
|
## Verification Protocol
|
|
54
|
+
|
|
44
55
|
Before submitting code, ensure:
|
|
56
|
+
|
|
45
57
|
1. Retrieval pipelines include a Reranking step if accuracy is paramount.
|
|
46
58
|
2. BM25 / Sparse search is considered alongside standard dense embeddings.
|
|
47
59
|
3. Chunks are injected into the final LLM prompt with explicit `<context>` XML boundaries to prevent prompt injection.
|
|
@@ -49,5 +61,49 @@ Before submitting code, ensure:
|
|
|
49
61
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
50
62
|
|
|
51
63
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
64
|
+
|
|
65
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
66
|
+
- ✅ **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.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🤖 LLM-Specific Traps
|
|
71
|
+
|
|
72
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
73
|
+
|
|
74
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
75
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
76
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
77
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
78
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 🏛️ Tribunal Integration (Anti-Hallucination)
|
|
83
|
+
|
|
84
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
85
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
86
|
+
|
|
87
|
+
### ❌ Forbidden AI Tropes
|
|
88
|
+
|
|
89
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
90
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
91
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
92
|
+
|
|
93
|
+
### ✅ Pre-Flight Self-Audit
|
|
94
|
+
|
|
95
|
+
Review these questions before confirming output:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
99
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
100
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
101
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
105
|
+
|
|
106
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
107
|
+
|
|
52
108
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
53
109
|
- ✅ **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.
|
|
@@ -1,154 +1,158 @@
|
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
3.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
111
|
-
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
112
|
-
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
113
|
-
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
**Slash command: `/review` or `/tribunal-full`**
|
|
120
|
-
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
121
|
-
|
|
122
|
-
### ❌ Forbidden AI Tropes
|
|
123
|
-
|
|
124
|
-
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
125
|
-
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
126
|
-
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Review these questions before confirming output:
|
|
131
|
-
```
|
|
132
|
-
✅ Did I rely ONLY on real, verified tools and methods?
|
|
133
|
-
✅ Is this solution appropriately scoped to the user's constraints?
|
|
134
|
-
✅ Did I handle potential failure modes and edge cases?
|
|
135
|
-
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
139
|
-
|
|
140
|
-
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
141
|
-
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
142
|
-
- ✅ **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.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
## Pre-Flight Checklist
|
|
146
|
-
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
147
|
-
- [ ] Have I checked the environment for relevant existing implementations?
|
|
148
|
-
|
|
149
|
-
## VBC Protocol (Verification-Before-Completion)
|
|
150
|
-
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
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
|
+
routing:
|
|
9
|
+
domain: general
|
|
10
|
+
tier: basic
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Hallucination Traps (Read First)
|
|
14
|
+
|
|
15
|
+
- ❌ Dispatching sub-agents without a context_summary -> ✅ Always send a trimmed context, never the full conversation
|
|
16
|
+
- ❌ Assuming sub-agents share memory -> ✅ Each agent invocation is stateless unless explicitly passed context
|
|
17
|
+
- ❌ Running agents sequentially when they are independent -> ✅ Use fan-out/fan-in for parallelizable work
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Agent Organizer — Multi-Agent Orchestration Mastery
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. The Delegation Sub-Agent Pattern
|
|
26
|
+
|
|
27
|
+
Agents should defer specific domain problems to specialized sub-agents.
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
// Define the payload contract the Worker Agent expects
|
|
31
|
+
{
|
|
32
|
+
"taskId": "task-auth-migration-01",
|
|
33
|
+
"workerRole": "api-security-auditor",
|
|
34
|
+
"isolatedContext": {
|
|
35
|
+
"filesToScan": ["src/login.ts", "src/middleware.ts"],
|
|
36
|
+
"objective": "Identify unprotected mass assignments"
|
|
37
|
+
},
|
|
38
|
+
"requiredOutputFormat": "json_list"
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Delegation Rules:
|
|
43
|
+
|
|
44
|
+
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).
|
|
45
|
+
2. **Clear Boundaries:** If the worker is fixing CSS, it must not invent logic for the database.
|
|
46
|
+
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.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. Execution Loops (Supervisor Pattern)
|
|
51
|
+
|
|
52
|
+
A Supervisor decides _who_ works and _when_, but does not execute the work.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
[User Request: "Add OAuth and secure it"]
|
|
56
|
+
|
|
|
57
|
+
[Supervisor Agent analyzing required skills...]
|
|
58
|
+
|
|
|
59
|
+
├─> [Dispatches: authentication-best-practices]
|
|
60
|
+
| (Worker builds OAuth implementation)
|
|
61
|
+
|
|
|
62
|
+
├─> [Dispatches: api-security-auditor]
|
|
63
|
+
| (Worker reviews implementation against OWASP)
|
|
64
|
+
|
|
|
65
|
+
[Supervisor Agent synthesizes findings]
|
|
66
|
+
|
|
|
67
|
+
[Action Executed / Git Commit]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Handoff Signals
|
|
71
|
+
|
|
72
|
+
A worker must return definitive state signals when yielding control:
|
|
73
|
+
|
|
74
|
+
- `COMPLETE`: Goal achieved. Final diff generated.
|
|
75
|
+
- `BLOCKED`: Missing context (e.g., "I need the `.env` schema").
|
|
76
|
+
- `ERROR`: Script failed, requires manual Supervisor intervention.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 3. Session State Management (Memory)
|
|
81
|
+
|
|
82
|
+
Agents lose memory across boundaries. The Organizer must explicitly persist context.
|
|
83
|
+
|
|
84
|
+
1. **Short-Term Context:** Maintained natively in the active LLM context window.
|
|
85
|
+
2. **Task State:** Maintained locally in `task.md`. Workers check-in and check-out checkboxes.
|
|
86
|
+
3. **Long-Term Memory:** "Knowledge Items" (KIs). Distilling massive conversations down into a single `learnings.json` file injected on subsequent startups.
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
<!-- task.md (The Global Execution State) -->
|
|
90
|
+
|
|
91
|
+
# Current Objective: Build Chat Feature
|
|
92
|
+
|
|
93
|
+
- [x] Initialize websocket connection
|
|
94
|
+
- [/] (Worker: frontend-specialist) Build Chat UI component
|
|
95
|
+
- [ ] (Worker: realtime-patterns) Implement presence sync
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 4. The Human-in-the-Loop (Socratic Gate)
|
|
101
|
+
|
|
102
|
+
Automation without oversight is reckless. The Organizer manages when to pause and query the human.
|
|
103
|
+
|
|
104
|
+
**Mandatory Gates:**
|
|
105
|
+
|
|
106
|
+
1. **Approval Gate (Before Execution):** "I have drafted the architecture plan. Do you approve execution?"
|
|
107
|
+
2. **Recovery Gate (After 3 Failures):** "The database migration script has failed 3 times. I am halting. How would you like to proceed?"
|
|
108
|
+
|
|
109
|
+
---
|
|
151
110
|
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
114
|
+
|
|
115
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
116
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
117
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
118
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
119
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
124
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
125
|
+
|
|
126
|
+
### ❌ Forbidden AI Tropes
|
|
127
|
+
|
|
128
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
129
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
130
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
131
|
+
|
|
132
|
+
Review these questions before confirming output:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
136
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
137
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
138
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
142
|
+
|
|
143
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
144
|
+
|
|
145
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
146
|
+
- ✅ **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.
|
|
147
|
+
|
|
148
|
+
## Pre-Flight Checklist
|
|
149
|
+
|
|
150
|
+
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
151
|
+
- [ ] Have I checked the environment for relevant existing implementations?
|
|
152
|
+
|
|
153
|
+
## VBC Protocol (Verification-Before-Completion)
|
|
154
|
+
|
|
155
|
+
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
152
156
|
|
|
153
157
|
---
|
|
154
158
|
|
|
@@ -178,6 +182,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
178
182
|
### ✅ Pre-Flight Self-Audit
|
|
179
183
|
|
|
180
184
|
Review these questions before confirming output:
|
|
185
|
+
|
|
181
186
|
```
|
|
182
187
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
183
188
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -188,5 +193,6 @@ Review these questions before confirming output:
|
|
|
188
193
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
189
194
|
|
|
190
195
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
196
|
+
|
|
191
197
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
192
198
|
- ✅ **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.
|