claudecode-omc 5.6.5 → 5.6.7

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 (434) hide show
  1. package/.local/commands/code-review.md +416 -0
  2. package/.local/commands/pr.md +250 -0
  3. package/.local/commands/prp-pr.md +244 -0
  4. package/.local/guidelines/CLAUDE.md +47 -0
  5. package/.local/skills/h5-to-swiftui/SKILL.md +201 -0
  6. package/.local/skills/h5-to-swiftui/assets/calibration/README.md +176 -0
  7. package/.local/skills/h5-to-swiftui/assets/calibration/h5-twin/index.html +52 -0
  8. package/.local/skills/h5-to-swiftui/assets/calibration/h5-twin/style.css +133 -0
  9. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin/Package.swift +26 -0
  10. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin/Sources/CalibrationScreen/CalibrationScreen.swift +142 -0
  11. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin-divergent/Package.swift +32 -0
  12. package/.local/skills/h5-to-swiftui/assets/calibration/swiftui-twin-divergent/Sources/CalibrationScreenDivergent/CalibrationScreenDivergent.swift +122 -0
  13. package/.local/skills/h5-to-swiftui/assets/calibration/tokens.json +42 -0
  14. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/index.html +14 -0
  15. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/package.json +20 -0
  16. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/public/api/articles/001.json +96 -0
  17. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/public/api/articles/index.json +89 -0
  18. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/App.jsx +22 -0
  19. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/App.module.css +11 -0
  20. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/ArticleCard.jsx +53 -0
  21. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/ArticleCard.module.css +139 -0
  22. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/NavBar.jsx +37 -0
  23. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/NavBar.module.css +72 -0
  24. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TagCloud.jsx +30 -0
  25. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TagCloud.module.css +50 -0
  26. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TrendChart.jsx +159 -0
  27. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/components/TrendChart.module.css +21 -0
  28. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/main.jsx +12 -0
  29. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/ArticleScreen.jsx +182 -0
  30. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/ArticleScreen.module.css +294 -0
  31. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/FeedScreen.jsx +147 -0
  32. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/screens/FeedScreen.module.css +161 -0
  33. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/styles/global.css +50 -0
  34. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/src/styles/tokens.css +103 -0
  35. package/.local/skills/h5-to-swiftui/assets/sample-h5-react/vite.config.js +6 -0
  36. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/data/tasks.js +67 -0
  37. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/index.html +26 -0
  38. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/router.js +73 -0
  39. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/detail.js +164 -0
  40. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/home.js +53 -0
  41. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/screens/list.js +87 -0
  42. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/styles/app.css +342 -0
  43. package/.local/skills/h5-to-swiftui/assets/sample-h5-vanilla/styles/tokens.css +68 -0
  44. package/.local/skills/h5-to-swiftui/references/css-to-swiftui-map.md +205 -0
  45. package/.local/skills/h5-to-swiftui/references/design-token-extraction.md +209 -0
  46. package/.local/skills/h5-to-swiftui/references/high-risk-triage.md +209 -0
  47. package/.local/skills/h5-to-swiftui/references/render-equivalence-calibration.md +193 -0
  48. package/.local/skills/h5-to-swiftui/references/stack-detection.md +160 -0
  49. package/.local/skills/h5-to-swiftui/references/visual-diff-loop-protocol.md +365 -0
  50. package/.local/skills/h5-to-swiftui/scripts/_calib-consts.mjs +150 -0
  51. package/.local/skills/h5-to-swiftui/scripts/_imglib.mjs +547 -0
  52. package/.local/skills/h5-to-swiftui/scripts/_provenance.mjs +123 -0
  53. package/.local/skills/h5-to-swiftui/scripts/calibrate-render.mjs +625 -0
  54. package/.local/skills/h5-to-swiftui/scripts/capture-reference.mjs +386 -0
  55. package/.local/skills/h5-to-swiftui/scripts/detect-stack.mjs +305 -0
  56. package/.local/skills/h5-to-swiftui/scripts/evaluate-convergence.mjs +1093 -0
  57. package/.local/skills/h5-to-swiftui/scripts/extract-tokens.mjs +600 -0
  58. package/.local/skills/h5-to-swiftui/scripts/mark-overlay.mjs +379 -0
  59. package/.local/skills/h5-to-swiftui/scripts/pixel-diff.mjs +530 -0
  60. package/.local/skills/h5-to-swiftui/scripts/sim-screenshot.sh +544 -0
  61. package/bundled/manifest.json +4 -4
  62. package/bundled/upstream/anthropic-skills/skills/algorithmic-art/LICENSE.txt +1 -1
  63. package/bundled/upstream/anthropic-skills/skills/brand-guidelines/LICENSE.txt +1 -1
  64. package/bundled/upstream/anthropic-skills/skills/canvas-design/LICENSE.txt +1 -1
  65. package/bundled/upstream/anthropic-skills/skills/claude-api/LICENSE.txt +1 -1
  66. package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +120 -58
  67. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
  68. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +336 -0
  69. package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +561 -0
  70. package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
  71. package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +442 -0
  72. package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
  73. package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +435 -0
  74. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
  75. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
  76. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
  77. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
  78. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
  79. package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +332 -0
  80. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
  81. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +389 -0
  82. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/agent-design.md +101 -0
  83. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +11 -4
  84. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +60 -48
  85. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +372 -0
  86. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
  87. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +220 -0
  88. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +211 -0
  89. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-events.md +195 -0
  90. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-memory.md +197 -0
  91. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +99 -0
  92. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +114 -0
  93. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-outcomes.md +106 -0
  94. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +67 -0
  95. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +315 -0
  96. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-webhooks.md +110 -0
  97. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +779 -0
  98. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +16 -14
  99. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +45 -2
  100. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +28 -6
  101. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
  102. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
  103. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
  104. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
  105. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
  106. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +359 -0
  107. package/bundled/upstream/anthropic-skills/skills/internal-comms/LICENSE.txt +1 -1
  108. package/bundled/upstream/anthropic-skills/skills/mcp-builder/LICENSE.txt +1 -1
  109. package/bundled/upstream/anthropic-skills/skills/skill-creator/LICENSE.txt +1 -1
  110. package/bundled/upstream/anthropic-skills/skills/slack-gif-creator/LICENSE.txt +1 -1
  111. package/bundled/upstream/anthropic-skills/skills/theme-factory/LICENSE.txt +1 -1
  112. package/bundled/upstream/anthropic-skills/skills/web-artifacts-builder/LICENSE.txt +1 -1
  113. package/bundled/upstream/anthropic-skills/skills/webapp-testing/LICENSE.txt +1 -1
  114. package/bundled/upstream/ecc/.omc-source/bundle.json +2 -3
  115. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +4 -4
  116. package/bundled/upstream/ecc/agents/a11y-architect.md +10 -2
  117. package/bundled/upstream/ecc/agents/architect.md +9 -0
  118. package/bundled/upstream/ecc/agents/build-error-resolver.md +9 -0
  119. package/bundled/upstream/ecc/agents/chief-of-staff.md +9 -0
  120. package/bundled/upstream/ecc/agents/code-architect.md +9 -0
  121. package/bundled/upstream/ecc/agents/code-explorer.md +10 -1
  122. package/bundled/upstream/ecc/agents/code-reviewer.md +87 -1
  123. package/bundled/upstream/ecc/agents/code-simplifier.md +9 -0
  124. package/bundled/upstream/ecc/agents/comment-analyzer.md +10 -1
  125. package/bundled/upstream/ecc/agents/conversation-analyzer.md +9 -0
  126. package/bundled/upstream/ecc/agents/cpp-build-resolver.md +9 -0
  127. package/bundled/upstream/ecc/agents/cpp-reviewer.md +9 -0
  128. package/bundled/upstream/ecc/agents/csharp-reviewer.md +9 -0
  129. package/bundled/upstream/ecc/agents/dart-build-resolver.md +9 -0
  130. package/bundled/upstream/ecc/agents/database-reviewer.md +9 -0
  131. package/bundled/upstream/ecc/agents/django-build-resolver.md +252 -0
  132. package/bundled/upstream/ecc/agents/django-reviewer.md +169 -0
  133. package/bundled/upstream/ecc/agents/doc-updater.md +9 -0
  134. package/bundled/upstream/ecc/agents/docs-lookup.md +9 -0
  135. package/bundled/upstream/ecc/agents/e2e-runner.md +9 -0
  136. package/bundled/upstream/ecc/agents/fastapi-reviewer.md +79 -0
  137. package/bundled/upstream/ecc/agents/flutter-reviewer.md +9 -0
  138. package/bundled/upstream/ecc/agents/fsharp-reviewer.md +109 -0
  139. package/bundled/upstream/ecc/agents/gan-evaluator.md +9 -0
  140. package/bundled/upstream/ecc/agents/gan-generator.md +9 -0
  141. package/bundled/upstream/ecc/agents/gan-planner.md +9 -0
  142. package/bundled/upstream/ecc/agents/go-build-resolver.md +9 -0
  143. package/bundled/upstream/ecc/agents/go-reviewer.md +9 -0
  144. package/bundled/upstream/ecc/agents/harmonyos-app-resolver.md +182 -0
  145. package/bundled/upstream/ecc/agents/harness-optimizer.md +9 -0
  146. package/bundled/upstream/ecc/agents/healthcare-reviewer.md +9 -0
  147. package/bundled/upstream/ecc/agents/homelab-architect.md +107 -0
  148. package/bundled/upstream/ecc/agents/java-build-resolver.md +133 -11
  149. package/bundled/upstream/ecc/agents/java-reviewer.md +130 -32
  150. package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +9 -0
  151. package/bundled/upstream/ecc/agents/kotlin-reviewer.md +9 -0
  152. package/bundled/upstream/ecc/agents/loop-operator.md +9 -0
  153. package/bundled/upstream/ecc/agents/mle-reviewer.md +162 -0
  154. package/bundled/upstream/ecc/agents/network-architect.md +106 -0
  155. package/bundled/upstream/ecc/agents/network-config-reviewer.md +106 -0
  156. package/bundled/upstream/ecc/agents/network-troubleshooter.md +128 -0
  157. package/bundled/upstream/ecc/agents/opensource-forker.md +9 -0
  158. package/bundled/upstream/ecc/agents/opensource-packager.md +9 -0
  159. package/bundled/upstream/ecc/agents/opensource-sanitizer.md +9 -0
  160. package/bundled/upstream/ecc/agents/performance-optimizer.md +9 -0
  161. package/bundled/upstream/ecc/agents/planner.md +9 -0
  162. package/bundled/upstream/ecc/agents/pr-test-analyzer.md +9 -0
  163. package/bundled/upstream/ecc/agents/python-reviewer.md +9 -0
  164. package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +12 -3
  165. package/bundled/upstream/ecc/agents/refactor-cleaner.md +9 -0
  166. package/bundled/upstream/ecc/agents/rust-build-resolver.md +9 -0
  167. package/bundled/upstream/ecc/agents/rust-reviewer.md +9 -0
  168. package/bundled/upstream/ecc/agents/security-reviewer.md +9 -0
  169. package/bundled/upstream/ecc/agents/seo-specialist.md +10 -1
  170. package/bundled/upstream/ecc/agents/silent-failure-hunter.md +9 -0
  171. package/bundled/upstream/ecc/agents/swift-build-resolver.md +170 -0
  172. package/bundled/upstream/ecc/agents/swift-reviewer.md +116 -0
  173. package/bundled/upstream/ecc/agents/tdd-guide.md +9 -0
  174. package/bundled/upstream/ecc/agents/type-design-analyzer.md +10 -1
  175. package/bundled/upstream/ecc/agents/typescript-reviewer.md +9 -0
  176. package/bundled/upstream/ecc/commands/auto-update.md +28 -0
  177. package/bundled/upstream/ecc/commands/build-fix.md +4 -0
  178. package/bundled/upstream/ecc/commands/checkpoint.md +4 -0
  179. package/bundled/upstream/ecc/commands/code-review.md +3 -3
  180. package/bundled/upstream/ecc/commands/cost-report.md +107 -0
  181. package/bundled/upstream/ecc/commands/cpp-build.md +1 -1
  182. package/bundled/upstream/ecc/commands/cpp-test.md +1 -1
  183. package/bundled/upstream/ecc/commands/ecc-guide.md +93 -0
  184. package/bundled/upstream/ecc/commands/fastapi-review.md +39 -0
  185. package/bundled/upstream/ecc/commands/flutter-build.md +1 -1
  186. package/bundled/upstream/ecc/commands/flutter-test.md +1 -1
  187. package/bundled/upstream/ecc/commands/gan-build.md +4 -0
  188. package/bundled/upstream/ecc/commands/gan-design.md +4 -0
  189. package/bundled/upstream/ecc/commands/go-build.md +1 -1
  190. package/bundled/upstream/ecc/commands/go-test.md +1 -1
  191. package/bundled/upstream/ecc/commands/harness-audit.md +4 -0
  192. package/bundled/upstream/ecc/commands/jira.md +2 -2
  193. package/bundled/upstream/ecc/commands/kotlin-build.md +1 -1
  194. package/bundled/upstream/ecc/commands/kotlin-test.md +1 -1
  195. package/bundled/upstream/ecc/commands/learn.md +4 -0
  196. package/bundled/upstream/ecc/commands/loop-start.md +4 -0
  197. package/bundled/upstream/ecc/commands/loop-status.md +54 -1
  198. package/bundled/upstream/ecc/commands/model-route.md +4 -0
  199. package/bundled/upstream/ecc/commands/multi-backend.md +4 -0
  200. package/bundled/upstream/ecc/commands/multi-execute.md +4 -0
  201. package/bundled/upstream/ecc/commands/multi-frontend.md +4 -0
  202. package/bundled/upstream/ecc/commands/multi-plan.md +4 -0
  203. package/bundled/upstream/ecc/commands/multi-workflow.md +4 -0
  204. package/bundled/upstream/ecc/commands/plan-prd.md +160 -0
  205. package/bundled/upstream/ecc/commands/plan.md +96 -13
  206. package/bundled/upstream/ecc/commands/pm2.md +4 -0
  207. package/bundled/upstream/ecc/commands/pr.md +184 -0
  208. package/bundled/upstream/ecc/commands/project-init.md +86 -0
  209. package/bundled/upstream/ecc/commands/python-review.md +1 -1
  210. package/bundled/upstream/ecc/commands/quality-gate.md +4 -0
  211. package/bundled/upstream/ecc/commands/refactor-clean.md +4 -0
  212. package/bundled/upstream/ecc/commands/rust-build.md +1 -1
  213. package/bundled/upstream/ecc/commands/rust-test.md +1 -1
  214. package/bundled/upstream/ecc/commands/security-scan.md +92 -0
  215. package/bundled/upstream/ecc/commands/sessions.md +6 -6
  216. package/bundled/upstream/ecc/commands/skill-health.md +3 -3
  217. package/bundled/upstream/ecc/commands/test-coverage.md +4 -0
  218. package/bundled/upstream/ecc/commands/update-codemaps.md +4 -0
  219. package/bundled/upstream/ecc/commands/update-docs.md +4 -0
  220. package/bundled/upstream/ecc/skills/accessibility/SKILL.md +1 -1
  221. package/bundled/upstream/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  222. package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +49 -3
  223. package/bundled/upstream/ecc/skills/agentic-os/SKILL.md +387 -0
  224. package/bundled/upstream/ecc/skills/angular-developer/SKILL.md +154 -0
  225. package/bundled/upstream/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  226. package/bundled/upstream/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  227. package/bundled/upstream/ecc/skills/angular-developer/references/cli.md +86 -0
  228. package/bundled/upstream/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  229. package/bundled/upstream/ecc/skills/angular-developer/references/component-styling.md +91 -0
  230. package/bundled/upstream/ecc/skills/angular-developer/references/components.md +117 -0
  231. package/bundled/upstream/ecc/skills/angular-developer/references/creating-services.md +97 -0
  232. package/bundled/upstream/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  233. package/bundled/upstream/ecc/skills/angular-developer/references/define-routes.md +67 -0
  234. package/bundled/upstream/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  235. package/bundled/upstream/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  236. package/bundled/upstream/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  237. package/bundled/upstream/ecc/skills/angular-developer/references/effects.md +83 -0
  238. package/bundled/upstream/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  239. package/bundled/upstream/ecc/skills/angular-developer/references/host-elements.md +80 -0
  240. package/bundled/upstream/ecc/skills/angular-developer/references/injection-context.md +63 -0
  241. package/bundled/upstream/ecc/skills/angular-developer/references/inputs.md +101 -0
  242. package/bundled/upstream/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  243. package/bundled/upstream/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  244. package/bundled/upstream/ecc/skills/angular-developer/references/mcp.md +108 -0
  245. package/bundled/upstream/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  246. package/bundled/upstream/ecc/skills/angular-developer/references/outputs.md +86 -0
  247. package/bundled/upstream/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  248. package/bundled/upstream/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  249. package/bundled/upstream/ecc/skills/angular-developer/references/resource.md +77 -0
  250. package/bundled/upstream/ecc/skills/angular-developer/references/route-animations.md +56 -0
  251. package/bundled/upstream/ecc/skills/angular-developer/references/route-guards.md +52 -0
  252. package/bundled/upstream/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  253. package/bundled/upstream/ecc/skills/angular-developer/references/router-testing.md +87 -0
  254. package/bundled/upstream/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  255. package/bundled/upstream/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  256. package/bundled/upstream/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  257. package/bundled/upstream/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  258. package/bundled/upstream/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  259. package/bundled/upstream/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  260. package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +6 -0
  261. package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +8 -45
  262. package/bundled/upstream/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  263. package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +31 -14
  264. package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +10 -2
  265. package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +19 -5
  266. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +44 -4
  267. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +4 -4
  268. package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +5 -1
  269. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +21 -5
  270. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +58 -13
  271. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +97 -4
  272. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  273. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  274. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +34 -0
  275. package/bundled/upstream/ecc/skills/cost-tracking/SKILL.md +147 -0
  276. package/bundled/upstream/ecc/skills/deep-research/SKILL.md +4 -0
  277. package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +6 -0
  278. package/bundled/upstream/ecc/skills/django-celery/SKILL.md +457 -0
  279. package/bundled/upstream/ecc/skills/ecc-guide/SKILL.md +189 -0
  280. package/bundled/upstream/ecc/skills/error-handling/SKILL.md +376 -0
  281. package/bundled/upstream/ecc/skills/exa-search/SKILL.md +4 -0
  282. package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +4 -0
  283. package/bundled/upstream/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  284. package/bundled/upstream/ecc/skills/flox-environments/SKILL.md +496 -0
  285. package/bundled/upstream/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  286. package/bundled/upstream/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  287. package/bundled/upstream/ecc/skills/frontend-slides/html-template.md +419 -0
  288. package/bundled/upstream/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  289. package/bundled/upstream/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  290. package/bundled/upstream/ecc/skills/frontend-slides/viewport-base.css +153 -0
  291. package/bundled/upstream/ecc/skills/fsharp-testing/SKILL.md +280 -0
  292. package/bundled/upstream/ecc/skills/gateguard/SKILL.md +4 -0
  293. package/bundled/upstream/ecc/skills/hermes-imports/SKILL.md +88 -0
  294. package/bundled/upstream/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  295. package/bundled/upstream/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  296. package/bundled/upstream/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  297. package/bundled/upstream/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  298. package/bundled/upstream/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  299. package/bundled/upstream/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  300. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  301. package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  302. package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +241 -5
  303. package/bundled/upstream/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  304. package/bundled/upstream/ecc/skills/mle-workflow/SKILL.md +346 -0
  305. package/bundled/upstream/ecc/skills/motion-advanced/SKILL.md +596 -0
  306. package/bundled/upstream/ecc/skills/motion-foundations/SKILL.md +299 -0
  307. package/bundled/upstream/ecc/skills/motion-patterns/SKILL.md +435 -0
  308. package/bundled/upstream/ecc/skills/motion-ui/SKILL.md +575 -0
  309. package/bundled/upstream/ecc/skills/mysql-patterns/SKILL.md +412 -0
  310. package/bundled/upstream/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  311. package/bundled/upstream/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  312. package/bundled/upstream/ecc/skills/network-config-validation/SKILL.md +210 -0
  313. package/bundled/upstream/ecc/skills/network-interface-health/SKILL.md +152 -0
  314. package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +1 -9
  315. package/bundled/upstream/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  316. package/bundled/upstream/ecc/skills/prisma-patterns/SKILL.md +371 -0
  317. package/bundled/upstream/ecc/skills/production-audit/SKILL.md +206 -0
  318. package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +24 -400
  319. package/bundled/upstream/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  320. package/bundled/upstream/ecc/skills/quarkus-security/SKILL.md +467 -0
  321. package/bundled/upstream/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  322. package/bundled/upstream/ecc/skills/quarkus-verification/SKILL.md +479 -0
  323. package/bundled/upstream/ecc/skills/redis-patterns/SKILL.md +403 -0
  324. package/bundled/upstream/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  325. package/bundled/upstream/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  326. package/bundled/upstream/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  327. package/bundled/upstream/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  328. package/bundled/upstream/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  329. package/bundled/upstream/ecc/skills/search-first/SKILL.md +23 -2
  330. package/bundled/upstream/ecc/skills/security-review/SKILL.md +10 -2
  331. package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +28 -3
  332. package/bundled/upstream/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  333. package/bundled/upstream/ecc/skills/skill-scout/SKILL.md +140 -0
  334. package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +1 -0
  335. package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +2 -2
  336. package/bundled/upstream/ecc/skills/tinystruct-patterns/SKILL.md +203 -0
  337. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/architecture.md +90 -0
  338. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -0
  339. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/database.md +99 -0
  340. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/routing.md +64 -0
  341. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -0
  342. package/bundled/upstream/ecc/skills/tinystruct-patterns/references/testing.md +72 -0
  343. package/bundled/upstream/ecc/skills/ui-to-vue/SKILL.md +134 -0
  344. package/bundled/upstream/ecc/skills/vite-patterns/SKILL.md +449 -0
  345. package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
  346. package/bundled/upstream/ecc/skills/x-api/SKILL.md +4 -0
  347. package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +20 -0
  348. package/bundled/upstream/oh-my-claudecode/agents/analyst.md +2 -1
  349. package/bundled/upstream/oh-my-claudecode/agents/architect.md +2 -1
  350. package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +26 -7
  351. package/bundled/upstream/oh-my-claudecode/agents/critic.md +2 -1
  352. package/bundled/upstream/oh-my-claudecode/agents/debugger.md +2 -1
  353. package/bundled/upstream/oh-my-claudecode/agents/designer.md +14 -1
  354. package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
  355. package/bundled/upstream/oh-my-claudecode/agents/executor.md +2 -1
  356. package/bundled/upstream/oh-my-claudecode/agents/explore.md +2 -1
  357. package/bundled/upstream/oh-my-claudecode/agents/git-master.md +2 -1
  358. package/bundled/upstream/oh-my-claudecode/agents/planner.md +2 -1
  359. package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +2 -1
  360. package/bundled/upstream/oh-my-claudecode/agents/scientist.md +2 -1
  361. package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +2 -1
  362. package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +2 -1
  363. package/bundled/upstream/oh-my-claudecode/agents/tracer.md +2 -1
  364. package/bundled/upstream/oh-my-claudecode/agents/verifier.md +2 -1
  365. package/bundled/upstream/oh-my-claudecode/agents/writer.md +2 -1
  366. package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +4 -3
  367. package/bundled/upstream/oh-my-claudecode/skills/ai-slop-cleaner/SKILL.md +12 -0
  368. package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +69 -13
  369. package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +176 -63
  370. package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +3 -1
  371. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +22 -3
  372. package/bundled/upstream/oh-my-claudecode/skills/omc-reference/SKILL.md +1 -1
  373. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +2 -2
  374. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +45 -2
  375. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +46 -5
  376. package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +19 -17
  377. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +1 -1
  378. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/parse.sh +1 -1
  379. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/azure-devops.sh +1 -1
  380. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/bitbucket.sh +1 -1
  381. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitea.sh +1 -1
  382. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
  383. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitlab.sh +1 -1
  384. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/interface.sh +1 -1
  385. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/jira.sh +1 -1
  386. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +1 -1
  387. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +1 -1
  388. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +1 -1
  389. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +1 -1
  390. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +1 -1
  391. package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +8 -8
  392. package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +9 -5
  393. package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +6 -6
  394. package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +19 -3
  395. package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +3 -1
  396. package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +20 -7
  397. package/bundled/upstream/superpowers/.omc-source/bundle.json +21 -0
  398. package/bundled/upstream/superpowers/hooks/hooks-cursor.json +1 -1
  399. package/bundled/upstream/superpowers/skills/executing-plans/SKILL.md +1 -1
  400. package/bundled/upstream/superpowers/skills/finishing-a-development-branch/SKILL.md +93 -42
  401. package/bundled/upstream/superpowers/skills/requesting-code-review/SKILL.md +7 -9
  402. package/bundled/upstream/superpowers/skills/requesting-code-review/code-reviewer.md +107 -85
  403. package/bundled/upstream/superpowers/skills/subagent-driven-development/SKILL.md +3 -1
  404. package/bundled/upstream/superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +2 -3
  405. package/bundled/upstream/superpowers/skills/systematic-debugging/CREATION-LOG.md +1 -1
  406. package/bundled/upstream/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
  407. package/bundled/upstream/superpowers/skills/using-git-worktrees/SKILL.md +95 -98
  408. package/bundled/upstream/superpowers/skills/using-superpowers/references/codex-tools.md +7 -48
  409. package/bundled/upstream/superpowers/skills/using-superpowers/references/copilot-tools.md +1 -11
  410. package/bundled/upstream/superpowers/skills/using-superpowers/references/gemini-tools.md +21 -3
  411. package/bundled/upstream/superpowers/skills/writing-plans/SKILL.md +1 -1
  412. package/package.json +1 -1
  413. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/README.md +0 -355
  414. package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/patterns.md +0 -359
  415. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/README.md +0 -297
  416. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/patterns.md +0 -209
  417. package/bundled/upstream/ecc/commands/agent-sort.md +0 -23
  418. package/bundled/upstream/ecc/commands/claw.md +0 -23
  419. package/bundled/upstream/ecc/commands/context-budget.md +0 -23
  420. package/bundled/upstream/ecc/commands/devfleet.md +0 -23
  421. package/bundled/upstream/ecc/commands/docs.md +0 -23
  422. package/bundled/upstream/ecc/commands/e2e.md +0 -268
  423. package/bundled/upstream/ecc/commands/eval.md +0 -23
  424. package/bundled/upstream/ecc/commands/orchestrate.md +0 -135
  425. package/bundled/upstream/ecc/commands/prompt-optimize.md +0 -23
  426. package/bundled/upstream/ecc/commands/rules-distill.md +0 -20
  427. package/bundled/upstream/ecc/commands/tdd.md +0 -231
  428. package/bundled/upstream/ecc/commands/verify.md +0 -23
  429. package/bundled/upstream/ecc/skills/claude-api/SKILL.md +0 -337
  430. package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +0 -145
  431. package/bundled/upstream/superpowers/agents/code-reviewer.md +0 -48
  432. package/bundled/upstream/superpowers/commands/brainstorm.md +0 -5
  433. package/bundled/upstream/superpowers/commands/execute-plan.md +0 -5
  434. package/bundled/upstream/superpowers/commands/write-plan.md +0 -5
