aigroup-workflow 1.3.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/.claude/commands/fix-build.md +32 -0
  2. package/.claude/commands/git-commit.md +1 -1
  3. package/.claude/commands/init-project.md +66 -50
  4. package/.claude/commands/plan.md +32 -0
  5. package/.claude/commands/review.md +29 -0
  6. package/.claude/commands/tdd.md +32 -0
  7. package/.claude/commands/workflow-start.md +87 -0
  8. package/.claude/hooks.json +3 -3
  9. package/.claude-plugin/plugin.json +20 -0
  10. package/.codex/AGENTS.md +107 -0
  11. package/.codex/agents/docs-researcher.toml +14 -0
  12. package/.codex/agents/explorer.toml +14 -0
  13. package/.codex/agents/reviewer.toml +16 -0
  14. package/.codex/config.toml +93 -0
  15. package/.codex-plugin/plugin.json +33 -0
  16. package/AGENTS.md +76 -0
  17. package/CLAUDE.md +18 -83
  18. package/README.md +220 -317
  19. package/agents/a11y-architect.md +141 -0
  20. package/agents/architect.md +211 -0
  21. package/agents/build-error-resolver.md +114 -0
  22. package/agents/chief-of-staff.md +151 -0
  23. package/agents/code-architect.md +71 -0
  24. package/agents/code-explorer.md +69 -0
  25. package/agents/code-reviewer.md +237 -0
  26. package/agents/code-simplifier.md +47 -0
  27. package/agents/comment-analyzer.md +45 -0
  28. package/agents/conversation-analyzer.md +52 -0
  29. package/agents/cpp-build-resolver.md +90 -0
  30. package/agents/cpp-reviewer.md +72 -0
  31. package/agents/csharp-reviewer.md +101 -0
  32. package/agents/dart-build-resolver.md +201 -0
  33. package/agents/database-reviewer.md +91 -0
  34. package/agents/doc-updater.md +107 -0
  35. package/agents/docs-lookup.md +68 -0
  36. package/agents/e2e-runner.md +107 -0
  37. package/agents/flutter-reviewer.md +243 -0
  38. package/agents/gan-evaluator.md +209 -0
  39. package/agents/gan-generator.md +131 -0
  40. package/agents/gan-planner.md +99 -0
  41. package/agents/go-build-resolver.md +94 -0
  42. package/agents/go-reviewer.md +76 -0
  43. package/agents/harness-optimizer.md +35 -0
  44. package/agents/healthcare-reviewer.md +83 -0
  45. package/agents/init-architect.md +185 -0
  46. package/agents/java-build-resolver.md +153 -0
  47. package/agents/java-reviewer.md +92 -0
  48. package/agents/kotlin-build-resolver.md +118 -0
  49. package/agents/kotlin-reviewer.md +159 -0
  50. package/agents/loop-operator.md +36 -0
  51. package/agents/opensource-forker.md +198 -0
  52. package/agents/opensource-packager.md +249 -0
  53. package/agents/opensource-sanitizer.md +188 -0
  54. package/agents/performance-optimizer.md +446 -0
  55. package/agents/planner.md +212 -0
  56. package/agents/pr-test-analyzer.md +45 -0
  57. package/agents/python-reviewer.md +98 -0
  58. package/agents/pytorch-build-resolver.md +120 -0
  59. package/agents/refactor-cleaner.md +85 -0
  60. package/agents/rust-build-resolver.md +148 -0
  61. package/agents/rust-reviewer.md +94 -0
  62. package/agents/security-reviewer.md +108 -0
  63. package/agents/seo-specialist.md +62 -0
  64. package/agents/silent-failure-hunter.md +50 -0
  65. package/agents/tdd-guide.md +91 -0
  66. package/agents/type-design-analyzer.md +41 -0
  67. package/agents/typescript-reviewer.md +112 -0
  68. package/cli/commands/check.mjs +11 -19
  69. package/cli/commands/init.mjs +133 -49
  70. package/cli/commands/status.mjs +42 -39
  71. package/cli/commands/update.mjs +10 -12
  72. package/cli/utils/scaffold.mjs +298 -127
  73. package/docs/README.md +46 -29
  74. package/docs/red-flags.md +29 -24
  75. package/docs/rules/README.md +51 -0
  76. package/docs/rules/agents.md +50 -0
  77. package/docs/rules/coding-style.md +79 -0
  78. package/docs/rules/cpp/coding-style.md +44 -0
  79. package/docs/rules/cpp/hooks.md +39 -0
  80. package/docs/rules/cpp/patterns.md +51 -0
  81. package/docs/rules/cpp/security.md +51 -0
  82. package/docs/rules/cpp/testing.md +44 -0
  83. package/docs/rules/csharp/coding-style.md +72 -0
  84. package/docs/rules/csharp/hooks.md +25 -0
  85. package/docs/rules/csharp/patterns.md +50 -0
  86. package/docs/rules/csharp/security.md +58 -0
  87. package/docs/rules/csharp/testing.md +46 -0
  88. package/docs/rules/dart/coding-style.md +159 -0
  89. package/docs/rules/dart/hooks.md +66 -0
  90. package/docs/rules/dart/patterns.md +261 -0
  91. package/docs/rules/dart/security.md +135 -0
  92. package/docs/rules/dart/testing.md +215 -0
  93. package/docs/rules/git-workflow.md +53 -0
  94. package/docs/rules/golang/coding-style.md +32 -0
  95. package/docs/rules/golang/hooks.md +17 -0
  96. package/docs/rules/golang/patterns.md +45 -0
  97. package/docs/rules/golang/security.md +34 -0
  98. package/docs/rules/golang/testing.md +31 -0
  99. package/docs/rules/hooks.md +61 -0
  100. package/docs/rules/java/coding-style.md +114 -0
  101. package/docs/rules/java/hooks.md +18 -0
  102. package/docs/rules/java/patterns.md +146 -0
  103. package/docs/rules/java/security.md +100 -0
  104. package/docs/rules/java/testing.md +131 -0
  105. package/docs/rules/kotlin/coding-style.md +86 -0
  106. package/docs/rules/kotlin/hooks.md +17 -0
  107. package/docs/rules/kotlin/patterns.md +146 -0
  108. package/docs/rules/kotlin/security.md +82 -0
  109. package/docs/rules/kotlin/testing.md +128 -0
  110. package/docs/rules/performance.md +30 -0
  111. package/docs/rules/perl/coding-style.md +46 -0
  112. package/docs/rules/perl/hooks.md +22 -0
  113. package/docs/rules/perl/patterns.md +76 -0
  114. package/docs/rules/perl/security.md +69 -0
  115. package/docs/rules/perl/testing.md +54 -0
  116. package/docs/rules/php/coding-style.md +40 -0
  117. package/docs/rules/php/hooks.md +24 -0
  118. package/docs/rules/php/patterns.md +33 -0
  119. package/docs/rules/php/security.md +37 -0
  120. package/docs/rules/php/testing.md +39 -0
  121. package/docs/rules/python/coding-style.md +42 -0
  122. package/docs/rules/python/hooks.md +19 -0
  123. package/docs/rules/python/patterns.md +39 -0
  124. package/docs/rules/python/security.md +30 -0
  125. package/docs/rules/python/testing.md +38 -0
  126. package/docs/rules/rust/coding-style.md +151 -0
  127. package/docs/rules/rust/hooks.md +16 -0
  128. package/docs/rules/rust/patterns.md +168 -0
  129. package/docs/rules/rust/security.md +141 -0
  130. package/docs/rules/rust/testing.md +154 -0
  131. package/docs/rules/security.md +73 -0
  132. package/docs/rules/swift/coding-style.md +47 -0
  133. package/docs/rules/swift/hooks.md +20 -0
  134. package/docs/rules/swift/patterns.md +66 -0
  135. package/docs/rules/swift/security.md +33 -0
  136. package/docs/rules/swift/testing.md +45 -0
  137. package/docs/rules/testing.md +77 -0
  138. package/docs/rules/typescript/coding-style.md +199 -0
  139. package/docs/rules/typescript/hooks.md +22 -0
  140. package/docs/rules/typescript/patterns.md +52 -0
  141. package/docs/rules/typescript/security.md +28 -0
  142. package/docs/rules/typescript/testing.md +18 -0
  143. package/docs/rules/web/coding-style.md +96 -0
  144. package/docs/rules/web/design-quality.md +63 -0
  145. package/docs/rules/web/hooks.md +120 -0
  146. package/docs/rules/web/patterns.md +79 -0
  147. package/docs/rules/web/performance.md +64 -0
  148. package/docs/rules/web/security.md +57 -0
  149. package/docs/rules/web/testing.md +55 -0
  150. package/docs/templates/code-review.md +1 -1
  151. package/docs/templates/implementation-plan.md +82 -82
  152. package/docs/workflow-pipeline.md +55 -127
  153. package/manifests/install-modules.json +294 -0
  154. package/package.json +8 -3
  155. package/scripts/harness/log-event.sh +11 -21
  156. package/scripts/harness/logs-query.sh +3 -8
  157. package/scripts/harness/tests/test-log-event.sh +16 -31
  158. package/scripts/harness/tests/test-logs-query.sh +4 -4
  159. package/scripts/hooks/README.md +49 -0
  160. package/scripts/hooks/checks/claude-md-size.cjs +21 -0
  161. package/scripts/hooks/checks/delegation-antipatterns.cjs +66 -0
  162. package/scripts/hooks/checks/empty-docs.cjs +32 -0
  163. package/scripts/hooks/checks/orchestration-artifacts.cjs +65 -0
  164. package/scripts/hooks/checks/structure.cjs +23 -0
  165. package/scripts/hooks/checks/workflow-state.cjs +56 -0
  166. package/scripts/hooks/dispatcher.cjs +64 -0
  167. package/scripts/hooks/lib/runner.cjs +81 -0
  168. package/scripts/orchestration/lib/orchestrator.cjs +181 -0
  169. package/scripts/orchestration/session.cjs +180 -0
  170. package/skills/documentation/SKILL.md +45 -0
  171. package/skills/{max/workflow/entropy-management → entropy-management}/SKILL.md +115 -124
  172. package/skills/requirement-engineering/SKILL.md +111 -0
  173. package/skills/{max/workflow/subagent-driven-development → subagent-driven-development}/SKILL.md +18 -18
  174. package/skills/{max/workflow/writing-plans → writing-plans}/SKILL.md +165 -165
  175. package/.claude/agents/ella.md +0 -101
  176. package/.claude/agents/init-architect.md +0 -128
  177. package/.claude/agents/jarvis.md +0 -193
  178. package/.claude/agents/kyle.md +0 -168
  179. package/docs/ARCHITECTURE.md +0 -117
  180. package/docs/QUALITY_SCORE.md +0 -44
  181. package/docs/coding-standards.md +0 -48
  182. package/docs/dispatch-rules.md +0 -83
  183. package/docs/steering-loop.md +0 -72
  184. package/docs/tech-debt-tracker.md +0 -26
  185. package/docs/templates/memory/activeContext.template.md +0 -30
  186. package/docs/templates/memory/projectContext.template.md +0 -36
  187. package/docs/templates/memory/systemPatterns.template.md +0 -26
  188. package/scripts/check-gitignore.sh +0 -130
  189. package/scripts/clean-system-files.sh +0 -169
  190. package/scripts/harness/hook-post-edit.sh +0 -40
  191. package/scripts/harness/hook-stop.sh +0 -70
  192. package/scripts/harness/hook-subagent-stop.sh +0 -54
  193. package/scripts/harness/lint-delegation.sh +0 -168
  194. package/scripts/harness/lint-docs.sh +0 -121
  195. package/scripts/harness/lint-process.sh +0 -221
  196. package/scripts/harness/lint-structure.sh +0 -145
  197. package/scripts/harness/lint-workflow-artifacts.sh +0 -150
  198. package/scripts/harness/run-all.sh +0 -77
  199. package/scripts/harness/workflow-state.sh +0 -397
  200. package/scripts/update-skills.sh +0 -187
  201. package/skills/max/workflow/brainstorming/SKILL.md +0 -111
  202. package/skills/max/workflow/documentation/SKILL.md +0 -82
  203. package/skills/max/workflow/requirement-validation/SKILL.md +0 -107
  204. package/skills/max/workflow/solution-design/SKILL.md +0 -117
  205. package/skills/max/workflow/testing/SKILL.md +0 -118
  206. /package/{.claude/agents → agents}/get-current-datetime.md +0 -0
  207. /package/skills/{ella/angular-architect → angular-architect}/SKILL.md +0 -0
  208. /package/skills/{ella/angular-architect → angular-architect}/references/components.md +0 -0
  209. /package/skills/{ella/angular-architect → angular-architect}/references/ngrx.md +0 -0
  210. /package/skills/{ella/angular-architect → angular-architect}/references/routing.md +0 -0
  211. /package/skills/{ella/angular-architect → angular-architect}/references/rxjs.md +0 -0
  212. /package/skills/{ella/angular-architect → angular-architect}/references/testing.md +0 -0
  213. /package/skills/{jarvis/api-designer → api-designer}/SKILL.md +0 -0
  214. /package/skills/{jarvis/api-designer → api-designer}/references/error-handling.md +0 -0
  215. /package/skills/{jarvis/api-designer → api-designer}/references/openapi.md +0 -0
  216. /package/skills/{jarvis/api-designer → api-designer}/references/pagination.md +0 -0
  217. /package/skills/{jarvis/api-designer → api-designer}/references/rest-patterns.md +0 -0
  218. /package/skills/{jarvis/api-designer → api-designer}/references/versioning.md +0 -0
  219. /package/skills/{jarvis/architecture-designer → architecture-designer}/SKILL.md +0 -0
  220. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/adr-template.md +0 -0
  221. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/architecture-patterns.md +0 -0
  222. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/database-selection.md +0 -0
  223. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/nfr-checklist.md +0 -0
  224. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/system-design.md +0 -0
  225. /package/skills/{kyle/chaos-engineer → chaos-engineer}/SKILL.md +0 -0
  226. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/chaos-tools.md +0 -0
  227. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/experiment-design.md +0 -0
  228. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/game-days.md +0 -0
  229. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/infrastructure-chaos.md +0 -0
  230. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/kubernetes-chaos.md +0 -0
  231. /package/skills/{jarvis/cli-developer → cli-developer}/SKILL.md +0 -0
  232. /package/skills/{jarvis/cli-developer → cli-developer}/references/design-patterns.md +0 -0
  233. /package/skills/{jarvis/cli-developer → cli-developer}/references/go-cli.md +0 -0
  234. /package/skills/{jarvis/cli-developer → cli-developer}/references/node-cli.md +0 -0
  235. /package/skills/{jarvis/cli-developer → cli-developer}/references/python-cli.md +0 -0
  236. /package/skills/{jarvis/cli-developer → cli-developer}/references/ux-patterns.md +0 -0
  237. /package/skills/{jarvis/cloud-architect → cloud-architect}/SKILL.md +0 -0
  238. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/aws.md +0 -0
  239. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/azure.md +0 -0
  240. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/cost.md +0 -0
  241. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/gcp.md +0 -0
  242. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/multi-cloud.md +0 -0
  243. /package/skills/{jarvis/code-documenter → code-documenter}/SKILL.md +0 -0
  244. /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-fastapi-django.md +0 -0
  245. /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-nestjs-express.md +0 -0
  246. /package/skills/{jarvis/code-documenter → code-documenter}/references/coverage-reports.md +0 -0
  247. /package/skills/{jarvis/code-documenter → code-documenter}/references/documentation-systems.md +0 -0
  248. /package/skills/{jarvis/code-documenter → code-documenter}/references/interactive-api-docs.md +0 -0
  249. /package/skills/{jarvis/code-documenter → code-documenter}/references/python-docstrings.md +0 -0
  250. /package/skills/{jarvis/code-documenter → code-documenter}/references/typescript-jsdoc.md +0 -0
  251. /package/skills/{jarvis/code-documenter → code-documenter}/references/user-guides-tutorials.md +0 -0
  252. /package/skills/{kyle/code-reviewer → code-reviewer}/SKILL.md +0 -0
  253. /package/skills/{kyle/code-reviewer → code-reviewer}/references/common-issues.md +0 -0
  254. /package/skills/{kyle/code-reviewer → code-reviewer}/references/feedback-examples.md +0 -0
  255. /package/skills/{kyle/code-reviewer → code-reviewer}/references/receiving-feedback.md +0 -0
  256. /package/skills/{kyle/code-reviewer → code-reviewer}/references/report-template.md +0 -0
  257. /package/skills/{kyle/code-reviewer → code-reviewer}/references/review-checklist.md +0 -0
  258. /package/skills/{kyle/code-reviewer → code-reviewer}/references/spec-compliance-review.md +0 -0
  259. /package/skills/{max/competitive-analysis → competitive-analysis}/SKILL.md +0 -0
  260. /package/skills/{jarvis/cpp-pro → cpp-pro}/SKILL.md +0 -0
  261. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/build-tooling.md +0 -0
  262. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/concurrency.md +0 -0
  263. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/memory-performance.md +0 -0
  264. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/modern-cpp.md +0 -0
  265. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/templates.md +0 -0
  266. /package/skills/{jarvis/csharp-developer → csharp-developer}/SKILL.md +0 -0
  267. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/aspnet-core.md +0 -0
  268. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/blazor.md +0 -0
  269. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/entity-framework.md +0 -0
  270. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/modern-csharp.md +0 -0
  271. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/performance.md +0 -0
  272. /package/skills/{jarvis/database-optimizer → database-optimizer}/SKILL.md +0 -0
  273. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/index-strategies.md +0 -0
  274. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/monitoring-analysis.md +0 -0
  275. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/mysql-tuning.md +0 -0
  276. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/postgresql-tuning.md +0 -0
  277. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/query-optimization.md +0 -0
  278. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/SKILL.md +0 -0
  279. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/common-patterns.md +0 -0
  280. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/debugging-tools.md +0 -0
  281. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/quick-fixes.md +0 -0
  282. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/strategies.md +0 -0
  283. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/systematic-debugging.md +0 -0
  284. /package/skills/{ella/commands → design-commands}/design.md +0 -0
  285. /package/skills/{ella/commands → design-commands}/handoff.md +0 -0
  286. /package/skills/{ella/commands → design-commands}/prototype.md +0 -0
  287. /package/skills/{ella/commands → design-commands}/spec.md +0 -0
  288. /package/skills/{ella/commands → design-commands}/style.md +0 -0
  289. /package/skills/{jarvis/devops-engineer → devops-engineer}/SKILL.md +0 -0
  290. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/deployment-strategies.md +0 -0
  291. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/docker-patterns.md +0 -0
  292. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/github-actions.md +0 -0
  293. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/incident-response.md +0 -0
  294. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/kubernetes.md +0 -0
  295. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/platform-engineering.md +0 -0
  296. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/release-automation.md +0 -0
  297. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/terraform-iac.md +0 -0
  298. /package/skills/{jarvis/django-expert → django-expert}/SKILL.md +0 -0
  299. /package/skills/{jarvis/django-expert → django-expert}/references/authentication.md +0 -0
  300. /package/skills/{jarvis/django-expert → django-expert}/references/drf-serializers.md +0 -0
  301. /package/skills/{jarvis/django-expert → django-expert}/references/models-orm.md +0 -0
  302. /package/skills/{jarvis/django-expert → django-expert}/references/testing-django.md +0 -0
  303. /package/skills/{jarvis/django-expert → django-expert}/references/viewsets-views.md +0 -0
  304. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/SKILL.md +0 -0
  305. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/authentication.md +0 -0
  306. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/clean-architecture.md +0 -0
  307. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/cloud-native.md +0 -0
  308. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/entity-framework.md +0 -0
  309. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/minimal-apis.md +0 -0
  310. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/SKILL.md +0 -0
  311. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/async-sqlalchemy.md +0 -0
  312. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/authentication.md +0 -0
  313. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/endpoints-routing.md +0 -0
  314. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/migration-from-django.md +0 -0
  315. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/pydantic-v2.md +0 -0
  316. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/testing-async.md +0 -0
  317. /package/skills/{jarvis/feature-forge → feature-forge}/SKILL.md +0 -0
  318. /package/skills/{jarvis/feature-forge → feature-forge}/references/acceptance-criteria.md +0 -0
  319. /package/skills/{jarvis/feature-forge → feature-forge}/references/ears-syntax.md +0 -0
  320. /package/skills/{jarvis/feature-forge → feature-forge}/references/interview-questions.md +0 -0
  321. /package/skills/{jarvis/feature-forge → feature-forge}/references/pre-discovery-subagents.md +0 -0
  322. /package/skills/{jarvis/feature-forge → feature-forge}/references/specification-template.md +0 -0
  323. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/SKILL.md +0 -0
  324. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/dataset-preparation.md +0 -0
  325. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/deployment-optimization.md +0 -0
  326. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/evaluation-metrics.md +0 -0
  327. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/hyperparameter-tuning.md +0 -0
  328. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/lora-peft.md +0 -0
  329. /package/skills/{max/workflow/finishing-a-development-branch → finishing-a-development-branch}/SKILL.md +0 -0
  330. /package/skills/{ella/flutter-expert → flutter-expert}/SKILL.md +0 -0
  331. /package/skills/{ella/flutter-expert → flutter-expert}/references/bloc-state.md +0 -0
  332. /package/skills/{ella/flutter-expert → flutter-expert}/references/gorouter-navigation.md +0 -0
  333. /package/skills/{ella/flutter-expert → flutter-expert}/references/performance.md +0 -0
  334. /package/skills/{ella/flutter-expert → flutter-expert}/references/project-structure.md +0 -0
  335. /package/skills/{ella/flutter-expert → flutter-expert}/references/riverpod-state.md +0 -0
  336. /package/skills/{ella/flutter-expert → flutter-expert}/references/widget-patterns.md +0 -0
  337. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/SKILL.md +0 -0
  338. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/api-design-standards.md +0 -0
  339. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/architecture-decisions.md +0 -0
  340. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/backend-patterns.md +0 -0
  341. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/common-patterns.md +0 -0
  342. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/deliverables-checklist.md +0 -0
  343. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/design-template.md +0 -0
  344. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/error-handling.md +0 -0
  345. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/frontend-patterns.md +0 -0
  346. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/integration-patterns.md +0 -0
  347. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/security-checklist.md +0 -0
  348. /package/skills/{jarvis/golang-pro → golang-pro}/SKILL.md +0 -0
  349. /package/skills/{jarvis/golang-pro → golang-pro}/references/concurrency.md +0 -0
  350. /package/skills/{jarvis/golang-pro → golang-pro}/references/generics.md +0 -0
  351. /package/skills/{jarvis/golang-pro → golang-pro}/references/interfaces.md +0 -0
  352. /package/skills/{jarvis/golang-pro → golang-pro}/references/project-structure.md +0 -0
  353. /package/skills/{jarvis/golang-pro → golang-pro}/references/testing.md +0 -0
  354. /package/skills/{jarvis/graphql-architect → graphql-architect}/SKILL.md +0 -0
  355. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/federation.md +0 -0
  356. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/migration-from-rest.md +0 -0
  357. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/resolvers.md +0 -0
  358. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/schema-design.md +0 -0
  359. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/security.md +0 -0
  360. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/subscriptions.md +0 -0
  361. /package/skills/{jarvis/java-architect → java-architect}/SKILL.md +0 -0
  362. /package/skills/{jarvis/java-architect → java-architect}/references/jpa-optimization.md +0 -0
  363. /package/skills/{jarvis/java-architect → java-architect}/references/reactive-webflux.md +0 -0
  364. /package/skills/{jarvis/java-architect → java-architect}/references/spring-boot-setup.md +0 -0
  365. /package/skills/{jarvis/java-architect → java-architect}/references/spring-security.md +0 -0
  366. /package/skills/{jarvis/java-architect → java-architect}/references/testing-patterns.md +0 -0
  367. /package/skills/{jarvis/javascript-pro → javascript-pro}/SKILL.md +0 -0
  368. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/async-patterns.md +0 -0
  369. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/browser-apis.md +0 -0
  370. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modern-syntax.md +0 -0
  371. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modules.md +0 -0
  372. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/node-essentials.md +0 -0
  373. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/SKILL.md +0 -0
  374. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/android-compose.md +0 -0
  375. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/coroutines-flow.md +0 -0
  376. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/dsl-idioms.md +0 -0
  377. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/ktor-server.md +0 -0
  378. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/multiplatform-kmp.md +0 -0
  379. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/SKILL.md +0 -0
  380. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/configuration.md +0 -0
  381. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/cost-optimization.md +0 -0
  382. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/custom-operators.md +0 -0
  383. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/gitops.md +0 -0
  384. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/helm-charts.md +0 -0
  385. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/multi-cluster.md +0 -0
  386. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/networking.md +0 -0
  387. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/service-mesh.md +0 -0
  388. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/storage.md +0 -0
  389. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/troubleshooting.md +0 -0
  390. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/workloads.md +0 -0
  391. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/SKILL.md +0 -0
  392. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/eloquent.md +0 -0
  393. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/livewire.md +0 -0
  394. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/queues.md +0 -0
  395. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/routing.md +0 -0
  396. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/testing.md +0 -0
  397. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/SKILL.md +0 -0
  398. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/legacy-testing.md +0 -0
  399. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/migration-strategies.md +0 -0
  400. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/refactoring-patterns.md +0 -0
  401. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/strangler-fig-pattern.md +0 -0
  402. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/system-assessment.md +0 -0
  403. /package/skills/{jarvis/mcp-developer → mcp-developer}/SKILL.md +0 -0
  404. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/protocol.md +0 -0
  405. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/python-sdk.md +0 -0
  406. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/resources.md +0 -0
  407. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/tools.md +0 -0
  408. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/typescript-sdk.md +0 -0
  409. /package/skills/{max/meeting-notes → meeting-notes}/SKILL.md +0 -0
  410. /package/skills/{jarvis/microservices-architect → microservices-architect}/SKILL.md +0 -0
  411. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/communication.md +0 -0
  412. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/data.md +0 -0
  413. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/decomposition.md +0 -0
  414. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/observability.md +0 -0
  415. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/patterns.md +0 -0
  416. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/SKILL.md +0 -0
  417. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/experiment-tracking.md +0 -0
  418. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/feature-engineering.md +0 -0
  419. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/model-validation.md +0 -0
  420. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/pipeline-orchestration.md +0 -0
  421. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/training-pipelines.md +0 -0
  422. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/SKILL.md +0 -0
  423. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/alerting-rules.md +0 -0
  424. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/application-profiling.md +0 -0
  425. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/capacity-planning.md +0 -0
  426. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/dashboards.md +0 -0
  427. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/opentelemetry.md +0 -0
  428. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/performance-testing.md +0 -0
  429. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/prometheus-metrics.md +0 -0
  430. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/structured-logging.md +0 -0
  431. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/SKILL.md +0 -0
  432. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/authentication.md +0 -0
  433. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/controllers-routing.md +0 -0
  434. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/dtos-validation.md +0 -0
  435. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/migration-from-express.md +0 -0
  436. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/services-di.md +0 -0
  437. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/testing-patterns.md +0 -0
  438. /package/skills/{ella/nextjs-developer → nextjs-developer}/SKILL.md +0 -0
  439. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/app-router.md +0 -0
  440. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/data-fetching.md +0 -0
  441. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/deployment.md +0 -0
  442. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-actions.md +0 -0
  443. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-components.md +0 -0
  444. /package/skills/{jarvis/pandas-pro → pandas-pro}/SKILL.md +0 -0
  445. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/aggregation-groupby.md +0 -0
  446. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/data-cleaning.md +0 -0
  447. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/dataframe-operations.md +0 -0
  448. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/merging-joining.md +0 -0
  449. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/performance-optimization.md +0 -0
  450. /package/skills/{jarvis/php-pro → php-pro}/SKILL.md +0 -0
  451. /package/skills/{jarvis/php-pro → php-pro}/references/async-patterns.md +0 -0
  452. /package/skills/{jarvis/php-pro → php-pro}/references/laravel-patterns.md +0 -0
  453. /package/skills/{jarvis/php-pro → php-pro}/references/modern-php-features.md +0 -0
  454. /package/skills/{jarvis/php-pro → php-pro}/references/symfony-patterns.md +0 -0
  455. /package/skills/{jarvis/php-pro → php-pro}/references/testing-quality.md +0 -0
  456. /package/skills/{kyle/playwright-expert → playwright-expert}/SKILL.md +0 -0
  457. /package/skills/{kyle/playwright-expert → playwright-expert}/references/api-mocking.md +0 -0
  458. /package/skills/{kyle/playwright-expert → playwright-expert}/references/configuration.md +0 -0
  459. /package/skills/{kyle/playwright-expert → playwright-expert}/references/debugging-flaky.md +0 -0
  460. /package/skills/{kyle/playwright-expert → playwright-expert}/references/page-object-model.md +0 -0
  461. /package/skills/{kyle/playwright-expert → playwright-expert}/references/selectors-locators.md +0 -0
  462. /package/skills/{jarvis/postgres-pro → postgres-pro}/SKILL.md +0 -0
  463. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/extensions.md +0 -0
  464. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/jsonb.md +0 -0
  465. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/maintenance.md +0 -0
  466. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/performance.md +0 -0
  467. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/replication.md +0 -0
  468. /package/skills/{max/prd-template → prd-template}/SKILL.md +0 -0
  469. /package/skills/{jarvis/python-pro → python-pro}/SKILL.md +0 -0
  470. /package/skills/{jarvis/python-pro → python-pro}/references/async-patterns.md +0 -0
  471. /package/skills/{jarvis/python-pro → python-pro}/references/packaging.md +0 -0
  472. /package/skills/{jarvis/python-pro → python-pro}/references/standard-library.md +0 -0
  473. /package/skills/{jarvis/python-pro → python-pro}/references/testing.md +0 -0
  474. /package/skills/{jarvis/python-pro → python-pro}/references/type-system.md +0 -0
  475. /package/skills/{jarvis/rag-architect → rag-architect}/SKILL.md +0 -0
  476. /package/skills/{jarvis/rag-architect → rag-architect}/references/chunking-strategies.md +0 -0
  477. /package/skills/{jarvis/rag-architect → rag-architect}/references/embedding-models.md +0 -0
  478. /package/skills/{jarvis/rag-architect → rag-architect}/references/rag-evaluation.md +0 -0
  479. /package/skills/{jarvis/rag-architect → rag-architect}/references/retrieval-optimization.md +0 -0
  480. /package/skills/{jarvis/rag-architect → rag-architect}/references/vector-databases.md +0 -0
  481. /package/skills/{jarvis/rails-expert → rails-expert}/SKILL.md +0 -0
  482. /package/skills/{jarvis/rails-expert → rails-expert}/references/active-record.md +0 -0
  483. /package/skills/{jarvis/rails-expert → rails-expert}/references/api-development.md +0 -0
  484. /package/skills/{jarvis/rails-expert → rails-expert}/references/background-jobs.md +0 -0
  485. /package/skills/{jarvis/rails-expert → rails-expert}/references/hotwire-turbo.md +0 -0
  486. /package/skills/{jarvis/rails-expert → rails-expert}/references/rspec-testing.md +0 -0
  487. /package/skills/{ella/react-expert → react-expert}/SKILL.md +0 -0
  488. /package/skills/{ella/react-expert → react-expert}/references/hooks-patterns.md +0 -0
  489. /package/skills/{ella/react-expert → react-expert}/references/migration-class-to-modern.md +0 -0
  490. /package/skills/{ella/react-expert → react-expert}/references/performance.md +0 -0
  491. /package/skills/{ella/react-expert → react-expert}/references/react-19-features.md +0 -0
  492. /package/skills/{ella/react-expert → react-expert}/references/server-components.md +0 -0
  493. /package/skills/{ella/react-expert → react-expert}/references/state-management.md +0 -0
  494. /package/skills/{ella/react-expert → react-expert}/references/testing-react.md +0 -0
  495. /package/skills/{ella/react-native-expert → react-native-expert}/SKILL.md +0 -0
  496. /package/skills/{ella/react-native-expert → react-native-expert}/references/expo-router.md +0 -0
  497. /package/skills/{ella/react-native-expert → react-native-expert}/references/list-optimization.md +0 -0
  498. /package/skills/{ella/react-native-expert → react-native-expert}/references/platform-handling.md +0 -0
  499. /package/skills/{ella/react-native-expert → react-native-expert}/references/project-structure.md +0 -0
  500. /package/skills/{ella/react-native-expert → react-native-expert}/references/storage-hooks.md +0 -0
  501. /package/skills/{jarvis/rust-engineer → rust-engineer}/SKILL.md +0 -0
  502. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/async.md +0 -0
  503. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/error-handling.md +0 -0
  504. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/ownership.md +0 -0
  505. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/testing.md +0 -0
  506. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/traits.md +0 -0
  507. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/SKILL.md +0 -0
  508. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/authentication.md +0 -0
  509. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/input-validation.md +0 -0
  510. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/owasp-prevention.md +0 -0
  511. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/security-headers.md +0 -0
  512. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/xss-csrf.md +0 -0
  513. /package/skills/{kyle/security-reviewer → security-reviewer}/SKILL.md +0 -0
  514. /package/skills/{kyle/security-reviewer → security-reviewer}/references/infrastructure-security.md +0 -0
  515. /package/skills/{kyle/security-reviewer → security-reviewer}/references/penetration-testing.md +0 -0
  516. /package/skills/{kyle/security-reviewer → security-reviewer}/references/report-template.md +0 -0
  517. /package/skills/{kyle/security-reviewer → security-reviewer}/references/sast-tools.md +0 -0
  518. /package/skills/{kyle/security-reviewer → security-reviewer}/references/secret-scanning.md +0 -0
  519. /package/skills/{kyle/security-reviewer → security-reviewer}/references/vulnerability-patterns.md +0 -0
  520. /package/skills/{ella/senior-frontend → senior-frontend}/SKILL.md +0 -0
  521. /package/skills/{ella/senior-frontend → senior-frontend}/references/frontend_best_practices.md +0 -0
  522. /package/skills/{ella/senior-frontend → senior-frontend}/references/nextjs_optimization_guide.md +0 -0
  523. /package/skills/{ella/senior-frontend → senior-frontend}/references/react_patterns.md +0 -0
  524. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/bundle_analyzer.py +0 -0
  525. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/component_generator.py +0 -0
  526. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/frontend_scaffolder.py +0 -0
  527. /package/skills/{kyle/senior-qa → senior-qa}/README.md +0 -0
  528. /package/skills/{kyle/senior-qa → senior-qa}/SKILL.md +0 -0
  529. /package/skills/{kyle/senior-qa → senior-qa}/references/qa_best_practices.md +0 -0
  530. /package/skills/{kyle/senior-qa → senior-qa}/references/test_automation_patterns.md +0 -0
  531. /package/skills/{kyle/senior-qa → senior-qa}/references/testing_strategies.md +0 -0
  532. /package/skills/{kyle/senior-qa → senior-qa}/scripts/coverage_analyzer.py +0 -0
  533. /package/skills/{kyle/senior-qa → senior-qa}/scripts/e2e_test_scaffolder.py +0 -0
  534. /package/skills/{kyle/senior-qa → senior-qa}/scripts/test_suite_generator.py +0 -0
  535. /package/skills/{jarvis/spark-engineer → spark-engineer}/SKILL.md +0 -0
  536. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/partitioning-caching.md +0 -0
  537. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/performance-tuning.md +0 -0
  538. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/rdd-operations.md +0 -0
  539. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/spark-sql-dataframes.md +0 -0
  540. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/streaming-patterns.md +0 -0
  541. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/SKILL.md +0 -0
  542. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/cloud.md +0 -0
  543. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/data.md +0 -0
  544. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/security.md +0 -0
  545. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/testing.md +0 -0
  546. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/web.md +0 -0
  547. /package/skills/{jarvis/sql-pro → sql-pro}/SKILL.md +0 -0
  548. /package/skills/{jarvis/sql-pro → sql-pro}/references/database-design.md +0 -0
  549. /package/skills/{jarvis/sql-pro → sql-pro}/references/dialect-differences.md +0 -0
  550. /package/skills/{jarvis/sql-pro → sql-pro}/references/optimization.md +0 -0
  551. /package/skills/{jarvis/sql-pro → sql-pro}/references/query-patterns.md +0 -0
  552. /package/skills/{jarvis/sql-pro → sql-pro}/references/window-functions.md +0 -0
  553. /package/skills/{jarvis/sre-engineer → sre-engineer}/SKILL.md +0 -0
  554. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/automation-toil.md +0 -0
  555. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/error-budget-policy.md +0 -0
  556. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/incident-chaos.md +0 -0
  557. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/monitoring-alerting.md +0 -0
  558. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/slo-sli-management.md +0 -0
  559. /package/skills/{max/stakeholder-update → stakeholder-update}/SKILL.md +0 -0
  560. /package/skills/{jarvis/swift-expert → swift-expert}/SKILL.md +0 -0
  561. /package/skills/{jarvis/swift-expert → swift-expert}/references/async-concurrency.md +0 -0
  562. /package/skills/{jarvis/swift-expert → swift-expert}/references/memory-performance.md +0 -0
  563. /package/skills/{jarvis/swift-expert → swift-expert}/references/protocol-oriented.md +0 -0
  564. /package/skills/{jarvis/swift-expert → swift-expert}/references/swiftui-patterns.md +0 -0
  565. /package/skills/{jarvis/swift-expert → swift-expert}/references/testing-patterns.md +0 -0
  566. /package/skills/{max/workflow/systematic-debugging → systematic-debugging}/SKILL.md +0 -0
  567. /package/skills/{kyle/tdd-guide → tdd-guide}/HOW_TO_USE.md +0 -0
  568. /package/skills/{kyle/tdd-guide → tdd-guide}/README.md +0 -0
  569. /package/skills/{kyle/tdd-guide → tdd-guide}/SKILL.md +0 -0
  570. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/expected_output.json +0 -0
  571. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_coverage_report.lcov +0 -0
  572. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_python.json +0 -0
  573. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_typescript.json +0 -0
  574. /package/skills/{kyle/tdd-guide → tdd-guide}/references/ci-integration.md +0 -0
  575. /package/skills/{kyle/tdd-guide → tdd-guide}/references/framework-guide.md +0 -0
  576. /package/skills/{kyle/tdd-guide → tdd-guide}/references/tdd-best-practices.md +0 -0
  577. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/coverage_analyzer.py +0 -0
  578. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/fixture_generator.py +0 -0
  579. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/format_detector.py +0 -0
  580. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/framework_adapter.py +0 -0
  581. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/metrics_calculator.py +0 -0
  582. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/output_formatter.py +0 -0
  583. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/tdd_workflow.py +0 -0
  584. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/test_generator.py +0 -0
  585. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/SKILL.md +0 -0
  586. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/best-practices.md +0 -0
  587. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/module-patterns.md +0 -0
  588. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/providers.md +0 -0
  589. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/state-management.md +0 -0
  590. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/testing.md +0 -0
  591. /package/skills/{kyle/test-master → test-master}/SKILL.md +0 -0
  592. /package/skills/{kyle/test-master → test-master}/references/automation-frameworks.md +0 -0
  593. /package/skills/{kyle/test-master → test-master}/references/e2e-testing.md +0 -0
  594. /package/skills/{kyle/test-master → test-master}/references/integration-testing.md +0 -0
  595. /package/skills/{kyle/test-master → test-master}/references/performance-testing.md +0 -0
  596. /package/skills/{kyle/test-master → test-master}/references/qa-methodology.md +0 -0
  597. /package/skills/{kyle/test-master → test-master}/references/security-testing.md +0 -0
  598. /package/skills/{kyle/test-master → test-master}/references/tdd-iron-laws.md +0 -0
  599. /package/skills/{kyle/test-master → test-master}/references/test-reports.md +0 -0
  600. /package/skills/{kyle/test-master → test-master}/references/testing-anti-patterns.md +0 -0
  601. /package/skills/{kyle/test-master → test-master}/references/unit-testing.md +0 -0
  602. /package/skills/{jarvis/typescript-pro → typescript-pro}/SKILL.md +0 -0
  603. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/advanced-types.md +0 -0
  604. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/configuration.md +0 -0
  605. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/patterns.md +0 -0
  606. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/type-guards.md +0 -0
  607. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/utility-types.md +0 -0
  608. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/SKILL.md +0 -0
  609. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/charts.csv +0 -0
  610. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
  611. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
  612. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
  613. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
  614. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
  615. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/astro.csv +0 -0
  616. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  617. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  618. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  619. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  620. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  621. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  622. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  623. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
  624. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  625. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  626. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  627. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  628. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/styles.csv +0 -0
  629. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/typography.csv +0 -0
  630. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ui-reasoning.csv +0 -0
  631. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  632. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
  633. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-39.pyc +0 -0
  634. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-39.pyc +0 -0
  635. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
  636. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
  637. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
  638. /package/skills/{max/user-research-synthesis → user-research-synthesis}/SKILL.md +0 -0
  639. /package/skills/{max/workflow/verification-before-completion → verification-before-completion}/SKILL.md +0 -0
  640. /package/skills/{ella/vue-expert → vue-expert}/SKILL.md +0 -0
  641. /package/skills/{ella/vue-expert → vue-expert}/references/build-tooling.md +0 -0
  642. /package/skills/{ella/vue-expert → vue-expert}/references/components.md +0 -0
  643. /package/skills/{ella/vue-expert → vue-expert}/references/composition-api.md +0 -0
  644. /package/skills/{ella/vue-expert → vue-expert}/references/mobile-hybrid.md +0 -0
  645. /package/skills/{ella/vue-expert → vue-expert}/references/nuxt.md +0 -0
  646. /package/skills/{ella/vue-expert → vue-expert}/references/state-management.md +0 -0
  647. /package/skills/{ella/vue-expert → vue-expert}/references/typescript.md +0 -0
  648. /package/skills/{ella/vue-expert-js → vue-expert-js}/SKILL.md +0 -0
  649. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/component-architecture.md +0 -0
  650. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/composables-patterns.md +0 -0
  651. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/jsdoc-typing.md +0 -0
  652. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/state-management.md +0 -0
  653. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/testing-patterns.md +0 -0
  654. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/SKILL.md +0 -0
  655. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/alternatives.md +0 -0
  656. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/patterns.md +0 -0
  657. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/protocol.md +0 -0
  658. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/scaling.md +0 -0
  659. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/security.md +0 -0
