tribunal-kit 4.5.1 → 4.6.1

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 (214) hide show
  1. package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
  2. package/.agent/ARCHITECTURE.md +282 -277
  3. package/.agent/agents/accessibility-reviewer.md +187 -187
  4. package/.agent/agents/ai-code-reviewer.md +199 -199
  5. package/.agent/agents/api-architect.md +71 -66
  6. package/.agent/agents/backend-specialist.md +219 -215
  7. package/.agent/agents/cloud-engineer.md +98 -0
  8. package/.agent/agents/code-archaeologist.md +168 -161
  9. package/.agent/agents/database-architect.md +184 -184
  10. package/.agent/agents/db-latency-auditor.md +213 -216
  11. package/.agent/agents/debugger.md +198 -191
  12. package/.agent/agents/dependency-reviewer.md +106 -103
  13. package/.agent/agents/devops-engineer.md +218 -218
  14. package/.agent/agents/documentation-writer.md +209 -201
  15. package/.agent/agents/explorer-agent.md +167 -160
  16. package/.agent/agents/frontend-reviewer.md +162 -160
  17. package/.agent/agents/frontend-specialist.md +257 -248
  18. package/.agent/agents/game-developer.md +48 -48
  19. package/.agent/agents/logic-reviewer.md +118 -116
  20. package/.agent/agents/mobile-developer.md +197 -200
  21. package/.agent/agents/mobile-reviewer.md +159 -162
  22. package/.agent/agents/orchestrator.md +187 -181
  23. package/.agent/agents/penetration-tester.md +160 -157
  24. package/.agent/agents/performance-optimizer.md +183 -183
  25. package/.agent/agents/performance-reviewer.md +178 -178
  26. package/.agent/agents/precedence-reviewer.md +251 -250
  27. package/.agent/agents/product-manager.md +149 -142
  28. package/.agent/agents/product-owner.md +81 -80
  29. package/.agent/agents/project-planner.md +152 -142
  30. package/.agent/agents/qa-automation-engineer.md +216 -225
  31. package/.agent/agents/resilience-reviewer.md +88 -88
  32. package/.agent/agents/schema-reviewer.md +67 -67
  33. package/.agent/agents/security-auditor.md +180 -174
  34. package/.agent/agents/seo-specialist.md +188 -193
  35. package/.agent/agents/sql-reviewer.md +159 -161
  36. package/.agent/agents/supervisor-agent.md +173 -184
  37. package/.agent/agents/swarm-worker-contracts.md +170 -166
  38. package/.agent/agents/swarm-worker-registry.md +92 -92
  39. package/.agent/agents/system-architect.md +85 -0
  40. package/.agent/agents/test-coverage-reviewer.md +158 -160
  41. package/.agent/agents/test-engineer.md +118 -118
  42. package/.agent/agents/throughput-optimizer.md +291 -299
  43. package/.agent/agents/type-safety-reviewer.md +182 -175
  44. package/.agent/agents/ui-ux-auditor.md +300 -292
  45. package/.agent/agents/vitals-reviewer.md +223 -223
  46. package/.agent/mcp_config.json +37 -40
  47. package/.agent/patterns/generator.md +11 -9
  48. package/.agent/patterns/inversion.md +14 -12
  49. package/.agent/patterns/pipeline.md +11 -9
  50. package/.agent/patterns/reviewer.md +15 -13
  51. package/.agent/patterns/tool-wrapper.md +11 -9
  52. package/.agent/routing_index.json +714 -0
  53. package/.agent/rules/GEMINI.md +359 -352
  54. package/.agent/scripts/compile_router.py +112 -0
  55. package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
  56. package/.agent/scripts/strengthen_skills.js +1 -1
  57. package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
  58. package/.agent/skills/agent-organizer/SKILL.md +156 -150
  59. package/.agent/skills/agentic-patterns/SKILL.md +313 -315
  60. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
  61. package/.agent/skills/api-patterns/SKILL.md +253 -247
  62. package/.agent/skills/api-security-auditor/SKILL.md +195 -193
  63. package/.agent/skills/app-builder/SKILL.md +573 -572
  64. package/.agent/skills/app-builder/templates/SKILL.md +108 -115
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
  78. package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
  79. package/.agent/skills/architecture/SKILL.md +226 -219
  80. package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
  81. package/.agent/skills/backend-security-expert/SKILL.md +16 -2
  82. package/.agent/skills/bash-linux/SKILL.md +179 -179
  83. package/.agent/skills/behavioral-modes/SKILL.md +239 -223
  84. package/.agent/skills/brainstorming/SKILL.md +498 -486
  85. package/.agent/skills/browser-native-ai/SKILL.md +57 -4
  86. package/.agent/skills/building-native-ui/SKILL.md +202 -202
  87. package/.agent/skills/cicd-pro/SKILL.md +442 -0
  88. package/.agent/skills/clean-code/SKILL.md +400 -381
  89. package/.agent/skills/cloud-architect/SKILL.md +439 -0
  90. package/.agent/skills/code-review-checklist/SKILL.md +203 -194
  91. package/.agent/skills/config-validator/SKILL.md +165 -165
  92. package/.agent/skills/containerization-pro/SKILL.md +452 -0
  93. package/.agent/skills/csharp-developer/SKILL.md +518 -518
  94. package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
  95. package/.agent/skills/database-design/SKILL.md +247 -240
  96. package/.agent/skills/deployment-procedures/SKILL.md +172 -169
  97. package/.agent/skills/devops-engineer/SKILL.md +345 -345
  98. package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
  99. package/.agent/skills/documentation-templates/SKILL.md +291 -279
  100. package/.agent/skills/edge-computing/SKILL.md +183 -181
  101. package/.agent/skills/emil-design-eng/SKILL.md +147 -0
  102. package/.agent/skills/error-resilience/SKILL.md +411 -428
  103. package/.agent/skills/extract-design-system/SKILL.md +160 -158
  104. package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
  105. package/.agent/skills/frontend-design/SKILL.md +208 -201
  106. package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
  107. package/.agent/skills/game-design-expert/SKILL.md +132 -129
  108. package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
  109. package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
  110. package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
  111. package/.agent/skills/git-pro/SKILL.md +435 -0
  112. package/.agent/skills/github-operations/SKILL.md +335 -329
  113. package/.agent/skills/gsap-core/SKILL.md +319 -308
  114. package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
  115. package/.agent/skills/gsap-performance/SKILL.md +139 -133
  116. package/.agent/skills/gsap-plugins/SKILL.md +486 -480
  117. package/.agent/skills/gsap-react/SKILL.md +202 -189
  118. package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
  119. package/.agent/skills/gsap-timeline/SKILL.md +165 -161
  120. package/.agent/skills/gsap-utils/SKILL.md +344 -338
  121. package/.agent/skills/harness-protocol/SKILL.md +48 -0
  122. package/.agent/skills/i18n-localization/SKILL.md +174 -163
  123. package/.agent/skills/intelligent-routing/SKILL.md +202 -246
  124. package/.agent/skills/knowledge-graph/SKILL.md +60 -52
  125. package/.agent/skills/lint-and-validate/SKILL.md +261 -261
  126. package/.agent/skills/llm-engineering/SKILL.md +400 -394
  127. package/.agent/skills/local-first/SKILL.md +178 -178
  128. package/.agent/skills/mcp-builder/SKILL.md +143 -142
  129. package/.agent/skills/mobile-design/SKILL.md +272 -263
  130. package/.agent/skills/monorepo-management/SKILL.md +335 -334
  131. package/.agent/skills/motion-engineering/SKILL.md +266 -234
  132. package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
  133. package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
  134. package/.agent/skills/observability/SKILL.md +343 -343
  135. package/.agent/skills/parallel-agents/SKILL.md +143 -146
  136. package/.agent/skills/performance-profiling/SKILL.md +259 -267
  137. package/.agent/skills/plan-writing/SKILL.md +150 -142
  138. package/.agent/skills/platform-engineer/SKILL.md +148 -147
  139. package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
  140. package/.agent/skills/powershell-windows/SKILL.md +162 -162
  141. package/.agent/skills/project-idioms/SKILL.md +137 -137
  142. package/.agent/skills/python-patterns/SKILL.md +260 -259
  143. package/.agent/skills/python-pro/SKILL.md +324 -323
  144. package/.agent/skills/react-specialist/SKILL.md +305 -277
  145. package/.agent/skills/readme-builder/SKILL.md +310 -300
  146. package/.agent/skills/realtime-patterns/SKILL.md +323 -319
  147. package/.agent/skills/red-team-tactics/SKILL.md +231 -218
  148. package/.agent/skills/review-animations/SKILL.md +72 -0
  149. package/.agent/skills/review-animations/STANDARDS.md +73 -0
  150. package/.agent/skills/rust-pro/SKILL.md +671 -673
  151. package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
  152. package/.agent/skills/server-management/SKILL.md +218 -214
  153. package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
  154. package/.agent/skills/skill-creator/SKILL.md +87 -86
  155. package/.agent/skills/sql-pro/SKILL.md +629 -629
  156. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
  157. package/.agent/skills/swiftui-expert/SKILL.md +204 -201
  158. package/.agent/skills/system-design-pro/SKILL.md +345 -0
  159. package/.agent/skills/systematic-debugging/SKILL.md +153 -142
  160. package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
  161. package/.agent/skills/tdd-workflow/SKILL.md +169 -161
  162. package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
  163. package/.agent/skills/testing-patterns/SKILL.md +566 -579
  164. package/.agent/skills/trend-researcher/SKILL.md +243 -237
  165. package/.agent/skills/typescript-advanced/SKILL.md +336 -335
  166. package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
  167. package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
  168. package/.agent/skills/vue-expert/SKILL.md +294 -275
  169. package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
  170. package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
  171. package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
  172. package/.agent/skills/webapp-testing/SKILL.md +167 -169
  173. package/.agent/skills/webgpu-performance/SKILL.md +56 -2
  174. package/.agent/skills/whimsy-injector/SKILL.md +346 -325
  175. package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
  176. package/.agent/workflows/acf.md +141 -0
  177. package/.agent/workflows/api-tester.md +176 -151
  178. package/.agent/workflows/audit.md +150 -127
  179. package/.agent/workflows/brainstorm.md +134 -110
  180. package/.agent/workflows/changelog.md +140 -112
  181. package/.agent/workflows/create.md +168 -124
  182. package/.agent/workflows/debug.md +190 -165
  183. package/.agent/workflows/deploy.md +201 -180
  184. package/.agent/workflows/enhance.md +154 -128
  185. package/.agent/workflows/fix.md +136 -114
  186. package/.agent/workflows/generate.md +198 -183
  187. package/.agent/workflows/marathon.md +37 -11
  188. package/.agent/workflows/migrate.md +184 -160
  189. package/.agent/workflows/orchestrate.md +192 -168
  190. package/.agent/workflows/performance-benchmarker.md +135 -114
  191. package/.agent/workflows/plan.md +196 -173
  192. package/.agent/workflows/preview.md +103 -80
  193. package/.agent/workflows/refactor.md +192 -161
  194. package/.agent/workflows/review-ai.md +125 -101
  195. package/.agent/workflows/review.md +141 -116
  196. package/.agent/workflows/session.md +122 -94
  197. package/.agent/workflows/status.md +101 -79
  198. package/.agent/workflows/strengthen-skills.md +164 -138
  199. package/.agent/workflows/super-prompt.md +24 -0
  200. package/.agent/workflows/swarm.md +193 -179
  201. package/.agent/workflows/test.md +211 -189
  202. package/.agent/workflows/tribunal-backend.md +136 -105
  203. package/.agent/workflows/tribunal-database.md +129 -95
  204. package/.agent/workflows/tribunal-frontend.md +140 -96
  205. package/.agent/workflows/tribunal-full.md +131 -100
  206. package/.agent/workflows/tribunal-mobile.md +129 -95
  207. package/.agent/workflows/tribunal-performance.md +136 -110
  208. package/.agent/workflows/tribunal-speed.md +209 -183
  209. package/.agent/workflows/ui-ux-pro-max.md +155 -122
  210. package/README.md +107 -55
  211. package/mcp_config.json +1 -3
  212. package/package.json +94 -94
  213. package/.agent/GEMINI.md +0 -121
  214. package/.agent/skills/doc.md +0 -177