@@ -0,0 +1,416 @@
1
+ ---
2
+ description: Code review — local uncommitted changes, GitHub PR, or GitLab MR (auto-detects platform from git remote; supports github.com and code.iflytek.com)
3
+ argument-hint: [pr-number | mr-number | url | blank for local review]
4
+ ---
5
+
6
+ # Code Review
7
+
8
+ > Local override of upstream `ecc/commands/code-review.md`.
9
+ > Adds GitLab support (including self-hosted `code.iflytek.com`) on top of the
10
+ > original GitHub PR flow. Do not edit the upstream file — keep changes here.
11
+
12
+ **Input**: $ARGUMENTS
13
+
14
+ ---
15
+
16
+ ## Mode Selection
17
+
18
+ If `$ARGUMENTS` contains a number, URL, or `--pr` / `--mr`:
19
+ → Jump to **Remote Review Mode** (auto-detects GitHub vs GitLab).
20
+
21
+ Otherwise:
22
+ → Use **Local Review Mode**.
23
+
24
+ ---
25
+
26
+ ## Local Review Mode
27
+
28
+ Comprehensive security and quality review of uncommitted changes. Platform-agnostic.
29
+
30
+ ### Phase 1 — GATHER
31
+
32
+ ```bash
33
+ git diff --name-only HEAD
34
+ ```
35
+
36
+ If no changed files, stop: "Nothing to review."
37
+
38
+ ### Phase 2 — REVIEW
39
+
40
+ Read each changed file in full. Check for:
41
+
42
+ **Security Issues (CRITICAL):**
43
+ - Hardcoded credentials, API keys, tokens
44
+ - SQL injection vulnerabilities
45
+ - XSS vulnerabilities
46
+ - Missing input validation
47
+ - Insecure dependencies
48
+ - Path traversal risks
49
+
50
+ **Code Quality (HIGH):**
51
+ - Functions > 50 lines
52
+ - Files > 800 lines
53
+ - Nesting depth > 4 levels
54
+ - Missing error handling
55
+ - console.log statements
56
+ - TODO/FIXME comments
57
+ - Missing JSDoc for public APIs
58
+
59
+ **Best Practices (MEDIUM):**
60
+ - Mutation patterns (use immutable instead)
61
+ - Emoji usage in code/comments
62
+ - Missing tests for new code
63
+ - Accessibility issues (a11y)
64
+
65
+ ### Phase 3 — REPORT
66
+
67
+ Generate report with:
68
+ - Severity: CRITICAL, HIGH, MEDIUM, LOW
69
+ - File location and line numbers
70
+ - Issue description
71
+ - Suggested fix
72
+
73
+ Block commit if CRITICAL or HIGH issues found.
74
+ Never approve code with security vulnerabilities.
75
+
76
+ ---
77
+
78
+ ## Remote Review Mode
79
+
80
+ Comprehensive PR/MR review — fetches diff, reads full files, runs validation, posts review.
81
+
82
+ ### Phase 0 — DETECT PLATFORM
83
+
84
+ Run this first, before anything else:
85
+
86
+ ```bash
87
+ remote_url=$(git remote get-url origin 2>/dev/null)
88
+
89
+ case "$remote_url" in
90
+ *github.com*)
91
+ platform=github
92
+ cli=gh
93
+ ;;
94
+ *code.iflytek.com*)
95
+ platform=gitlab
96
+ cli=glab
97
+ gitlab_host=code.iflytek.com
98
+ ;;
99
+ *gitlab*)
100
+ platform=gitlab
101
+ cli=glab
102
+ # Generic GitLab — extract host
103
+ gitlab_host=$(echo "$remote_url" | sed -E 's#.*[@/]([^:/]+)[:/].*#\1#')
104
+ ;;
105
+ *)
106
+ platform=unknown
107
+ ;;
108
+ esac
109
+ ```
110
+
111
+ If `platform=unknown`: stop and ask the user which platform to use, or to set the origin remote.
112
+
113
+ **Tooling preconditions:**
114
+ - `github` → require `gh` CLI authenticated (`gh auth status`)
115
+ - `gitlab` → require `glab` CLI authenticated against the right host
116
+ (`glab auth status --hostname "$gitlab_host"`)
117
+
118
+ For `code.iflytek.com`, the one-time setup is:
119
+ ```bash
120
+ glab auth login --hostname code.iflytek.com
121
+ # Protocol: HTTPS
122
+ # Authentication: Personal Access Token
123
+ # Token from https://code.iflytek.com/-/user_settings/personal_access_tokens
124
+ # Required scopes: api, read_repository
125
+ ```
126
+
127
+ > If the company GitLab needs VPN/proxy, surface that to the user before proceeding.
128
+
129
+ ### Phase 1 — FETCH
130
+
131
+ Parse input to determine the PR/MR number:
132
+
133
+ | Input | Action |
134
+ |---|---|
135
+ | Number (e.g. `42`) | Use as PR/MR number |
136
+ | GitHub URL (`github.com/.../pull/42`) | Extract number |
137
+ | GitLab URL (`code.iflytek.com/.../merge_requests/42`) | Extract number |
138
+ | Branch name | Find via `gh pr list --head <branch>` or `glab mr list --source-branch <branch>` |
139
+
140
+ **GitHub:**
141
+ ```bash
142
+ gh pr view <N> --json number,title,body,author,baseRefName,headRefName,changedFiles,additions,deletions
143
+ gh pr diff <N>
144
+ ```
145
+
146
+ **GitLab (glab):**
147
+ ```bash
148
+ glab mr view <N>
149
+ glab mr diff <N>
150
+ # Or via API for richer metadata:
151
+ glab api "projects/:fullpath/merge_requests/<N>" \
152
+ --hostname "$gitlab_host"
153
+ ```
154
+
155
+ `:fullpath` is the URL-encoded project path. `glab` resolves it from the current repo's origin automatically; pass `-R OWNER/REPO` only when running outside the repo.
156
+
157
+ If PR/MR not found, stop with error. Store metadata for later phases.
158
+
159
+ ### Phase 2 — CONTEXT
160
+
161
+ Build review context (platform-agnostic):
162
+
163
+ 1. **Project rules** — Read `CLAUDE.md`, `.claude/docs/`, and any contributing guidelines
164
+ 2. **Planning artifacts** — Check `.claude/prds/`, `.claude/plans/`, `.claude/reviews/`, and legacy `.claude/PRPs/{prds,plans,reports,reviews}/`
165
+ 3. **PR/MR intent** — Parse description for goals, linked issues, test plans
166
+ 4. **Changed files** — List all modified files and categorize by type (source, test, config, docs)
167
+
168
+ ### Phase 3 — REVIEW
169
+
170
+ Read each changed file **in full** (not just the diff hunks).
171
+
172
+ Fetch full file contents at the PR/MR head revision:
173
+
174
+ **GitHub:**
175
+ ```bash
176
+ gh pr diff <N> --name-only | while IFS= read -r file; do
177
+ gh api "repos/{owner}/{repo}/contents/$file?ref=<head-branch>" --jq '.content' | base64 -d
178
+ done
179
+ ```
180
+
181
+ **GitLab:**
182
+ ```bash
183
+ # List changed files
184
+ glab mr diff <N> --raw | grep -E '^(\+\+\+|---) ' | awk '{print $2}' | sed 's#^[ab]/##' | sort -u
185
+
186
+ # Fetch each file at MR head SHA
187
+ head_sha=$(glab mr view <N> --output json | jq -r '.diff_refs.head_sha // .sha')
188
+ project_path=$(git remote get-url origin | sed -E 's#.*[:/]([^/]+/[^/]+)\.git$#\1#')
189
+ encoded_path=$(printf '%s' "$project_path" | sed 's#/#%2F#g')
190
+
191
+ # For each file:
192
+ encoded_file=$(printf '%s' "$file" | sed 's#/#%2F#g')
193
+ glab api "projects/$encoded_path/repository/files/$encoded_file/raw?ref=$head_sha" \
194
+ --hostname "$gitlab_host"
195
+ ```
196
+
197
+ Apply the review checklist across 7 categories:
198
+
199
+ | Category | What to Check |
200
+ |---|---|
201
+ | **Correctness** | Logic errors, off-by-ones, null handling, edge cases, race conditions |
202
+ | **Type Safety** | Type mismatches, unsafe casts, `any` usage, missing generics |
203
+ | **Pattern Compliance** | Matches project conventions (naming, file structure, error handling, imports) |
204
+ | **Security** | Injection, auth gaps, secret exposure, SSRF, path traversal, XSS |
205
+ | **Performance** | N+1 queries, missing indexes, unbounded loops, memory leaks, large payloads |
206
+ | **Completeness** | Missing tests, missing error handling, incomplete migrations, missing docs |
207
+ | **Maintainability** | Dead code, magic numbers, deep nesting, unclear naming, missing types |
208
+
209
+ Assign severity:
210
+
211
+ | Severity | Meaning | Action |
212
+ |---|---|---|
213
+ | **CRITICAL** | Security vulnerability or data loss risk | Must fix before merge |
214
+ | **HIGH** | Bug or logic error likely to cause issues | Should fix before merge |
215
+ | **MEDIUM** | Code quality issue or missing best practice | Fix recommended |
216
+ | **LOW** | Style nit or minor suggestion | Optional |
217
+
218
+ ### Phase 4 — VALIDATE
219
+
220
+ Run available validation commands (platform-agnostic — same as before).
221
+
222
+ Detect project type from config files (`package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`, etc.) and run the matching commands:
223
+
224
+ **Node.js / TypeScript:**
225
+ ```bash
226
+ npm run typecheck 2>/dev/null || npx tsc --noEmit 2>/dev/null
227
+ npm run lint
228
+ npm test
229
+ npm run build
230
+ ```
231
+
232
+ **Rust:**
233
+ ```bash
234
+ cargo clippy -- -D warnings
235
+ cargo test
236
+ cargo build
237
+ ```
238
+
239
+ **Go:**
240
+ ```bash
241
+ go vet ./...
242
+ go test ./...
243
+ go build ./...
244
+ ```
245
+
246
+ **Python:**
247
+ ```bash
248
+ pytest
249
+ ```
250
+
251
+ Record pass/fail for each.
252
+
253
+ ### Phase 5 — DECIDE
254
+
255
+ | Condition | Decision |
256
+ |---|---|
257
+ | Zero CRITICAL/HIGH issues, validation passes | **APPROVE** |
258
+ | Only MEDIUM/LOW issues, validation passes | **APPROVE** with comments |
259
+ | Any HIGH issues or validation failures | **REQUEST CHANGES** |
260
+ | Any CRITICAL issues | **BLOCK** — must fix before merge |
261
+
262
+ Special cases:
263
+ - Draft PR / WIP MR → Always use **COMMENT** (not approve/block)
264
+ - Only docs/config changes → Lighter review, focus on correctness
265
+ - Explicit `--approve` / `--request-changes` → Override decision (still report all findings)
266
+
267
+ ### Phase 6 — REPORT
268
+
269
+ Write artifact at `.claude/reviews/<platform>-<N>-review.md`
270
+ (e.g. `.claude/reviews/pr-42-review.md` for GitHub, `.claude/reviews/mr-42-review.md` for GitLab),
271
+ unless the repo uses legacy `.claude/PRPs/reviews/`:
272
+
273
+ ```markdown
274
+ # Review: <PR|MR> #<N> — <TITLE>
275
+
276
+ **Platform**: GitHub | GitLab (<host>)
277
+ **Reviewed**: <date>
278
+ **Author**: <author>
279
+ **Branch**: <head> → <base>
280
+ **Decision**: APPROVE | REQUEST CHANGES | BLOCK
281
+
282
+ ## Summary
283
+ <1-2 sentence overall assessment>
284
+
285
+ ## Findings
286
+
287
+ ### CRITICAL
288
+ <findings or "None">
289
+
290
+ ### HIGH
291
+ <findings or "None">
292
+
293
+ ### MEDIUM
294
+ <findings or "None">
295
+
296
+ ### LOW
297
+ <findings or "None">
298
+
299
+ ## Validation Results
300
+
301
+ | Check | Result |
302
+ |---|---|
303
+ | Type check | Pass / Fail / Skipped |
304
+ | Lint | Pass / Fail / Skipped |
305
+ | Tests | Pass / Fail / Skipped |
306
+ | Build | Pass / Fail / Skipped |
307
+
308
+ ## Files Reviewed
309
+ <list of files with change type: Added/Modified/Deleted>
310
+ ```
311
+
312
+ ### Phase 7 — PUBLISH
313
+
314
+ **GitHub:**
315
+ ```bash
316
+ # APPROVE
317
+ gh pr review <N> --approve --body "<summary>"
318
+
319
+ # REQUEST CHANGES
320
+ gh pr review <N> --request-changes --body "<summary with required fixes>"
321
+
322
+ # COMMENT only (draft PR or informational)
323
+ gh pr review <N> --comment --body "<summary>"
324
+
325
+ # Inline comment on a specific line:
326
+ gh api "repos/{owner}/{repo}/pulls/<N>/comments" \
327
+ -f body="<comment>" \
328
+ -f path="<file>" \
329
+ -F line=<line-number> \
330
+ -f side="RIGHT" \
331
+ -f commit_id="$(gh pr view <N> --json headRefOid --jq .headRefOid)"
332
+ ```
333
+
334
+ **GitLab (glab):**
335
+
336
+ GitLab does not have one-shot "approve + body" the same way GitHub does. Use this mapping:
337
+
338
+ ```bash
339
+ # APPROVE
340
+ glab mr approve <N>
341
+ glab mr note <N> --message "<summary>"
342
+
343
+ # REQUEST CHANGES
344
+ glab mr revoke <N> 2>/dev/null || true # remove existing approval if any
345
+ glab mr note <N> --message "REQUEST CHANGES:\n\n<summary with required fixes>"
346
+
347
+ # COMMENT only
348
+ glab mr note <N> --message "<summary>"
349
+
350
+ # BLOCK (treat like REQUEST CHANGES + draft)
351
+ glab mr update <N> --draft
352
+ glab mr note <N> --message "BLOCK:\n\n<summary>"
353
+
354
+ # Inline comment on a specific line (GitLab discussions API):
355
+ encoded_path=$(printf '%s' "$project_path" | sed 's#/#%2F#g')
356
+ head_sha=$(glab mr view <N> --output json | jq -r '.diff_refs.head_sha')
357
+ base_sha=$(glab mr view <N> --output json | jq -r '.diff_refs.base_sha')
358
+ start_sha=$(glab mr view <N> --output json | jq -r '.diff_refs.start_sha')
359
+
360
+ glab api "projects/$encoded_path/merge_requests/<N>/discussions" \
361
+ --hostname "$gitlab_host" \
362
+ --method POST \
363
+ -f body="<comment>" \
364
+ -f "position[base_sha]=$base_sha" \
365
+ -f "position[start_sha]=$start_sha" \
366
+ -f "position[head_sha]=$head_sha" \
367
+ -f "position[position_type]=text" \
368
+ -f "position[new_path]=<file>" \
369
+ -f "position[new_line]=<line-number>"
370
+ ```
371
+
372
+ ### Phase 8 — OUTPUT
373
+
374
+ Report to user:
375
+
376
+ ```
377
+ <PR|MR> #<N>: <TITLE>
378
+ Platform: <github|gitlab(host)>
379
+ Decision: <APPROVE|REQUEST_CHANGES|BLOCK>
380
+
381
+ Issues: <critical_count> critical, <high_count> high, <medium_count> medium, <low_count> low
382
+ Validation: <pass_count>/<total_count> checks passed
383
+
384
+ Artifacts:
385
+ Review: .claude/reviews/<pr|mr>-<N>-review.md
386
+ URL: <PR/MR URL>
387
+
388
+ Next steps:
389
+ - <contextual suggestions based on decision>
390
+ ```
391
+
392
+ ---
393
+
394
+ ## Quick Reference — gh vs glab
395
+
396
+ | Action | GitHub (`gh`) | GitLab (`glab`) |
397
+ |---|---|---|
398
+ | View PR/MR | `gh pr view <N>` | `glab mr view <N>` |
399
+ | Show diff | `gh pr diff <N>` | `glab mr diff <N>` |
400
+ | List by branch | `gh pr list --head <b>` | `glab mr list --source-branch <b>` |
401
+ | Approve | `gh pr review <N> --approve` | `glab mr approve <N>` |
402
+ | Request changes | `gh pr review <N> --request-changes` | `glab mr revoke <N>` + note |
403
+ | Comment | `gh pr review <N> --comment` | `glab mr note <N> --message` |
404
+ | Raw API | `gh api ...` | `glab api ... --hostname <host>` |
405
+ | Auth check | `gh auth status` | `glab auth status --hostname <host>` |
406
+ | Auth login | `gh auth login` | `glab auth login --hostname <host>` |
407
+
408
+ ---
409
+
410
+ ## Edge Cases
411
+
412
+ - **No CLI for detected platform**: Fall back to local-only review (read diff, skip remote publish). Warn user with the install/auth steps.
413
+ - **Diverged branches**: Suggest `git fetch origin && git rebase origin/<base>` before review.
414
+ - **Large PR/MR (>50 files)**: Warn about review scope. Focus on source changes first, then tests, then config/docs.
415
+ - **SSH remote with non-standard port** (e.g. `ssh://git@code.iflytek.com:30004/...`): Platform detection on the host portion still works; `glab` uses the configured HTTPS API host, not the SSH port.
416
+ - **Unknown platform**: Ask the user which CLI to use, or whether to fall back to local-only review.
@@ -0,0 +1,250 @@
1
+ ---
2
+ description: "Create a PR/MR from current branch with unpushed commits — auto-detects GitHub vs GitLab (github.com / code.iflytek.com / generic GitLab)"
3
+ argument-hint: "[base-branch] (default: main)"
4
+ ---
5
+
6
+ # Create Pull Request / Merge Request
7
+
8
+ > Local override of upstream `ecc/commands/pr.md`. Adds GitLab (incl. self-hosted
9
+ > `code.iflytek.com`) support. Do not edit the upstream file — keep changes here.
10
+
11
+ **Input**: `$ARGUMENTS` — optional, may contain a base branch name and/or flags (e.g., `--draft`).
12
+
13
+ **Parse `$ARGUMENTS`**:
14
+ - Extract any recognized flags (`--draft`)
15
+ - Treat remaining non-flag text as the base branch name
16
+ - Default base branch to `main` if none specified
17
+
18
+ ---
19
+
20
+ ## Phase 0 — DETECT PLATFORM
21
+
22
+ ```bash
23
+ remote_url=$(git remote get-url origin 2>/dev/null)
24
+
25
+ case "$remote_url" in
26
+ *github.com*)
27
+ platform=github; cli=gh ;;
28
+ *code.iflytek.com*)
29
+ platform=gitlab; cli=glab; gitlab_host=code.iflytek.com ;;
30
+ *gitlab*)
31
+ platform=gitlab; cli=glab
32
+ gitlab_host=$(echo "$remote_url" | sed -E 's#.*[@/]([^:/]+)[:/].*#\1#') ;;
33
+ *)
34
+ platform=unknown ;;
35
+ esac
36
+ ```
37
+
38
+ If `platform=unknown`: ask the user to confirm platform or to fix `origin`.
39
+
40
+ Auth check:
41
+ - `github` → `gh auth status`
42
+ - `gitlab` → `glab auth status --hostname "$gitlab_host"`
43
+
44
+ For `code.iflytek.com` one-time login:
45
+ ```bash
46
+ glab auth login --hostname code.iflytek.com
47
+ # HTTPS + Personal Access Token (scope: api, read_repository, write_repository)
48
+ # Token: https://code.iflytek.com/-/user_settings/personal_access_tokens
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Phase 1 — VALIDATE
54
+
55
+ ```bash
56
+ git branch --show-current
57
+ git status --short
58
+ git log origin/<base>..HEAD --oneline
59
+ ```
60
+
61
+ | Check | Condition | Action if Failed |
62
+ |---|---|---|
63
+ | Not on base branch | Current branch ≠ base | Stop: "Switch to a feature branch first." |
64
+ | Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first." |
65
+ | Has commits ahead | `git log origin/<base>..HEAD` not empty | Stop: "No commits ahead of `<base>`. Nothing to PR." |
66
+ | No existing PR/MR | See platform-specific check below | Stop: "PR/MR already exists: #<number>." |
67
+
68
+ **Existing PR/MR check:**
69
+
70
+ | Platform | Command |
71
+ |---|---|
72
+ | GitHub | `gh pr list --head <branch> --json number,url --jq '.[0]'` |
73
+ | GitLab | `glab mr list --source-branch <branch> --output json --per-page 1 \| jq '.[0]'` |
74
+
75
+ If all checks pass, proceed.
76
+
77
+ ---
78
+
79
+ ## Phase 2 — DISCOVER
80
+
81
+ ### PR/MR Template
82
+
83
+ Search by platform:
84
+
85
+ **GitHub** (PR templates):
86
+ 1. `.github/PULL_REQUEST_TEMPLATE/` directory — list and let user choose
87
+ 2. `.github/PULL_REQUEST_TEMPLATE.md`
88
+ 3. `.github/pull_request_template.md`
89
+ 4. `docs/pull_request_template.md`
90
+
91
+ **GitLab** (MR templates):
92
+ 1. `.gitlab/merge_request_templates/` directory — list and let user choose
93
+ 2. `.gitlab/merge_request_template.md`
94
+
95
+ If found, read it and use its structure for the body.
96
+
97
+ ### Commit Analysis
98
+
99
+ ```bash
100
+ git log origin/<base>..HEAD --format="%h %s" --reverse
101
+ ```
102
+
103
+ - **Title**: Conventional commit format (`feat: ...`, `fix: ...`, etc.). If multiple types, use dominant one. Single commit → use its message as-is.
104
+ - **Summary**: Group commits by type/area.
105
+
106
+ ### File Analysis
107
+
108
+ ```bash
109
+ git diff origin/<base>..HEAD --stat
110
+ git diff origin/<base>..HEAD --name-only
111
+ ```
112
+
113
+ Categorize: source, tests, docs, config, migrations.
114
+
115
+ ### Planning Artifacts
116
+
117
+ Check for artifacts produced by `/plan-prd`, `/plan`, or legacy PRP workflow:
118
+ - `.claude/prds/` — PRDs
119
+ - `.claude/plans/` — Plans
120
+ - `.claude/PRPs/{prds,plans,reports}/` — legacy PRP paths
121
+
122
+ Reference these in the body if they exist.
123
+
124
+ ---
125
+
126
+ ## Phase 3 — PUSH
127
+
128
+ ```bash
129
+ git push -u origin HEAD
130
+ ```
131
+
132
+ If push fails due to divergence:
133
+ ```bash
134
+ git fetch origin
135
+ git rebase origin/<base>
136
+ git push -u origin HEAD # use --force-with-lease only after rebase
137
+ ```
138
+
139
+ If rebase conflicts, stop and inform the user.
140
+
141
+ ---
142
+
143
+ ## Phase 4 — CREATE
144
+
145
+ ### With Template
146
+
147
+ Fill in each section using commit and file analysis. Preserve all sections — leave as "N/A" if not applicable rather than removing.
148
+
149
+ ### Without Template
150
+
151
+ ```markdown
152
+ ## Summary
153
+ <1-2 sentence description>
154
+
155
+ ## Changes
156
+ <bulleted list grouped by area>
157
+
158
+ ## Files Changed
159
+ <list with change type: Added/Modified/Deleted>
160
+
161
+ ## Testing
162
+ <how changes were tested, or "Needs testing">
163
+
164
+ ## Related Issues
165
+ <linked issues with Closes/Fixes/Relates to #N, or "None">
166
+ ```
167
+
168
+ ### Create the PR/MR
169
+
170
+ **GitHub:**
171
+ ```bash
172
+ gh pr create \
173
+ --title "<title>" \
174
+ --base <base-branch> \
175
+ --body "<body>"
176
+ # Add --draft if --draft was parsed
177
+ ```
178
+
179
+ **GitLab:**
180
+ ```bash
181
+ glab mr create \
182
+ --title "<title>" \
183
+ --target-branch <base-branch> \
184
+ --description "<body>" \
185
+ --source-branch "$(git branch --show-current)" \
186
+ --yes
187
+ # Add --draft if --draft was parsed
188
+ # Optional: --remove-source-branch (mirrors GitHub's "delete branch after merge")
189
+ # Optional: --squash-before-merge (project policy dependent)
190
+ ```
191
+
192
+ > GitLab note: `glab mr create` is interactive by default. `--yes` skips the prompt;
193
+ > if your `glab` version doesn't support it, use `--fill` to take title/desc from commits
194
+ > instead of the flags above, then `glab mr update` to adjust.
195
+
196
+ ---
197
+
198
+ ## Phase 5 — VERIFY
199
+
200
+ **GitHub:**
201
+ ```bash
202
+ gh pr view --json number,url,title,state,baseRefName,headRefName,additions,deletions,changedFiles
203
+ gh pr checks --json name,status,conclusion 2>/dev/null || true
204
+ ```
205
+
206
+ **GitLab:**
207
+ ```bash
208
+ glab mr view --output json
209
+ glab ci status 2>/dev/null || true # pipeline status for the MR's source branch
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Phase 6 — OUTPUT
215
+
216
+ ```
217
+ <PR|MR> #<number>: <title>
218
+ Platform: <github|gitlab(host)>
219
+ URL: <url>
220
+ Branch: <head> → <base>
221
+ Changes: +<additions> -<deletions> across <changedFiles> files
222
+
223
+ CI Checks: <status summary or "pending" or "none configured">
224
+
225
+ Artifacts referenced:
226
+ - <any PRDs/plans linked in body>
227
+
228
+ Next steps:
229
+ GitHub:
230
+ - gh pr view <N> --web → open in browser
231
+ - /code-review <N> → review the PR
232
+ - gh pr merge <N> → merge when ready
233
+ GitLab:
234
+ - glab mr view <N> --web → open in browser
235
+ - /code-review <N> → review the MR
236
+ - glab mr merge <N> → merge when ready
237
+ ```
238
+
239
+ (Print only the section matching the detected platform.)
240
+
241
+ ---
242
+
243
+ ## Edge Cases
244
+
245
+ - **No `gh`/`glab` for detected platform**: Stop with install + auth instructions.
246
+ - **Not authenticated**: Stop with `gh auth login` or `glab auth login --hostname <host>`.
247
+ - **Force push needed**: After rebase, use `git push --force-with-lease` (never `--force`).
248
+ - **Multiple templates**: If multiple template files exist, list them and ask user to choose.
249
+ - **Large PR/MR (>20 files)**: Warn about scope. Suggest splitting if logically separable.
250
+ - **Unknown platform**: Ask user to confirm or fix the `origin` remote.