@heytherevibin/skillforge 0.2.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 (402) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/CODE_OF_CONDUCT.md +34 -0
  3. package/CONTRIBUTING.md +38 -0
  4. package/LICENSE +21 -0
  5. package/README.md +337 -0
  6. package/RELEASING.md +93 -0
  7. package/SECURITY.md +31 -0
  8. package/STRATEGY.md +26 -0
  9. package/bin/cli.js +547 -0
  10. package/lib/packs.js +184 -0
  11. package/package.json +38 -0
  12. package/python/app/__init__.py +0 -0
  13. package/python/app/__pycache__/__init__.cpython-312.pyc +0 -0
  14. package/python/app/__pycache__/auth.cpython-312.pyc +0 -0
  15. package/python/app/__pycache__/main.cpython-312.pyc +0 -0
  16. package/python/app/auth.py +63 -0
  17. package/python/app/cli.py +78 -0
  18. package/python/app/db_paths.py +26 -0
  19. package/python/app/events_cli.py +175 -0
  20. package/python/app/main.py +647 -0
  21. package/python/app/materialize.py +138 -0
  22. package/python/app/mcp_server.py +610 -0
  23. package/python/app/route_cli.py +117 -0
  24. package/python/requirements-dev.txt +1 -0
  25. package/python/requirements.txt +7 -0
  26. package/python/tests/test_db_paths.py +41 -0
  27. package/skills/accessibility/SKILL.md +145 -0
  28. package/skills/agent-architecture-audit/SKILL.md +256 -0
  29. package/skills/agent-eval/SKILL.md +144 -0
  30. package/skills/agent-harness-construction/SKILL.md +72 -0
  31. package/skills/agent-introspection-debugging/SKILL.md +152 -0
  32. package/skills/agent-payment-x402/SKILL.md +224 -0
  33. package/skills/agent-sort/SKILL.md +214 -0
  34. package/skills/agentic-engineering/SKILL.md +62 -0
  35. package/skills/agentic-os/SKILL.md +386 -0
  36. package/skills/ai-first-engineering/SKILL.md +50 -0
  37. package/skills/ai-regression-testing/SKILL.md +384 -0
  38. package/skills/android-clean-architecture/SKILL.md +338 -0
  39. package/skills/angular-developer/SKILL.md +153 -0
  40. package/skills/angular-developer/references/angular-animations.md +160 -0
  41. package/skills/angular-developer/references/angular-aria.md +410 -0
  42. package/skills/angular-developer/references/cli.md +86 -0
  43. package/skills/angular-developer/references/component-harnesses.md +59 -0
  44. package/skills/angular-developer/references/component-styling.md +91 -0
  45. package/skills/angular-developer/references/components.md +117 -0
  46. package/skills/angular-developer/references/creating-services.md +97 -0
  47. package/skills/angular-developer/references/data-resolvers.md +69 -0
  48. package/skills/angular-developer/references/define-routes.md +67 -0
  49. package/skills/angular-developer/references/defining-providers.md +72 -0
  50. package/skills/angular-developer/references/di-fundamentals.md +120 -0
  51. package/skills/angular-developer/references/e2e-testing.md +56 -0
  52. package/skills/angular-developer/references/effects.md +83 -0
  53. package/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  54. package/skills/angular-developer/references/host-elements.md +80 -0
  55. package/skills/angular-developer/references/injection-context.md +63 -0
  56. package/skills/angular-developer/references/inputs.md +101 -0
  57. package/skills/angular-developer/references/linked-signal.md +59 -0
  58. package/skills/angular-developer/references/loading-strategies.md +61 -0
  59. package/skills/angular-developer/references/mcp.md +108 -0
  60. package/skills/angular-developer/references/navigate-to-routes.md +69 -0
  61. package/skills/angular-developer/references/outputs.md +86 -0
  62. package/skills/angular-developer/references/reactive-forms.md +122 -0
  63. package/skills/angular-developer/references/rendering-strategies.md +44 -0
  64. package/skills/angular-developer/references/resource.md +77 -0
  65. package/skills/angular-developer/references/route-animations.md +56 -0
  66. package/skills/angular-developer/references/route-guards.md +52 -0
  67. package/skills/angular-developer/references/router-lifecycle.md +45 -0
  68. package/skills/angular-developer/references/router-testing.md +87 -0
  69. package/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  70. package/skills/angular-developer/references/signal-forms.md +795 -0
  71. package/skills/angular-developer/references/signals-overview.md +94 -0
  72. package/skills/angular-developer/references/tailwind-css.md +69 -0
  73. package/skills/angular-developer/references/template-driven-forms.md +114 -0
  74. package/skills/angular-developer/references/testing-fundamentals.md +65 -0
  75. package/skills/api-connector-builder/SKILL.md +120 -0
  76. package/skills/api-design/SKILL.md +522 -0
  77. package/skills/architecture-decision-records/SKILL.md +178 -0
  78. package/skills/article-writing/SKILL.md +78 -0
  79. package/skills/automation-audit-ops/SKILL.md +141 -0
  80. package/skills/autonomous-agent-harness/SKILL.md +272 -0
  81. package/skills/autonomous-loops/SKILL.md +609 -0
  82. package/skills/backend-patterns/SKILL.md +560 -0
  83. package/skills/benchmark/SKILL.md +92 -0
  84. package/skills/blueprint/SKILL.md +104 -0
  85. package/skills/browser-qa/SKILL.md +86 -0
  86. package/skills/bun-runtime/SKILL.md +83 -0
  87. package/skills/canary-watch/SKILL.md +98 -0
  88. package/skills/carrier-relationship-management/SKILL.md +211 -0
  89. package/skills/cisco-ios-patterns/SKILL.md +163 -0
  90. package/skills/ck/SKILL.md +147 -0
  91. package/skills/ck/commands/forget.mjs +44 -0
  92. package/skills/ck/commands/info.mjs +24 -0
  93. package/skills/ck/commands/init.mjs +143 -0
  94. package/skills/ck/commands/list.mjs +40 -0
  95. package/skills/ck/commands/migrate.mjs +202 -0
  96. package/skills/ck/commands/resume.mjs +36 -0
  97. package/skills/ck/commands/save.mjs +210 -0
  98. package/skills/ck/commands/shared.mjs +387 -0
  99. package/skills/ck/hooks/session-start.mjs +224 -0
  100. package/skills/claude-devfleet/SKILL.md +103 -0
  101. package/skills/click-path-audit/SKILL.md +244 -0
  102. package/skills/clickhouse-io/SKILL.md +438 -0
  103. package/skills/code-tour/SKILL.md +235 -0
  104. package/skills/codebase-onboarding/SKILL.md +232 -0
  105. package/skills/coding-standards/SKILL.md +548 -0
  106. package/skills/compose-multiplatform-patterns/SKILL.md +298 -0
  107. package/skills/connections-optimizer/SKILL.md +188 -0
  108. package/skills/content-engine/SKILL.md +126 -0
  109. package/skills/content-hash-cache-pattern/SKILL.md +160 -0
  110. package/skills/context-budget/SKILL.md +134 -0
  111. package/skills/continuous-agent-loop/SKILL.md +44 -0
  112. package/skills/continuous-learning/SKILL.md +129 -0
  113. package/skills/continuous-learning/config.json +18 -0
  114. package/skills/continuous-learning/evaluate-session.sh +69 -0
  115. package/skills/continuous-learning-v2/SKILL.md +358 -0
  116. package/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
  117. package/skills/continuous-learning-v2/agents/observer.md +198 -0
  118. package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  119. package/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  120. package/skills/continuous-learning-v2/config.json +8 -0
  121. package/skills/continuous-learning-v2/hooks/observe.sh +476 -0
  122. package/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
  123. package/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
  124. package/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  125. package/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  126. package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
  127. package/skills/cost-aware-llm-pipeline/SKILL.md +182 -0
  128. package/skills/cost-tracking/SKILL.md +147 -0
  129. package/skills/council/SKILL.md +202 -0
  130. package/skills/cpp-coding-standards/SKILL.md +722 -0
  131. package/skills/cpp-testing/SKILL.md +323 -0
  132. package/skills/crosspost/SKILL.md +110 -0
  133. package/skills/csharp-testing/SKILL.md +320 -0
  134. package/skills/customer-billing-ops/SKILL.md +139 -0
  135. package/skills/customs-trade-compliance/SKILL.md +262 -0
  136. package/skills/dart-flutter-patterns/SKILL.md +562 -0
  137. package/skills/dashboard-builder/SKILL.md +108 -0
  138. package/skills/data-scraper-agent/SKILL.md +764 -0
  139. package/skills/database-migrations/SKILL.md +428 -0
  140. package/skills/deep-research/SKILL.md +158 -0
  141. package/skills/defi-amm-security/SKILL.md +166 -0
  142. package/skills/deployment-patterns/SKILL.md +426 -0
  143. package/skills/design-system/SKILL.md +81 -0
  144. package/skills/django-celery/SKILL.md +456 -0
  145. package/skills/django-patterns/SKILL.md +733 -0
  146. package/skills/django-security/SKILL.md +592 -0
  147. package/skills/django-tdd/SKILL.md +728 -0
  148. package/skills/django-verification/SKILL.md +468 -0
  149. package/skills/dmux-workflows/SKILL.md +190 -0
  150. package/skills/docker-patterns/SKILL.md +363 -0
  151. package/skills/documentation-lookup/SKILL.md +89 -0
  152. package/skills/dotnet-patterns/SKILL.md +320 -0
  153. package/skills/e2e-testing/SKILL.md +325 -0
  154. package/skills/email-ops/SKILL.md +120 -0
  155. package/skills/energy-procurement/SKILL.md +227 -0
  156. package/skills/enterprise-agent-ops/SKILL.md +49 -0
  157. package/skills/error-handling/SKILL.md +375 -0
  158. package/skills/eval-harness/SKILL.md +269 -0
  159. package/skills/evm-token-decimals/SKILL.md +130 -0
  160. package/skills/exa-search/SKILL.md +106 -0
  161. package/skills/fal-ai-media/SKILL.md +287 -0
  162. package/skills/fastapi-patterns/SKILL.md +327 -0
  163. package/skills/finance-billing-ops/SKILL.md +126 -0
  164. package/skills/flox-environments/SKILL.md +496 -0
  165. package/skills/flutter-dart-code-review/SKILL.md +434 -0
  166. package/skills/foundation-models-on-device/SKILL.md +243 -0
  167. package/skills/frontend-design-direction/SKILL.md +92 -0
  168. package/skills/frontend-patterns/SKILL.md +641 -0
  169. package/skills/frontend-slides/SKILL.md +183 -0
  170. package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  171. package/skills/frontend-slides/animation-patterns.md +122 -0
  172. package/skills/frontend-slides/html-template.md +419 -0
  173. package/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  174. package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  175. package/skills/frontend-slides/viewport-base.css +153 -0
  176. package/skills/fsharp-testing/SKILL.md +279 -0
  177. package/skills/gan-style-harness/SKILL.md +278 -0
  178. package/skills/gateguard/SKILL.md +125 -0
  179. package/skills/git-workflow/SKILL.md +714 -0
  180. package/skills/github-ops/SKILL.md +143 -0
  181. package/skills/golang-patterns/SKILL.md +673 -0
  182. package/skills/golang-testing/SKILL.md +719 -0
  183. package/skills/google-workspace-ops/SKILL.md +94 -0
  184. package/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  185. package/skills/healthcare-emr-patterns/SKILL.md +159 -0
  186. package/skills/healthcare-eval-harness/SKILL.md +207 -0
  187. package/skills/healthcare-phi-compliance/SKILL.md +145 -0
  188. package/skills/hermes-imports/SKILL.md +87 -0
  189. package/skills/hexagonal-architecture/SKILL.md +275 -0
  190. package/skills/hipaa-compliance/SKILL.md +78 -0
  191. package/skills/homelab-network-readiness/SKILL.md +169 -0
  192. package/skills/homelab-network-setup/SKILL.md +129 -0
  193. package/skills/homelab-pihole-dns/SKILL.md +274 -0
  194. package/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  195. package/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  196. package/skills/hookify-rules/SKILL.md +128 -0
  197. package/skills/inventory-demand-planning/SKILL.md +246 -0
  198. package/skills/investor-materials/SKILL.md +95 -0
  199. package/skills/investor-outreach/SKILL.md +90 -0
  200. package/skills/ios-icon-gen/SKILL.md +157 -0
  201. package/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  202. package/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  203. package/skills/iterative-retrieval/SKILL.md +209 -0
  204. package/skills/java-coding-standards/SKILL.md +382 -0
  205. package/skills/jira-integration/SKILL.md +292 -0
  206. package/skills/jpa-patterns/SKILL.md +150 -0
  207. package/skills/knowledge-ops/SKILL.md +153 -0
  208. package/skills/kotlin-coroutines-flows/SKILL.md +283 -0
  209. package/skills/kotlin-exposed-patterns/SKILL.md +718 -0
  210. package/skills/kotlin-ktor-patterns/SKILL.md +688 -0
  211. package/skills/kotlin-patterns/SKILL.md +710 -0
  212. package/skills/kotlin-testing/SKILL.md +823 -0
  213. package/skills/laravel-patterns/SKILL.md +414 -0
  214. package/skills/laravel-plugin-discovery/SKILL.md +228 -0
  215. package/skills/laravel-security/SKILL.md +284 -0
  216. package/skills/laravel-tdd/SKILL.md +282 -0
  217. package/skills/laravel-verification/SKILL.md +178 -0
  218. package/skills/lead-intelligence/SKILL.md +320 -0
  219. package/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  220. package/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  221. package/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  222. package/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  223. package/skills/liquid-glass-design/SKILL.md +279 -0
  224. package/skills/llm-trading-agent-security/SKILL.md +146 -0
  225. package/skills/logistics-exception-management/SKILL.md +221 -0
  226. package/skills/make-interfaces-feel-better/SKILL.md +151 -0
  227. package/skills/manim-video/SKILL.md +88 -0
  228. package/skills/manim-video/assets/network_graph_scene.py +52 -0
  229. package/skills/market-research/SKILL.md +74 -0
  230. package/skills/mcp-server-patterns/SKILL.md +68 -0
  231. package/skills/messages-ops/SKILL.md +103 -0
  232. package/skills/mle-workflow/SKILL.md +345 -0
  233. package/skills/motion-advanced/SKILL.md +596 -0
  234. package/skills/motion-foundations/SKILL.md +299 -0
  235. package/skills/motion-patterns/SKILL.md +435 -0
  236. package/skills/motion-ui/SKILL.md +574 -0
  237. package/skills/mysql-patterns/SKILL.md +411 -0
  238. package/skills/nanoclaw-repl/SKILL.md +32 -0
  239. package/skills/nestjs-patterns/SKILL.md +229 -0
  240. package/skills/netmiko-ssh-automation/SKILL.md +173 -0
  241. package/skills/network-bgp-diagnostics/SKILL.md +167 -0
  242. package/skills/network-config-validation/SKILL.md +210 -0
  243. package/skills/network-interface-health/SKILL.md +152 -0
  244. package/skills/nextjs-turbopack/SKILL.md +43 -0
  245. package/skills/nodejs-keccak256/SKILL.md +102 -0
  246. package/skills/nutrient-document-processing/SKILL.md +166 -0
  247. package/skills/nuxt4-patterns/SKILL.md +99 -0
  248. package/skills/openclaw-persona-forge/SKILL.md +288 -0
  249. package/skills/openclaw-persona-forge/gacha.py +224 -0
  250. package/skills/openclaw-persona-forge/gacha.sh +5 -0
  251. package/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  252. package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  253. package/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  254. package/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  255. package/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  256. package/skills/openclaw-persona-forge/references/output-template.md +166 -0
  257. package/skills/opensource-pipeline/SKILL.md +254 -0
  258. package/skills/perl-patterns/SKILL.md +503 -0
  259. package/skills/perl-security/SKILL.md +502 -0
  260. package/skills/perl-testing/SKILL.md +474 -0
  261. package/skills/plan-orchestrate/SKILL.md +253 -0
  262. package/skills/plankton-code-quality/SKILL.md +236 -0
  263. package/skills/postgres-patterns/SKILL.md +146 -0
  264. package/skills/product-capability/SKILL.md +140 -0
  265. package/skills/product-lens/SKILL.md +91 -0
  266. package/skills/production-audit/SKILL.md +206 -0
  267. package/skills/production-scheduling/SKILL.md +237 -0
  268. package/skills/project-flow-ops/SKILL.md +110 -0
  269. package/skills/prompt-optimizer/SKILL.md +398 -0
  270. package/skills/python-patterns/SKILL.md +749 -0
  271. package/skills/python-testing/SKILL.md +815 -0
  272. package/skills/pytorch-patterns/SKILL.md +395 -0
  273. package/skills/quality-nonconformance/SKILL.md +259 -0
  274. package/skills/quarkus-patterns/SKILL.md +721 -0
  275. package/skills/quarkus-security/SKILL.md +466 -0
  276. package/skills/quarkus-tdd/SKILL.md +810 -0
  277. package/skills/quarkus-verification/SKILL.md +478 -0
  278. package/skills/ralphinho-rfc-pipeline/SKILL.md +66 -0
  279. package/skills/redis-patterns/SKILL.md +402 -0
  280. package/skills/regex-vs-llm-structured-text/SKILL.md +219 -0
  281. package/skills/remotion-video-creation/SKILL.md +43 -0
  282. package/skills/remotion-video-creation/rules/3d.md +86 -0
  283. package/skills/remotion-video-creation/rules/animations.md +29 -0
  284. package/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  285. package/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  286. package/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  287. package/skills/remotion-video-creation/rules/assets.md +78 -0
  288. package/skills/remotion-video-creation/rules/audio.md +172 -0
  289. package/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  290. package/skills/remotion-video-creation/rules/can-decode.md +75 -0
  291. package/skills/remotion-video-creation/rules/charts.md +58 -0
  292. package/skills/remotion-video-creation/rules/compositions.md +146 -0
  293. package/skills/remotion-video-creation/rules/display-captions.md +126 -0
  294. package/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  295. package/skills/remotion-video-creation/rules/fonts.md +152 -0
  296. package/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  297. package/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  298. package/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  299. package/skills/remotion-video-creation/rules/gifs.md +138 -0
  300. package/skills/remotion-video-creation/rules/images.md +130 -0
  301. package/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  302. package/skills/remotion-video-creation/rules/lottie.md +67 -0
  303. package/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  304. package/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  305. package/skills/remotion-video-creation/rules/sequencing.md +106 -0
  306. package/skills/remotion-video-creation/rules/tailwind.md +11 -0
  307. package/skills/remotion-video-creation/rules/text-animations.md +20 -0
  308. package/skills/remotion-video-creation/rules/timing.md +179 -0
  309. package/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  310. package/skills/remotion-video-creation/rules/transitions.md +122 -0
  311. package/skills/remotion-video-creation/rules/trimming.md +52 -0
  312. package/skills/remotion-video-creation/rules/videos.md +171 -0
  313. package/skills/repo-scan/SKILL.md +78 -0
  314. package/skills/research-ops/SKILL.md +111 -0
  315. package/skills/returns-reverse-logistics/SKILL.md +239 -0
  316. package/skills/rules-distill/SKILL.md +263 -0
  317. package/skills/rules-distill/scripts/scan-rules.sh +58 -0
  318. package/skills/rules-distill/scripts/scan-skills.sh +129 -0
  319. package/skills/rust-patterns/SKILL.md +498 -0
  320. package/skills/rust-testing/SKILL.md +499 -0
  321. package/skills/safety-guard/SKILL.md +74 -0
  322. package/skills/santa-method/SKILL.md +306 -0
  323. package/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  324. package/skills/scientific-db-uspto-database/SKILL.md +177 -0
  325. package/skills/scientific-pkg-gget/SKILL.md +166 -0
  326. package/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  327. package/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  328. package/skills/search-first/SKILL.md +181 -0
  329. package/skills/security-bounty-hunter/SKILL.md +99 -0
  330. package/skills/security-review/SKILL.md +502 -0
  331. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  332. package/skills/seo/SKILL.md +153 -0
  333. package/skills/skill-comply/SKILL.md +57 -0
  334. package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  335. package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  336. package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  337. package/skills/skill-comply/prompts/classifier.md +24 -0
  338. package/skills/skill-comply/prompts/scenario_generator.md +62 -0
  339. package/skills/skill-comply/prompts/spec_generator.md +42 -0
  340. package/skills/skill-comply/pyproject.toml +15 -0
  341. package/skills/skill-comply/scripts/__init__.py +0 -0
  342. package/skills/skill-comply/scripts/classifier.py +85 -0
  343. package/skills/skill-comply/scripts/grader.py +124 -0
  344. package/skills/skill-comply/scripts/parser.py +107 -0
  345. package/skills/skill-comply/scripts/report.py +170 -0
  346. package/skills/skill-comply/scripts/run.py +127 -0
  347. package/skills/skill-comply/scripts/runner.py +186 -0
  348. package/skills/skill-comply/scripts/scenario_generator.py +70 -0
  349. package/skills/skill-comply/scripts/spec_generator.py +72 -0
  350. package/skills/skill-comply/scripts/utils.py +13 -0
  351. package/skills/skill-comply/tests/test_grader.py +197 -0
  352. package/skills/skill-comply/tests/test_parser.py +90 -0
  353. package/skills/skill-comply/tests/test_runner.py +172 -0
  354. package/skills/skill-scout/SKILL.md +139 -0
  355. package/skills/skill-stocktake/SKILL.md +193 -0
  356. package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  357. package/skills/skill-stocktake/scripts/save-results.sh +56 -0
  358. package/skills/skill-stocktake/scripts/scan.sh +170 -0
  359. package/skills/social-graph-ranker/SKILL.md +153 -0
  360. package/skills/springboot-patterns/SKILL.md +313 -0
  361. package/skills/springboot-security/SKILL.md +271 -0
  362. package/skills/springboot-tdd/SKILL.md +157 -0
  363. package/skills/springboot-verification/SKILL.md +230 -0
  364. package/skills/strategic-compact/SKILL.md +129 -0
  365. package/skills/strategic-compact/suggest-compact.sh +54 -0
  366. package/skills/swift-actor-persistence/SKILL.md +142 -0
  367. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  368. package/skills/swift-protocol-di-testing/SKILL.md +189 -0
  369. package/skills/swiftui-patterns/SKILL.md +259 -0
  370. package/skills/tdd-workflow/SKILL.md +462 -0
  371. package/skills/team-builder/SKILL.md +166 -0
  372. package/skills/terminal-ops/SKILL.md +108 -0
  373. package/skills/tinystruct-patterns/SKILL.md +130 -0
  374. package/skills/tinystruct-patterns/references/architecture.md +77 -0
  375. package/skills/tinystruct-patterns/references/data-handling.md +35 -0
  376. package/skills/tinystruct-patterns/references/routing.md +57 -0
  377. package/skills/tinystruct-patterns/references/system-usage.md +74 -0
  378. package/skills/tinystruct-patterns/references/testing.md +59 -0
  379. package/skills/token-budget-advisor/SKILL.md +133 -0
  380. package/skills/ui-demo/SKILL.md +464 -0
  381. package/skills/ui-to-vue/SKILL.md +134 -0
  382. package/skills/unified-notifications-ops/SKILL.md +186 -0
  383. package/skills/verification-loop/SKILL.md +125 -0
  384. package/skills/video-editing/SKILL.md +309 -0
  385. package/skills/videodb/SKILL.md +373 -0
  386. package/skills/videodb/reference/api-reference.md +550 -0
  387. package/skills/videodb/reference/capture-reference.md +407 -0
  388. package/skills/videodb/reference/capture.md +101 -0
  389. package/skills/videodb/reference/editor.md +443 -0
  390. package/skills/videodb/reference/generative.md +331 -0
  391. package/skills/videodb/reference/rtstream-reference.md +564 -0
  392. package/skills/videodb/reference/rtstream.md +65 -0
  393. package/skills/videodb/reference/search.md +230 -0
  394. package/skills/videodb/reference/streaming.md +406 -0
  395. package/skills/videodb/reference/use-cases.md +118 -0
  396. package/skills/videodb/scripts/ws_listener.py +282 -0
  397. package/skills/visa-doc-translate/README.md +86 -0
  398. package/skills/visa-doc-translate/SKILL.md +117 -0
  399. package/skills/vite-patterns/SKILL.md +448 -0
  400. package/skills/windows-desktop-e2e/SKILL.md +787 -0
  401. package/skills/workspace-surface-audit/SKILL.md +124 -0
  402. package/skills/x-api/SKILL.md +233 -0
