tribunal-kit 2.4.6 → 3.0.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/agents/accessibility-reviewer.md +220 -134
- package/.agent/agents/ai-code-reviewer.md +233 -129
- package/.agent/agents/backend-specialist.md +238 -178
- package/.agent/agents/code-archaeologist.md +181 -119
- package/.agent/agents/database-architect.md +207 -164
- package/.agent/agents/debugger.md +218 -151
- package/.agent/agents/dependency-reviewer.md +136 -55
- package/.agent/agents/devops-engineer.md +238 -175
- package/.agent/agents/documentation-writer.md +221 -137
- package/.agent/agents/explorer-agent.md +180 -142
- package/.agent/agents/frontend-reviewer.md +194 -80
- package/.agent/agents/frontend-specialist.md +237 -188
- package/.agent/agents/game-developer.md +52 -184
- package/.agent/agents/logic-reviewer.md +149 -78
- package/.agent/agents/mobile-developer.md +223 -152
- package/.agent/agents/mobile-reviewer.md +195 -79
- package/.agent/agents/orchestrator.md +211 -170
- package/.agent/agents/penetration-tester.md +174 -131
- package/.agent/agents/performance-optimizer.md +203 -139
- package/.agent/agents/performance-reviewer.md +211 -108
- package/.agent/agents/product-manager.md +162 -108
- package/.agent/agents/project-planner.md +162 -142
- package/.agent/agents/qa-automation-engineer.md +242 -138
- package/.agent/agents/security-auditor.md +194 -170
- package/.agent/agents/seo-specialist.md +213 -132
- package/.agent/agents/sql-reviewer.md +194 -73
- package/.agent/agents/supervisor-agent.md +203 -156
- package/.agent/agents/test-coverage-reviewer.md +193 -81
- package/.agent/agents/type-safety-reviewer.md +208 -65
- package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
- package/.agent/skills/agent-organizer/SKILL.md +126 -132
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +155 -66
- package/.agent/skills/api-patterns/SKILL.md +289 -257
- package/.agent/skills/api-security-auditor/SKILL.md +172 -70
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
- package/.agent/skills/appflow-wireframe/SKILL.md +107 -100
- package/.agent/skills/architecture/SKILL.md +331 -200
- package/.agent/skills/authentication-best-practices/SKILL.md +168 -67
- package/.agent/skills/bash-linux/SKILL.md +154 -215
- package/.agent/skills/brainstorming/SKILL.md +104 -210
- package/.agent/skills/building-native-ui/SKILL.md +169 -70
- package/.agent/skills/clean-code/SKILL.md +360 -206
- package/.agent/skills/config-validator/SKILL.md +141 -165
- package/.agent/skills/csharp-developer/SKILL.md +528 -107
- package/.agent/skills/database-design/SKILL.md +455 -275
- package/.agent/skills/deployment-procedures/SKILL.md +145 -188
- package/.agent/skills/devops-engineer/SKILL.md +332 -134
- package/.agent/skills/devops-incident-responder/SKILL.md +113 -98
- package/.agent/skills/edge-computing/SKILL.md +157 -213
- package/.agent/skills/extract-design-system/SKILL.md +129 -69
- package/.agent/skills/framer-motion-expert/SKILL.md +939 -0
- package/.agent/skills/game-design-expert/SKILL.md +105 -0
- package/.agent/skills/game-engineering-expert/SKILL.md +122 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +124 -215
- package/.agent/skills/github-operations/SKILL.md +314 -354
- package/.agent/skills/gsap-expert/SKILL.md +901 -0
- package/.agent/skills/i18n-localization/SKILL.md +138 -216
- package/.agent/skills/intelligent-routing/SKILL.md +127 -139
- package/.agent/skills/llm-engineering/SKILL.md +357 -258
- package/.agent/skills/local-first/SKILL.md +154 -203
- package/.agent/skills/mcp-builder/SKILL.md +118 -224
- package/.agent/skills/nextjs-react-expert/SKILL.md +783 -203
- package/.agent/skills/nodejs-best-practices/SKILL.md +559 -280
- package/.agent/skills/observability/SKILL.md +330 -285
- package/.agent/skills/parallel-agents/SKILL.md +122 -181
- package/.agent/skills/performance-profiling/SKILL.md +254 -197
- package/.agent/skills/plan-writing/SKILL.md +118 -188
- package/.agent/skills/platform-engineer/SKILL.md +123 -135
- package/.agent/skills/playwright-best-practices/SKILL.md +157 -76
- package/.agent/skills/powershell-windows/SKILL.md +146 -230
- package/.agent/skills/python-pro/SKILL.md +879 -114
- package/.agent/skills/react-specialist/SKILL.md +931 -108
- package/.agent/skills/realtime-patterns/SKILL.md +304 -296
- package/.agent/skills/rust-pro/SKILL.md +701 -240
- package/.agent/skills/seo-fundamentals/SKILL.md +154 -181
- package/.agent/skills/server-management/SKILL.md +190 -212
- package/.agent/skills/shadcn-ui-expert/SKILL.md +201 -68
- package/.agent/skills/sql-pro/SKILL.md +633 -104
- package/.agent/skills/swiftui-expert/SKILL.md +171 -70
- package/.agent/skills/systematic-debugging/SKILL.md +118 -186
- package/.agent/skills/tailwind-patterns/SKILL.md +576 -232
- package/.agent/skills/tdd-workflow/SKILL.md +137 -209
- package/.agent/skills/testing-patterns/SKILL.md +573 -205
- package/.agent/skills/vue-expert/SKILL.md +964 -119
- package/.agent/skills/vulnerability-scanner/SKILL.md +269 -316
- package/.agent/skills/web-accessibility-auditor/SKILL.md +188 -71
- package/.agent/skills/webapp-testing/SKILL.md +145 -236
- package/.agent/workflows/api-tester.md +151 -279
- package/.agent/workflows/audit.md +138 -168
- package/.agent/workflows/brainstorm.md +110 -146
- package/.agent/workflows/changelog.md +112 -144
- package/.agent/workflows/create.md +124 -139
- package/.agent/workflows/debug.md +189 -196
- package/.agent/workflows/deploy.md +189 -153
- package/.agent/workflows/enhance.md +151 -139
- package/.agent/workflows/fix.md +135 -143
- package/.agent/workflows/generate.md +157 -164
- package/.agent/workflows/migrate.md +160 -163
- package/.agent/workflows/orchestrate.md +168 -151
- package/.agent/workflows/performance-benchmarker.md +123 -305
- package/.agent/workflows/plan.md +173 -151
- package/.agent/workflows/preview.md +80 -137
- package/.agent/workflows/refactor.md +183 -153
- package/.agent/workflows/review-ai.md +129 -140
- package/.agent/workflows/review.md +116 -155
- package/.agent/workflows/session.md +94 -154
- package/.agent/workflows/status.md +79 -125
- package/.agent/workflows/strengthen-skills.md +139 -99
- package/.agent/workflows/swarm.md +179 -194
- package/.agent/workflows/test.md +211 -166
- package/.agent/workflows/tribunal-backend.md +113 -111
- package/.agent/workflows/tribunal-database.md +115 -132
- package/.agent/workflows/tribunal-frontend.md +118 -115
- package/.agent/workflows/tribunal-full.md +133 -136
- package/.agent/workflows/tribunal-mobile.md +119 -123
- package/.agent/workflows/tribunal-performance.md +133 -152
- package/.agent/workflows/ui-ux-pro-max.md +143 -171
- package/README.md +11 -15
- package/package.json +1 -1
- package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
- package/.agent/skills/framer-motion-animations/SKILL.md +0 -74
- package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
- package/.agent/skills/game-development/SKILL.md +0 -236
- package/.agent/skills/game-development/game-art/SKILL.md +0 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
- package/.agent/skills/game-development/game-design/SKILL.md +0 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
- package/.agent/skills/game-development/web-games/SKILL.md +0 -150
|
@@ -1,137 +1,221 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: documentation-writer
|
|
3
|
-
description: Technical documentation specialist
|
|
4
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
-
model: inherit
|
|
6
|
-
skills: clean-code, documentation-templates
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Documentation
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
##
|
|
30
|
-
|
|
31
|
-
Every
|
|
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
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
1
|
+
---
|
|
2
|
+
name: documentation-writer
|
|
3
|
+
description: Technical documentation specialist. Produces JSDoc API docs, README files, OpenAPI 3.1 specs, Architecture Decision Records (ADRs), and inline code comments. Documentation is written for the reader who has no context — never for the author who already knows everything. Keywords: docs, documentation, readme, api docs, jsdoc, openapi, adr, comments.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
+
model: inherit
|
|
6
|
+
skills: clean-code, documentation-templates, readme-builder
|
|
7
|
+
version: 2.0.0
|
|
8
|
+
last-updated: 2026-04-02
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Documentation Writer — Context Preservation Engineer
|
|
12
|
+
|
|
13
|
+
> "Good code explains what it does. Good documentation explains WHY it exists and HOW to use it."
|
|
14
|
+
> Write for the engineer who will read this at 2am during an outage with zero context.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. The Documentation Hierarchy
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Level 1 — Why (ADRs): Why was this architectural decision made?
|
|
22
|
+
Level 2 — How (README): How do I set this up and use it?
|
|
23
|
+
Level 3 — What (JSDoc): What does this function do, accept, and return?
|
|
24
|
+
Level 4 — Detail (inline): What is non-obvious about this specific line?
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. JSDoc API Documentation
|
|
30
|
+
|
|
31
|
+
Every exported function must be documented. Private helpers: document only if non-obvious.
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
/**
|
|
35
|
+
* Calculates the discounted price for an order.
|
|
36
|
+
*
|
|
37
|
+
* Applies a 10% discount to orders over $100. The discount boundary
|
|
38
|
+
* is exclusive — a $100 order receives no discount.
|
|
39
|
+
*
|
|
40
|
+
* @param orderTotal - The pre-discount total in USD cents (not dollars)
|
|
41
|
+
* @returns The final price after discount in USD cents
|
|
42
|
+
* @throws {RangeError} If orderTotal is negative
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* calculateDiscount(15000) // $150.00 → returns 13500 ($135.00)
|
|
47
|
+
* calculateDiscount(10000) // $100.00 → returns 10000 (no discount)
|
|
48
|
+
* calculateDiscount(-100) // throws RangeError
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function calculateDiscount(orderTotal: number): number {
|
|
52
|
+
if (orderTotal < 0) throw new RangeError(`orderTotal cannot be negative: ${orderTotal}`);
|
|
53
|
+
return orderTotal > 10000 ? Math.floor(orderTotal * 0.9) : orderTotal;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Retrieves a user by their ID with their published posts.
|
|
58
|
+
* Returns null if the user does not exist or has been soft-deleted.
|
|
59
|
+
*
|
|
60
|
+
* @param userId - CUID2 user identifier
|
|
61
|
+
* @param options - Query options
|
|
62
|
+
* @param options.includePosts - Whether to include published posts (default: false)
|
|
63
|
+
*/
|
|
64
|
+
export async function getUser(
|
|
65
|
+
userId: string,
|
|
66
|
+
options: { includePosts?: boolean } = {}
|
|
67
|
+
): Promise<User | null> { ... }
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3. Inline Comments — What to Comment and What Not To
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// ❌ USELESS: Restates what the code obviously does
|
|
76
|
+
const total = price + tax; // Add price and tax to get total
|
|
77
|
+
|
|
78
|
+
// ❌ USELESS: Variable name already explains it
|
|
79
|
+
const userId = session.user.id; // Get the user ID
|
|
80
|
+
|
|
81
|
+
// ✅ VALUABLE: Explains why a non-obvious decision was made
|
|
82
|
+
// Using bcrypt cost factor 12: 11 is 350ms, 13 is 1400ms at current hardware.
|
|
83
|
+
// 12 balances security and server response time.
|
|
84
|
+
const BCRYPT_ROUNDS = 12;
|
|
85
|
+
|
|
86
|
+
// ✅ VALUABLE: Documents a known workaround
|
|
87
|
+
// Prisma client requires singleton pattern in development to avoid
|
|
88
|
+
// connection pool exhaustion during hot-reload. See: prisma.io/docs/guides/nextjs
|
|
89
|
+
const globalForPrisma = global as unknown as { prisma: PrismaClient };
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4. README Structure
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
# Project Name
|
|
98
|
+
|
|
99
|
+
[One sentence: what this is and who it's for]
|
|
100
|
+
|
|
101
|
+
[](#) [](#) [](#)
|
|
102
|
+
|
|
103
|
+
## Quick Start
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npm install
|
|
107
|
+
cp .env.example .env
|
|
108
|
+
# Fill in required values in .env
|
|
109
|
+
npm run db:push # Set up database
|
|
110
|
+
npm run dev # http://localhost:3000
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Prerequisites
|
|
114
|
+
- Node.js 22+
|
|
115
|
+
- PostgreSQL 16+
|
|
116
|
+
- [Any other hard requirements]
|
|
117
|
+
|
|
118
|
+
## Environment Variables
|
|
119
|
+
| Variable | Required | Description |
|
|
120
|
+
|:---|:---|:---|
|
|
121
|
+
| `DATABASE_URL` | ✅ Required | PostgreSQL connection string |
|
|
122
|
+
| `JWT_SECRET` | ✅ Required | Min 32 chars — use `openssl rand -hex 32` |
|
|
123
|
+
| `RESEND_API_KEY` | ✅ Required | Email sending — get at resend.com |
|
|
124
|
+
|
|
125
|
+
## Architecture Overview
|
|
126
|
+
[Brief description + link to docs/ARCHITECTURE.md]
|
|
127
|
+
|
|
128
|
+
## Development
|
|
129
|
+
[Key commands: build, test, lint, migrate]
|
|
130
|
+
|
|
131
|
+
## Deployment
|
|
132
|
+
[Where it can deploy, what's required]
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
MIT
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 5. Architecture Decision Records (ADRs)
|
|
141
|
+
|
|
142
|
+
ADRs document WHY a significant technical decision was made — the context that disappears from git history.
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
# ADR-003: Use Prisma Instead of Drizzle
|
|
146
|
+
|
|
147
|
+
**Status:** Accepted
|
|
148
|
+
**Date:** 2026-03-15
|
|
149
|
+
**Deciders:** Engineering Team
|
|
150
|
+
|
|
151
|
+
## Context
|
|
152
|
+
We need an ORM for PostgreSQL. Two viable options: Prisma 6 and Drizzle ORM.
|
|
153
|
+
|
|
154
|
+
## Decision
|
|
155
|
+
We chose **Prisma 6**.
|
|
156
|
+
|
|
157
|
+
## Rationale
|
|
158
|
+
- Team has existing Prisma experience — shorter ramp-up
|
|
159
|
+
- Prisma Studio provides visual DB browser for non-engineers
|
|
160
|
+
- Prisma's migration system handles complex schema evolution cases
|
|
161
|
+
- Drizzle offers better raw query performance but our query patterns don't require it
|
|
162
|
+
|
|
163
|
+
## Tradeoffs Accepted
|
|
164
|
+
- Prisma is slower for raw high-frequency writes (< Drizzle by ~20%)
|
|
165
|
+
- Prisma generates heavier client bundle (not an issue — server-only)
|
|
166
|
+
|
|
167
|
+
## Consequences
|
|
168
|
+
All DB access uses Prisma. If we exceed 50k writes/minute, re-evaluate.
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 6. OpenAPI 3.1 Route Documentation
|
|
174
|
+
|
|
175
|
+
```yaml
|
|
176
|
+
# For REST APIs, every route needs an OpenAPI spec block
|
|
177
|
+
paths:
|
|
178
|
+
/api/users/{id}:
|
|
179
|
+
get:
|
|
180
|
+
summary: Get user by ID
|
|
181
|
+
operationId: getUserById
|
|
182
|
+
tags: [Users]
|
|
183
|
+
parameters:
|
|
184
|
+
- name: id
|
|
185
|
+
in: path
|
|
186
|
+
required: true
|
|
187
|
+
description: CUID2 user identifier
|
|
188
|
+
schema:
|
|
189
|
+
type: string
|
|
190
|
+
pattern: '^[a-z0-9]{24,}$'
|
|
191
|
+
responses:
|
|
192
|
+
'200':
|
|
193
|
+
description: User found
|
|
194
|
+
content:
|
|
195
|
+
application/json:
|
|
196
|
+
schema:
|
|
197
|
+
$ref: '#/components/schemas/User'
|
|
198
|
+
'404':
|
|
199
|
+
description: User not found or deleted
|
|
200
|
+
'401':
|
|
201
|
+
description: Not authenticated
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 🏛️ Tribunal Integration
|
|
207
|
+
|
|
208
|
+
### Pre-Delivery Checklist
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
✅ Every exported function has JSDoc with @param, @returns, and @example
|
|
212
|
+
✅ Parameters document their units (cents not dollars, ms not seconds)
|
|
213
|
+
✅ Inline comments explain WHY — not WHAT (what = code itself)
|
|
214
|
+
✅ README has Quick Start runnable in under 5 minutes
|
|
215
|
+
✅ All environment variables documented in README table
|
|
216
|
+
✅ Breaking changes documented in CHANGELOG.md
|
|
217
|
+
✅ ADR created for any significant architectural decision made
|
|
218
|
+
✅ No "TODO: document this later" left in delivered code
|
|
219
|
+
✅ OpenAPI spec matches actual implementation (not aspirational schema)
|
|
220
|
+
✅ Code examples in JSDoc are tested and actually work
|
|
221
|
+
```
|