@@ -0,0 +1,154 @@
1
+ ---
2
+ paths:
3
+ - "**/*.rs"
4
+ ---
5
+ # Rust Testing
6
+
7
+ > This file extends [common/testing.md](../common/testing.md) with Rust-specific content.
8
+
9
+ ## Test Framework
10
+
11
+ - **`#[test]`** with `#[cfg(test)]` modules for unit tests
12
+ - **rstest** for parameterized tests and fixtures
13
+ - **proptest** for property-based testing
14
+ - **mockall** for trait-based mocking
15
+ - **`#[tokio::test]`** for async tests
16
+
17
+ ## Test Organization
18
+
19
+ ```text
20
+ my_crate/
21
+ ├── src/
22
+ │ ├── lib.rs # Unit tests in #[cfg(test)] modules
23
+ │ ├── auth/
24
+ │ │ └── mod.rs # #[cfg(test)] mod tests { ... }
25
+ │ └── orders/
26
+ │ └── service.rs # #[cfg(test)] mod tests { ... }
27
+ ├── tests/ # Integration tests (each file = separate binary)
28
+ │ ├── api_test.rs
29
+ │ ├── db_test.rs
30
+ │ └── common/ # Shared test utilities
31
+ │ └── mod.rs
32
+ └── benches/ # Criterion benchmarks
33
+ └── benchmark.rs
34
+ ```
35
+
36
+ Unit tests go inside `#[cfg(test)]` modules in the same file. Integration tests go in `tests/`.
37
+
38
+ ## Unit Test Pattern
39
+
40
+ ```rust
41
+ #[cfg(test)]
42
+ mod tests {
43
+ use super::*;
44
+
45
+ #[test]
46
+ fn creates_user_with_valid_email() {
47
+ let user = User::new("Alice", "alice@example.com").unwrap();
48
+ assert_eq!(user.name, "Alice");
49
+ }
50
+
51
+ #[test]
52
+ fn rejects_invalid_email() {
53
+ let result = User::new("Bob", "not-an-email");
54
+ assert!(result.is_err());
55
+ assert!(result.unwrap_err().to_string().contains("invalid email"));
56
+ }
57
+ }
58
+ ```
59
+
60
+ ## Parameterized Tests
61
+
62
+ ```rust
63
+ use rstest::rstest;
64
+
65
+ #[rstest]
66
+ #[case("hello", 5)]
67
+ #[case("", 0)]
68
+ #[case("rust", 4)]
69
+ fn test_string_length(#[case] input: &str, #[case] expected: usize) {
70
+ assert_eq!(input.len(), expected);
71
+ }
72
+ ```
73
+
74
+ ## Async Tests
75
+
76
+ ```rust
77
+ #[tokio::test]
78
+ async fn fetches_data_successfully() {
79
+ let client = TestClient::new().await;
80
+ let result = client.get("/data").await;
81
+ assert!(result.is_ok());
82
+ }
83
+ ```
84
+
85
+ ## Mocking with mockall
86
+
87
+ Define traits in production code; generate mocks in test modules:
88
+
89
+ ```rust
90
+ // Production trait — pub so integration tests can import it
91
+ pub trait UserRepository {
92
+ fn find_by_id(&self, id: u64) -> Option<User>;
93
+ }
94
+
95
+ #[cfg(test)]
96
+ mod tests {
97
+ use super::*;
98
+ use mockall::predicate::eq;
99
+
100
+ mockall::mock! {
101
+ pub Repo {}
102
+ impl UserRepository for Repo {
103
+ fn find_by_id(&self, id: u64) -> Option<User>;
104
+ }
105
+ }
106
+
107
+ #[test]
108
+ fn service_returns_user_when_found() {
109
+ let mut mock = MockRepo::new();
110
+ mock.expect_find_by_id()
111
+ .with(eq(42))
112
+ .times(1)
113
+ .returning(|_| Some(User { id: 42, name: "Alice".into() }));
114
+
115
+ let service = UserService::new(Box::new(mock));
116
+ let user = service.get_user(42).unwrap();
117
+ assert_eq!(user.name, "Alice");
118
+ }
119
+ }
120
+ ```
121
+
122
+ ## Test Naming
123
+
124
+ Use descriptive names that explain the scenario:
125
+ - `creates_user_with_valid_email()`
126
+ - `rejects_order_when_insufficient_stock()`
127
+ - `returns_none_when_not_found()`
128
+
129
+ ## Coverage
130
+
131
+ - Target 80%+ line coverage
132
+ - Use **cargo-llvm-cov** for coverage reporting
133
+ - Focus on business logic — exclude generated code and FFI bindings
134
+
135
+ ```bash
136
+ cargo llvm-cov # Summary
137
+ cargo llvm-cov --html # HTML report
138
+ cargo llvm-cov --fail-under-lines 80 # Fail if below threshold
139
+ ```
140
+
141
+ ## Testing Commands
142
+
143
+ ```bash
144
+ cargo test # Run all tests
145
+ cargo test -- --nocapture # Show println output
146
+ cargo test test_name # Run tests matching pattern
147
+ cargo test --lib # Unit tests only
148
+ cargo test --test api_test # Specific integration test (tests/api_test.rs)
149
+ cargo test --doc # Doc tests only
150
+ ```
151
+
152
+ ## References
153
+
154
+ See skill: `rust-testing` for comprehensive testing patterns including property-based testing, fixtures, and benchmarking with Criterion.
@@ -0,0 +1,73 @@
1
+ # Security
2
+
3
+ ## Mandatory Security Checklist(提交前必过)
4
+
5
+ - [ ] **无硬编码密钥**(API keys、密码、token、连接串)
6
+ - [ ] **所有用户输入已校验**
7
+ - [ ] **SQL 注入防护**(参数化查询)
8
+ - [ ] **XSS 防护**(HTML 已 sanitize)
9
+ - [ ] **CSRF 保护已启用**
10
+ - [ ] **认证 / 授权已验证**
11
+ - [ ] **限流已就位**(公开端点)
12
+ - [ ] **错误消息不泄露**敏感数据(堆栈、内部路径、SQL 片段)
13
+
14
+ ## Secret Management
15
+
16
+ - **绝不**硬编码密钥到源码
17
+ - **始终**使用环境变量或 secret manager
18
+ - 启动时校验所需密钥存在
19
+ - 一旦怀疑泄漏,**立即轮换**所有相关密钥
20
+
21
+ ## Auth / Authz 必须独立审查
22
+
23
+ 涉及以下场景的代码**必须**派遣 `security-reviewer`(Codex 用 `reviewer` + security skill):
24
+
25
+ - 登录 / 注册 / 密码重置
26
+ - 权限变更、角色升级
27
+ - 支付、退款、积分增减
28
+ - PII(个人身份信息)读写
29
+ - 外部输入边界(API、上传、导入)
30
+ - 加密 / 哈希 / 签名使用
31
+
32
+ ## OWASP Top 10 检查维度
33
+
34
+ 审查时按以下维度过一遍(不是每条都要报,但要都想过):
35
+
36
+ 1. **A01 Broken Access Control** — 水平/垂直越权、IDOR
37
+ 2. **A02 Cryptographic Failures** — 弱算法、弱密钥、`===` 比较密码(用 `timingSafeEqual`)
38
+ 3. **A03 Injection** — SQL / NoSQL / 命令 / LDAP / XPath / 模板注入
39
+ 4. **A04 Insecure Design** — 缺乏威胁建模
40
+ 5. **A05 Security Misconfiguration** — 默认凭据、不必要权限、CORS 过松
41
+ 6. **A06 Vulnerable Components** — `npm audit` / `pip-audit` / `bundle audit`
42
+ 7. **A07 Auth Failures** — 弱密码策略、会话固定、token 泄漏
43
+ 8. **A08 Software and Data Integrity Failures** — 不安全的反序列化、CI/CD 注入
44
+ 9. **A09 Logging and Monitoring Failures** — 日志脱敏、异常告警
45
+ 10. **A10 SSRF** — 外部 URL 校验
46
+
47
+ ## Security Response Protocol
48
+
49
+ 发现安全问题时:
50
+
51
+ 1. **立即停止**进一步开发
52
+ 2. 派遣 `security-reviewer`(Codex 用 `reviewer` + security skill)做深度审计
53
+ 3. **先修 CRITICAL**,再继续其他工作
54
+ 4. **轮换**任何已暴露的密钥
55
+ 5. **全仓搜索**类似问题(同样的反模式可能存在多处)
56
+
57
+ ## 派遣建议
58
+
59
+ | 信号 | Agent |
60
+ |------|-------|
61
+ | 新增 auth 流程 | `security-reviewer` |
62
+ | 改动支付 / 订单 / 积分 | `security-reviewer` |
63
+ | 加密 / 签名 / token 处理 | `security-reviewer` |
64
+ | 依赖升级(含 transitive) | `code-reviewer`(兼跑 `npm audit`) |
65
+ | 已知 CVE 修复 | `build-error-resolver`(限定最小修复) |
66
+
67
+ ## Verdict 级别
68
+
69
+ `security-reviewer` 的输出必须给出明确级别:
70
+
71
+ - **APPROVE** — 无 CRITICAL / HIGH,中低可带 follow-up ticket
72
+ - **REQUEST_CHANGES** — HIGH 必须先修
73
+ - **BLOCK** — CRITICAL 必须先修,不得合并
@@ -0,0 +1,47 @@
1
+ ---
2
+ paths:
3
+ - "**/*.swift"
4
+ - "**/Package.swift"
5
+ ---
6
+ # Swift Coding Style
7
+
8
+ > This file extends [common/coding-style.md](../common/coding-style.md) with Swift specific content.
9
+
10
+ ## Formatting
11
+
12
+ - **SwiftFormat** for auto-formatting, **SwiftLint** for style enforcement
13
+ - `swift-format` is bundled with Xcode 16+ as an alternative
14
+
15
+ ## Immutability
16
+
17
+ - Prefer `let` over `var` — define everything as `let` and only change to `var` if the compiler requires it
18
+ - Use `struct` with value semantics by default; use `class` only when identity or reference semantics are needed
19
+
20
+ ## Naming
21
+
22
+ Follow [Apple API Design Guidelines](https://www.swift.org/documentation/api-design-guidelines/):
23
+
24
+ - Clarity at the point of use — omit needless words
25
+ - Name methods and properties for their roles, not their types
26
+ - Use `static let` for constants over global constants
27
+
28
+ ## Error Handling
29
+
30
+ Use typed throws (Swift 6+) and pattern matching:
31
+
32
+ ```swift
33
+ func load(id: String) throws(LoadError) -> Item {
34
+ guard let data = try? read(from: path) else {
35
+ throw .fileNotFound(id)
36
+ }
37
+ return try decode(data)
38
+ }
39
+ ```
40
+
41
+ ## Concurrency
42
+
43
+ Enable Swift 6 strict concurrency checking. Prefer:
44
+
45
+ - `Sendable` value types for data crossing isolation boundaries
46
+ - Actors for shared mutable state
47
+ - Structured concurrency (`async let`, `TaskGroup`) over unstructured `Task {}`
@@ -0,0 +1,20 @@
1
+ ---
2
+ paths:
3
+ - "**/*.swift"
4
+ - "**/Package.swift"
5
+ ---
6
+ # Swift Hooks
7
+
8
+ > This file extends [common/hooks.md](../common/hooks.md) with Swift specific content.
9
+
10
+ ## PostToolUse Hooks
11
+
12
+ Configure in `~/.claude/settings.json`:
13
+
14
+ - **SwiftFormat**: Auto-format `.swift` files after edit
15
+ - **SwiftLint**: Run lint checks after editing `.swift` files
16
+ - **swift build**: Type-check modified packages after edit
17
+
18
+ ## Warning
19
+
20
+ Flag `print()` statements — use `os.Logger` or structured logging instead for production code.
@@ -0,0 +1,66 @@
1
+ ---
2
+ paths:
3
+ - "**/*.swift"
4
+ - "**/Package.swift"
5
+ ---
6
+ # Swift Patterns
7
+
8
+ > This file extends [common/patterns.md](../common/patterns.md) with Swift specific content.
9
+
10
+ ## Protocol-Oriented Design
11
+
12
+ Define small, focused protocols. Use protocol extensions for shared defaults:
13
+
14
+ ```swift
15
+ protocol Repository: Sendable {
16
+ associatedtype Item: Identifiable & Sendable
17
+ func find(by id: Item.ID) async throws -> Item?
18
+ func save(_ item: Item) async throws
19
+ }
20
+ ```
21
+
22
+ ## Value Types
23
+
24
+ - Use structs for data transfer objects and models
25
+ - Use enums with associated values to model distinct states:
26
+
27
+ ```swift
28
+ enum LoadState<T: Sendable>: Sendable {
29
+ case idle
30
+ case loading
31
+ case loaded(T)
32
+ case failed(Error)
33
+ }
34
+ ```
35
+
36
+ ## Actor Pattern
37
+
38
+ Use actors for shared mutable state instead of locks or dispatch queues:
39
+
40
+ ```swift
41
+ actor Cache<Key: Hashable & Sendable, Value: Sendable> {
42
+ private var storage: [Key: Value] = [:]
43
+
44
+ func get(_ key: Key) -> Value? { storage[key] }
45
+ func set(_ key: Key, value: Value) { storage[key] = value }
46
+ }
47
+ ```
48
+
49
+ ## Dependency Injection
50
+
51
+ Inject protocols with default parameters — production uses defaults, tests inject mocks:
52
+
53
+ ```swift
54
+ struct UserService {
55
+ private let repository: any UserRepository
56
+
57
+ init(repository: any UserRepository = DefaultUserRepository()) {
58
+ self.repository = repository
59
+ }
60
+ }
61
+ ```
62
+
63
+ ## References
64
+
65
+ See skill: `swift-actor-persistence` for actor-based persistence patterns.
66
+ See skill: `swift-protocol-di-testing` for protocol-based DI and testing.
@@ -0,0 +1,33 @@
1
+ ---
2
+ paths:
3
+ - "**/*.swift"
4
+ - "**/Package.swift"
5
+ ---
6
+ # Swift Security
7
+
8
+ > This file extends [common/security.md](../common/security.md) with Swift specific content.
9
+
10
+ ## Secret Management
11
+
12
+ - Use **Keychain Services** for sensitive data (tokens, passwords, keys) — never `UserDefaults`
13
+ - Use environment variables or `.xcconfig` files for build-time secrets
14
+ - Never hardcode secrets in source — decompilation tools extract them trivially
15
+
16
+ ```swift
17
+ let apiKey = ProcessInfo.processInfo.environment["API_KEY"]
18
+ guard let apiKey, !apiKey.isEmpty else {
19
+ fatalError("API_KEY not configured")
20
+ }
21
+ ```
22
+
23
+ ## Transport Security
24
+
25
+ - App Transport Security (ATS) is enforced by default — do not disable it
26
+ - Use certificate pinning for critical endpoints
27
+ - Validate all server certificates
28
+
29
+ ## Input Validation
30
+
31
+ - Sanitize all user input before display to prevent injection
32
+ - Use `URL(string:)` with validation rather than force-unwrapping
33
+ - Validate data from external sources (APIs, deep links, pasteboard) before processing
@@ -0,0 +1,45 @@
1
+ ---
2
+ paths:
3
+ - "**/*.swift"
4
+ - "**/Package.swift"
5
+ ---
6
+ # Swift Testing
7
+
8
+ > This file extends [common/testing.md](../common/testing.md) with Swift specific content.
9
+
10
+ ## Framework
11
+
12
+ Use **Swift Testing** (`import Testing`) for new tests. Use `@Test` and `#expect`:
13
+
14
+ ```swift
15
+ @Test("User creation validates email")
16
+ func userCreationValidatesEmail() throws {
17
+ #expect(throws: ValidationError.invalidEmail) {
18
+ try User(email: "not-an-email")
19
+ }
20
+ }
21
+ ```
22
+
23
+ ## Test Isolation
24
+
25
+ Each test gets a fresh instance — set up in `init`, tear down in `deinit`. No shared mutable state between tests.
26
+
27
+ ## Parameterized Tests
28
+
29
+ ```swift
30
+ @Test("Validates formats", arguments: ["json", "xml", "csv"])
31
+ func validatesFormat(format: String) throws {
32
+ let parser = try Parser(format: format)
33
+ #expect(parser.isValid)
34
+ }
35
+ ```
36
+
37
+ ## Coverage
38
+
39
+ ```bash
40
+ swift test --enable-code-coverage
41
+ ```
42
+
43
+ ## Reference
44
+
45
+ See skill: `swift-protocol-di-testing` for protocol-based dependency injection and mock patterns with Swift Testing.
@@ -0,0 +1,77 @@
1
+ # Testing Requirements
2
+
3
+ ## Minimum Coverage: 80%
4
+
5
+ 测试类型(**全部必需**):
6
+
7
+ 1. **单元测试** — 单个函数、工具、组件
8
+ 2. **集成测试** — API 端点、数据库操作
9
+ 3. **E2E 测试** — 关键用户流程(按语言/栈选择框架)
10
+
11
+ ## TDD 工作流(强制)
12
+
13
+ ```
14
+ 1. 先写测试(RED)— 测试应当失败
15
+ 2. 跑测试 — 确认 FAIL
16
+ 3. 写最小实现(GREEN)— 测试通过
17
+ 4. 跑测试 — 确认 PASS
18
+ 5. 重构(IMPROVE)— 不破坏行为
19
+ 6. 验证覆盖率(≥ 80%)
20
+ ```
21
+
22
+ ## Agent 支持
23
+
24
+ - **新功能 / bug 修复** → 派遣 `tdd-guide` 走 TDD 流程
25
+ - **测试失败诊断** → `tdd-guide` 默认改实现不改测试
26
+ - **E2E** → 独立派 `e2e-runner`(待补,Phase 2+)
27
+
28
+ ## 失败排查顺序
29
+
30
+ 1. 检查测试隔离(每个测试是否独立可跑)
31
+ 2. 验证 mock 是否正确
32
+ 3. 修实现,**不修测试**(除非测试本身的断言错误,且必须在报告中明说)
33
+
34
+ ## Test Structure (AAA Pattern)
35
+
36
+ 优先使用 Arrange-Act-Assert:
37
+
38
+ ```typescript
39
+ test('计算余弦相似度', () => {
40
+ // Arrange
41
+ const v1 = [1, 0, 0]
42
+ const v2 = [0, 1, 0]
43
+
44
+ // Act
45
+ const sim = cosineSimilarity(v1, v2)
46
+
47
+ // Assert
48
+ expect(sim).toBe(0)
49
+ })
50
+ ```
51
+
52
+ ## Test Naming
53
+
54
+ 用描述行为的中文/英文,不要堆栈技术词:
55
+
56
+ ```typescript
57
+ test('查询无匹配市场时返回空数组', () => {})
58
+ test('API key 缺失时抛出错误', () => {})
59
+ test('Redis 不可用时降级到子串搜索', () => {})
60
+ ```
61
+
62
+ ## 完成前必跑
63
+
64
+ - [ ] 所有相关测试通过
65
+ - [ ] 覆盖率达标(项目目标,通常 80%+)
66
+ - [ ] 行为变更同步更新或新增测试
67
+ - [ ] 没有跳过的测试(`.skip` / `xit` / `pending`)—— 跳过等于隐藏 bug
68
+
69
+ ## 反模式
70
+
71
+ | 反模式 | 为什么错 |
72
+ |--------|---------|
73
+ | 用 `@ts-ignore` / `as any` 掩盖测试失败 | 隐藏类型问题 |
74
+ | 测试断言改成"通过"了事 | 抛弃了测试本身的价值 |
75
+ | `expect(true).toBe(true)` 占位测试 | 浪费维护成本 |
76
+ | 单个测试覆盖 5 个不相关行为 | 失败时定位困难 |
77
+ | 测试有顺序依赖(test A 必须在 test B 前跑) | 隔离失败,CI 必爆 |