tribunal-kit 2.4.6 → 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 (250) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +139 -86
  4. package/.agent/agents/ai-code-reviewer.md +160 -90
  5. package/.agent/agents/backend-specialist.md +164 -127
  6. package/.agent/agents/code-archaeologist.md +115 -73
  7. package/.agent/agents/database-architect.md +130 -110
  8. package/.agent/agents/debugger.md +137 -97
  9. package/.agent/agents/dependency-reviewer.md +78 -30
  10. package/.agent/agents/devops-engineer.md +161 -118
  11. package/.agent/agents/documentation-writer.md +151 -87
  12. package/.agent/agents/explorer-agent.md +117 -99
  13. package/.agent/agents/frontend-reviewer.md +127 -47
  14. package/.agent/agents/frontend-specialist.md +169 -109
  15. package/.agent/agents/game-developer.md +28 -164
  16. package/.agent/agents/logic-reviewer.md +87 -49
  17. package/.agent/agents/mobile-developer.md +151 -103
  18. package/.agent/agents/mobile-reviewer.md +133 -50
  19. package/.agent/agents/orchestrator.md +121 -110
  20. package/.agent/agents/penetration-tester.md +103 -77
  21. package/.agent/agents/performance-optimizer.md +136 -92
  22. package/.agent/agents/performance-reviewer.md +139 -69
  23. package/.agent/agents/product-manager.md +104 -70
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +95 -95
  26. package/.agent/agents/qa-automation-engineer.md +174 -87
  27. package/.agent/agents/security-auditor.md +133 -129
  28. package/.agent/agents/seo-specialist.md +160 -99
  29. package/.agent/agents/sql-reviewer.md +132 -44
  30. package/.agent/agents/supervisor-agent.md +137 -109
  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 +132 -53
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +143 -33
  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/__pycache__/auto_preview.cpython-311.pyc +0 -0
  43. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  44. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  45. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  46. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  47. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  48. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  49. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  50. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  51. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  52. package/.agent/scripts/compress_skills.py +167 -0
  53. package/.agent/scripts/consolidate_skills.py +173 -0
  54. package/.agent/scripts/deep_compress.py +202 -0
  55. package/.agent/scripts/minify_context.py +80 -0
  56. package/.agent/scripts/security_scan.py +1 -1
  57. package/.agent/scripts/strip_tribunal.py +41 -0
  58. package/.agent/skills/agent-organizer/SKILL.md +60 -100
  59. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  60. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +108 -53
  61. package/.agent/skills/api-patterns/SKILL.md +197 -257
  62. package/.agent/skills/api-security-auditor/SKILL.md +125 -57
  63. package/.agent/skills/app-builder/SKILL.md +326 -50
  64. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  78. package/.agent/skills/appflow-wireframe/SKILL.md +71 -98
  79. package/.agent/skills/architecture/SKILL.md +161 -200
  80. package/.agent/skills/authentication-best-practices/SKILL.md +121 -54
  81. package/.agent/skills/bash-linux/SKILL.md +71 -166
  82. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  83. package/.agent/skills/brainstorming/SKILL.md +345 -127
  84. package/.agent/skills/building-native-ui/SKILL.md +125 -57
  85. package/.agent/skills/clean-code/SKILL.md +266 -149
  86. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  87. package/.agent/skills/config-validator/SKILL.md +73 -131
  88. package/.agent/skills/csharp-developer/SKILL.md +434 -73
  89. package/.agent/skills/database-design/SKILL.md +190 -275
  90. package/.agent/skills/deployment-procedures/SKILL.md +81 -158
  91. package/.agent/skills/devops-engineer/SKILL.md +255 -94
  92. package/.agent/skills/devops-incident-responder/SKILL.md +50 -69
  93. package/.agent/skills/doc.md +5 -5
  94. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  95. package/.agent/skills/edge-computing/SKILL.md +75 -165
  96. package/.agent/skills/extract-design-system/SKILL.md +84 -58
  97. package/.agent/skills/framer-motion-expert/SKILL.md +195 -0
  98. package/.agent/skills/frontend-design/SKILL.md +151 -499
  99. package/.agent/skills/game-design-expert/SKILL.md +71 -0
  100. package/.agent/skills/game-engineering-expert/SKILL.md +88 -0
  101. package/.agent/skills/geo-fundamentals/SKILL.md +52 -178
  102. package/.agent/skills/github-operations/SKILL.md +197 -272
  103. package/.agent/skills/gsap-expert/SKILL.md +194 -0
  104. package/.agent/skills/i18n-localization/SKILL.md +60 -172
  105. package/.agent/skills/intelligent-routing/SKILL.md +123 -103
  106. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  107. package/.agent/skills/llm-engineering/SKILL.md +281 -195
  108. package/.agent/skills/local-first/SKILL.md +76 -159
  109. package/.agent/skills/mcp-builder/SKILL.md +48 -188
  110. package/.agent/skills/mobile-design/SKILL.md +213 -219
  111. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  112. package/.agent/skills/nextjs-react-expert/SKILL.md +184 -203
  113. package/.agent/skills/nodejs-best-practices/SKILL.md +403 -185
  114. package/.agent/skills/observability/SKILL.md +211 -203
  115. package/.agent/skills/parallel-agents/SKILL.md +53 -146
  116. package/.agent/skills/performance-profiling/SKILL.md +171 -151
  117. package/.agent/skills/plan-writing/SKILL.md +49 -153
  118. package/.agent/skills/platform-engineer/SKILL.md +57 -103
  119. package/.agent/skills/playwright-best-practices/SKILL.md +110 -63
  120. package/.agent/skills/powershell-windows/SKILL.md +61 -179
  121. package/.agent/skills/python-patterns/SKILL.md +7 -35
  122. package/.agent/skills/python-pro/SKILL.md +273 -114
  123. package/.agent/skills/react-specialist/SKILL.md +227 -108
  124. package/.agent/skills/readme-builder/SKILL.md +15 -85
  125. package/.agent/skills/realtime-patterns/SKILL.md +216 -243
  126. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  127. package/.agent/skills/rust-pro/SKILL.md +525 -142
  128. package/.agent/skills/seo-fundamentals/SKILL.md +92 -153
  129. package/.agent/skills/server-management/SKILL.md +110 -166
  130. package/.agent/skills/shadcn-ui-expert/SKILL.md +154 -55
  131. package/.agent/skills/skill-creator/SKILL.md +18 -58
  132. package/.agent/skills/sql-pro/SKILL.md +543 -68
  133. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  134. package/.agent/skills/swiftui-expert/SKILL.md +124 -57
  135. package/.agent/skills/systematic-debugging/SKILL.md +49 -151
  136. package/.agent/skills/tailwind-patterns/SKILL.md +433 -149
  137. package/.agent/skills/tdd-workflow/SKILL.md +63 -169
  138. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  139. package/.agent/skills/testing-patterns/SKILL.md +437 -130
  140. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  141. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  142. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  143. package/.agent/skills/vue-expert/SKILL.md +225 -119
  144. package/.agent/skills/vulnerability-scanner/SKILL.md +264 -226
  145. package/.agent/skills/web-accessibility-auditor/SKILL.md +141 -58
  146. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  147. package/.agent/skills/webapp-testing/SKILL.md +71 -196
  148. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  149. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  150. package/.agent/workflows/api-tester.md +96 -224
  151. package/.agent/workflows/audit.md +81 -122
  152. package/.agent/workflows/brainstorm.md +69 -105
  153. package/.agent/workflows/changelog.md +65 -97
  154. package/.agent/workflows/create.md +73 -88
  155. package/.agent/workflows/debug.md +80 -111
  156. package/.agent/workflows/deploy.md +119 -92
  157. package/.agent/workflows/enhance.md +80 -91
  158. package/.agent/workflows/fix.md +68 -97
  159. package/.agent/workflows/generate.md +165 -164
  160. package/.agent/workflows/migrate.md +106 -109
  161. package/.agent/workflows/orchestrate.md +103 -86
  162. package/.agent/workflows/performance-benchmarker.md +77 -268
  163. package/.agent/workflows/plan.md +120 -98
  164. package/.agent/workflows/preview.md +39 -96
  165. package/.agent/workflows/refactor.md +105 -97
  166. package/.agent/workflows/review-ai.md +63 -102
  167. package/.agent/workflows/review.md +71 -110
  168. package/.agent/workflows/session.md +53 -113
  169. package/.agent/workflows/status.md +42 -88
  170. package/.agent/workflows/strengthen-skills.md +90 -51
  171. package/.agent/workflows/swarm.md +114 -129
  172. package/.agent/workflows/test.md +125 -102
  173. package/.agent/workflows/tribunal-backend.md +60 -78
  174. package/.agent/workflows/tribunal-database.md +62 -100
  175. package/.agent/workflows/tribunal-frontend.md +62 -82
  176. package/.agent/workflows/tribunal-full.md +56 -100
  177. package/.agent/workflows/tribunal-mobile.md +65 -94
  178. package/.agent/workflows/tribunal-performance.md +62 -105
  179. package/.agent/workflows/ui-ux-pro-max.md +72 -121
  180. package/README.md +11 -15
  181. package/package.json +1 -1
  182. package/.agent/skills/api-patterns/api-style.md +0 -42
  183. package/.agent/skills/api-patterns/auth.md +0 -24
  184. package/.agent/skills/api-patterns/documentation.md +0 -26
  185. package/.agent/skills/api-patterns/graphql.md +0 -41
  186. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  187. package/.agent/skills/api-patterns/response.md +0 -37
  188. package/.agent/skills/api-patterns/rest.md +0 -40
  189. package/.agent/skills/api-patterns/security-testing.md +0 -122
  190. package/.agent/skills/api-patterns/trpc.md +0 -41
  191. package/.agent/skills/api-patterns/versioning.md +0 -22
  192. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  193. package/.agent/skills/app-builder/feature-building.md +0 -53
  194. package/.agent/skills/app-builder/project-detection.md +0 -34
  195. package/.agent/skills/app-builder/scaffolding.md +0 -118
  196. package/.agent/skills/app-builder/tech-stack.md +0 -40
  197. package/.agent/skills/architecture/context-discovery.md +0 -43
  198. package/.agent/skills/architecture/examples.md +0 -94
  199. package/.agent/skills/architecture/pattern-selection.md +0 -68
  200. package/.agent/skills/architecture/patterns-reference.md +0 -50
  201. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  202. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  203. package/.agent/skills/database-design/database-selection.md +0 -43
  204. package/.agent/skills/database-design/indexing.md +0 -39
  205. package/.agent/skills/database-design/migrations.md +0 -48
  206. package/.agent/skills/database-design/optimization.md +0 -36
  207. package/.agent/skills/database-design/orm-selection.md +0 -30
  208. package/.agent/skills/database-design/schema-design.md +0 -56
  209. package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
  210. package/.agent/skills/framer-motion-animations/SKILL.md +0 -74
  211. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  212. package/.agent/skills/frontend-design/color-system.md +0 -329
  213. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  214. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  215. package/.agent/skills/frontend-design/typography-system.md +0 -363
  216. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  217. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  218. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  219. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  220. package/.agent/skills/game-development/SKILL.md +0 -236
  221. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  222. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  223. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  224. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  225. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  226. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  227. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  228. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  229. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  230. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  231. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  232. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  233. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  234. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  235. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  236. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  237. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  238. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  239. package/.agent/skills/mobile-design/platform-android.md +0 -666
  240. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  241. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  242. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  243. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  244. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  245. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  246. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  247. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  248. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  249. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  250. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