@@ -0,0 +1,414 @@
1
+ ---
2
+ name: laravel-patterns
3
+ description: Laravel architecture patterns, routing/controllers, Eloquent ORM, service layers, queues, events, caching, and API resources for production apps.
4
+ ---
5
+
6
+ # Laravel Development Patterns
7
+
8
+ Production-grade Laravel architecture patterns for scalable, maintainable applications.
9
+
10
+ ## When to Use
11
+
12
+ - Building Laravel web applications or APIs
13
+ - Structuring controllers, services, and domain logic
14
+ - Working with Eloquent models and relationships
15
+ - Designing APIs with resources and pagination
16
+ - Adding queues, events, caching, and background jobs
17
+
18
+ ## How It Works
19
+
20
+ - Structure the app around clear boundaries (controllers -> services/actions -> models).
21
+ - Use explicit bindings and scoped bindings to keep routing predictable; still enforce authorization for access control.
22
+ - Favor typed models, casts, and scopes to keep domain logic consistent.
23
+ - Keep IO-heavy work in queues and cache expensive reads.
24
+ - Centralize config in `config/*` and keep environments explicit.
25
+
26
+ ## Examples
27
+
28
+ ### Project Structure
29
+
30
+ Use a conventional Laravel layout with clear layer boundaries (HTTP, services/actions, models).
31
+
32
+ ### Recommended Layout
33
+
34
+ ```
35
+ app/
36
+ ├── Actions/ # Single-purpose use cases
37
+ ├── Console/
38
+ ├── Events/
39
+ ├── Exceptions/
40
+ ├── Http/
41
+ │ ├── Controllers/
42
+ │ ├── Middleware/
43
+ │ ├── Requests/ # Form request validation
44
+ │ └── Resources/ # API resources
45
+ ├── Jobs/
46
+ ├── Models/
47
+ ├── Policies/
48
+ ├── Providers/
49
+ ├── Services/ # Coordinating domain services
50
+ └── Support/
51
+ config/
52
+ database/
53
+ ├── factories/
54
+ ├── migrations/
55
+ └── seeders/
56
+ resources/
57
+ ├── views/
58
+ └── lang/
59
+ routes/
60
+ ├── api.php
61
+ ├── web.php
62
+ └── console.php
63
+ ```
64
+
65
+ ### Controllers -> Services -> Actions
66
+
67
+ Keep controllers thin. Put orchestration in services and single-purpose logic in actions.
68
+
69
+ ```php
70
+ final class CreateOrderAction
71
+ {
72
+ public function __construct(private OrderRepository $orders) {}
73
+
74
+ public function handle(CreateOrderData $data): Order
75
+ {
76
+ return $this->orders->create($data);
77
+ }
78
+ }
79
+
80
+ final class OrdersController extends Controller
81
+ {
82
+ public function __construct(private CreateOrderAction $createOrder) {}
83
+
84
+ public function store(StoreOrderRequest $request): JsonResponse
85
+ {
86
+ $order = $this->createOrder->handle($request->toDto());
87
+
88
+ return response()->json([
89
+ 'success' => true,
90
+ 'data' => OrderResource::make($order),
91
+ 'error' => null,
92
+ 'meta' => null,
93
+ ], 201);
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### Routing and Controllers
99
+
100
+ Prefer route-model binding and resource controllers for clarity.
101
+
102
+ ```php
103
+ use Illuminate\Support\Facades\Route;
104
+
105
+ Route::middleware('auth:sanctum')->group(function () {
106
+ Route::apiResource('projects', ProjectController::class);
107
+ });
108
+ ```
109
+
110
+ ### Route Model Binding (Scoped)
111
+
112
+ Use scoped bindings to prevent cross-tenant access.
113
+
114
+ ```php
115
+ Route::scopeBindings()->group(function () {
116
+ Route::get('/accounts/{account}/projects/{project}', [ProjectController::class, 'show']);
117
+ });
118
+ ```
119
+
120
+ ### Nested Routes and Binding Names
121
+
122
+ - Keep prefixes and paths consistent to avoid double nesting (e.g., `conversation` vs `conversations`).
123
+ - Use a single parameter name that matches the bound model (e.g., `{conversation}` for `Conversation`).
124
+ - Prefer scoped bindings when nesting to enforce parent-child relationships.
125
+
126
+ ```php
127
+ use App\Http\Controllers\Api\ConversationController;
128
+ use App\Http\Controllers\Api\MessageController;
129
+ use Illuminate\Support\Facades\Route;
130
+
131
+ Route::middleware('auth:sanctum')->prefix('conversations')->group(function () {
132
+ Route::post('/', [ConversationController::class, 'store'])->name('conversations.store');
133
+
134
+ Route::scopeBindings()->group(function () {
135
+ Route::get('/{conversation}', [ConversationController::class, 'show'])
136
+ ->name('conversations.show');
137
+
138
+ Route::post('/{conversation}/messages', [MessageController::class, 'store'])
139
+ ->name('conversation-messages.store');
140
+
141
+ Route::get('/{conversation}/messages/{message}', [MessageController::class, 'show'])
142
+ ->name('conversation-messages.show');
143
+ });
144
+ });
145
+ ```
146
+
147
+ If you want a parameter to resolve to a different model class, define explicit binding. For custom binding logic, use `Route::bind()` or implement `resolveRouteBinding()` on the model.
148
+
149
+ ```php
150
+ use App\Models\AiConversation;
151
+ use Illuminate\Support\Facades\Route;
152
+
153
+ Route::model('conversation', AiConversation::class);
154
+ ```
155
+
156
+ ### Service Container Bindings
157
+
158
+ Bind interfaces to implementations in a service provider for clear dependency wiring.
159
+
160
+ ```php
161
+ use App\Repositories\EloquentOrderRepository;
162
+ use App\Repositories\OrderRepository;
163
+ use Illuminate\Support\ServiceProvider;
164
+
165
+ final class AppServiceProvider extends ServiceProvider
166
+ {
167
+ public function register(): void
168
+ {
169
+ $this->app->bind(OrderRepository::class, EloquentOrderRepository::class);
170
+ }
171
+ }
172
+ ```
173
+
174
+ ### Eloquent Model Patterns
175
+
176
+ ### Model Configuration
177
+
178
+ ```php
179
+ final class Project extends Model
180
+ {
181
+ use HasFactory;
182
+
183
+ protected $fillable = ['name', 'owner_id', 'status'];
184
+
185
+ protected $casts = [
186
+ 'status' => ProjectStatus::class,
187
+ 'archived_at' => 'datetime',
188
+ ];
189
+
190
+ public function owner(): BelongsTo
191
+ {
192
+ return $this->belongsTo(User::class, 'owner_id');
193
+ }
194
+
195
+ public function scopeActive(Builder $query): Builder
196
+ {
197
+ return $query->whereNull('archived_at');
198
+ }
199
+ }
200
+ ```
201
+
202
+ ### Custom Casts and Value Objects
203
+
204
+ Use enums or value objects for strict typing.
205
+
206
+ ```php
207
+ use Illuminate\Database\Eloquent\Casts\Attribute;
208
+
209
+ protected $casts = [
210
+ 'status' => ProjectStatus::class,
211
+ ];
212
+ ```
213
+
214
+ ```php
215
+ protected function budgetCents(): Attribute
216
+ {
217
+ return Attribute::make(
218
+ get: fn (int $value) => Money::fromCents($value),
219
+ set: fn (Money $money) => $money->toCents(),
220
+ );
221
+ }
222
+ ```
223
+
224
+ ### Eager Loading to Avoid N+1
225
+
226
+ ```php
227
+ $orders = Order::query()
228
+ ->with(['customer', 'items.product'])
229
+ ->latest()
230
+ ->paginate(25);
231
+ ```
232
+
233
+ ### Query Objects for Complex Filters
234
+
235
+ ```php
236
+ final class ProjectQuery
237
+ {
238
+ public function __construct(private Builder $query) {}
239
+
240
+ public function ownedBy(int $userId): self
241
+ {
242
+ $query = clone $this->query;
243
+
244
+ return new self($query->where('owner_id', $userId));
245
+ }
246
+
247
+ public function active(): self
248
+ {
249
+ $query = clone $this->query;
250
+
251
+ return new self($query->whereNull('archived_at'));
252
+ }
253
+
254
+ public function builder(): Builder
255
+ {
256
+ return $this->query;
257
+ }
258
+ }
259
+ ```
260
+
261
+ ### Global Scopes and Soft Deletes
262
+
263
+ Use global scopes for default filtering and `SoftDeletes` for recoverable records.
264
+ Use either a global scope or a named scope for the same filter, not both, unless you intend layered behavior.
265
+
266
+ ```php
267
+ use Illuminate\Database\Eloquent\SoftDeletes;
268
+ use Illuminate\Database\Eloquent\Builder;
269
+
270
+ final class Project extends Model
271
+ {
272
+ use SoftDeletes;
273
+
274
+ protected static function booted(): void
275
+ {
276
+ static::addGlobalScope('active', function (Builder $builder): void {
277
+ $builder->whereNull('archived_at');
278
+ });
279
+ }
280
+ }
281
+ ```
282
+
283
+ ### Query Scopes for Reusable Filters
284
+
285
+ ```php
286
+ use Illuminate\Database\Eloquent\Builder;
287
+
288
+ final class Project extends Model
289
+ {
290
+ public function scopeOwnedBy(Builder $query, int $userId): Builder
291
+ {
292
+ return $query->where('owner_id', $userId);
293
+ }
294
+ }
295
+
296
+ // In service, repository etc.
297
+ $projects = Project::ownedBy($user->id)->get();
298
+ ```
299
+
300
+ ### Transactions for Multi-Step Updates
301
+
302
+ ```php
303
+ use Illuminate\Support\Facades\DB;
304
+
305
+ DB::transaction(function (): void {
306
+ $order->update(['status' => 'paid']);
307
+ $order->items()->update(['paid_at' => now()]);
308
+ });
309
+ ```
310
+
311
+ ### Migrations
312
+
313
+ ### Naming Convention
314
+
315
+ - File names use timestamps: `YYYY_MM_DD_HHMMSS_create_users_table.php`
316
+ - Migrations use anonymous classes (no named class); the filename communicates intent
317
+ - Table names are `snake_case` and plural by default
318
+
319
+ ### Example Migration
320
+
321
+ ```php
322
+ use Illuminate\Database\Migrations\Migration;
323
+ use Illuminate\Database\Schema\Blueprint;
324
+ use Illuminate\Support\Facades\Schema;
325
+
326
+ return new class extends Migration
327
+ {
328
+ public function up(): void
329
+ {
330
+ Schema::create('orders', function (Blueprint $table): void {
331
+ $table->id();
332
+ $table->foreignId('customer_id')->constrained()->cascadeOnDelete();
333
+ $table->string('status', 32)->index();
334
+ $table->unsignedInteger('total_cents');
335
+ $table->timestamps();
336
+ });
337
+ }
338
+
339
+ public function down(): void
340
+ {
341
+ Schema::dropIfExists('orders');
342
+ }
343
+ };
344
+ ```
345
+
346
+ ### Form Requests and Validation
347
+
348
+ Keep validation in form requests and transform inputs to DTOs.
349
+
350
+ ```php
351
+ use App\Models\Order;
352
+
353
+ final class StoreOrderRequest extends FormRequest
354
+ {
355
+ public function authorize(): bool
356
+ {
357
+ return $this->user()?->can('create', Order::class) ?? false;
358
+ }
359
+
360
+ public function rules(): array
361
+ {
362
+ return [
363
+ 'customer_id' => ['required', 'integer', 'exists:customers,id'],
364
+ 'items' => ['required', 'array', 'min:1'],
365
+ 'items.*.sku' => ['required', 'string'],
366
+ 'items.*.quantity' => ['required', 'integer', 'min:1'],
367
+ ];
368
+ }
369
+
370
+ public function toDto(): CreateOrderData
371
+ {
372
+ return new CreateOrderData(
373
+ customerId: (int) $this->validated('customer_id'),
374
+ items: $this->validated('items'),
375
+ );
376
+ }
377
+ }
378
+ ```
379
+
380
+ ### API Resources
381
+
382
+ Keep API responses consistent with resources and pagination.
383
+
384
+ ```php
385
+ $projects = Project::query()->active()->paginate(25);
386
+
387
+ return response()->json([
388
+ 'success' => true,
389
+ 'data' => ProjectResource::collection($projects->items()),
390
+ 'error' => null,
391
+ 'meta' => [
392
+ 'page' => $projects->currentPage(),
393
+ 'per_page' => $projects->perPage(),
394
+ 'total' => $projects->total(),
395
+ ],
396
+ ]);
397
+ ```
398
+
399
+ ### Events, Jobs, and Queues
400
+
401
+ - Emit domain events for side effects (emails, analytics)
402
+ - Use queued jobs for slow work (reports, exports, webhooks)
403
+ - Prefer idempotent handlers with retries and backoff
404
+
405
+ ### Caching
406
+
407
+ - Cache read-heavy endpoints and expensive queries
408
+ - Invalidate caches on model events (created/updated/deleted)
409
+ - Use tags when caching related data for easy invalidation
410
+
411
+ ### Configuration and Environments
412
+
413
+ - Keep secrets in `.env` and config in `config/*.php`
414
+ - Use per-environment config overrides and `config:cache` in production
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: laravel-plugin-discovery
3
+ description: Discover and evaluate Laravel packages via LaraPlugins.io MCP. Use when the user wants to find plugins, check package health, or assess Laravel/PHP compatibility.
4
+ ---
5
+
6
+ # Laravel Plugin Discovery
7
+
8
+ Find, evaluate, and choose healthy Laravel packages using the LaraPlugins.io MCP server.
9
+
10
+ ## When to Use
11
+
12
+ - User wants to find Laravel packages for a specific feature (e.g. "auth", "permissions", "admin panel")
13
+ - User asks "what package should I use for..." or "is there a Laravel package for..."
14
+ - User wants to check if a package is actively maintained
15
+ - User needs to verify Laravel version compatibility
16
+ - User wants to assess package health before adding to a project
17
+
18
+ ## MCP Requirement
19
+
20
+ LaraPlugins MCP server must be configured. Add to your `~/.claude.json` mcpServers:
21
+
22
+ ```json
23
+ "laraplugins": {
24
+ "type": "http",
25
+ "url": "https://laraplugins.io/mcp/plugins"
26
+ }
27
+ ```
28
+
29
+ No API key required — the server is free for the Laravel community.
30
+
31
+ ## MCP Tools
32
+
33
+ The LaraPlugins MCP provides two primary tools:
34
+
35
+ ### SearchPluginTool
36
+
37
+ Search packages by keyword, health score, vendor, and version compatibility.
38
+
39
+ **Parameters:**
40
+ - `text_search` (string, optional): Keyword to search (e.g. "permission", "admin", "api")
41
+ - `health_score` (string, optional): Filter by health band — `Healthy`, `Medium`, `Unhealthy`, or `Unrated`
42
+ - `laravel_compatibility` (string, optional): Filter by Laravel version — `"5"`, `"6"`, `"7"`, `"8"`, `"9"`, `"10"`, `"11"`, `"12"`, `"13"`
43
+ - `php_compatibility` (string, optional): Filter by PHP version — `"7.4"`, `"8.0"`, `"8.1"`, `"8.2"`, `"8.3"`, `"8.4"`, `"8.5"`
44
+ - `vendor_filter` (string, optional): Filter by vendor name (e.g. "spatie", "laravel")
45
+ - `page` (number, optional): Page number for pagination
46
+
47
+ ### GetPluginDetailsTool
48
+
49
+ Fetch detailed metrics, readme content, and version history for a specific package.
50
+
51
+ **Parameters:**
52
+ - `package` (string, required): Full Composer package name (e.g. "spatie/laravel-permission")
53
+ - `include_versions` (boolean, optional): Include version history in response
54
+
55
+ ---
56
+
57
+ ## How It Works
58
+
59
+ ### Finding Packages
60
+
61
+ When the user wants to discover packages for a feature:
62
+
63
+ 1. Use `SearchPluginTool` with relevant keywords
64
+ 2. Apply filters for health score, Laravel version, or PHP version
65
+ 3. Review the results with package names, descriptions, and health indicators
66
+
67
+ ### Evaluating Packages
68
+
69
+ When the user wants to assess a specific package:
70
+
71
+ 1. Use `GetPluginDetailsTool` with the package name
72
+ 2. Review health score, last updated date, Laravel version support
73
+ 3. Check vendor reputation and risk indicators
74
+
75
+ ### Checking Compatibility
76
+
77
+ When the user needs Laravel or PHP version compatibility:
78
+
79
+ 1. Search with `laravel_compatibility` filter set to their version
80
+ 2. Or get details on a specific package to see its supported versions
81
+
82
+ ---
83
+
84
+ ## Examples
85
+
86
+ ### Example: Find Authentication Packages
87
+
88
+ ```
89
+ SearchPluginTool({
90
+ text_search: "authentication",
91
+ health_score: "Healthy"
92
+ })
93
+ ```
94
+
95
+ Returns packages matching "authentication" with healthy status:
96
+ - spatie/laravel-permission
97
+ - laravel/breeze
98
+ - laravel/passport
99
+ - etc.
100
+
101
+ ### Example: Find Laravel 12 Compatible Packages
102
+
103
+ ```
104
+ SearchPluginTool({
105
+ text_search: "admin panel",
106
+ laravel_compatibility: "12"
107
+ })
108
+ ```
109
+
110
+ Returns packages compatible with Laravel 12.
111
+
112
+ ### Example: Get Package Details
113
+
114
+ ```
115
+ GetPluginDetailsTool({
116
+ package: "spatie/laravel-permission",
117
+ include_versions: true
118
+ })
119
+ ```
120
+
121
+ Returns:
122
+ - Health score and last activity
123
+ - Laravel/PHP version support
124
+ - Vendor reputation (risk score)
125
+ - Version history
126
+ - Brief description
127
+
128
+ ### Example: Find Packages by Vendor
129
+
130
+ ```
131
+ SearchPluginTool({
132
+ vendor_filter: "spatie",
133
+ health_score: "Healthy"
134
+ })
135
+ ```
136
+
137
+ Returns all healthy packages from vendor "spatie".
138
+
139
+ ---
140
+
141
+ ## Filtering Best Practices
142
+
143
+ ### By Health Score
144
+
145
+ | Health Band | Meaning |
146
+ |-------------|---------|
147
+ | `Healthy` | Active maintenance, recent updates |
148
+ | `Medium` | Occasional updates, may need attention |
149
+ | `Unhealthy` | Abandoned or infrequently maintained |
150
+ | `Unrated` | Not yet assessed |
151
+
152
+ **Recommendation**: Prefer `Healthy` packages for production applications.
153
+
154
+ ### By Laravel Version
155
+
156
+ | Version | Notes |
157
+ |---------|-------|
158
+ | `13` | Latest Laravel |
159
+ | `12` | Current stable |
160
+ | `11` | Still widely used |
161
+ | `10` | Legacy but common |
162
+ | `5`-`9` | Deprecated |
163
+
164
+ **Recommendation**: Match the target project's Laravel version.
165
+
166
+ ### Combining Filters
167
+
168
+ ```typescript
169
+ // Find healthy, Laravel 12 compatible packages for permissions
170
+ SearchPluginTool({
171
+ text_search: "permission",
172
+ health_score: "Healthy",
173
+ laravel_compatibility: "12"
174
+ })
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Response Interpretation
180
+
181
+ ### Search Results
182
+
183
+ Each result includes:
184
+ - Package name (e.g. `spatie/laravel-permission`)
185
+ - Brief description
186
+ - Health status indicator
187
+ - Laravel version support badges
188
+
189
+ ### Package Details
190
+
191
+ The detailed response includes:
192
+ - **Health Score**: Numeric or band indicator
193
+ - **Last Activity**: When the package was last updated
194
+ - **Laravel Support**: Version compatibility matrix
195
+ - **PHP Support**: PHP version compatibility
196
+ - **Risk Score**: Vendor trust indicators
197
+ - **Version History**: Recent release timeline
198
+
199
+ ---
200
+
201
+ ## Common Use Cases
202
+
203
+ | Scenario | Recommended Approach |
204
+ |----------|---------------------|
205
+ | "What package for auth?" | Search "auth" with healthy filter |
206
+ | "Is spatie/package still maintained?" | Get details, check health score |
207
+ | "Need Laravel 12 packages" | Search with laravel_compatibility: "12" |
208
+ | "Find admin panel packages" | Search "admin panel", review results |
209
+ | "Check vendor reputation" | Search by vendor, check details |
210
+
211
+ ---
212
+
213
+ ## Best Practices
214
+
215
+ 1. **Always filter by health** — Use `health_score: "Healthy"` for production projects
216
+ 2. **Match Laravel version** — Always check `laravel_compatibility` matches the target project
217
+ 3. **Check vendor reputation** — Prefer packages from known vendors (spatie, laravel, etc.)
218
+ 4. **Review before recommending** — Use GetPluginDetailsTool for a comprehensive assessment
219
+ 5. **No API key needed** — The MCP is free, no authentication required
220
+
221
+ ---
222
+
223
+ ## Related Skills
224
+
225
+ - `laravel-patterns` — Laravel architecture and patterns
226
+ - `laravel-tdd` — Test-driven development for Laravel
227
+ - `laravel-security` — Laravel security best practices
228
+ - `documentation-lookup` — General library documentation lookup (Context7)