@wazir-dev/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. package/workflows/verify.md +37 -0
@@ -0,0 +1,148 @@
1
+ # wz:debugging
2
+
3
+ > Observe. Hypothesize. Test. Fix. In that order, every time. No guesswork.
4
+
5
+ | Property | Value |
6
+ |---|---|
7
+ | **ID** | `wz:debugging` |
8
+ | **Type** | Rigid |
9
+ | **Trigger** | Behavior is wrong, verification fails, or a test produces unexpected output |
10
+ | **Failure mode** | Random fixes applied without a hypothesis, producing noise and masking root causes |
11
+
12
+ ## Purpose
13
+
14
+ `wz:debugging` replaces guesswork with a disciplined four-step loop. The core insight is that most debugging failures are not failures of knowledge — they are failures of process. Agents (and humans) reach for fixes before they have clearly stated what is failing, why they think it's failing, and what experiment would prove or disprove that hypothesis. This skill enforces the correct order.
15
+
16
+ ## When to Invoke
17
+
18
+ - A test fails unexpectedly during `wz:tdd` GREEN or REFACTOR.
19
+ - `wz:verification` produces a failure.
20
+ - A command returns an unexpected exit code or output.
21
+ - Behavior in production or test diverges from specification.
22
+
23
+ > [!TIP]
24
+ > `wz:using-skills` routes "Fix this bug" and "Why is this failing?" directly here. If you find yourself changing code without having first written down the exact failure and a ranked list of hypotheses, invoke this skill.
25
+
26
+ ## When NOT to Invoke
27
+
28
+ - The failure is fully explained by a known, simple cause (e.g., a missing import you just identified). Fix it directly and rerun verification.
29
+ - You are exploring intentionally open-ended behavior — use `scan-project` instead.
30
+
31
+ ## Phases
32
+
33
+ ### 1. Observe
34
+
35
+ Record the exact failure state before touching anything.
36
+
37
+ | Observe item | Example |
38
+ |---|---|
39
+ | Exact failure message | `TypeError: Cannot read properties of undefined (reading 'tokens')` |
40
+ | Reproduction path | `npm test -- --grep rate-limit` → line 42 |
41
+ | Command output | Full stderr/stdout captured |
42
+ | Current assumptions | "Redis client is initialized before middleware runs" |
43
+
44
+ Do not skip this step to "save time". Vague failure descriptions produce vague fixes.
45
+
46
+ ### 2. Hypothesize
47
+
48
+ List 2-3 plausible root causes and rank them by likelihood.
49
+
50
+ ```
51
+ Hypothesis 1 (most likely): Redis client not yet connected when middleware invoked — race condition on startup
52
+ Hypothesis 2: Test setup calls middleware before Redis mock is initialized
53
+ Hypothesis 3: `tokens` property missing from bucket response shape (API change)
54
+ ```
55
+
56
+ Do not proceed to testing with only one hypothesis. If you only have one, you are already anchored — generate two more.
57
+
58
+ ### 3. Test
59
+
60
+ Design the **smallest discriminating check** that confirms or rejects the top hypothesis.
61
+
62
+ - One change at a time.
63
+ - The check must be able to falsify the hypothesis — if the result would be the same either way, it's not a discriminating check.
64
+
65
+ ```bash
66
+ # Testing Hypothesis 1: Add connection-ready log before middleware
67
+ # If log never prints before the error, hypothesis 1 is confirmed
68
+ ```
69
+
70
+ Run the check. Record the result. Update your hypothesis ranking.
71
+
72
+ ### 4. Fix
73
+
74
+ Apply the minimum corrective change.
75
+
76
+ - Do not fix adjacent issues at the same time.
77
+ - Rerun the originally failing check after the fix.
78
+ - Rerun the broader relevant verification set.
79
+
80
+ ```bash
81
+ npm test -- --grep rate-limit # originally failing check
82
+ npm test # broader set
83
+ ```
84
+
85
+ ## Rules
86
+
87
+ | Rule | Why |
88
+ |---|---|
89
+ | Change one thing at a time | Multiple simultaneous changes make it impossible to know what fixed the problem |
90
+ | Keep evidence for each failed hypothesis | Audit trail prevents re-investigating the same dead ends |
91
+ | If three cycles fail, record the blocker | Inventing certainty after three failed cycles produces confident wrong answers |
92
+
93
+ ## Three-Cycle Limit
94
+
95
+ If three complete Observe → Hypothesize → Test → Fix cycles have not resolved the failure:
96
+
97
+ 1. Do not apply a fourth speculative fix.
98
+ 2. Record the blocker in the active execution artifact or handoff:
99
+ - What was tried
100
+ - What each attempt produced
101
+ - What remains unknown
102
+ 3. Escalate to operator or flag for manual investigation.
103
+
104
+ ## Input
105
+
106
+ - Failing command output (exact)
107
+ - Reproduction steps
108
+ - Current codebase state
109
+
110
+ ## Output
111
+
112
+ | Artifact | Description |
113
+ |---|---|
114
+ | Observed failure (documented) | Exact failure, reproduction path, assumptions |
115
+ | Hypothesis log | Ranked hypotheses, test results per hypothesis |
116
+ | Fix applied | Minimum corrective change |
117
+ | Verification result | Passing check output |
118
+
119
+ ## Example
120
+
121
+ **Scenario:** `npm test -- --grep "rate-limit returns 429"` fails with `expected 200 to equal 429`.
122
+
123
+ ```
124
+ 1. OBSERVE
125
+ Failure: middleware returns 200 instead of 429 when bucket empty
126
+ Command: npm test -- --grep "rate-limit returns 429"
127
+ Output: AssertionError: expected 200 to equal 429
128
+ Assumption: exhaustBucket() correctly empties the Redis key
129
+
130
+ 2. HYPOTHESIZE
131
+ H1: exhaustBucket() in test setup is not actually writing to the mock Redis store
132
+ H2: Middleware reads tokens before bucket is exhausted (async issue)
133
+ H3: Token bucket logic has an off-by-one — allows one extra request
134
+
135
+ 3. TEST H1
136
+ Add console.log in exhaustBucket to print the mock store state after calling it
137
+ Result: mock store shows tokens = 1, not 0 — H1 is the problem
138
+
139
+ 4. FIX
140
+ exhaustBucket() was calling set() with tokens=1 instead of 0 (copy-paste error)
141
+ Fix: change exhaustBucket to set tokens=0
142
+ Rerun: npm test -- --grep "rate-limit returns 429" → 1 passing
143
+ Rerun: npm test → all passing
144
+ ```
145
+
146
+ ## Integration
147
+
148
+ `wz:debugging` activates whenever `wz:tdd` or `wz:verification` encounters a failure it cannot immediately explain. After debugging resolves the issue, return to the interrupted skill (TDD or verification) and continue from where it was interrupted.
@@ -0,0 +1,120 @@
1
+ # wz:design
2
+
3
+ > Guide the designer role through the open-pencil MCP workflow to produce production-ready design artifacts from an approved spec.
4
+
5
+ | Property | Value |
6
+ |---|---|
7
+ | **ID** | `wz:design` |
8
+ | **Type** | Flexible |
9
+ | **Trigger** | Design phase — after spec approval, before plan |
10
+ | **Failure mode** | Missing `.fig` file, hardcoded values, absolute positioning |
11
+ | **Requires** | open-pencil MCP server + Bun runtime |
12
+
13
+ ## Purpose
14
+
15
+ `wz:design` operationalizes the designer role by providing a concrete MCP tool workflow for creating visual design artifacts from an approved spec. It produces a design system grounded in tokens (no hardcoded hex values), auto-layout frames (no absolute positioning), and exportable artifacts that feed directly into frontend implementation.
16
+
17
+ When open-pencil is unavailable, this skill provides a graceful degradation path so the workflow does not stall.
18
+
19
+ ## When to Invoke
20
+
21
+ - The `design` workflow phase is active.
22
+ - An approved spec artifact exists.
23
+ - open-pencil MCP server is running (`openpencil-mcp` or `openpencil-mcp-http`).
24
+ - Bun runtime is installed.
25
+
26
+ > [!TIP]
27
+ > Check prerequisites before starting: `which bun` and confirm the MCP server is reachable. A failed design phase that produces nothing is worse than skipping to text-only spec documentation.
28
+
29
+ ## When NOT to Invoke
30
+
31
+ - No approved spec exists — complete the `specify` phase first.
32
+ - open-pencil MCP server is not running and Bun is not installed — see the Unavailable Fallback section below.
33
+ - The design already exists and only code generation is needed — jump to the Export step.
34
+
35
+ ## Phases
36
+
37
+ | Step | MCP Tools | Description |
38
+ |---|---|---|
39
+ | 1. Read the spec | — | Identify screens, components, and flows to design |
40
+ | 2. Create document | `new_document` or `open_file` | Start fresh `.fig` or open existing |
41
+ | 3. Set up design tokens | `create_collection`, `create_variable` | Colors, spacing, typography from spec/brand |
42
+ | 4. Build frames | `create_shape (FRAME)`, `set_layout` | One frame per screen/component, auto-layout on all |
43
+ | 5. Populate content | `render` (JSX), `create_shape`, `set_fill`, `set_text` | Content within frames |
44
+ | 6. Bind tokens | `bind_variable` | Connect fills/strokes/text to design variables — no hardcoded values |
45
+ | 7. Export artifacts | `export_image`, `export_svg` | Screenshots and vectors |
46
+ | 8. Save | `save_file` | Persist the `.fig` |
47
+ | 9. Generate code | CLI `open-pencil export` | Tailwind JSX output |
48
+ | 10. Extract tokens | `analyze_colors`, `analyze_typography`, `analyze_spacing` | Design tokens JSON |
49
+
50
+ ## MCP Tool Reference
51
+
52
+ | Phase | Tools |
53
+ |---|---|
54
+ | Read | `get_page_tree`, `find_nodes`, `get_node`, `list_variables` |
55
+ | Create | `create_shape`, `render` (JSX), `create_page`, `create_component` |
56
+ | Style | `set_fill`, `set_stroke`, `set_layout`, `set_font`, `set_effects` |
57
+ | Variables | `create_collection`, `create_variable`, `bind_variable` |
58
+ | Export | `export_image`, `export_svg`, `save_file` |
59
+ | Analyze | `analyze_colors`, `analyze_typography`, `analyze_spacing`, `analyze_clusters` |
60
+ | Diff | `diff_create`, `diff_show` |
61
+
62
+ ## Required Outputs
63
+
64
+ | Artifact | Description |
65
+ |---|---|
66
+ | `.fig` design file | Saved and committed |
67
+ | Tailwind JSX export | Component code with Tailwind classes |
68
+ | HTML + CSS export | Fallback implementation-ready code |
69
+ | Design tokens JSON | Colors, spacing, typography as structured data |
70
+ | Screenshot PNGs | One per top-level frame, for visual verification |
71
+
72
+ ## Rules
73
+
74
+ 1. Every design must have auto-layout on all frames — no absolute positioning except icons/decorations.
75
+ 2. Use design variables for all colors and spacing — no hardcoded hex values.
76
+ 3. Export screenshots after every major change for visual verification.
77
+ 4. Create a `diff_create` snapshot before modifications to enable rollback.
78
+
79
+ ## Unavailable Fallback
80
+
81
+ If open-pencil MCP server is not running or Bun is not installed:
82
+
83
+ 1. Skip this phase — do not attempt to produce `.fig` artifacts with unavailable tooling.
84
+ 2. Document the design intent in prose within the spec artifact.
85
+ 3. Skip the `design-review` workflow as well.
86
+ 4. Proceed directly to planning with text-only design specifications.
87
+
88
+ > [!WARNING]
89
+ > Do not produce partial design artifacts with absolute positioning or hardcoded values because tooling was unavailable. A clean text spec is more useful to implementors than a malformed design file.
90
+
91
+ ## Example
92
+
93
+ **Scenario:** Approved spec for a dashboard screen with a data table and filter sidebar.
94
+
95
+ ```
96
+ Agent: Invoking wz:design for dashboard screen.
97
+
98
+ Step 2: new_document() → design.fig created
99
+ Step 3: create_collection("tokens") → create_variable("color/primary", "#0066CC")
100
+ create_variable("spacing/md", 16)
101
+ Step 4: create_shape(FRAME, "Dashboard") → set_layout(direction=HORIZONTAL, gap=spacing/md)
102
+ create_shape(FRAME, "Sidebar") → set_layout(direction=VERTICAL)
103
+ create_shape(FRAME, "Content") → set_layout(direction=VERTICAL)
104
+ Step 5: render(<DataTable columns={...} />) → rendered in Content frame
105
+ Step 6: bind_variable(fill → color/primary) on all primary buttons
106
+ Step 7: export_image("Dashboard") → dashboard.png
107
+ Step 8: save_file("design.fig")
108
+ Step 9: open-pencil export design.fig -f jsx --style tailwind → Dashboard.jsx
109
+ Step 10: analyze_colors() → tokens.json
110
+ ```
111
+
112
+ ## Integration
113
+
114
+ `wz:design` sits between spec and planning:
115
+
116
+ ```
117
+ specify (approved spec) → wz:design (design artifacts) → design_review → wz:writing-plans
118
+ ```
119
+
120
+ The Tailwind JSX and design tokens JSON produced here become direct inputs to the executor during the `execute` phase, reducing frontend implementation ambiguity.
@@ -0,0 +1,109 @@
1
+ # prepare-next
2
+
3
+ > Produce a clean next-run handoff without auto-loading stale context, unreviewed learnings, or unresolved ambiguities into the next session.
4
+
5
+ | Property | Value |
6
+ |---|---|
7
+ | **ID** | `prepare-next` |
8
+ | **Type** | Flexible |
9
+ | **Trigger** | After a run or execution slice completes |
10
+ | **Failure mode** | Stale context or unreviewed learnings silently poisoning the next session |
11
+
12
+ ## Purpose
13
+
14
+ `prepare-next` closes a session cleanly. It captures what happened — completed work, blockers, required approvals, and explicitly accepted learnings — and packages this into a structured handoff that the next session can consume without ambiguity.
15
+
16
+ The key discipline: it does not auto-apply anything. Proposed learnings, unresolved decisions, and speculative improvements are documented as pending — not silently promoted into the next run's starting assumptions. A poisoned handoff is worse than no handoff at all.
17
+
18
+ ## When to Invoke
19
+
20
+ - After a run or execution slice completes (all planned work for the session is done or blocked).
21
+ - Before context compaction would cause loss of session state.
22
+ - Before switching from one implementation phase to another.
23
+ - As the final step before disconnecting from a long-running task.
24
+
25
+ > [!TIP]
26
+ > The `stop_handoff_harvest` hook fires at session end and captures final observability data. `prepare-next` is the skill-level complement — it produces the structured human-readable handoff document that the hook captures.
27
+
28
+ ## When NOT to Invoke
29
+
30
+ - Mid-task: do not interrupt execution to produce a handoff. Finish the current task unit first (or explicitly note the interruption point).
31
+ - Nothing meaningful has happened: an empty handoff is not useful. If nothing was completed, note what was attempted and why it was blocked.
32
+
33
+ > [!WARNING]
34
+ > Do not mutate `input/`. The `input/` directory is operator-supplied truth. Handoff documents belong in `docs/plans/` or the state root (`~/.wazir/projects/<project-slug>/`), not in `input/`.
35
+
36
+ ## Phases
37
+
38
+ 1. **Inventory completed work** — what was finished, with verification evidence.
39
+ 2. **Inventory blockers** — what could not be completed and why.
40
+ 3. **List required approvals** — decisions the operator needs to make before the next run can proceed.
41
+ 4. **Identify accepted learnings** — only learnings that have been explicitly reviewed and accepted by the operator go in the handoff. Proposed learnings are listed separately as pending.
42
+ 5. **Write the handoff** — using the `templates/artifacts/next-run-handoff.md` structure.
43
+
44
+ ## Input
45
+
46
+ - Session history: what was planned, what was done, what failed
47
+ - Verification records from `wz:verification`
48
+ - Any blockers or open questions from `wz:debugging`
49
+ - Operator-reviewed learnings only
50
+
51
+ ## Output
52
+
53
+ One handoff document using the `templates/artifacts/next-run-handoff.md` structure.
54
+
55
+ ### Required Handoff Sections
56
+
57
+ | Section | Content |
58
+ |---|---|
59
+ | Current status | One-line summary of where the run ended |
60
+ | Completed work | Finished tasks with verification evidence |
61
+ | Unresolved blockers | What is blocking progress and why |
62
+ | Required approvals | Decisions needed from the operator |
63
+ | Accepted learnings | Only explicitly reviewed/approved learnings |
64
+ | Pending review | Proposed learnings or observations awaiting operator review |
65
+
66
+ ## Rules
67
+
68
+ - Do not mutate `input/`.
69
+ - Do not auto-load proposed or unreviewed learnings into the next run.
70
+ - Do not mark work as complete in the handoff if `wz:verification` has not passed for it.
71
+
72
+ ## Example
73
+
74
+ **Scenario:** Session ends after completing 3 of 5 plan sections.
75
+
76
+ ```markdown
77
+ # Next-Run Handoff — 2026-03-13
78
+
79
+ ## Current Status
80
+ Completed sections 1-3 of rate-limiting implementation plan. Blocked on section 4 (Redis integration test environment).
81
+
82
+ ## Completed Work
83
+ - Section 1: Redis client setup — VERIFIED (npm test → 3 passing)
84
+ - Section 2: Rate-limit middleware — VERIFIED (npm test → 7 passing)
85
+ - Section 3: Router wiring — VERIFIED (npm test → 12 passing)
86
+
87
+ ## Unresolved Blockers
88
+ - Section 4 requires a Redis test container — CI environment does not have Docker. Options documented in debugging log.
89
+
90
+ ## Required Approvals
91
+ - Operator decision needed: use mock Redis for test environment OR add Docker to CI?
92
+
93
+ ## Accepted Learnings
94
+ (none — operator has not reviewed the proposed learnings below)
95
+
96
+ ## Pending Review
97
+ - Proposed: Redis client should use connection pooling (observed latency spike under load in manual test).
98
+ Status: PROPOSED — not yet reviewed. Do not apply automatically.
99
+ ```
100
+
101
+ ## Integration
102
+
103
+ `prepare-next` is the terminal step of any execution session:
104
+
105
+ ```
106
+ wz:tdd → wz:verification → prepare-next → [operator reviews] → next session starts clean
107
+ ```
108
+
109
+ The `stop_handoff_harvest` hook captures the handoff document at session end. The `pre_compact_summary` hook summarizes captured state before context compaction — both hooks consume the data that `prepare-next` produces.
@@ -0,0 +1,159 @@
1
+ # run-audit
2
+
3
+ > Interactive structured codebase audit — security, quality, architecture, performance, dependencies, or custom. Produces a source-backed findings report or actionable fix plan.
4
+
5
+ | Property | Value |
6
+ |---|---|
7
+ | **ID** | `run-audit` |
8
+ | **Type** | Flexible |
9
+ | **Trigger** | Explicit operator request: "audit this codebase" or `/run-audit` |
10
+ | **Output modes** | Report (findings only) or Plan (findings → implementation tasks) |
11
+
12
+ ## Purpose
13
+
14
+ `run-audit` runs a disciplined, multi-step audit pipeline on a codebase. It collects three parameters interactively (type, scope, output mode), then executes a research-based analysis using audit-specific expertise modules. Every finding is backed by source citations — no speculation, no summary without evidence.
15
+
16
+ The audit operates through the `researcher` role composed with `audit-*` expertise modules. No new canonical role is introduced.
17
+
18
+ ## When to Invoke
19
+
20
+ - Operator requests a security, quality, architecture, performance, or dependency review.
21
+ - Before a major refactor — establish a baseline of known issues.
22
+ - After merging a large feature branch — verify no quality regression.
23
+ - As part of a scheduled review cadence.
24
+
25
+ > [!WARNING]
26
+ > Pre-flight: the project must be a git repository. If there are uncommitted changes, the agent warns before proceeding — audit accuracy depends on a stable working tree.
27
+
28
+ ## When NOT to Invoke
29
+
30
+ - You want a self-audit of the Wazir project itself — use `self-audit` instead.
31
+ - You need a quick project overview — use `scan-project` instead.
32
+ - Implementation is already in progress and you need to fix a specific known issue — use `wz:debugging`.
33
+
34
+ ## Phases
35
+
36
+ ### Step 1: Collect Audit Type
37
+
38
+ Prompts the operator to choose one of six audit types:
39
+
40
+ | # | Type | Focus |
41
+ |---|---|---|
42
+ | 1 | Security | Vulnerabilities, secrets, OWASP, dependency risks |
43
+ | 2 | Code Quality | Complexity, duplication, dead code, naming |
44
+ | 3 | Architecture | Coupling, layering, design doc adherence |
45
+ | 4 | Performance | Bottlenecks, memory, inefficient patterns |
46
+ | 5 | Dependencies | Outdated, vulnerable, unused packages |
47
+ | 6 | Custom | Operator-described focus |
48
+
49
+ ### Step 2: Collect Scope
50
+
51
+ | # | Scope | Description |
52
+ |---|---|---|
53
+ | 1 | Whole project | Scan entire codebase |
54
+ | 2 | Specific branch | Diff against base branch |
55
+ | 3 | Specific paths/files | Audit only named directories or files |
56
+
57
+ ### Step 3: Collect Output Mode
58
+
59
+ | # | Mode | Description |
60
+ |---|---|---|
61
+ | 1 | Report | Structured findings, analysis only |
62
+ | 2 | Plan | Findings become implementation tasks via `wz:writing-plans` |
63
+
64
+ ### Step 4: Confirm and Start
65
+
66
+ Summarizes parameters, waits for operator confirmation before proceeding.
67
+
68
+ ### Step 5: Research + Audit (Autonomous)
69
+
70
+ Composes a `researcher` agent with the relevant `audit-*` expertise modules from `expertise/composition-map.yaml`:
71
+
72
+ | Audit Type | Expertise Module |
73
+ |---|---|
74
+ | Security | `audit-security` |
75
+ | Code Quality | `audit-code-quality` |
76
+ | Architecture | `audit-architecture` |
77
+ | Performance | `audit-performance` |
78
+ | Dependencies | `audit-dependencies` |
79
+ | Custom | All `audit-*` modules combined |
80
+
81
+ The researcher scans the project, categorizes findings by severity (critical / high / medium / low / info), and produces evidence-backed findings with location (`file:line`), code snippets, and remediation guidance.
82
+
83
+ ### Step 6: Output
84
+
85
+ **Report mode:** Presents findings directly to the operator. Operator can copy or request a save.
86
+
87
+ **Plan mode:**
88
+ 1. Presents findings for approval.
89
+ 2. On approval, saves findings to `docs/plans/YYYY-MM-DD-audit-<type>-findings.md`.
90
+ 3. Invokes `wz:writing-plans` to produce an implementation plan from the approved findings.
91
+
92
+ ## Input
93
+
94
+ - Git repository (required)
95
+ - Operator-selected: type, scope, output mode
96
+ - Audit parameters (passed as context to researcher — not written to `input/`)
97
+
98
+ ## Output
99
+
100
+ ### Report Format
101
+
102
+ ```markdown
103
+ # Security Audit Report — 2026-03-13
104
+
105
+ ## Summary
106
+ - Scope: whole project
107
+ - Total findings: 7 (Critical: 1, High: 2, Medium: 3, Low: 1)
108
+
109
+ ## Findings
110
+
111
+ ### Critical
112
+
113
+ #### [C-001] Hardcoded JWT secret in source
114
+ - Category: Secrets exposure
115
+ - Location: src/auth/jwt.js:14
116
+ - Evidence: `const secret = "hardcoded-secret-do-not-use";`
117
+ - Remediation: Move to environment variable, rotate the secret
118
+ ```
119
+
120
+ ## Example
121
+
122
+ **Scenario:** Security audit of a Node.js API before a production launch.
123
+
124
+ ```
125
+ Agent: What would you like to audit?
126
+ Operator: 1 (Security)
127
+
128
+ Agent: What scope?
129
+ Operator: 1 (Whole project)
130
+
131
+ Agent: What output?
132
+ Operator: 2 (Plan)
133
+
134
+ Agent: Audit Summary:
135
+ Type: security | Scope: whole-project | Output: plan
136
+ Proceed? (y/n)
137
+ Operator: y
138
+
139
+ [Researcher composes with audit-security expertise]
140
+ [Scans entire codebase]
141
+ [Produces 7 findings]
142
+
143
+ Agent: Found 7 findings (1 critical, 2 high...). Approve as fix plan basis?
144
+ Operator: y
145
+
146
+ [Saves to docs/plans/2026-03-13-audit-security-findings.md]
147
+ [Invokes wz:writing-plans]
148
+ [Produces docs/plans/2026-03-13-audit-security-implementation.md]
149
+ ```
150
+
151
+ ## Integration
152
+
153
+ `run-audit` feeds into `wz:writing-plans` in plan mode, completing the loop:
154
+
155
+ ```
156
+ run-audit (findings approved) → wz:writing-plans → wz:tdd → wz:verification
157
+ ```
158
+
159
+ For Wazir self-audits specifically, use `self-audit` instead — it adds worktree isolation and automated fix-verify cycles.
@@ -0,0 +1,109 @@
1
+ # scan-project
2
+
3
+ > Build an evidence-based project profile from the repo's actual surfaces — before clarification or planning begins.
4
+
5
+ | Property | Value |
6
+ |---|---|
7
+ | **ID** | `scan-project` |
8
+ | **Type** | Flexible |
9
+ | **Trigger** | `discover` phase start — or any time a project profile is needed |
10
+ | **Failure mode** | Planning from assumptions instead of evidence |
11
+
12
+ ## Purpose
13
+
14
+ `scan-project` replaces assumption-based project understanding with a minimal, targeted scan of the surfaces that actually describe what a project is and how it works. It answers five specific questions — no more — using manifests, scripts, CI config, and active documentation rather than guesswork.
15
+
16
+ The output is a concise profile with file references, not a comprehensive audit. It is the starting point for clarification and planning, not an end in itself.
17
+
18
+ ## When to Invoke
19
+
20
+ - At the start of the `discover` phase.
21
+ - When an operator asks "what kind of project is this?" before making changes.
22
+ - Before `wz:brainstorming` when the codebase is unfamiliar.
23
+ - When returning to a project after a gap and needing to re-establish context.
24
+
25
+ ## When NOT to Invoke
26
+
27
+ - The project profile is already current and no new surfaces have changed.
28
+ - A deep structural audit is needed — use `run-audit` instead.
29
+ - You are mid-execution and already have a verified project profile — do not re-scan.
30
+
31
+ > [!TIP]
32
+ > `scan-project` answers "what is this?" — `run-audit` answers "what is wrong with this?". Do not substitute one for the other.
33
+
34
+ ## The Five Questions
35
+
36
+ This skill answers exactly these five questions:
37
+
38
+ | Question | Sources to prefer |
39
+ |---|---|
40
+ | What kind of project is this? | `package.json`, `*.manifest.yaml`, `README.md` |
41
+ | Which languages and toolchains are active? | Lock files, CI config, build scripts |
42
+ | How is verification expected to work? | `npm test`, CI pipeline, test runner config |
43
+ | Where are the relevant product and architecture docs? | `docs/`, `ARCHITECTURE.md`, `CONTRIBUTING.md` |
44
+ | What constraints appear in `input/`? | Everything in the `input/` directory |
45
+
46
+ ## Phases
47
+
48
+ 1. **Read `input/`** — operator-supplied constraints and requirements first.
49
+ 2. **Read manifests** — `package.json`, `*.yaml` manifests, lock files.
50
+ 3. **Read CI config** — `.github/workflows/`, `.circleci/`, `Makefile`, build scripts.
51
+ 4. **Read key docs** — `README.md`, `docs/architecture.md` if present.
52
+ 5. **Identify verification path** — what command proves the project is working?
53
+ 6. **Compile profile** — concise summary with file references and open unknowns.
54
+
55
+ ## Rules
56
+
57
+ - Prefer manifests, scripts, CI config, and current docs over assumptions.
58
+ - Treat inactive surfaces (dead code, archived docs) as historical context only — do not let them shape the profile.
59
+ - Inspect the **smallest** set of surfaces needed. Depth is `run-audit`'s job.
60
+
61
+ ## Input
62
+
63
+ - Project repository
64
+ - `input/` directory contents
65
+
66
+ ## Output
67
+
68
+ | Artifact | Description |
69
+ |---|---|
70
+ | Project profile | Concise summary answering the five questions, with file references |
71
+ | Open unknowns | Things that require research or clarification to resolve |
72
+
73
+ ## Example
74
+
75
+ **Scenario:** New conversation on a TypeScript API project.
76
+
77
+ ```
78
+ Agent: Invoking scan-project for the discover phase.
79
+
80
+ Scanning:
81
+ input/ → found: requirements.md (API endpoints spec)
82
+ package.json → TypeScript, Express, Jest, ts-jest
83
+ .github/ → CI runs npm test on push to main
84
+ README.md → "REST API for task management, PostgreSQL backend"
85
+ docs/ → architecture.md exists, last updated 2026-02-01
86
+
87
+ Profile:
88
+ Type: REST API (Node.js / TypeScript / Express)
89
+ Languages: TypeScript (primary)
90
+ Verification: npm test (Jest + ts-jest, ~120 tests)
91
+ Key docs: docs/architecture.md, README.md
92
+ Constraints: input/requirements.md — 5 new endpoints needed, auth via JWT
93
+
94
+ Open unknowns:
95
+ - Database migration strategy not documented — needs clarification
96
+ - No staging environment mentioned in CI — deployment path unknown
97
+ ```
98
+
99
+ This profile feeds directly into `wz:brainstorming` as context for the design phase.
100
+
101
+ ## Integration
102
+
103
+ `scan-project` is the opening move of the discover phase:
104
+
105
+ ```
106
+ discover: scan-project → wz:brainstorming (design) → wz:writing-plans (plan) → execute
107
+ ```
108
+
109
+ The open unknowns it produces become the clarifying questions for the `clarify` phase, and the verification path it identifies becomes the test command used throughout `wz:tdd` and `wz:verification`.