@@ -1,230 +1,112 @@
1
1
  ---
2
2
  name: powershell-windows
3
- description: PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling.
3
+ description: PowerShell and Windows environment mastery. Object-oriented piping, strict error handling (ErrorActionPreference), PSProviders, active directory querying, credential management, and execution policies. Use when automating Azure, Windows environments, or writing .ps1 scripts.
4
4
  allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 1.0.0
6
- last-updated: 2026-03-12
5
+ version: 2.0.0
6
+ last-updated: 2026-04-02
7
7
  applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
8
  ---
9
9
 
10
- # PowerShell on Windows
11
-
12
- > PowerShell is not bash with a Windows accent.
13
- > It is object-based, not text-based. That changes everything.
10
+ # PowerShell Windows Automation Mastery
14
11
 
15
12
  ---
16
13
 
17
- ## Core Difference: Objects, Not Text
14
+ ## 1. The Object Pipeline
18
15
 
19
- Every PowerShell command returns objects, not strings. This is the foundational difference from bash.
16
+ Unlike Bash where everything is strings (requiring `awk`/`grep`), PowerShell passes structured .NET class instances between commands.
20
17
 
21
18
  ```powershell
22
- # bash: 'ls' returns text you parse
23
- ls -la | awk '{print $9}'
24
-
25
- # PowerShell: Get-ChildItem returns objects you access directly
26
- Get-ChildItem | Select-Object Name, Length
27
- (Get-ChildItem ".\src").Count # count files directly
28
- ```
29
-
30
- This means string parsing (grep, awk, cut) is often unnecessary in PowerShell.
31
-
32
- ---
19
+ # ❌ BAD: Attempting to treat PowerShell like Bash (String Parsing)
20
+ Get-Process | Out-String -Stream | Select-String "node" | ForEach-Object { $id = ($_ -split '\s+')[8]; Stop-Process -Id $id }
33
21
 
