novahiz 0.1.0 → 0.2.2

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 (664) hide show
  1. package/NOTICE.md +10 -17
  2. package/README.md +355 -123
  3. package/adapters/README.md +3 -3
  4. package/adapters/opencode/agent/{novahiz-agent.md → novahiz.md} +6 -4
  5. package/adapters/opencode/commands/novahiz-doctor.md +1 -1
  6. package/adapters/opencode/instructions.md +5 -16
  7. package/adapters/opencode/novahiz.ts +157 -23
  8. package/bundled-skills/{skill-creator/LICENSE.txt → android-reverse-engineering/LICENSE} +5 -17
  9. package/bundled-skills/android-reverse-engineering/references/api-extraction-patterns.md +197 -0
  10. package/bundled-skills/android-reverse-engineering/references/call-flow-analysis.md +210 -0
  11. package/bundled-skills/android-reverse-engineering/references/fernflower-usage.md +115 -0
  12. package/bundled-skills/android-reverse-engineering/references/jadx-usage.md +116 -0
  13. package/bundled-skills/android-reverse-engineering/references/kotlin-name-recovery.md +108 -0
  14. package/bundled-skills/android-reverse-engineering/references/setup-guide.md +221 -0
  15. package/bundled-skills/android-reverse-engineering/references/third_party_hosts.txt +122 -0
  16. package/bundled-skills/android-reverse-engineering/scripts/check-deps.ps1 +165 -0
  17. package/bundled-skills/android-reverse-engineering/scripts/check-deps.sh +129 -0
  18. package/bundled-skills/android-reverse-engineering/scripts/decompile.ps1 +400 -0
  19. package/bundled-skills/android-reverse-engineering/scripts/decompile.sh +578 -0
  20. package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.ps1 +121 -0
  21. package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.sh +339 -0
  22. package/bundled-skills/android-reverse-engineering/scripts/fingerprint.sh +241 -0
  23. package/bundled-skills/android-reverse-engineering/scripts/install-dep.ps1 +345 -0
  24. package/bundled-skills/android-reverse-engineering/scripts/install-dep.sh +448 -0
  25. package/bundled-skills/android-reverse-engineering/scripts/lookup-name.sh +85 -0
  26. package/bundled-skills/android-reverse-engineering/scripts/recover-kotlin-names.sh +140 -0
  27. package/bundled-skills/memory-save/SKILL.md +2 -2
  28. package/catalog/categories.json +1093 -1030
  29. package/catalog/overrides.json +33 -201
  30. package/catalog/providers.json +29 -102
  31. package/catalog/rules.json +84 -80
  32. package/docs/ARCHITECTURE.md +69 -19
  33. package/docs/CATALOG.md +129 -0
  34. package/docs/CLASSIFICATION.md +129 -0
  35. package/docs/CLI.md +202 -0
  36. package/docs/CONFIGURATION.md +97 -0
  37. package/docs/CONSTITUTION.md +3 -3
  38. package/docs/EXECUTION.md +100 -53
  39. package/docs/GATE.md +177 -0
  40. package/docs/HARNESSES.md +2 -2
  41. package/docs/INSTALL.md +3 -3
  42. package/docs/PLUGIN.md +150 -0
  43. package/docs/PROVIDERS.md +10 -12
  44. package/docs/ROADMAPS.md +8 -8
  45. package/docs/RULES.md +21 -16
  46. package/docs/TOKENS.md +2 -2
  47. package/install/bootstrap.mjs +9 -12
  48. package/install/install.mjs +66 -53
  49. package/install/lib.mjs +15 -1
  50. package/install/uninstall.mjs +11 -11
  51. package/mcp/novahiz-tools/index.mjs +244 -40
  52. package/novahiz.config.example.json +0 -1
  53. package/package.json +12 -10
  54. package/skills/ai-security/SKILL.md +91 -323
  55. package/skills/ai-security/references/atlas-coverage.md +38 -128
  56. package/skills/ai-security/scripts/ai_threat_scanner.py +341 -532
  57. package/skills/anti-AI-design/SKILL.md +48 -165
  58. package/skills/apple-hig-audit/SKILL.md +64 -0
  59. package/skills/apple-hig-audit/references/accessibility.md +78 -0
  60. package/skills/apple-hig-audit/references/platform-specifics.md +57 -0
  61. package/skills/apple-hig-audit/references/visual-design.md +68 -0
  62. package/skills/apple-hig-audit/scripts/hig_checker.py +115 -0
  63. package/skills/apple-hig-audit/templates/hig-audit-template.md +114 -0
  64. package/skills/dependency-auditor/README.md +58 -484
  65. package/skills/dependency-auditor/SKILL.md +82 -53
  66. package/skills/dependency-auditor/references/dependency_management_best_practices.md +32 -629
  67. package/skills/dependency-auditor/references/license_compatibility_matrix.md +57 -238
  68. package/skills/dependency-auditor/references/vulnerability_assessment_guide.md +42 -441
  69. package/skills/dependency-auditor/scripts/dep_scanner.py +569 -768
  70. package/skills/dependency-auditor/scripts/license_checker.py +425 -979
  71. package/skills/dependency-auditor/scripts/upgrade_planner.py +463 -1002
  72. package/skills/design-system-tokens/SKILL.md +90 -0
  73. package/skills/design-system-tokens/assets/design_system_doc_template.md +129 -0
  74. package/skills/design-system-tokens/references/component-architecture.md +88 -0
  75. package/skills/design-system-tokens/references/developer-handoff.md +61 -0
  76. package/skills/design-system-tokens/references/responsive-calculations.md +72 -0
  77. package/skills/design-system-tokens/references/token-generation.md +62 -0
  78. package/skills/design-system-tokens/scripts/design_token_generator.py +315 -0
  79. package/skills/engineering-code-standards/SKILL.md +174 -0
  80. package/skills/env-secrets-manager/SKILL.md +67 -225
  81. package/skills/env-secrets-manager/references/secret-patterns.md +43 -28
  82. package/skills/env-secrets-manager/references/validation-detection-rotation.md +50 -332
  83. package/skills/env-secrets-manager/scripts/env_auditor.py +305 -110
  84. package/skills/frontend-design-taste/SKILL.md +62 -0
  85. package/skills/gate/SKILL.md +12 -2
  86. package/skills/mcp-server-builder/README.md +6 -14
  87. package/skills/mcp-server-builder/SKILL.md +93 -49
  88. package/skills/mcp-server-builder/references/production-hardening-guide.md +5 -3
  89. package/skills/mcp-server-builder/references/python-server-template.md +1 -1
  90. package/skills/mcp-server-builder/references/spec-compatibility.md +129 -0
  91. package/skills/mcp-server-builder/references/typescript-server-template.md +1 -1
  92. package/skills/mcp-server-builder/scripts/mcp_validator.py +3 -9
  93. package/skills/mcp-server-builder/scripts/openapi_to_mcp.py +3 -8
  94. package/skills/memory/SKILL.md +11 -3
  95. package/skills/novahiz-analyse/SKILL.md +19 -15
  96. package/skills/novahiz-assess-decide/SKILL.md +81 -0
  97. package/skills/novahiz-assess-define/SKILL.md +78 -0
  98. package/skills/novahiz-assess-intake/SKILL.md +90 -0
  99. package/skills/novahiz-assess-research/SKILL.md +79 -0
  100. package/skills/novahiz-assess-shape/SKILL.md +79 -0
  101. package/skills/novahiz-audit/SKILL.md +52 -54
  102. package/skills/novahiz-browser/SKILL.md +56 -0
  103. package/skills/novahiz-clarify/SKILL.md +38 -35
  104. package/skills/novahiz-code-review/SKILL.md +86 -0
  105. package/skills/novahiz-converge/SKILL.md +30 -26
  106. package/skills/novahiz-delta-review/SKILL.md +87 -0
  107. package/skills/novahiz-docs/SKILL.md +79 -0
  108. package/skills/novahiz-docs/templates/ARCHITECTURE.md +49 -0
  109. package/skills/novahiz-docs/templates/CONVENTIONS.md +50 -0
  110. package/skills/novahiz-docs/templates/DECISIONS.md +28 -0
  111. package/skills/novahiz-docs/templates/STANDARDS.md +48 -0
  112. package/skills/novahiz-gate/SKILL.md +27 -31
  113. package/skills/novahiz-humanizer/SKILL.md +617 -0
  114. package/skills/novahiz-implement/SKILL.md +27 -23
  115. package/skills/novahiz-memory/SKILL.md +29 -27
  116. package/skills/novahiz-plan/SKILL.md +42 -38
  117. package/skills/novahiz-planner/SKILL.md +21 -16
  118. package/skills/novahiz-postgres/SKILL.md +100 -0
  119. package/skills/novahiz-security/SKILL.md +228 -0
  120. package/skills/novahiz-supabase/SKILL.md +177 -0
  121. package/skills/novahiz-task/SKILL.md +34 -30
  122. package/skills/novahiz-wcag-audit/SKILL.md +79 -0
  123. package/skills/novahiz-wcag-audit/references/findings.example.json +36 -0
  124. package/skills/novahiz-wcag-audit/references/report-template.md +55 -0
  125. package/skills/novahiz-wcag-audit/references/wcag22-aa.md +153 -0
  126. package/skills/novahiz-wcag-audit/scripts/contrast.mjs +140 -0
  127. package/skills/novahiz-wcag-audit/scripts/report.mjs +141 -0
  128. package/skills/novahiz-web-extract/SKILL.md +175 -0
  129. package/skills/playwright-agent/SKILL.md +39 -34
  130. package/skills/prompt-rewriter/SKILL.md +85 -0
  131. package/skills/skill-creator/LICENSE.txt +11 -199
  132. package/skills/skill-creator/SKILL.md +166 -180
  133. package/skills/skill-creator/agents/analyzer.md +1 -1
  134. package/skills/skill-creator/agents/grader.md +8 -8
  135. package/skills/skill-creator/assets/eval_review.html +20 -23
  136. package/skills/skill-creator/eval-viewer/generate_review.py +2 -2
  137. package/skills/skill-creator/eval-viewer/viewer.html +34 -38
  138. package/skills/skill-creator/references/schemas.md +2 -2
  139. package/skills/skill-creator/scripts/aggregate_benchmark.py +6 -6
  140. package/skills/skill-creator/scripts/generate_report.py +27 -31
  141. package/skills/skill-creator/scripts/improve_description.py +10 -10
  142. package/skills/skill-creator/scripts/package_skill.py +8 -8
  143. package/skills/skill-creator/scripts/run_eval.py +6 -6
  144. package/skills/write-a-skill/SKILL.md +48 -78
  145. package/skills/write-a-skill/references/companion_tooling.md +18 -24
  146. package/skills/write-a-skill/references/description_design_patterns.md +36 -39
  147. package/skills/write-a-skill/references/progressive_disclosure_principles.md +31 -33
  148. package/skills/write-a-skill/references/quality_gates_for_skills.md +27 -27
  149. package/skills/write-a-skill/scripts/skill_description_validator.py +12 -26
  150. package/skills/write-a-skill/scripts/skill_review_checklist_runner.py +10 -21
  151. package/skills/write-a-skill/scripts/skill_structure_validator.py +13 -25
  152. package/src/catalog.ts +18 -4
  153. package/src/classify.ts +42 -5
  154. package/src/cli.ts +129 -44
  155. package/src/commands/clean.ts +26 -20
  156. package/src/commands/context.ts +11 -5
  157. package/src/commands/doctor.ts +217 -191
  158. package/src/commands/gate.ts +98 -60
  159. package/src/commands/graft.ts +160 -0
  160. package/src/commands/inspect.ts +35 -9
  161. package/src/commands/report.ts +20 -12
  162. package/src/commands/task.ts +17 -9
  163. package/src/commands/tokens.ts +5 -5
  164. package/src/complexity.ts +305 -0
  165. package/src/content.ts +28 -3
  166. package/src/db.ts +44 -7
  167. package/src/gate.ts +401 -261
  168. package/src/graft.ts +221 -0
  169. package/src/ledger.ts +117 -48
  170. package/src/memory.ts +502 -0
  171. package/src/prompt-rewriter.ts +170 -0
  172. package/src/providers.ts +7 -0
  173. package/src/render.ts +1 -1
  174. package/src/spec.ts +18 -7
  175. package/src/targets.ts +22 -1
  176. package/bundled-skills/AGENTS.md +0 -50
  177. package/bundled-skills/LICENSE +0 -21
  178. package/bundled-skills/README.md +0 -202
  179. package/bundled-skills/a11y-audit/SKILL.md +0 -211
  180. package/bundled-skills/a11y-audit/assets/sample-component.tsx +0 -51
  181. package/bundled-skills/a11y-audit/expected_outputs/sample-contrast-output.txt +0 -39
  182. package/bundled-skills/a11y-audit/expected_outputs/sample-scan-output.json +0 -34
  183. package/bundled-skills/a11y-audit/expected_outputs/sample-scan-report.md +0 -63
  184. package/bundled-skills/a11y-audit/references/aria-patterns.md +0 -223
  185. package/bundled-skills/a11y-audit/references/audit-report-template.md +0 -46
  186. package/bundled-skills/a11y-audit/references/ci-cd-integration.md +0 -127
  187. package/bundled-skills/a11y-audit/references/color-contrast-guide.md +0 -83
  188. package/bundled-skills/a11y-audit/references/examples-by-framework.md +0 -312
  189. package/bundled-skills/a11y-audit/references/framework-a11y-patterns.md +0 -661
  190. package/bundled-skills/a11y-audit/references/testing-checklist.md +0 -41
  191. package/bundled-skills/a11y-audit/references/wcag-22-new-criteria.md +0 -79
  192. package/bundled-skills/a11y-audit/references/wcag-quick-ref.md +0 -113
  193. package/bundled-skills/a11y-audit/scripts/a11y_scanner.py +0 -684
  194. package/bundled-skills/a11y-audit/scripts/contrast_checker.py +0 -504
  195. package/bundled-skills/adversarial-reviewer/SKILL.md +0 -247
  196. package/bundled-skills/anti-AI-design/SKILL.md +0 -189
  197. package/bundled-skills/anti-pattern-detector/SKILL.md +0 -185
  198. package/bundled-skills/anti-pattern-detector/references/async-network-patterns.md +0 -581
  199. package/bundled-skills/anti-pattern-detector/references/build-deploy-patterns.md +0 -554
  200. package/bundled-skills/anti-pattern-detector/references/cache-patterns.md +0 -446
  201. package/bundled-skills/anti-pattern-detector/references/cloud-infra-patterns.md +0 -538
  202. package/bundled-skills/anti-pattern-detector/references/concurrency-patterns.md +0 -558
  203. package/bundled-skills/anti-pattern-detector/references/language-specific-patterns.md +0 -740
  204. package/bundled-skills/anti-pattern-detector/references/monitoring-patterns.md +0 -456
  205. package/bundled-skills/api-design-reviewer/SKILL.md +0 -433
  206. package/bundled-skills/api-design-reviewer/references/api_antipatterns.md +0 -680
  207. package/bundled-skills/api-design-reviewer/references/rest_design_rules.md +0 -487
  208. package/bundled-skills/api-design-reviewer/scripts/api_linter.py +0 -956
  209. package/bundled-skills/api-design-reviewer/scripts/api_scorecard.py +0 -1661
  210. package/bundled-skills/api-design-reviewer/scripts/breaking_change_detector.py +0 -1102
  211. package/bundled-skills/apple-hig-expert/SKILL.md +0 -108
  212. package/bundled-skills/apple-hig-expert/references/accessibility.md +0 -55
  213. package/bundled-skills/apple-hig-expert/references/platform-specifics.md +0 -48
  214. package/bundled-skills/apple-hig-expert/references/visual-design.md +0 -69
  215. package/bundled-skills/apple-hig-expert/scripts/hig_checker.py +0 -97
  216. package/bundled-skills/apple-hig-expert/templates/hig-audit-template.md +0 -83
  217. package/bundled-skills/clean-code/SKILL.md +0 -99
  218. package/bundled-skills/code-reviewer/README.md +0 -92
  219. package/bundled-skills/code-reviewer/SKILL.md +0 -183
  220. package/bundled-skills/code-reviewer/assets/sample_c_clean.c +0 -71
  221. package/bundled-skills/code-reviewer/assets/sample_c_smells.c +0 -66
  222. package/bundled-skills/code-reviewer/assets/sample_csharp_clean.cs +0 -100
  223. package/bundled-skills/code-reviewer/assets/sample_csharp_smells.cs +0 -78
  224. package/bundled-skills/code-reviewer/assets/sample_java_clean.java +0 -55
  225. package/bundled-skills/code-reviewer/assets/sample_java_smells.java +0 -56
  226. package/bundled-skills/code-reviewer/expected_outputs/sample_c_clean_quality.json +0 -65
  227. package/bundled-skills/code-reviewer/expected_outputs/sample_c_smells_quality.json +0 -155
  228. package/bundled-skills/code-reviewer/expected_outputs/sample_csharp_clean_quality.json +0 -135
  229. package/bundled-skills/code-reviewer/expected_outputs/sample_csharp_smells_quality.json +0 -143
  230. package/bundled-skills/code-reviewer/expected_outputs/sample_java_clean_quality.json +0 -53
  231. package/bundled-skills/code-reviewer/expected_outputs/sample_java_smells_quality.json +0 -83
  232. package/bundled-skills/code-reviewer/languages/c.md +0 -103
  233. package/bundled-skills/code-reviewer/languages/cpp.md +0 -103
  234. package/bundled-skills/code-reviewer/languages/csharp.md +0 -97
  235. package/bundled-skills/code-reviewer/languages/dart.md +0 -108
  236. package/bundled-skills/code-reviewer/languages/go.md +0 -92
  237. package/bundled-skills/code-reviewer/languages/java.md +0 -103
  238. package/bundled-skills/code-reviewer/languages/kotlin.md +0 -88
  239. package/bundled-skills/code-reviewer/languages/php.md +0 -109
  240. package/bundled-skills/code-reviewer/languages/python.md +0 -94
  241. package/bundled-skills/code-reviewer/languages/ruby.md +0 -105
  242. package/bundled-skills/code-reviewer/languages/rust.md +0 -99
  243. package/bundled-skills/code-reviewer/languages/swift.md +0 -88
  244. package/bundled-skills/code-reviewer/languages/typescript.md +0 -97
  245. package/bundled-skills/code-reviewer/rules/universal.md +0 -49
  246. package/bundled-skills/code-reviewer/scripts/code_quality_checker.py +0 -1020
  247. package/bundled-skills/code-reviewer/scripts/pr_analyzer.py +0 -535
  248. package/bundled-skills/code-reviewer/scripts/review_report_generator.py +0 -505
  249. package/bundled-skills/code-understand/SKILL.md +0 -90
  250. package/bundled-skills/database-designer/README.md +0 -388
  251. package/bundled-skills/database-designer/SKILL.md +0 -314
  252. package/bundled-skills/database-designer/assets/sample_query_patterns.json +0 -375
  253. package/bundled-skills/database-designer/assets/sample_schema.json +0 -372
  254. package/bundled-skills/database-designer/assets/sample_schema.sql +0 -207
  255. package/bundled-skills/database-designer/expected_outputs/index_optimization_sample.txt +0 -60
  256. package/bundled-skills/database-designer/expected_outputs/migration_sample.txt +0 -124
  257. package/bundled-skills/database-designer/expected_outputs/schema_analysis_sample.txt +0 -222
  258. package/bundled-skills/database-designer/index_optimizer.py +0 -926
  259. package/bundled-skills/database-designer/migration_generator.py +0 -1199
  260. package/bundled-skills/database-designer/references/database-design-reference.md +0 -476
  261. package/bundled-skills/database-designer/references/database_selection_decision_tree.md +0 -373
  262. package/bundled-skills/database-designer/references/index_strategy_patterns.md +0 -424
  263. package/bundled-skills/database-designer/references/normalization_guide.md +0 -354
  264. package/bundled-skills/database-designer/schema_analyzer.py +0 -982
  265. package/bundled-skills/defuddle/SKILL.md +0 -41
  266. package/bundled-skills/dependency-auditor/README.md +0 -524
  267. package/bundled-skills/dependency-auditor/SKILL.md +0 -85
  268. package/bundled-skills/dependency-auditor/assets/sample_go.mod +0 -53
  269. package/bundled-skills/dependency-auditor/assets/sample_package.json +0 -72
  270. package/bundled-skills/dependency-auditor/assets/sample_requirements.txt +0 -71
  271. package/bundled-skills/dependency-auditor/expected_outputs/sample_license_report.txt +0 -37
  272. package/bundled-skills/dependency-auditor/expected_outputs/sample_upgrade_plan.txt +0 -59
  273. package/bundled-skills/dependency-auditor/expected_outputs/sample_vulnerability_report.json +0 -71
  274. package/bundled-skills/dependency-auditor/references/dependency_management_best_practices.md +0 -643
  275. package/bundled-skills/dependency-auditor/references/license_compatibility_matrix.md +0 -238
  276. package/bundled-skills/dependency-auditor/references/vulnerability_assessment_guide.md +0 -461
  277. package/bundled-skills/dependency-auditor/scripts/dep_scanner.py +0 -794
  278. package/bundled-skills/dependency-auditor/scripts/license_checker.py +0 -996
  279. package/bundled-skills/dependency-auditor/scripts/upgrade_planner.py +0 -1029
  280. package/bundled-skills/dependency-auditor/test-inventory.json +0 -421
  281. package/bundled-skills/dependency-auditor/test-project/package.json +0 -72
  282. package/bundled-skills/design-taste-frontend/SKILL.md +0 -247
  283. package/bundled-skills/engineering-standards/SKILL.md +0 -736
  284. package/bundled-skills/env-secrets-manager/SKILL.md +0 -260
  285. package/bundled-skills/env-secrets-manager/references/secret-patterns.md +0 -41
  286. package/bundled-skills/env-secrets-manager/references/validation-detection-rotation.md +0 -358
  287. package/bundled-skills/env-secrets-manager/scripts/env_auditor.py +0 -145
  288. package/bundled-skills/fix/SKILL.md +0 -113
  289. package/bundled-skills/fix/flaky-taxonomy.md +0 -134
  290. package/bundled-skills/gate/SKILL.md +0 -13
  291. package/bundled-skills/humanizer/SKILL.md +0 -374
  292. package/bundled-skills/impeccable/SKILL.md +0 -89
  293. package/bundled-skills/impeccable/reference/adapt.md +0 -312
  294. package/bundled-skills/impeccable/reference/adapt.native.md +0 -58
  295. package/bundled-skills/impeccable/reference/android.md +0 -46
  296. package/bundled-skills/impeccable/reference/animate.md +0 -89
  297. package/bundled-skills/impeccable/reference/audit.md +0 -136
  298. package/bundled-skills/impeccable/reference/audit.native.md +0 -139
  299. package/bundled-skills/impeccable/reference/bolder.md +0 -33
  300. package/bundled-skills/impeccable/reference/clarify.md +0 -94
  301. package/bundled-skills/impeccable/reference/colorize.md +0 -86
  302. package/bundled-skills/impeccable/reference/craft-floor.md +0 -44
  303. package/bundled-skills/impeccable/reference/craft.md +0 -5
  304. package/bundled-skills/impeccable/reference/critique.md +0 -806
  305. package/bundled-skills/impeccable/reference/degraded/asset-producer.md +0 -37
  306. package/bundled-skills/impeccable/reference/degraded/documenter.md +0 -24
  307. package/bundled-skills/impeccable/reference/degraded/finish-reviewer.md +0 -38
  308. package/bundled-skills/impeccable/reference/degraded/manual-edit-applier.md +0 -92
  309. package/bundled-skills/impeccable/reference/delight.md +0 -70
  310. package/bundled-skills/impeccable/reference/distill.md +0 -111
  311. package/bundled-skills/impeccable/reference/doctor.md +0 -54
  312. package/bundled-skills/impeccable/reference/document.md +0 -416
  313. package/bundled-skills/impeccable/reference/extract.md +0 -69
  314. package/bundled-skills/impeccable/reference/harden.md +0 -336
  315. package/bundled-skills/impeccable/reference/hooks.md +0 -111
  316. package/bundled-skills/impeccable/reference/init.md +0 -131
  317. package/bundled-skills/impeccable/reference/ios.md +0 -51
  318. package/bundled-skills/impeccable/reference/layout.md +0 -84
  319. package/bundled-skills/impeccable/reference/live-setup.md +0 -104
  320. package/bundled-skills/impeccable/reference/live.md +0 -325
  321. package/bundled-skills/impeccable/reference/new-work.md +0 -145
  322. package/bundled-skills/impeccable/reference/onboard.md +0 -234
  323. package/bundled-skills/impeccable/reference/operate.md +0 -61
  324. package/bundled-skills/impeccable/reference/optimize.md +0 -258
  325. package/bundled-skills/impeccable/reference/overdrive.md +0 -127
  326. package/bundled-skills/impeccable/reference/polish.md +0 -105
  327. package/bundled-skills/impeccable/reference/quieter.md +0 -99
  328. package/bundled-skills/impeccable/reference/routing.md +0 -24
  329. package/bundled-skills/impeccable/reference/shape.md +0 -59
  330. package/bundled-skills/impeccable/reference/typeset.md +0 -80
  331. package/bundled-skills/impeccable/reference/visualize.md +0 -46
  332. package/bundled-skills/impeccable/scripts/VERSION +0 -1
  333. package/bundled-skills/impeccable/scripts/bin/windows-x64/impeccable.exe +0 -0
  334. package/bundled-skills/impeccable/scripts/command-metadata.json +0 -94
  335. package/bundled-skills/impeccable/scripts/data/font-index-failures.json +0 -121
  336. package/bundled-skills/impeccable/scripts/data/font-index.json +0 -1
  337. package/bundled-skills/impeccable/scripts/impeccable +0 -206
  338. package/bundled-skills/impeccable/scripts/impeccable.cmd +0 -214
  339. package/bundled-skills/impeccable/scripts/live-browser-dom.js +0 -167
  340. package/bundled-skills/impeccable/scripts/live-browser-ignores.js +0 -242
  341. package/bundled-skills/impeccable/scripts/live-browser-session.js +0 -144
  342. package/bundled-skills/impeccable/scripts/live-browser.js +0 -12990
  343. package/bundled-skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  344. package/bundled-skills/mcp-server-builder/README.md +0 -50
  345. package/bundled-skills/mcp-server-builder/SKILL.md +0 -100
  346. package/bundled-skills/mcp-server-builder/references/openapi-extraction-guide.md +0 -34
  347. package/bundled-skills/mcp-server-builder/references/production-hardening-guide.md +0 -78
  348. package/bundled-skills/mcp-server-builder/references/python-server-template.md +0 -22
  349. package/bundled-skills/mcp-server-builder/references/typescript-server-template.md +0 -19
  350. package/bundled-skills/mcp-server-builder/references/validation-checklist.md +0 -30
  351. package/bundled-skills/mcp-server-builder/scripts/mcp_validator.py +0 -186
  352. package/bundled-skills/mcp-server-builder/scripts/openapi_to_mcp.py +0 -284
  353. package/bundled-skills/memory/SKILL.md +0 -10
  354. package/bundled-skills/migrate/SKILL.md +0 -135
  355. package/bundled-skills/migrate/cypress-mapping.md +0 -79
  356. package/bundled-skills/migrate/selenium-mapping.md +0 -94
  357. package/bundled-skills/novahiz-analyse/SKILL.md +0 -74
  358. package/bundled-skills/novahiz-audit/SKILL.md +0 -75
  359. package/bundled-skills/novahiz-clarify/SKILL.md +0 -94
  360. package/bundled-skills/novahiz-converge/SKILL.md +0 -76
  361. package/bundled-skills/novahiz-gate/SKILL.md +0 -82
  362. package/bundled-skills/novahiz-implement/SKILL.md +0 -80
  363. package/bundled-skills/novahiz-memory/SKILL.md +0 -58
  364. package/bundled-skills/novahiz-plan/SKILL.md +0 -100
  365. package/bundled-skills/novahiz-planner/SKILL.md +0 -104
  366. package/bundled-skills/novahiz-task/SKILL.md +0 -105
  367. package/bundled-skills/playwright-agent/SKILL.md +0 -142
  368. package/bundled-skills/postgresql-optimization/SKILL.md +0 -179
  369. package/bundled-skills/review-changes/SKILL.md +0 -30
  370. package/bundled-skills/security-guidance/SKILL.md +0 -161
  371. package/bundled-skills/security-guidance/references/pretooluse_hook_canon.md +0 -141
  372. package/bundled-skills/senior-architect/SKILL.md +0 -343
  373. package/bundled-skills/senior-architect/references/architecture_patterns.md +0 -470
  374. package/bundled-skills/senior-architect/references/system_design_workflows.md +0 -536
  375. package/bundled-skills/senior-architect/references/tech_decision_guide.md +0 -412
  376. package/bundled-skills/senior-architect/scripts/architecture_diagram_generator.py +0 -660
  377. package/bundled-skills/senior-architect/scripts/dependency_analyzer.py +0 -615
  378. package/bundled-skills/senior-architect/scripts/project_architect.py +0 -749
  379. package/bundled-skills/senior-backend/SKILL.md +0 -467
  380. package/bundled-skills/senior-backend/profiles/django-monolith.json +0 -57
  381. package/bundled-skills/senior-backend/profiles/fastapi-python.json +0 -58
  382. package/bundled-skills/senior-backend/profiles/go-or-rust-microservice.json +0 -62
  383. package/bundled-skills/senior-backend/profiles/node-express.json +0 -57
  384. package/bundled-skills/senior-backend/references/api_design_patterns.md +0 -530
  385. package/bundled-skills/senior-backend/references/backend_security_practices.md +0 -1075
  386. package/bundled-skills/senior-backend/references/composition_map.md +0 -58
  387. package/bundled-skills/senior-backend/references/database_optimization_guide.md +0 -593
  388. package/bundled-skills/senior-backend/references/forcing_questions.md +0 -100
  389. package/bundled-skills/senior-backend/scripts/api_load_tester.py +0 -607
  390. package/bundled-skills/senior-backend/scripts/api_scaffolder.py +0 -645
  391. package/bundled-skills/senior-backend/scripts/backend_decision_engine.py +0 -397
  392. package/bundled-skills/senior-backend/scripts/database_migration_tool.py +0 -858
  393. package/bundled-skills/skill-creator/SKILL.md +0 -485
  394. package/bundled-skills/skill-creator/agents/analyzer.md +0 -274
  395. package/bundled-skills/skill-creator/agents/comparator.md +0 -202
  396. package/bundled-skills/skill-creator/agents/grader.md +0 -223
  397. package/bundled-skills/skill-creator/assets/eval_review.html +0 -146
  398. package/bundled-skills/skill-creator/eval-viewer/generate_review.py +0 -471
  399. package/bundled-skills/skill-creator/eval-viewer/viewer.html +0 -1325
  400. package/bundled-skills/skill-creator/references/schemas.md +0 -430
  401. package/bundled-skills/skill-creator/scripts/__init__.py +0 -0
  402. package/bundled-skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  403. package/bundled-skills/skill-creator/scripts/generate_report.py +0 -326
  404. package/bundled-skills/skill-creator/scripts/improve_description.py +0 -247
  405. package/bundled-skills/skill-creator/scripts/package_skill.py +0 -136
  406. package/bundled-skills/skill-creator/scripts/quick_validate.py +0 -103
  407. package/bundled-skills/skill-creator/scripts/run_eval.py +0 -310
  408. package/bundled-skills/skill-creator/scripts/run_loop.py +0 -328
  409. package/bundled-skills/skill-creator/scripts/utils.py +0 -47
  410. package/bundled-skills/spec-driven-workflow/SKILL.md +0 -333
  411. package/bundled-skills/spec-driven-workflow/references/acceptance_criteria_patterns.md +0 -497
  412. package/bundled-skills/spec-driven-workflow/references/bounded_autonomy_rules.md +0 -273
  413. package/bundled-skills/spec-driven-workflow/references/spec_format_guide.md +0 -531
  414. package/bundled-skills/spec-driven-workflow/scripts/spec_generator.py +0 -338
  415. package/bundled-skills/spec-driven-workflow/scripts/spec_validator.py +0 -461
  416. package/bundled-skills/spec-driven-workflow/scripts/test_extractor.py +0 -431
  417. package/bundled-skills/supabase/CHANGELOG.md +0 -78
  418. package/bundled-skills/supabase/SKILL.md +0 -149
  419. package/bundled-skills/supabase/assets/feedback-issue-template.md +0 -17
  420. package/bundled-skills/supabase/references/skill-feedback.md +0 -17
  421. package/bundled-skills/supabase-postgres-best-practices/CHANGELOG.md +0 -73
  422. package/bundled-skills/supabase-postgres-best-practices/SKILL.md +0 -64
  423. package/bundled-skills/supabase-postgres-best-practices/references/_contributing.md +0 -170
  424. package/bundled-skills/supabase-postgres-best-practices/references/_sections.md +0 -39
  425. package/bundled-skills/supabase-postgres-best-practices/references/_template.md +0 -34
  426. package/bundled-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
  427. package/bundled-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
  428. package/bundled-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
  429. package/bundled-skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
  430. package/bundled-skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
  431. package/bundled-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
  432. package/bundled-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
  433. package/bundled-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
  434. package/bundled-skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
  435. package/bundled-skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
  436. package/bundled-skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
  437. package/bundled-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
  438. package/bundled-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
  439. package/bundled-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
  440. package/bundled-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
  441. package/bundled-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
  442. package/bundled-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
  443. package/bundled-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
  444. package/bundled-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
  445. package/bundled-skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
  446. package/bundled-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
  447. package/bundled-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
  448. package/bundled-skills/supabase-postgres-best-practices/references/schema-constraints.md +0 -80
  449. package/bundled-skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
  450. package/bundled-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
  451. package/bundled-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
  452. package/bundled-skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
  453. package/bundled-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
  454. package/bundled-skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
  455. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
  456. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -63
  457. package/bundled-skills/typescript-expert/SKILL.md +0 -431
  458. package/bundled-skills/typescript-expert/references/tsconfig-strict.json +0 -45
  459. package/bundled-skills/typescript-expert/references/typescript-cheatsheet.md +0 -383
  460. package/bundled-skills/typescript-expert/references/utility-types.ts +0 -335
  461. package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +0 -203
  462. package/bundled-skills/ui-design-system/SKILL.md +0 -379
  463. package/bundled-skills/ui-design-system/assets/design_system_doc_template.md +0 -180
  464. package/bundled-skills/ui-design-system/references/component-architecture.md +0 -396
  465. package/bundled-skills/ui-design-system/references/developer-handoff.md +0 -509
  466. package/bundled-skills/ui-design-system/references/responsive-calculations.md +0 -390
  467. package/bundled-skills/ui-design-system/references/token-generation.md +0 -324
  468. package/bundled-skills/ui-design-system/scripts/design_token_generator.py +0 -590
  469. package/bundled-skills/write-a-skill/SKILL.md +0 -141
  470. package/bundled-skills/write-a-skill/references/companion_tooling.md +0 -67
  471. package/bundled-skills/write-a-skill/references/description_design_patterns.md +0 -139
  472. package/bundled-skills/write-a-skill/references/progressive_disclosure_principles.md +0 -89
  473. package/bundled-skills/write-a-skill/references/quality_gates_for_skills.md +0 -158
  474. package/bundled-skills/write-a-skill/scripts/skill_description_validator.py +0 -255
  475. package/bundled-skills/write-a-skill/scripts/skill_review_checklist_runner.py +0 -268
  476. package/bundled-skills/write-a-skill/scripts/skill_structure_validator.py +0 -277
  477. package/bundled-skills/zero-hallucination-coder/SKILL.md +0 -271
  478. package/skills/a11y-audit/SKILL.md +0 -211
  479. package/skills/a11y-audit/assets/sample-component.tsx +0 -51
  480. package/skills/a11y-audit/expected_outputs/sample-contrast-output.txt +0 -39
  481. package/skills/a11y-audit/expected_outputs/sample-scan-output.json +0 -34
  482. package/skills/a11y-audit/expected_outputs/sample-scan-report.md +0 -63
  483. package/skills/a11y-audit/references/aria-patterns.md +0 -223
  484. package/skills/a11y-audit/references/audit-report-template.md +0 -46
  485. package/skills/a11y-audit/references/ci-cd-integration.md +0 -127
  486. package/skills/a11y-audit/references/color-contrast-guide.md +0 -83
  487. package/skills/a11y-audit/references/examples-by-framework.md +0 -312
  488. package/skills/a11y-audit/references/framework-a11y-patterns.md +0 -661
  489. package/skills/a11y-audit/references/testing-checklist.md +0 -41
  490. package/skills/a11y-audit/references/wcag-22-new-criteria.md +0 -79
  491. package/skills/a11y-audit/references/wcag-quick-ref.md +0 -113
  492. package/skills/a11y-audit/scripts/a11y_scanner.py +0 -684
  493. package/skills/a11y-audit/scripts/contrast_checker.py +0 -504
  494. package/skills/adversarial-reviewer/SKILL.md +0 -247
  495. package/skills/anti-pattern-detector/SKILL.md +0 -185
  496. package/skills/anti-pattern-detector/references/async-network-patterns.md +0 -581
  497. package/skills/anti-pattern-detector/references/build-deploy-patterns.md +0 -554
  498. package/skills/anti-pattern-detector/references/cache-patterns.md +0 -446
  499. package/skills/anti-pattern-detector/references/cloud-infra-patterns.md +0 -538
  500. package/skills/anti-pattern-detector/references/concurrency-patterns.md +0 -558
  501. package/skills/anti-pattern-detector/references/language-specific-patterns.md +0 -740
  502. package/skills/anti-pattern-detector/references/monitoring-patterns.md +0 -456
  503. package/skills/api-design-reviewer/SKILL.md +0 -433
  504. package/skills/api-design-reviewer/references/api_antipatterns.md +0 -680
  505. package/skills/api-design-reviewer/references/rest_design_rules.md +0 -487
  506. package/skills/api-design-reviewer/scripts/api_linter.py +0 -956
  507. package/skills/api-design-reviewer/scripts/api_scorecard.py +0 -1661
  508. package/skills/api-design-reviewer/scripts/breaking_change_detector.py +0 -1102
  509. package/skills/apple-hig-expert/SKILL.md +0 -108
  510. package/skills/apple-hig-expert/references/accessibility.md +0 -55
  511. package/skills/apple-hig-expert/references/platform-specifics.md +0 -48
  512. package/skills/apple-hig-expert/references/visual-design.md +0 -69
  513. package/skills/apple-hig-expert/scripts/hig_checker.py +0 -97
  514. package/skills/apple-hig-expert/templates/hig-audit-template.md +0 -83
  515. package/skills/clean-code/SKILL.md +0 -99
  516. package/skills/code-reviewer/README.md +0 -92
  517. package/skills/code-reviewer/SKILL.md +0 -183
  518. package/skills/code-reviewer/assets/sample_c_clean.c +0 -71
  519. package/skills/code-reviewer/assets/sample_c_smells.c +0 -66
  520. package/skills/code-reviewer/assets/sample_csharp_clean.cs +0 -100
  521. package/skills/code-reviewer/assets/sample_csharp_smells.cs +0 -78
  522. package/skills/code-reviewer/assets/sample_java_clean.java +0 -55
  523. package/skills/code-reviewer/assets/sample_java_smells.java +0 -56
  524. package/skills/code-reviewer/expected_outputs/sample_c_clean_quality.json +0 -65
  525. package/skills/code-reviewer/expected_outputs/sample_c_smells_quality.json +0 -155
  526. package/skills/code-reviewer/expected_outputs/sample_csharp_clean_quality.json +0 -135
  527. package/skills/code-reviewer/expected_outputs/sample_csharp_smells_quality.json +0 -143
  528. package/skills/code-reviewer/expected_outputs/sample_java_clean_quality.json +0 -53
  529. package/skills/code-reviewer/expected_outputs/sample_java_smells_quality.json +0 -83
  530. package/skills/code-reviewer/languages/c.md +0 -103
  531. package/skills/code-reviewer/languages/cpp.md +0 -103
  532. package/skills/code-reviewer/languages/csharp.md +0 -97
  533. package/skills/code-reviewer/languages/dart.md +0 -108
  534. package/skills/code-reviewer/languages/go.md +0 -92
  535. package/skills/code-reviewer/languages/java.md +0 -103
  536. package/skills/code-reviewer/languages/kotlin.md +0 -88
  537. package/skills/code-reviewer/languages/php.md +0 -109
  538. package/skills/code-reviewer/languages/python.md +0 -94
  539. package/skills/code-reviewer/languages/ruby.md +0 -105
  540. package/skills/code-reviewer/languages/rust.md +0 -99
  541. package/skills/code-reviewer/languages/swift.md +0 -88
  542. package/skills/code-reviewer/languages/typescript.md +0 -97
  543. package/skills/code-reviewer/rules/universal.md +0 -49
  544. package/skills/code-reviewer/scripts/code_quality_checker.py +0 -1020
  545. package/skills/code-reviewer/scripts/pr_analyzer.py +0 -535
  546. package/skills/code-reviewer/scripts/review_report_generator.py +0 -505
  547. package/skills/code-understand/SKILL.md +0 -90
  548. package/skills/database-designer/README.md +0 -388
  549. package/skills/database-designer/SKILL.md +0 -314
  550. package/skills/database-designer/assets/sample_query_patterns.json +0 -375
  551. package/skills/database-designer/assets/sample_schema.json +0 -372
  552. package/skills/database-designer/assets/sample_schema.sql +0 -207
  553. package/skills/database-designer/expected_outputs/index_optimization_sample.txt +0 -60
  554. package/skills/database-designer/expected_outputs/migration_sample.txt +0 -124
  555. package/skills/database-designer/expected_outputs/schema_analysis_sample.txt +0 -222
  556. package/skills/database-designer/index_optimizer.py +0 -926
  557. package/skills/database-designer/migration_generator.py +0 -1199
  558. package/skills/database-designer/references/database-design-reference.md +0 -476
  559. package/skills/database-designer/references/database_selection_decision_tree.md +0 -373
  560. package/skills/database-designer/references/index_strategy_patterns.md +0 -424
  561. package/skills/database-designer/references/normalization_guide.md +0 -354
  562. package/skills/database-designer/schema_analyzer.py +0 -982
  563. package/skills/defuddle/SKILL.md +0 -41
  564. package/skills/design-taste-frontend/SKILL.md +0 -247
  565. package/skills/engineering-standards/SKILL.md +0 -736
  566. package/skills/fix/SKILL.md +0 -113
  567. package/skills/fix/flaky-taxonomy.md +0 -134
  568. package/skills/humanizer/SKILL.md +0 -374
  569. package/skills/migrate/SKILL.md +0 -135
  570. package/skills/migrate/cypress-mapping.md +0 -79
  571. package/skills/migrate/selenium-mapping.md +0 -94
  572. package/skills/postgresql-optimization/SKILL.md +0 -179
  573. package/skills/review-changes/SKILL.md +0 -30
  574. package/skills/security-guidance/SKILL.md +0 -160
  575. package/skills/security-guidance/references/pretooluse_hook_canon.md +0 -141
  576. package/skills/senior-architect/SKILL.md +0 -343
  577. package/skills/senior-architect/references/architecture_patterns.md +0 -470
  578. package/skills/senior-architect/references/system_design_workflows.md +0 -536
  579. package/skills/senior-architect/references/tech_decision_guide.md +0 -412
  580. package/skills/senior-architect/scripts/architecture_diagram_generator.py +0 -660
  581. package/skills/senior-architect/scripts/dependency_analyzer.py +0 -615
  582. package/skills/senior-architect/scripts/project_architect.py +0 -749
  583. package/skills/senior-backend/SKILL.md +0 -467
  584. package/skills/senior-backend/profiles/django-monolith.json +0 -57
  585. package/skills/senior-backend/profiles/fastapi-python.json +0 -58
  586. package/skills/senior-backend/profiles/go-or-rust-microservice.json +0 -62
  587. package/skills/senior-backend/profiles/node-express.json +0 -57
  588. package/skills/senior-backend/references/api_design_patterns.md +0 -530
  589. package/skills/senior-backend/references/backend_security_practices.md +0 -1075
  590. package/skills/senior-backend/references/composition_map.md +0 -58
  591. package/skills/senior-backend/references/database_optimization_guide.md +0 -593
  592. package/skills/senior-backend/references/forcing_questions.md +0 -100
  593. package/skills/senior-backend/scripts/api_load_tester.py +0 -607
  594. package/skills/senior-backend/scripts/api_scaffolder.py +0 -645
  595. package/skills/senior-backend/scripts/backend_decision_engine.py +0 -397
  596. package/skills/senior-backend/scripts/database_migration_tool.py +0 -858
  597. package/skills/senior-secops/SKILL.md +0 -505
  598. package/skills/senior-secops/references/compliance_requirements.md +0 -792
  599. package/skills/senior-secops/references/security_standards.md +0 -718
  600. package/skills/senior-secops/references/vulnerability_management_guide.md +0 -487
  601. package/skills/senior-secops/scripts/compliance_checker.py +0 -1107
  602. package/skills/senior-secops/scripts/security_scanner.py +0 -471
  603. package/skills/senior-secops/scripts/vulnerability_assessor.py +0 -563
  604. package/skills/spec-driven-workflow/SKILL.md +0 -333
  605. package/skills/spec-driven-workflow/references/acceptance_criteria_patterns.md +0 -497
  606. package/skills/spec-driven-workflow/references/bounded_autonomy_rules.md +0 -273
  607. package/skills/spec-driven-workflow/references/spec_format_guide.md +0 -531
  608. package/skills/spec-driven-workflow/scripts/spec_generator.py +0 -338
  609. package/skills/spec-driven-workflow/scripts/spec_validator.py +0 -461
  610. package/skills/spec-driven-workflow/scripts/test_extractor.py +0 -431
  611. package/skills/supabase/CHANGELOG.md +0 -78
  612. package/skills/supabase/SKILL.md +0 -149
  613. package/skills/supabase/assets/feedback-issue-template.md +0 -17
  614. package/skills/supabase/references/skill-feedback.md +0 -17
  615. package/skills/supabase-postgres-best-practices/CHANGELOG.md +0 -73
  616. package/skills/supabase-postgres-best-practices/SKILL.md +0 -64
  617. package/skills/supabase-postgres-best-practices/references/_contributing.md +0 -170
  618. package/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
  619. package/skills/supabase-postgres-best-practices/references/_template.md +0 -34
  620. package/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
  621. package/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
  622. package/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
  623. package/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
  624. package/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
  625. package/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
  626. package/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
  627. package/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
  628. package/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
  629. package/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
  630. package/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
  631. package/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
  632. package/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
  633. package/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
  634. package/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
  635. package/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
  636. package/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
  637. package/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
  638. package/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
  639. package/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
  640. package/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
  641. package/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
  642. package/skills/supabase-postgres-best-practices/references/schema-constraints.md +0 -80
  643. package/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
  644. package/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
  645. package/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
  646. package/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
  647. package/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
  648. package/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
  649. package/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
  650. package/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -63
  651. package/skills/typescript-expert/SKILL.md +0 -431
  652. package/skills/typescript-expert/references/tsconfig-strict.json +0 -45
  653. package/skills/typescript-expert/references/typescript-cheatsheet.md +0 -383
  654. package/skills/typescript-expert/references/utility-types.ts +0 -335
  655. package/skills/typescript-expert/scripts/ts_diagnostic.py +0 -203
  656. package/skills/ui-design-system/SKILL.md +0 -379
  657. package/skills/ui-design-system/assets/design_system_doc_template.md +0 -180
  658. package/skills/ui-design-system/references/component-architecture.md +0 -396
  659. package/skills/ui-design-system/references/developer-handoff.md +0 -509
  660. package/skills/ui-design-system/references/responsive-calculations.md +0 -390
  661. package/skills/ui-design-system/references/token-generation.md +0 -324
  662. package/skills/ui-design-system/scripts/design_token_generator.py +0 -590
  663. package/skills/zero-hallucination-coder/SKILL.md +0 -271
  664. /package/bundled-skills/{SKILL.md → android-reverse-engineering/SKILL.md} +0 -0
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: novahiz-security
3
+ description: |
4
+ novahiz-security : audit de sécurité complet avec OWASP Top 10, CWE Top 25, patterns
5
+ dangereux, injection, XSS, auth bypass. Use when reviewing code for security vulnerabilities,
6
+ hardening authentication, validating input handling, or generating security reports.
7
+ license: MIT
8
+ compatibility: opencode
9
+ metadata:
10
+ author: Novahiz
11
+ organization: Novahiz
12
+ version: "2.0.0"
13
+ ---
14
+
15
+ # novahiz-security
16
+
17
+ Audit de sécurité en trois temps : scan des patterns dangereux, analyse OWASP et CWE, puis vérifications propres à chaque langage.
18
+
19
+ ## Matrice de détection
20
+
21
+ ### OWASP Top 10 (2021)
22
+
23
+ | ID | Catégorie | Détection |
24
+ |----|-----------|-----------|
25
+ | A01 | Broken Access Control | RBAC, contrôle horizontal et vertical |
26
+ | A02 | Cryptographic Failures | Algorithmes faibles, clés en dur |
27
+ | A03 | Injection | SQL, NoSQL, OS, LDAP, XPath |
28
+ | A04 | Insecure Design | Patterns architecturaux dangereux |
29
+ | A05 | Security Misconfiguration | Defaults, headers, CORS |
30
+ | A06 | Vulnerable Components | Dépendances obsolètes |
31
+ | A07 | Auth Failures | Session fixation, brute force |
32
+ | A08 | Data Integrity Failures | Deserialization non signée |
33
+ | A09 | Logging Failures | Données sensibles dans les logs |
34
+ | A10 | SSRF | Requêtes serveur sans validation |
35
+
36
+ ### CWE Top 25 (2024)
37
+
38
+ | ID | Faiblesse | Signature de détection |
39
+ |----|-----------|------------------------|
40
+ | CWE-79 | XSS | `innerHTML`, `dangerouslySetInnerHTML`, `document.write` |
41
+ | CWE-89 | SQL Injection | Concaténation SQL, format strings |
42
+ | CWE-416 | Use After Free | Pointeurs, mémoire manuelle (C/C++) |
43
+ | CWE-787 | Out-of-bounds Write | Débordement de buffer |
44
+ | CWE-78 | Command Injection | `exec()`, `system()`, `os.popen()` |
45
+ | CWE-190 | Integer Overflow | Arithmétique non vérifiée |
46
+ | CWE-502 | Deserialization | `pickle.loads()`, `yaml.load()` |
47
+ | CWE-200 | Info Exposure | Logs sensibles, stack traces |
48
+ | CWE-287 | Auth Bypass | Session non vérifiée |
49
+ | CWE-476 | NULL Pointer | Déréférencement sans garde |
50
+
51
+ ## Patterns par langage
52
+
53
+ ### JavaScript et TypeScript
54
+
55
+ ```javascript
56
+ // Command injection
57
+ exec(`rm -rf ${userInput}`)
58
+ child_process.execSync(userCommand)
59
+
60
+ // Code injection
61
+ new Function(userInput)()
62
+ eval(userInput)
63
+
64
+ // XSS
65
+ element.innerHTML = userInput
66
+ document.write(userInput)
67
+ element.outerHTML = userInput
68
+
69
+ // Prototype pollution
70
+ Object.assign(target, userInput)
71
+ _.merge(target, userInput)
72
+ ```
73
+
74
+ ### Python
75
+
76
+ ```python
77
+ # Command injection
78
+ os.system(f"ping {host}")
79
+ subprocess.call(f"ls {path}", shell=True)
80
+ os.popen(userCommand)
81
+
82
+ # Deserialization
83
+ pickle.loads(data)
84
+ yaml.load(data) # sans Loader=SafeLoader
85
+ eval(userInput)
86
+ exec(userInput)
87
+
88
+ # SQL injection
89
+ cursor.execute(f"SELECT * FROM users WHERE id={user_id}")
90
+ cursor.execute("SELECT * FROM users WHERE id=%s" % user_id)
91
+
92
+ # Path traversal
93
+ open(f"/data/{filename}")
94
+ ```
95
+
96
+ ### Go
97
+
98
+ ```go
99
+ // Command injection
100
+ exec.Command("sh", "-c", userInput)
101
+ os/exec.Command(userCommand)
102
+
103
+ // SQL injection
104
+ db.Query("SELECT * FROM users WHERE id=" + userId)
105
+
106
+ // Path traversal
107
+ os.Open("/data/" + filename)
108
+ ```
109
+
110
+ ### Rust
111
+
112
+ ```rust
113
+ // Command injection
114
+ Command::new("sh").arg("-c").arg(&user_input)
115
+
116
+ // unwrap sans contexte : panic possible
117
+ let value = risky_operation().unwrap();
118
+ ```
119
+
120
+ ### Java
121
+
122
+ ```java
123
+ // SQL injection
124
+ Statement stmt = conn.createStatement();
125
+ stmt.executeQuery("SELECT * FROM users WHERE id=" + userId);
126
+
127
+ // Deserialization
128
+ ObjectInputStream ois = new ObjectInputStream(input);
129
+ Object obj = ois.readObject();
130
+
131
+ // Path traversal
132
+ new File("/data/" + filename)
133
+ ```
134
+
135
+ ## Checklist
136
+
137
+ ### Authentification
138
+
139
+ - [ ] Aucun mot de passe en dur
140
+ - [ ] Hash bcrypt ou argon2, jamais MD5 ni SHA1
141
+ - [ ] Rate limiting sur login
142
+ - [ ] Lockout après échecs répétés
143
+ - [ ] Timeout de session configuré
144
+ - [ ] MFA disponible
145
+
146
+ ### Autorisation
147
+
148
+ - [ ] RBAC vérifié sur chaque endpoint
149
+ - [ ] Propriétaire de la ressource validé
150
+ - [ ] Pas d'IDOR
151
+ - [ ] Validation côté serveur uniquement
152
+
153
+ ### Input validation
154
+
155
+ - [ ] Validation de schéma (Zod, Joi, Pydantic)
156
+ - [ ] Sanitization HTML si le contenu est rendu
157
+ - [ ] Limites de taille
158
+ - [ ] Whitelist plutôt que blacklist
159
+
160
+ ### Données sensibles
161
+
162
+ - [ ] Secrets en variables d'environnement
163
+ - [ ] Chiffrement au repos
164
+ - [ ] TLS en transit
165
+ - [ ] Aucune PII dans les logs
166
+
167
+ ### Configuration
168
+
169
+ - [ ] CSP, HSTS, X-Frame-Options
170
+ - [ ] CORS restrictif
171
+ - [ ] Debug désactivé en production
172
+ - [ ] Erreurs génériques sans stack trace
173
+
174
+ ## Matrice de risque
175
+
176
+ | Risque | Impact | Exploitabilité | Score |
177
+ |--------|--------|----------------|-------|
178
+ | SQL Injection | Critique | Facile | 9.8 |
179
+ | Command Injection | Critique | Moyen | 9.0 |
180
+ | Auth Bypass | Critique | Moyen | 8.5 |
181
+ | XSS stocké | Élevé | Facile | 8.0 |
182
+ | Deserialization | Critique | Difficile | 7.5 |
183
+ | Path Traversal | Élevé | Facile | 7.0 |
184
+ | Information Disclosure | Moyen | Facile | 5.0 |
185
+
186
+ ## Workflow d'audit
187
+
188
+ ### 1. Scan
189
+
190
+ ```bash
191
+ # Secrets
192
+ grep -rn "(password|secret|api_key|token)\s*=\s*['\"]" --include="*.{ts,js,py,go,rs,java}"
193
+
194
+ # Injection
195
+ grep -rn "(exec|system|popen|shell_exec)\s*\(" --include="*.{ts,js,py,go,rs,java}"
196
+
197
+ # XSS
198
+ grep -rn "(innerHTML|dangerouslySetInnerHTML|document\.write)" --include="*.{ts,tsx,js,jsx}"
199
+ ```
200
+
201
+ ### 2. Analyse contextuelle
202
+
203
+ Pour chaque finding : identifier la source, tracer le flux jusqu'au puits (DB, HTML, shell), vérifier validation et sanitization, puis juger l'exploitabilité.
204
+
205
+ ### 3. Rapport
206
+
207
+ ```markdown
208
+ # Security audit report
209
+
210
+ ## Summary
211
+ - Critical: 2
212
+ - High: 3
213
+ - Medium: 5
214
+ - Low: 8
215
+
216
+ ## Critical findings
217
+
218
+ ### SEC-001: SQL injection in user.ts:42
219
+ - **CWE:** CWE-89
220
+ - **OWASP:** A03:2021
221
+ - **Evidence:** `cursor.execute(f"SELECT * FROM users WHERE id={userId}")`
222
+ - **Fix:** requête paramétrée
223
+ `cursor.execute("SELECT * FROM users WHERE id=%s", (userId,))`
224
+ ```
225
+
226
+ ## Note sur les fichiers
227
+
228
+ Cette skill n'a pas de dossier `references/`. Les matrices et checklists vivent dans ce fichier. Ne pas référencer un chemin absent du disque.
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: novahiz-supabase
3
+ description: |
4
+ novahiz-supabase for ANY task involving Supabase. Triggers: Database, Auth, Edge
5
+ Functions, Realtime, Storage, Vectors, Cron, Queues; client libraries and SSR integrations
6
+ (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues
7
+ (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI
8
+ or MCP server; schema changes, migrations, declarative schemas, security audits, Postgres
9
+ extensions (pg_graphql, pg_cron, pg_vector); debugging on Supabase projects.
10
+ license: Apache-2.0
11
+ compatibility: opencode
12
+ metadata:
13
+ author: Novahiz
14
+ organization: Novahiz
15
+ version: "2.0.0"
16
+ ---
17
+
18
+ # novahiz-supabase
19
+
20
+ Production Supabase work: Auth, RLS, Edge Functions, Storage, and the operations around them.
21
+
22
+ ## Core principles
23
+
24
+ ### Verify against the changelog before you implement
25
+
26
+ Supabase moves quickly. Signatures, `config.toml` keys, and API conventions change between releases. Fetch `https://supabase.com/changelog.md`, scan for `breaking-change` tags that touch your task, follow the linked pages that apply, then look up the topic in the docs below. Training data is not a substitute.
27
+
28
+ ### Prove the fix
29
+
30
+ After any change, run a query that shows it works. An unverified fix is unfinished work.
31
+
32
+ ### Stop after two or three failures
33
+
34
+ If an approach keeps failing, change method instead of looping. Re-read the error, check the docs, look at logs when they exist.
35
+
36
+ ### Authorization lives in the database
37
+
38
+ Supabase is raw Postgres underneath. Put the rules in RLS rather than scattering them across clients.
39
+
40
+ ## Security checklist
41
+
42
+ ### Auth and sessions
43
+
44
+ 1. Never authorize from `user_metadata`. In Supabase, `raw_user_meta_data` is user-editable and surfaces in `auth.jwt()`, so it is unsafe for RLS or any other decision. Put authorization data in `app_metadata` / `raw_app_meta_data`.
45
+ 2. Deleting a user does not kill live access tokens. Sign out or revoke sessions first, keep access token expiry short on sensitive apps, and on critical paths check `session_id` against `auth.sessions`.
46
+ 3. Claims from `app_metadata` or `auth.jwt()` stay stale until the token refreshes. Plan for that lag.
47
+ 4. Require MFA (AAL2) for high-risk work with a restrictive policy:
48
+
49
+ ```sql
50
+ create policy "mfa_required"
51
+ on public.sensitive_table
52
+ as restrictive
53
+ to authenticated
54
+ using ((select auth.jwt()->>'aal') = 'aal2');
55
+ ```
56
+
57
+ ### Keys and clients
58
+
59
+ Never ship the `service_role` key or any secret to a public client. Prefer publishable keys on the frontend. In Next.js, every `NEXT_PUBLIC_` variable reaches the browser.
60
+
61
+ ### RLS, views, and privileged functions
62
+
63
+ 1. Views bypass RLS by default. On Postgres 15 and up, use `CREATE VIEW ... WITH (security_invoker = true)`. On older versions, revoke from `anon` and `authenticated`, or park the view in an unexposed schema.
64
+ 2. UPDATE needs a SELECT policy. Without it, updates silently match zero rows: no error, no change.
65
+ 3. `auth.role()` is deprecated. Name the target role with `TO authenticated` or `TO anon` instead.
66
+ 4. `TO authenticated` alone is authentication without authorization (BOLA / IDOR). Pair it with an ownership predicate in `USING`:
67
+
68
+ ```sql
69
+ create policy "example" on table_name for select
70
+ to authenticated
71
+ using ( (select auth.uid()) = user_id );
72
+ ```
73
+
74
+ 5. UPDATE policies need both `USING` and `WITH CHECK`. Without the check, a user can hand a row to someone else:
75
+
76
+ ```sql
77
+ create policy "example" on table_name for update
78
+ to authenticated
79
+ using ( (select auth.uid()) = user_id )
80
+ with check ( (select auth.uid()) = user_id );
81
+ ```
82
+
83
+ 6. `SECURITY DEFINER` runs with the creator's privileges, usually a `bypassrls` role such as `postgres`. Adding it to silence a permission error removes access control without fixing the cause. Prefer `SECURITY INVOKER`.
84
+ 7. `SECURITY DEFINER` functions in `public` are callable by everyone. Postgres grants `EXECUTE` to `PUBLIC` by default, so any such function in `public` is a public endpoint for `anon` and `authenticated`. When you truly need it, keep the function in a non-exposed schema, check `auth.uid()` in the body, and run `supabase db advisors` afterward.
85
+
86
+ ### Storage
87
+
88
+ An upsert needs INSERT, SELECT, and UPDATE. Granting only INSERT lets new uploads land while replacements fail in silence.
89
+
90
+ ### Dependencies
91
+
92
+ Pin versions and commit lockfiles for `supabase-js`, `@supabase/ssr`, `supabase-py`, and friends.
93
+
94
+ ## Authentication
95
+
96
+ ### JWT signing keys
97
+
98
+ Move off the shared HS256 secret onto an asymmetric key such as ES256. The public key is published through JWKS, so `getClaims()` verifies locally and the round trip disappears.
99
+
100
+ Migration with zero downtime:
101
+
102
+ 1. Create a standby key.
103
+ 2. Rotate so the asymmetric key becomes current.
104
+ 3. Wait for access tokens to expire, plus a buffer.
105
+ 4. Revoke the legacy secret.
106
+
107
+ ### Sessions
108
+
109
+ | Item | Default | Notes |
110
+ |------|---------|-------|
111
+ | Access token expiry | 1 hour | Keep the default for most apps |
112
+ | Refresh token | Never expires, single use | Each use issues a new pair |
113
+ | Refresh reuse interval | 10 seconds | Do not change this value |
114
+
115
+ ### Server-side authorization
116
+
117
+ | Method | What it does | When to use |
118
+ |--------|--------------|-------------|
119
+ | `getClaims()` | Verifies locally via JWKS with asymmetric keys | First choice on the server |
120
+ | `getUser()` | Asks the Auth server | When you need the freshest user record |
121
+ | `getSession()` | Reads client storage without revalidation | Never for server-side authorization |
122
+
123
+ ## RLS performance
124
+
125
+ | Optimization | How | Typical gain |
126
+ |--------------|-----|--------------|
127
+ | Index the policy columns | plain index | up to ~99.94% |
128
+ | Wrap auth functions | `auth.uid()` becomes `(select auth.uid())` | ~94.97 to 99.99% |
129
+ | Explicit client filter | `.eq('user_id', userId)` | ~94.74% |
130
+ | Target role with `TO` | skip irrelevant roles early | ~99.78% |
131
+ | `security definer` function | move the authorization join inside | ~99.78% |
132
+
133
+ Wrapping auth functions in `(select ...)` caches them in the initPlan, so they evaluate once per statement instead of per row. That is the cheapest single win when writing RLS.
134
+
135
+ ## Edge Functions
136
+
137
+ ### Auth modes
138
+
139
+ | Mode | Accepts |
140
+ |------|---------|
141
+ | `'user'` | Valid user JWT on `Authorization` |
142
+ | `'secret'` | Secret key on `apikey` |
143
+ | `'publishable'` | Publishable key on `apikey` |
144
+ | `'none'` | Any caller, for signed webhooks |
145
+
146
+ ### Practices
147
+
148
+ 1. Forward the caller's JWT and let RLS do the work. Reserve `service_role` for private workers and trusted webhooks.
149
+ 2. Keep functions light. The budget is 2 seconds of CPU and 256 MB of memory. Heavy computation does not belong here.
150
+ 3. Use strict CORS. Wildcards and reflected origins are out.
151
+ 4. Rate limit. Unchecked requests burn resources.
152
+
153
+ ## CLI
154
+
155
+ Discover commands with `--help`. Never guess; the layout shifts between versions.
156
+
157
+ ```bash
158
+ supabase --help
159
+ supabase <group> --help
160
+ supabase <group> <command> --help
161
+ ```
162
+
163
+ Gotchas: `supabase db query` needs CLI v2.79.0 or newer, `supabase db advisors` needs v2.81.3 or newer, and hand-authored migrations in imperative projects start with `supabase migration new <name>`.
164
+
165
+ ## Documentation access
166
+
167
+ Priority order before implementing anything Supabase:
168
+
169
+ 1. MCP `search_docs` for snippets.
170
+ 2. Fetch a docs page as markdown by appending `.md` to the URL path.
171
+ 3. Web search when you do not know which page to open.
172
+
173
+ ## References
174
+
175
+ - https://supabase.com/docs
176
+ - https://supabase.com/changelog.md
177
+ - https://supabase.com/docs/guides/security/product-security.md
@@ -1,26 +1,30 @@
1
1
  ---
2
2
  name: novahiz-task
3
3
  description: |
4
- Step 3 of the Novahiz pipeline: convert a plan into atomic, ordered, verifiable tasks.
5
- Each task carries an objective, testable acceptance criteria, proof, dependencies,
6
- owned files, and size (XS to XL).
7
- Use when a plan must become an ordered task list, or when work must be split across
8
- sessions or agents.
4
+ novahiz-task, step 3 of the Novahiz pipeline: cut a plan into atomic, ordered,
5
+ verifiable tasks. Every task carries an objective, testable acceptance criteria, proof,
6
+ dependencies, the files it owns, and a size from XS to XL.
7
+ Use when a plan has to become an ordered list, or when the work spans several sessions
8
+ or several agents.
9
9
  Triggers on: "break down", task list, todo, subtasks, acceptance criteria,
10
10
  prioritization, "what do I start with".
11
- license: MIT
11
+ license: Apache-2.0
12
12
  compatibility: opencode
13
+ metadata:
14
+ author: Novahiz
15
+ organization: Novahiz
16
+ version: "2.0.0"
13
17
  ---
14
18
 
15
19
  # novahiz-task: split into verifiable tasks
16
20
 
17
- **Step 3 of 6** in the pipeline. The plan says where we go; this step says by what steps, in what order, and how each step closes.
21
+ **Step 3 of 6** in the pipeline. The plan sets the destination. This step sets the stages, their order, and the way each one shuts.
18
22
 
19
- Previous step: `novahiz-clarify`. Next step: `novahiz-analyse`.
23
+ Previous: `novahiz-clarify`. Next: `novahiz-analyse`.
20
24
 
21
25
  ## Task contract
22
26
 
23
- All tasks take the same shape. A task without acceptance criteria and proof remains an intention.
27
+ Every task takes the same frame. Without acceptance criteria and proof, it remains a wish.
24
28
 
25
29
  ```markdown
26
30
  ## Task N: <short title, imperative mood>
@@ -35,15 +39,15 @@ Files involved: path/a, path/b
35
39
  Size: XS | S | M | L | XL
36
40
  ```
37
41
 
38
- ## The ledger rejects a `verify` step without proof
42
+ ## The ledger refuses a `verify` step that carries no proof
39
43
 
40
- `novahiz_task` enforces this rule: a step of kind `verify` cannot close without `proof`. Proof is decided at plan time, not at doubt time.
44
+ `novahiz_task` holds the line: a step of kind `verify` cannot close without `proof`. You fix the proof when you write the plan, not when doubt shows up.
41
45
 
42
46
  | Action | Usage |
43
47
  |---|---|
44
48
  | `plan` | deposit the full list at once |
45
49
  | `todo` | add a step (`kind`: read, edit, verify, delegate) |
46
- | `start` / `done` | open, close (`done` requires `proof` on a verify step) |
50
+ | `start` / `done` | open and close (`done` needs `proof` on a verify step) |
47
51
  | `block` | block, with `reason` |
48
52
  | `review` | revise the plan between steps |
49
53
  | `amend` / `insert` / `drop` / `reorder` | fix the list without rewriting it |
@@ -59,14 +63,14 @@ Size: XS | S | M | L | XL
59
63
  | L | 5 to 8 | feature touching multiple components |
60
64
  | XL | 8 and above | must be split, no exception |
61
65
 
62
- Split again if the work exceeds one focused session, if criteria do not fit in three bullets, if two independent subsystems are touched, or if the title contains "and". That "and" signals two tasks glued together.
66
+ Split again when the work runs past one focused sitting, when the criteria overflow three bullets, when two independent subsystems are in play, or when the title contains "and". That word usually means two tasks glued together.
63
67
 
64
68
  ## Order
65
69
 
66
- - Dependencies first.
67
- - Each task leaves the system functional.
68
- - Risky tasks go early: failing fast costs less.
69
- - One checkpoint every two or three steps. It serves to prove, then to decide whether to continue, fix, or abort.
70
+ - Dependencies come first.
71
+ - Every task leaves the system in a working state.
72
+ - Dangerous tasks go early: failing sooner costs less.
73
+ - One checkpoint every two or three steps. Its job is to prove progress, then to decide between continuing, fixing, or stopping.
70
74
 
71
75
  ## Categories that require this step
72
76
 
@@ -75,31 +79,31 @@ Split again if the work exceeds one focused session, if criteria do not fit in t
75
79
  ## Discipline
76
80
 
77
81
  - One `in_progress` step at a time.
78
- - Real-time updates, no batch completion.
79
- - `completed` only after verification, never based on intention.
80
- - A blocked step stays `in_progress` and a follow-up task describes the blockage.
81
- - Reuse the user's vocabulary exactly: commands, options, arguments, order.
82
+ - Update as things change; no batch closings at the end.
83
+ - `completed` follows verification and nothing else.
84
+ - A blocked step stays `in_progress`, and a follow-up task records the blockage.
85
+ - Keep the user's own words: commands, options, arguments, order.
82
86
 
83
87
  ## Plan conflict
84
88
 
85
- Before writing, check whether an open plan exists. Same work: update in place. Different work: stop, and present the decision through the `question` tool (resume, replace, create alongside), never in prose. Never delete, overwrite, or rename an open plan on your own initiative.
89
+ Before you write, check for an open plan. Same work: revise it where it stands. Different work: stop, then offer the choice through the `question` tool (resume, replace, or open alongside), in the interface and never in prose. An open plan never gets deleted, overwritten, or renamed on your own initiative.
86
90
 
87
91
  ## Rationalizations
88
92
 
89
93
  | Rationalization | Reality |
90
94
  |---|---|
91
- | "I'll see as I go" | that is how you get entanglement and rework |
92
- | "the tasks are obvious" | write them: writing reveals dependencies and forgotten edge cases |
95
+ | "I'll see as I go" | you get tangled work and rework |
96
+ | "the tasks are obvious" | writing them exposes dependencies and forgotten edge cases |
93
97
  | "planning is wasted time" | planning is part of the work |
94
- | "I'll keep it all in context" | the context window is finite; a written plan survives sessions |
95
- | "the old plan is stale" | unchecked tasks carry state that exists nowhere else |
98
+ | "I'll keep it all in context" | context windows are finite; a written plan outlives the session |
99
+ | "the old plan is stale" | unchecked tasks hold state that exists nowhere else |
96
100
 
97
101
  ## Red flags
98
102
 
99
- - Implementation started without a task list
100
- - Task "implement the feature" without acceptance criteria
101
- - Plan without a verification step
102
- - All tasks in XL
103
+ - Implementation started before a task list exists
104
+ - A task like "implement the feature" with no acceptance criteria
105
+ - A plan without a verification step
106
+ - Every task sitting at XL
103
107
  - No checkpoints
104
108
  - Dependency order ignored
105
109
  - Plan overwritten without confirmation
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: novahiz-wcag-audit
3
+ description: |
4
+ novahiz-wcag-audit runs a WCAG 2.2 Level A/AA accessibility audit across source code,
5
+ live pages, and structured reports. Use when auditing web accessibility, checking WCAG
6
+ compliance, fixing contrast, keyboard, ARIA, or screen-reader issues, or producing an
7
+ accessibility audit report.
8
+ license: Apache-2.0
9
+ compatibility: opencode
10
+ metadata:
11
+ author: Novahiz
12
+ organization: Novahiz
13
+ version: "2.0.0"
14
+ ---
15
+
16
+ # novahiz-wcag-audit
17
+
18
+ End-to-end WCAG 2.2 A/AA audit: scan the source, check the live page, fix what fails, then produce a cited report.
19
+
20
+ ## Pick a path
21
+
22
+ | Input | Path |
23
+ |-------|------|
24
+ | Files only, no running app | Scan, Fix, Verify in code |
25
+ | URL or running app | Scan, Live audit, Fix, Re-verify |
26
+ | User asks for a report | Run both paths, then Report |
27
+
28
+ ## Workflow
29
+
30
+ **1. Scope.** Confirm the target (files, folder, URL), the claim level (AA by default), and what is out of scope.
31
+
32
+ **2. Scan.** Review the source against [references/wcag22-aa.md](references/wcag22-aa.md) in this order: structure and semantics, then keyboard and focus, then forms and errors, then images, media, and ARIA, then color and contrast with `scripts/contrast.mjs`. Record each finding with SC id, severity, `file:line`, evidence, and a proposed fix.
33
+
34
+ **3. Live audit** when a page is available. Playwright MCP only. Never Chrome or Chromium; the Edge profile rules apply.
35
+
36
+ - Keyboard pass with Tab and Shift+Tab: focus visibility and traps.
37
+ - Landmarks and heading order from the accessibility tree or snapshot.
38
+ - Contrast from computed styles fed to the contrast script, plus reflow at 320 CSS px and 200% text zoom.
39
+ - Optional axe-core only if the page already loads it. No heavy npm install for a one-off audit.
40
+
41
+ Automated tools catch a fraction of the problems. Keyboard and screen-reader checks are mandatory before claiming AA.
42
+
43
+ **4. Fix.** Prefer semantic HTML over ARIA. Work by severity: blockers first, then significant barriers, then friction. Keep every change minimal and reversible.
44
+
45
+ **5. Verify.** Re-run the contrast script on every color pair you touched. Re-check the keyboard path on changed components. Flip each SC line to pass only with evidence attached.
46
+
47
+ **6. Report.** Use `scripts/report.mjs` or [references/report-template.md](references/report-template.md). The minimum content is scope and claim level, a per-SC PASS/FAIL table with evidence, findings with severity and before/after, the manual tests you ran, and residual risks.
48
+
49
+ ## Scripts
50
+
51
+ ```bash
52
+ node scripts/contrast.mjs "#767676" "#ffffff"
53
+ node scripts/contrast.mjs "#767676" "#ffffff" --level large
54
+ node scripts/contrast.mjs "#767676" "#ffffff" --level aaa --text normal
55
+ node scripts/report.mjs findings.json > report.md
56
+ ```
57
+
58
+ Contrast exits 0 on pass, 1 on fail, 2 on usage or parse error. Findings JSON shape: `{ "sc", "status", "severity", "location", "evidence", "fix" }`. A filled sample sits at [references/findings.example.json](references/findings.example.json).
59
+
60
+ ## Severity
61
+
62
+ | Severity | Meaning | Action |
63
+ |----------|---------|--------|
64
+ | critical | Blocks access: no keyboard, no alt, no accessible name | Before release |
65
+ | major | Significant barrier: contrast, focus, labels | Current sprint |
66
+ | minor | Friction: redundant ARIA, heading gaps | Backlog with a written justification |
67
+
68
+ ## Red flags
69
+
70
+ - Claiming AA from automated scans alone.
71
+ - `aria-label` that does not match the visible label (2.5.3).
72
+ - `tabindex` greater than 0.
73
+ - Color as the only signal (1.4.1).
74
+ - Focus outline removed with nothing in its place.
75
+ - Decorative `alt` left on informative images.
76
+
77
+ ## Deep reference
78
+
79
+ All 55 Level A and AA criteria: [references/wcag22-aa.md](references/wcag22-aa.md).
@@ -0,0 +1,36 @@
1
+ {
2
+ "target": "https://example.com/app",
3
+ "level": "AA",
4
+ "findings": [
5
+ {
6
+ "sc": "1.1.1",
7
+ "name": "Non-text Content",
8
+ "level": "A",
9
+ "status": "FAIL",
10
+ "severity": "critical",
11
+ "location": "src/components/Card.tsx:42",
12
+ "evidence": "<img src={product.image} /> with no alt",
13
+ "fix": "alt={product.name} or alt=\"\" if decorative"
14
+ },
15
+ {
16
+ "sc": "1.4.3",
17
+ "name": "Contrast (Minimum)",
18
+ "level": "AA",
19
+ "status": "FAIL",
20
+ "severity": "major",
21
+ "location": "src/styles/main.css:128",
22
+ "evidence": "#999999 on #ffffff = 2.85:1 (need 4.5:1)",
23
+ "fix": "Use #767676 or darker"
24
+ },
25
+ {
26
+ "sc": "2.4.7",
27
+ "name": "Focus Visible",
28
+ "level": "AA",
29
+ "status": "PASS",
30
+ "severity": "major",
31
+ "location": "src/styles/focus.css:1",
32
+ "evidence": "outline: 2px solid #06d6a0 on :focus-visible",
33
+ "fix": ""
34
+ }
35
+ ]
36
+ }