@@ -1,265 +1,263 @@
1
- ---
2
- name: lint-and-validate
3
- description: Linting and validation principles for code quality enforcement.
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 1.0.0
6
- last-updated: 2026-03-12
7
- applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
- ---
9
-
10
- ## Hallucination Traps (Read First)
11
- - ❌ Auto-fixing lint errors without reviewing the diff -> ✅ Some auto-fixes change logic (e.g., removing 'unused' variables that are side-effects)
12
- - ❌ Treating warnings as non-blocking in CI -> ✅ Warnings accumulate; enforce zero-warning policy or they become permanent
13
- - Running linters only on changed files -> ✅ Run on full codebase periodically; cross-file issues are only caught with full runs
14
-
15
- ---
16
-
17
-
18
- # Linting & Validation
19
-
20
- ---
21
-
22
- ## Why Linting Matters
23
-
24
- Linting catches problems that code review misses:
25
- - Unused variables left in after refactoring
26
- - Missing `await` on async functions (silently returns a Promise instead of the value)
27
- - Inconsistent code style that makes diffs hard to read
28
- - Known dangerous patterns (e.g., `==` instead of `===` in JS)
29
-
30
- Run linting in CI. Every PR that merges should pass lint. A lint check that doesn't block the build is decoration.
31
-
32
- ---
33
-
34
- ## JavaScript / TypeScript (ESLint + Prettier)
35
-
36
- ```bash
37
- # Install
38
- npm install -D eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser prettier
39
-
40
- # Run
41
- npx eslint . --ext .ts,.tsx
42
- npx prettier --check .
43
-
44
- # Fix auto-fixable issues
45
- npx eslint . --ext .ts,.tsx --fix
46
- npx prettier --write .
47
- ```
48
-
49
- **Recommended rules to enforce:**
50
-
51
- ```json
52
- // .eslintrc.json
53
- {
54
- "extends": [
55
- "eslint:recommended",
56
- "plugin:@typescript-eslint/recommended",
57
- "plugin:@typescript-eslint/recommended-requiring-type-checking"
58
- ],
59
- "rules": {
60
- "@typescript-eslint/no-explicit-any": "error",
61
- "@typescript-eslint/no-floating-promises": "error",
62
- "@typescript-eslint/await-thenable": "error",
63
- "no-console": ["warn", { "allow": ["warn", "error"] }],
64
- "eqeqeq": ["error", "always"]
65
- }
66
- }
67
- ```
68
-
69
- **Key rules explained:**
70
-
71
- |Rule|Why It Matters|
72
- |---|---|
73
- |`no-floating-promises`|Missing `await` on async call = silent bug|
74
- |`no-explicit-any`|`any` disables TypeScript's only protection|
75
- |`eqeqeq`|`==` has coercion surprises; `===` is always explicit|
76
- |`await-thenable`|Prevents `await`-ing non-async functions (always a mistake)|
77
-
78
- ---
79
-
80
- ## Python (Ruff)
81
-
82
- Ruff replaces flake8, black, isort, and pyupgrade in one fast tool:
83
-
84
- ```bash
85
- # Install
86
- pip install ruff
87
-
88
- # Check
89
- ruff check .
90
-
91
- # Fix auto-fixable
92
- ruff check . --fix
93
-
94
- # Format (replaces black)
95
- ruff format .
96
-
97
- # Pre-commit config
98
- # .pre-commit-config.yaml
99
- - repo: https://github.com/astral-sh/ruff-pre-commit
100
- hooks:
101
- - id: ruff
102
- args: [--fix]
103
- - id: ruff-format
104
- ```
105
-
106
- ```toml
107
- # pyproject.toml
108
- [tool.ruff]
109
- line-length = 100
110
- target-version = "py311"
111
-
112
- [tool.ruff.lint]
113
- select = ["E", "F", "I", "N", "UP", "B", "SIM", "ANN"]
114
- # E: pycodestyle, F: pyflakes, I: isort, N: naming, UP: pyupgrade
115
- # B: bugbear (common bugs), SIM: simplify, ANN: annotations
116
- ```
117
-
118
- ---
119
-
120
- ## Type Checking
121
-
122
- Linting and type checking catch different things. Run both.
123
-
124
- **TypeScript:**
125
- ```bash
126
- npx tsc --noEmit # type check without emitting files
127
- ```
128
-
129
- **Python:**
130
- ```bash
131
- mypy src/ --ignore-missing-imports
132
- # or
133
- pyright src/
134
- ```
135
-
136
- **Required compiler options (TypeScript):**
137
- ```json
138
- {
139
- "compilerOptions": {
140
- "strict": true, // enables all strict checks
141
- "noImplicitAny": true,
142
- "noUncheckedIndexedAccess": true, // index access can be undefined
143
- "exactOptionalPropertyTypes": true
144
- }
145
- }
146
- ```
147
-
148
- ---
149
-
150
- ## Pre-commit Integration
151
-
152
- Run linting automatically before every commit:
153
-
154
- ```yaml
155
- # .pre-commit-config.yaml
156
- repos:
157
- - repo: https://github.com/pre-commit/pre-commit-hooks
158
- hooks:
159
- - id: check-merge-conflict
160
- - id: check-added-large-files
161
- - id: end-of-file-fixer
162
- - id: trailing-whitespace
163
-
164
- - repo: local
165
- hooks:
166
- - id: eslint
167
- name: ESLint
168
- language: node
169
- entry: npx eslint --ext .ts,.tsx
170
- types: [javascript, ts]
171
-
172
- - id: tsc
173
- name: TypeScript
174
- language: node
175
- entry: npx tsc --noEmit
176
- pass_filenames: false
177
- ```
178
-
179
- ---
180
-
181
- ## Scripts
182
-
183
- |Script|Purpose|Run With|
184
- |---|---|---|
185
- |`scripts/lint_runner.py`|Runs project linting and reports findings|`python scripts/lint_runner.py <project_path>`|
186
- |`scripts/type_coverage.py`|Measures TypeScript type coverage|`python scripts/type_coverage.py <project_path>`|
187
-
188
- ---
189
-
190
- ## Output Format
191
-
192
- When this skill produces or reviews code, structure your output as follows:
193
-
194
- ```
195
- ━━━ Lint And Validate Report ━━━━━━━━━━━━━━━━━━━━━━━━
196
- Skill: Lint And Validate
197
- Language: [detected language / framework]
198
- Scope: [N files · N functions]
199
- ─────────────────────────────────────────────────
200
- ✅ Passed: [checks that passed, or "All clean"]
201
- ⚠️ Warnings: [non-blocking issues, or "None"]
202
- ❌ Blocked: [blocking issues requiring fix, or "None"]
203
- ─────────────────────────────────────────────────
204
- VBC status: PENDING → VERIFIED
205
- Evidence: [test output / lint pass / compile success]
206
- ```
207
-
208
- **VBC (Verification-Before-Completion) is mandatory.**
209
- Do not mark status as VERIFIED until concrete terminal evidence is provided.
210
-
211
- ---
212
-
213
-
214
- ---
215
-
216
-
217
-
218
- AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
219
-
220
- 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
221
- 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
222
- 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
223
- 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
224
- 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
225
-
226
- ---
227
-
228
-
229
-
230
- **Slash command: `/review` or `/tribunal-full`**
231
- **Active reviewers: `logic-reviewer` · `security-auditor`**
232
-
233
- ### ❌ Forbidden AI Tropes
234
-
235
- 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
236
- 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
237
- 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
238
-
239
-
240
-
241
- Review these questions before confirming output:
242
- ```
243
- ✅ Did I rely ONLY on real, verified tools and methods?
244
- ✅ Is this solution appropriately scoped to the user's constraints?
245
- ✅ Did I handle potential failure modes and edge cases?
246
- ✅ Have I avoided generic boilerplate that doesn't add value?
247
- ```
248
-
249
- ### 🛑 Verification-Before-Completion (VBC) Protocol
250
-
251
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
252
- - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
253
- - ✅ **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.
254
-
255
-
256
- ## Pre-Flight Checklist
257
- - [ ] Have I reviewed the user's specific constraints and requests?
258
- - [ ] Have I checked the environment for relevant existing implementations?
259
-
260
- ## VBC Protocol (Verification-Before-Completion)
261
- You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
1
+ ---
2
+ name: lint-and-validate
3
+ description: Linting and validation principles for code quality enforcement.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 1.0.0
6
+ last-updated: 2026-03-12
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
+ - ❌ Auto-fixing lint errors without reviewing the diff -> ✅ Some auto-fixes change logic (e.g., removing 'unused' variables that are side-effects)
16
+ - ❌ Treating warnings as non-blocking in CI -> ✅ Warnings accumulate; enforce zero-warning policy or they become permanent
17
+ - ❌ Running linters only on changed files -> ✅ Run on full codebase periodically; cross-file issues are only caught with full runs
18
+
19
+ ---
20
+
21
+ # Linting & Validation
22
+
23
+ ---
24
+
25
+ ## Why Linting Matters
26
+
27
+ Linting catches problems that code review misses:
28
+
29
+ - Unused variables left in after refactoring
30
+ - Missing `await` on async functions (silently returns a Promise instead of the value)
31
+ - Inconsistent code style that makes diffs hard to read
32
+ - Known dangerous patterns (e.g., `==` instead of `===` in JS)
33
+
34
+ Run linting in CI. Every PR that merges should pass lint. A lint check that doesn't block the build is decoration.
35
+
36
+ ---
37
+
38
+ ## JavaScript / TypeScript (ESLint + Prettier)
39
+
40
+ ```bash
41
+ # Install
42
+ npm install -D eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser prettier
43
+
44
+ # Run
45
+ npx eslint . --ext .ts,.tsx
46
+ npx prettier --check .
47
+
48
+ # Fix auto-fixable issues
49
+ npx eslint . --ext .ts,.tsx --fix
50
+ npx prettier --write .
51
+ ```
52
+
53
+ **Recommended rules to enforce:**
54
+
55
+ ```json
56
+ // .eslintrc.json
57
+ {
58
+ "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking"],
59
+ "rules": {
60
+ "@typescript-eslint/no-explicit-any": "error",
61
+ "@typescript-eslint/no-floating-promises": "error",
62
+ "@typescript-eslint/await-thenable": "error",
63
+ "no-console": ["warn", { "allow": ["warn", "error"] }],
64
+ "eqeqeq": ["error", "always"]
65
+ }
66
+ }
67
+ ```
68
+
69
+ **Key rules explained:**
70
+
71
+ | Rule | Why It Matters |
72
+ | ---------------------- | ----------------------------------------------------------- |
73
+ | `no-floating-promises` | Missing `await` on async call = silent bug |
74
+ | `no-explicit-any` | `any` disables TypeScript's only protection |
75
+ | `eqeqeq` | `==` has coercion surprises; `===` is always explicit |
76
+ | `await-thenable` | Prevents `await`-ing non-async functions (always a mistake) |
77
+
78
+ ---
79
+
80
+ ## Python (Ruff)
81
+
82
+ Ruff replaces flake8, black, isort, and pyupgrade in one fast tool:
262
83
 