34
- ## Critical Operator Pitfalls
22
+ # GOOD: Accessing Object Properties Directly
23
+ Get-Process -Name "node" | Stop-Process -Force
35
24
 
36
- PowerShell comparison operators use letters, not symbols:
25
+ # Filtering objects (Where-Object)
26
+ Get-Service | Where-Object Status -eq 'Running' | Select-Object Name, DisplayName
37
27
 
38
- | Operation | PowerShell | NOT This |
39
- |---|---|---|
40
- | Equal | `-eq` | `==` |
41
- | Not equal | `-ne` | `!=` |
42
- | Greater than | `-gt` | `>` |
43
- | Less than | `-lt` | `<` |
44
- | Like (wildcard) | `-like "*.ts"` | — |
45
- | Match (regex) | `-match "pattern"` | — |
46
- | Contains | `-contains "val"` | — |
47
-
48
- ```powershell
49
- # ❌ This doesn't compare — it redirects output
50
- if ($count == 5) { ... }
51
-
52
- # ✅ Correct PowerShell comparison
53
- if ($count -eq 5) { ... }
28
+ # Accessing methods natively on the object
29
+ $files = Get-ChildItem -Path "C:\logs" -Filter "*.log"
30
+ $files | ForEach-Object { $_.Delete() }
54
31
  ```
55
32
 
56
33
  ---
57
34
 
58
- ## Path Handling
35
+ ## 2. Strict Error Handling (The Windows equivalent of set -e)
59
36
 
60
- Windows paths have backslashes but PowerShell handles both:
37
+ By default, PowerShell prints an error but keeps running. You MUST enforce strict halting for automation scripts.
61
38
 
62
39
  ```powershell
63
- # Both work in PowerShell
64
- $path = "C:\Users\username\project"
65
- $path = "C:/Users/username/project"
40
+ # Mandatory header for reliable automation scripts
41
+ $ErrorActionPreference = "Stop"
42
+ Set-StrictMode -Version Latest
66
43
 
67
- # Use Join-Path for safe cross-platform joins
68
- $full = Join-Path $env:USERPROFILE "Desktop\project"
69
-
70
- # Resolve to absolute path
71
- $abs = Resolve-Path ".\relative\path"
72
-
73
- # Test existence before using
74
- if (Test-Path $path) { ... }
75
- if (Test-Path $path -PathType Container) { ... } # is it a directory?
76
- if (Test-Path $path -PathType Leaf) { ... } # is it a file?
77
- ```
78
-
79
- ---
80
-
81
- ## Error Handling
82
-
83
- PowerShell has two error types: terminating and non-terminating.
84
-
85
- ```powershell
86
- # Stop on any error (like bash set -e)
87
- $ErrorActionPreference = 'Stop'
88
-
89
- # Try/Catch only catches terminating errors
90
44
  try {
91
- Remove-Item "nonexistent.txt" -ErrorAction Stop
45
+ # If this fails, it jumps straight to catch block instead of continuing
46
+ Copy-Item "C:\Source\configs.json" -Destination "C:\Dest\"
47
+
48
+ $config = Get-Content "C:\Dest\configs.json" | ConvertFrom-Json
92
49
  } catch {
93
- Write-Host "Error: $_" -ForegroundColor Red
94
- exit 1
95
- }
96
-
97
- # Handle non-terminating errors
98
- $result = Get-Item "maybe.txt" -ErrorAction SilentlyContinue
99
- if (-not $result) {
100
- Write-Host "File not found"
50
+ Write-Error "Deployment failed during config copy: $_"
51
+ exit 1
52
+ } finally {
53
+ # Cleanup block executes regardless of success or failure
54
+ Remove-Item "C:\Dest\temp" -Recurse -ErrorAction Ignore
101
55
  }
102
56
  ```