84
+ ```bash
85
+ # Install
86
+ pip install ruff
87
+
88
+ # Check
89
+ ruff check .
90
+
91
+ # Fix auto-fixable
92
+ ruff check . --fix
93
+
94
+ # Format (replaces black)
95
+ ruff format .
96
+
97
+ # Pre-commit config
98
+ # .pre-commit-config.yaml
99
+ - repo: https://github.com/astral-sh/ruff-pre-commit
100
+ hooks:
101
+ - id: ruff
102
+ args: [--fix]
103
+ - id: ruff-format
104
+ ```
105
+
106
+ ```toml
107
+ # pyproject.toml
108
+ [tool.ruff]
109
+ line-length = 100
110
+ target-version = "py311"
111
+
112
+ [tool.ruff.lint]
113
+ select = ["E", "F", "I", "N", "UP", "B", "SIM", "ANN"]
114
+ # E: pycodestyle, F: pyflakes, I: isort, N: naming, UP: pyupgrade
115
+ # B: bugbear (common bugs), SIM: simplify, ANN: annotations
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Type Checking
121
+
122
+ Linting and type checking catch different things. Run both.
123
+
124
+ **TypeScript:**
125
+
126
+ ```bash
127
+ npx tsc --noEmit # type check without emitting files
128
+ ```
129
+
130
+ **Python:**
131
+
132
+ ```bash
133
+ mypy src/ --ignore-missing-imports
134
+ # or
135
+ pyright src/
136
+ ```
137
+
138
+ **Required compiler options (TypeScript):**
139
+
140
+ ```json
141
+ {
142
+ "compilerOptions": {
143
+ "strict": true, // enables all strict checks
144
+ "noImplicitAny": true,
145
+ "noUncheckedIndexedAccess": true, // index access can be undefined
146
+ "exactOptionalPropertyTypes": true
147
+ }
148
+ }
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Pre-commit Integration
154
+
155
+ Run linting automatically before every commit:
156
+
157
+ ```yaml
158
+ # .pre-commit-config.yaml
159
+ repos:
160
+ - repo: https://github.com/pre-commit/pre-commit-hooks
161
+ hooks:
162
+ - id: check-merge-conflict
163
+ - id: check-added-large-files
164
+ - id: end-of-file-fixer
165
+ - id: trailing-whitespace
166
+
167
+ - repo: local
168
+ hooks:
169
+ - id: eslint
170
+ name: ESLint
171
+ language: node
172
+ entry: npx eslint --ext .ts,.tsx
173
+ types: [javascript, ts]
174
+
175
+ - id: tsc
176
+ name: TypeScript
177
+ language: node
178
+ entry: npx tsc --noEmit
179
+ pass_filenames: false
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Scripts
185
+
186
+ | Script | Purpose | Run With |
187
+ | -------------------------- | ----------------------------------------- | ------------------------------------------------ |
188
+ | `scripts/lint_runner.py` | Runs project linting and reports findings | `python scripts/lint_runner.py <project_path>` |
189
+ | `scripts/type_coverage.py` | Measures TypeScript type coverage | `python scripts/type_coverage.py <project_path>` |
190
+
191
+ ---
192
+
193
+ ## Output Format
194
+
195
+ When this skill produces or reviews code, structure your output as follows:
196
+
197
+ ```
198
+ ━━━ Lint And Validate Report ━━━━━━━━━━━━━━━━━━━━━━━━
199
+ Skill: Lint And Validate
200
+ Language: [detected language / framework]
201
+ Scope: [N files · N functions]
202
+ ─────────────────────────────────────────────────
203
+ ✅ Passed: [checks that passed, or "All clean"]
204
+ ⚠️ Warnings: [non-blocking issues, or "None"]
205
+ ❌ Blocked: [blocking issues requiring fix, or "None"]
206
+ ─────────────────────────────────────────────────
207
+ VBC status: PENDING → VERIFIED
208
+ Evidence: [test output / lint pass / compile success]
209
+ ```
210
+
211
+ **VBC (Verification-Before-Completion) is mandatory.**
212
+ Do not mark status as VERIFIED until concrete terminal evidence is provided.
213
+
214
+ ---
215
+
216
+ ---
217
+
218
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
219
+
220
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
221
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
222
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
223
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
224
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
225
+
226
+ ---
227
+
228
+ **Slash command: `/review` or `/tribunal-full`**
229
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
230
+
231
+ ### ❌ Forbidden AI Tropes
232
+
233
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
234
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
235
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
236
+
237
+ Review these questions before confirming output:
238
+
239
+ ```
240
+ ✅ Did I rely ONLY on real, verified tools and methods?
241
+ ✅ Is this solution appropriately scoped to the user's constraints?
242
+ ✅ Did I handle potential failure modes and edge cases?
243
+ ✅ Have I avoided generic boilerplate that doesn't add value?
244
+ ```
245
+
246
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
247
+
248
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
249
+
250
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
251
+ - ✅ **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.
252
+
253
+ ## Pre-Flight Checklist
254
+
255
+ - [ ] Have I reviewed the user's specific constraints and requests?
256
+ - [ ] Have I checked the environment for relevant existing implementations?
257
+
258
+ ## VBC Protocol (Verification-Before-Completion)
259
+
260
+ You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
263
261
 
264
262
  ---
265
263
 
@@ -289,6 +287,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
289
287
  ### ✅ Pre-Flight Self-Audit
290
288
 
291
289
  Review these questions before confirming output:
290
+
292
291
  ```
293
292
  ✅ Did I rely ONLY on real, verified tools and methods?
294
293
  ✅ Is this solution appropriately scoped to the user's constraints?
@@ -299,5 +298,6 @@ Review these questions before confirming output:
299
298
  ### 🛑 Verification-Before-Completion (VBC) Protocol
300
299
 
301
300
  **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
301
+
302
302
  - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
303
303
  - ✅ **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.