103
57
 
104
58
  ---
105
59
 
106
- ## String Handling
60
+ ## 3. Execution Policies & Execution
107
61
 
108
- ```powershell
109
- # Single quotes = literal (no variable expansion)
110
- $name = 'world'
111
- Write-Host 'Hello $name' # outputs: Hello $name
112
-
113
- # Double quotes = interpolation
114
- Write-Host "Hello $name" # outputs: Hello world
115
-
116
- # Here-string for multiline
117
- $block = @"
118
- Line 1
119
- Line 2
120
- Value: $name
121
- "@
122
-
123
- # String operations
124
- $str.ToLower()
125
- $str.Replace("old", "new")
126
- $str.Split(",")
127
- $str.Trim()
128
- $str -like "*.ts" # wildcard match
129
- $str -match "^\d{4}$" # regex match
130
- ```
131
-
132
- ---
133
-
134
- ## Useful Patterns
62
+ Windows restricts running `.ps1` files by default for security.
135
63
 
136
64
  ```powershell
137
- # Get script directory (equivalent of bash's $SCRIPT_DIR)
138
- $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
139
-
140
- # Run command and capture output WITH error handling
141
- $output = & git status 2>&1
142
- if ($LASTEXITCODE -ne 0) {
143
- Write-Error "git failed: $output"
144
- exit 1
145
- }
146
-
147
- # Iterate files matching pattern
148
- Get-ChildItem ".\src" -Recurse -Filter "*.ts" | ForEach-Object {
149
- Write-Host $_.FullName
150
- }
65
+ # Temporarily bypass the policy for a single script execution (CI/CD pattern)
66
+ powershell.exe -ExecutionPolicy Bypass -File .\Deploy-App.ps1
151
67
 
152
- # Create directory if not exists
153
- New-Item -ItemType Directory -Force ".\output" | Out-Null
154
-
155
- # Read/write files
156
- $content = Get-Content ".\file.txt" -Raw
157
- Set-Content ".\output.txt" "new content"
158
- Add-Content ".\log.txt" "append this line"
159
-
160
- # Environment variables
161
- $env:MY_VAR = "value" # set
162
- [System.Environment]::GetEnvironmentVariable("PATH") # read system-level
68
+ # HALLUCINATION TRAP: Do NOT instruct users to run `Set-ExecutionPolicy Unrestricted`
69
+ # This lowers the permanent security posture of the entire operating system.
70
+ # Use Bypass only at the process level.
163
71
  ```
164
72
 
165
73
  ---
166
74
 
167
- ## Execution Policy
75
+ ## 4. Manipulating Structured Formats Natively
168
76
 
169
- Scripts may be blocked by execution policy:
77
+ Because PowerShell is built on .NET, parsing JSON, XML, and CSV is native.
170
78
 
171
79
  ```powershell
172
- # Check current policy
173
- Get-ExecutionPolicy
174
-
175
- # Allow local scripts (most permissive safe setting)
176
- Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
177
-
178
- # Run a specific script bypassing policy (one-time)
179
- powershell -ExecutionPolicy Bypass -File script.ps1
80
+ # JSON
81
+ $config = Get-Content .\appsettings.json | ConvertFrom-Json
82
+ $config.Database.ConnectionString = "Server=Prod;"
83
+ $config | ConvertTo-Json -Depth 10 | Set-Content .\appsettings.json
84
+
85
+ # CSV (No AWK needed)
86
+ $users = Import-Csv .\users.csv
87
+ $users | Where-Object Role -eq "Admin" | Export-Csv .\admins.csv -NoTypeInformation
88
+
89
+ # API Requests (Invoke-RestMethod automatically parses JSON into PowerShell objects)
90
+ $response = Invoke-RestMethod -Uri "https://api.github.com/users/github"
91
+ Write-Host "GitHub has $($response.public_repos) public repositories."
180
92
  ```
181
93
 
182
94
  ---
183
95
 
184
- ## Output Format
96
+ ## 5. Providers and Drives
185
97
 
186
- When this skill produces or reviews code, structure your output as follows:
98
+ PowerShell extends the "file system" concept to the Registry, Environment Variables, and Certificates.
187
99
 
188
- ```
189
- ━━━ Powershell Windows Report ━━━━━━━━━━━━━━━━━━━━━━━━
190
- Skill: Powershell Windows
191
- Language: [detected language / framework]
192
- Scope: [N files · N functions]
193
- ─────────────────────────────────────────────────
194
- ✅ Passed: [checks that passed, or "All clean"]
195
- ⚠️ Warnings: [non-blocking issues, or "None"]
196
- ❌ Blocked: [blocking issues requiring fix, or "None"]
197
- ─────────────────────────────────────────────────
198
- VBC status: PENDING → VERIFIED
199
- Evidence: [test output / lint pass / compile success]
200
- ```
100
+ ```powershell
101
+ # Environment variables (Env: drive)
102
+ $env:PATH += ";C:\Custom\Bin"
103
+ Write-Host $env:COMPUTERNAME
201
104
 
202
- **VBC (Verification-Before-Completion) is mandatory.**
203
- Do not mark status as VERIFIED until concrete terminal evidence is provided.
105
+ # Registry (HKCU: and HKLM: drives)
106
+ Get-ChildItem -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
204
107
 
108
+ # Certificates (Cert: drive)
109
+ Get-ChildItem -Path "Cert:\LocalMachine\My" | Where-Object Subject -match "example.com"
110
+ ```
205
111
 
206
112
  ---
207
-
208
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
209
-
210
- **Slash command: `/audit` or `/review`**
211
- **Active reviewers: `logic` · `security` · `devops`**
212
-
213
- ### ❌ Forbidden AI Tropes in PowerShell
214
-
215
- 1. **Using Bash Operators** — writing `==` or `!=` instead of `-eq` or `-ne`.
216
- 2. **Text Parsing Over Objects** — extracting properties with regex instead of just accessing `$obj.Property`.
217
- 3. **Ignoring Execution Policies** — writing scripts without considering that they might be blocked on the user's machine.
218
- 4. **Silent Failures** — relying on generic `catch` blocks without understanding terminating vs non-terminating errors.
219
- 5. **Path Separator Errors** — failing to wrap path operations in safe cmdlets like `Join-Path` or `Test-Path`.
220
-
221
- ### ✅ Pre-Flight Self-Audit
222
-
223
- Review these questions before generating PowerShell commands:
224
- ```
225
- ✅ Did I use the correct comparison operators (e.g., `-gt`, `-like`)?
226
- ✅ Did I leverage PowerShell's object pipeline instead of parsing text?
227
- ✅ Are paths safely manipulated (e.g., `Join-Path`) to handle Windows backslashes correctly?
228
- ✅ Are potential non-terminating errors handled explicitly?
229
- ✅ Will this script require an execution policy bypass, and did I note that for the user?
230
- ```
@@ -9,21 +9,18 @@ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
9
9
 
10
10
  # Python Development Principles
11
11
 
12
- > Python's flexibility is its greatest weakness.
13
- > Without conventions, every project ends up with its own unpredictable shape.
14
-
15
12
  ---
16
13
 
17
14
  ## Framework Selection
18
15
 
19
- | Use Case | Recommended | When to Use |
16
+ |Use Case|Recommended|When to Use|
20
17
  |---|---|---|
21
- | REST API, general-purpose | FastAPI | Type-safe, async, auto-docs via OpenAPI |
22
- | REST API, batteries-included | Django + DRF | Rapid development, ORM included, admin panel |
23
- | Microservice / minimal API | Flask | Simple, no overhead, full control |
24
- | Data pipeline / ETL | No framework | Standard library + pandas/polars as needed |
25
- | CLI tool | Click or Typer | Better than argparse for complex CLIs |
26
- | Async task queue | Celery + Redis | Background jobs, scheduled tasks |
18
+ |REST API, general-purpose|FastAPI|Type-safe, async, auto-docs via OpenAPI|
19
+ |REST API, batteries-included|Django + DRF|Rapid development, ORM included, admin panel|
20
+ |Microservice / minimal API|Flask|Simple, no overhead, full control|
21
+ |Data pipeline / ETL|No framework|Standard library + pandas/polars as needed|
22
+ |CLI tool|Click or Typer|Better than argparse for complex CLIs|
23
+ |Async task queue|Celery + Redis|Background jobs, scheduled tasks|
27
24
 
28
25
  **Decision question:** Does this need an ORM, admin panel, and auth out of the box? → Django. Does it need type-safe inputs with automatic validation? → FastAPI. Is it small and needs nothing? → Flask.
29
26
 
@@ -201,29 +198,4 @@ Evidence: [test output / lint pass / compile success]
201
198
  **VBC (Verification-Before-Completion) is mandatory.**
202
199
  Do not mark status as VERIFIED until concrete terminal evidence is provided.
203
200
 
204
-
205
201
  ---
206
-
207
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
208
-
209
- **Slash command: `/tribunal-backend`**
210
- **Active reviewers: `logic` · `security` · `dependency` · `type-safety`**
211
-
212
- ### ❌ Forbidden AI Tropes in Python
213
-
214
- 1. **Missing Type Hints** — writing `def func(a, b):` instead of fully typing parameters and return values.
215
- 2. **Bare `except:` blocks** — catching all exceptions blindly without logging or raising `AppError`.
216
- 3. **`requirements.txt` over `pyproject.toml`** — hallucinating outdated dependency management practices.
217
- 4. **Blocking the async event loop** — writing synchronous I/O or `time.sleep()` inside an `async def` FastAPI route.
218
- 5. **Assuming Django for microservices** — defaulting to a massive framework when `FastAPI` or `Flask` fits better.
219
-
220
- ### ✅ Pre-Flight Self-Audit
221
-
222
- Review these questions before generating Python code:
223
- ```
224
- ✅ Are all function parameters and return types strictly typed?
225
- ✅ Did I use the modern toolchain (`uv`/`poetry`, `ruff`, `mypy`)?
226
- ✅ Did I accidentally block the async event loop with sync code?
227
- ✅ Are domain errors properly caught and mapped to HTTP status codes without leaking stack traces?
228
- ✅ Is my dependency selection precise and explicitly declared in `pyproject.toml`?
229
- ```