@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,323 @@
1
+ ---
2
+ name: cpp-testing
3
+ description: Use only when writing/updating/fixing C++ tests, configuring GoogleTest/CTest, diagnosing failing or flaky tests, or adding coverage/sanitizers.
4
+ ---
5
+
6
+ # C++ Testing (Agent Skill)
7
+
8
+ Agent-focused testing workflow for modern C++ (C++17/20) using GoogleTest/GoogleMock with CMake/CTest.
9
+
10
+ ## When to Use
11
+
12
+ - Writing new C++ tests or fixing existing tests
13
+ - Designing unit/integration test coverage for C++ components
14
+ - Adding test coverage, CI gating, or regression protection
15
+ - Configuring CMake/CTest workflows for consistent execution
16
+ - Investigating test failures or flaky behavior
17
+ - Enabling sanitizers for memory/race diagnostics
18
+
19
+ ### When NOT to Use
20
+
21
+ - Implementing new product features without test changes
22
+ - Large-scale refactors unrelated to test coverage or failures
23
+ - Performance tuning without test regressions to validate
24
+ - Non-C++ projects or non-test tasks
25
+
26
+ ## Core Concepts
27
+
28
+ - **TDD loop**: red → green → refactor (tests first, minimal fix, then cleanups).
29
+ - **Isolation**: prefer dependency injection and fakes over global state.
30
+ - **Test layout**: `tests/unit`, `tests/integration`, `tests/testdata`.
31
+ - **Mocks vs fakes**: mock for interactions, fake for stateful behavior.
32
+ - **CTest discovery**: use `gtest_discover_tests()` for stable test discovery.
33
+ - **CI signal**: run subset first, then full suite with `--output-on-failure`.
34
+
35
+ ## TDD Workflow
36
+
37
+ Follow the RED → GREEN → REFACTOR loop:
38
+
39
+ 1. **RED**: write a failing test that captures the new behavior
40
+ 2. **GREEN**: implement the smallest change to pass
41
+ 3. **REFACTOR**: clean up while tests stay green
42
+
43
+ ```cpp
44
+ // tests/add_test.cpp
45
+ #include <gtest/gtest.h>
46
+
47
+ int Add(int a, int b); // Provided by production code.
48
+
49
+ TEST(AddTest, AddsTwoNumbers) { // RED
50
+ EXPECT_EQ(Add(2, 3), 5);
51
+ }
52
+
53
+ // src/add.cpp
54
+ int Add(int a, int b) { // GREEN
55
+ return a + b;
56
+ }
57
+
58
+ // REFACTOR: simplify/rename once tests pass
59
+ ```
60
+
61
+ ## Code Examples
62
+
63
+ ### Basic Unit Test (gtest)
64
+
65
+ ```cpp
66
+ // tests/calculator_test.cpp
67
+ #include <gtest/gtest.h>
68
+
69
+ int Add(int a, int b); // Provided by production code.
70
+
71
+ TEST(CalculatorTest, AddsTwoNumbers) {
72
+ EXPECT_EQ(Add(2, 3), 5);
73
+ }
74
+ ```
75
+
76
+ ### Fixture (gtest)
77
+
78
+ ```cpp
79
+ // tests/user_store_test.cpp
80
+ // Pseudocode stub: replace UserStore/User with project types.
81
+ #include <gtest/gtest.h>
82
+ #include <memory>
83
+ #include <optional>
84
+ #include <string>
85
+
86
+ struct User { std::string name; };
87
+ class UserStore {
88
+ public:
89
+ explicit UserStore(std::string /*path*/) {}
90
+ void Seed(std::initializer_list<User> /*users*/) {}
91
+ std::optional<User> Find(const std::string &/*name*/) { return User{"alice"}; }
92
+ };
93
+
94
+ class UserStoreTest : public ::testing::Test {
95
+ protected:
96
+ void SetUp() override {
97
+ store = std::make_unique<UserStore>(":memory:");
98
+ store->Seed({{"alice"}, {"bob"}});
99
+ }
100
+
101
+ std::unique_ptr<UserStore> store;
102
+ };
103
+
104
+ TEST_F(UserStoreTest, FindsExistingUser) {
105
+ auto user = store->Find("alice");
106
+ ASSERT_TRUE(user.has_value());
107
+ EXPECT_EQ(user->name, "alice");
108
+ }
109
+ ```
110
+
111
+ ### Mock (gmock)
112
+
113
+ ```cpp
114
+ // tests/notifier_test.cpp
115
+ #include <gmock/gmock.h>
116
+ #include <gtest/gtest.h>
117
+ #include <string>
118
+
119
+ class Notifier {
120
+ public:
121
+ virtual ~Notifier() = default;
122
+ virtual void Send(const std::string &message) = 0;
123
+ };
124
+
125
+ class MockNotifier : public Notifier {
126
+ public:
127
+ MOCK_METHOD(void, Send, (const std::string &message), (override));
128
+ };
129
+
130
+ class Service {
131
+ public:
132
+ explicit Service(Notifier &notifier) : notifier_(notifier) {}
133
+ void Publish(const std::string &message) { notifier_.Send(message); }
134
+
135
+ private:
136
+ Notifier &notifier_;
137
+ };
138
+
139
+ TEST(ServiceTest, SendsNotifications) {
140
+ MockNotifier notifier;
141
+ Service service(notifier);
142
+
143
+ EXPECT_CALL(notifier, Send("hello")).Times(1);
144
+ service.Publish("hello");
145
+ }
146
+ ```
147
+
148
+ ### CMake/CTest Quickstart
149
+
150
+ ```cmake
151
+ # CMakeLists.txt (excerpt)
152
+ cmake_minimum_required(VERSION 3.20)
153
+ project(example LANGUAGES CXX)
154
+
155
+ set(CMAKE_CXX_STANDARD 20)
156
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
157
+
158
+ include(FetchContent)
159
+ # Prefer project-locked versions. If using a tag, use a pinned version per project policy.
160
+ set(GTEST_VERSION v1.17.0) # Adjust to project policy.
161
+ FetchContent_Declare(
162
+ googletest
163
+ # Google Test framework (official repository)
164
+ URL https://github.com/google/googletest/archive/refs/tags/${GTEST_VERSION}.zip
165
+ )
166
+ FetchContent_MakeAvailable(googletest)
167
+
168
+ add_executable(example_tests
169
+ tests/calculator_test.cpp
170
+ src/calculator.cpp
171
+ )
172
+ target_link_libraries(example_tests GTest::gtest GTest::gmock GTest::gtest_main)
173
+
174
+ enable_testing()
175
+ include(GoogleTest)
176
+ gtest_discover_tests(example_tests)
177
+ ```
178
+
179
+ ```bash
180
+ cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
181
+ cmake --build build -j
182
+ ctest --test-dir build --output-on-failure
183
+ ```
184
+
185
+ ## Running Tests
186
+
187
+ ```bash
188
+ ctest --test-dir build --output-on-failure
189
+ ctest --test-dir build -R ClampTest
190
+ ctest --test-dir build -R "UserStoreTest.*" --output-on-failure
191
+ ```
192
+
193
+ ```bash
194
+ ./build/example_tests --gtest_filter=ClampTest.*
195
+ ./build/example_tests --gtest_filter=UserStoreTest.FindsExistingUser
196
+ ```
197
+
198
+ ## Debugging Failures
199
+
200
+ 1. Re-run the single failing test with gtest filter.
201
+ 2. Add scoped logging around the failing assertion.
202
+ 3. Re-run with sanitizers enabled.
203
+ 4. Expand to full suite once the root cause is fixed.
204
+
205
+ ## Coverage
206
+
207
+ Prefer target-level settings instead of global flags.
208
+
209
+ ```cmake
210
+ option(ENABLE_COVERAGE "Enable coverage flags" OFF)
211
+
212
+ if(ENABLE_COVERAGE)
213
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
214
+ target_compile_options(example_tests PRIVATE --coverage)
215
+ target_link_options(example_tests PRIVATE --coverage)
216
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
217
+ target_compile_options(example_tests PRIVATE -fprofile-instr-generate -fcoverage-mapping)
218
+ target_link_options(example_tests PRIVATE -fprofile-instr-generate)
219
+ endif()
220
+ endif()
221
+ ```
222
+
223
+ GCC + gcov + lcov:
224
+
225
+ ```bash
226
+ cmake -S . -B build-cov -DENABLE_COVERAGE=ON
227
+ cmake --build build-cov -j
228
+ ctest --test-dir build-cov
229
+ lcov --capture --directory build-cov --output-file coverage.info
230
+ lcov --remove coverage.info '/usr/*' --output-file coverage.info
231
+ genhtml coverage.info --output-directory coverage
232
+ ```
233
+
234
+ Clang + llvm-cov:
235
+
236
+ ```bash
237
+ cmake -S . -B build-llvm -DENABLE_COVERAGE=ON -DCMAKE_CXX_COMPILER=clang++
238
+ cmake --build build-llvm -j
239
+ LLVM_PROFILE_FILE="build-llvm/default.profraw" ctest --test-dir build-llvm
240
+ llvm-profdata merge -sparse build-llvm/default.profraw -o build-llvm/default.profdata
241
+ llvm-cov report build-llvm/example_tests -instr-profile=build-llvm/default.profdata
242
+ ```
243
+
244
+ ## Sanitizers
245
+
246
+ ```cmake
247
+ option(ENABLE_ASAN "Enable AddressSanitizer" OFF)
248
+ option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer" OFF)
249
+ option(ENABLE_TSAN "Enable ThreadSanitizer" OFF)
250
+
251
+ if(ENABLE_ASAN)
252
+ add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
253
+ add_link_options(-fsanitize=address)
254
+ endif()
255
+ if(ENABLE_UBSAN)
256
+ add_compile_options(-fsanitize=undefined -fno-omit-frame-pointer)
257
+ add_link_options(-fsanitize=undefined)
258
+ endif()
259
+ if(ENABLE_TSAN)
260
+ add_compile_options(-fsanitize=thread)
261
+ add_link_options(-fsanitize=thread)
262
+ endif()
263
+ ```
264
+
265
+ ## Flaky Tests Guardrails
266
+
267
+ - Never use `sleep` for synchronization; use condition variables or latches.
268
+ - Make temp directories unique per test and always clean them.
269
+ - Avoid real time, network, or filesystem dependencies in unit tests.
270
+ - Use deterministic seeds for randomized inputs.
271
+
272
+ ## Best Practices
273
+
274
+ ### DO
275
+
276
+ - Keep tests deterministic and isolated
277
+ - Prefer dependency injection over globals
278
+ - Use `ASSERT_*` for preconditions, `EXPECT_*` for multiple checks
279
+ - Separate unit vs integration tests in CTest labels or directories
280
+ - Run sanitizers in CI for memory and race detection
281
+
282
+ ### DON'T
283
+
284
+ - Don't depend on real time or network in unit tests
285
+ - Don't use sleeps as synchronization when a condition variable can be used
286
+ - Don't over-mock simple value objects
287
+ - Don't use brittle string matching for non-critical logs
288
+
289
+ ### Common Pitfalls
290
+
291
+ - **Using fixed temp paths** → Generate unique temp directories per test and clean them.
292
+ - **Relying on wall clock time** → Inject a clock or use fake time sources.
293
+ - **Flaky concurrency tests** → Use condition variables/latches and bounded waits.
294
+ - **Hidden global state** → Reset global state in fixtures or remove globals.
295
+ - **Over-mocking** → Prefer fakes for stateful behavior and only mock interactions.
296
+ - **Missing sanitizer runs** → Add ASan/UBSan/TSan builds in CI.
297
+ - **Coverage on debug-only builds** → Ensure coverage targets use consistent flags.
298
+
299
+ ## Optional Appendix: Fuzzing / Property Testing
300
+
301
+ Only use if the project already supports LLVM/libFuzzer or a property-testing library.
302
+
303
+ - **libFuzzer**: best for pure functions with minimal I/O.
304
+ - **RapidCheck**: property-based tests to validate invariants.
305
+
306
+ Minimal libFuzzer harness (pseudocode: replace ParseConfig):
307
+
308
+ ```cpp
309
+ #include <cstddef>
310
+ #include <cstdint>
311
+ #include <string>
312
+
313
+ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
314
+ std::string input(reinterpret_cast<const char *>(data), size);
315
+ // ParseConfig(input); // project function
316
+ return 0;
317
+ }
318
+ ```
319
+
320
+ ## Alternatives to GoogleTest
321
+
322
+ - **Catch2**: header-only, expressive matchers
323
+ - **doctest**: lightweight, minimal compile overhead
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: crosspost
3
+ description: Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.
4
+ ---
5
+
6
+ # Crosspost
7
+
8
+ Distribute content across platforms without turning it into the same fake post in four costumes.
9
+
10
+ ## When to Activate
11
+
12
+ - the user wants to publish the same underlying idea across multiple platforms
13
+ - a launch, update, release, or essay needs platform-specific versions
14
+ - the user says "crosspost", "post this everywhere", or "adapt this for X and LinkedIn"
15
+
16
+ ## Core Rules
17
+
18
+ 1. Do not publish identical copy across platforms.
19
+ 2. Preserve the author's voice across platforms.
20
+ 3. Adapt for constraints, not stereotypes.
21
+ 4. One post should still be about one thing.
22
+ 5. Do not invent a CTA, question, or moral if the source did not earn one.
23
+
24
+ ## Workflow
25
+
26
+ ### Step 1: Start with the Primary Version
27
+
28
+ Pick the strongest source version first:
29
+ - the original X post
30
+ - the original article
31
+ - the launch note
32
+ - the thread
33
+ - the memo or changelog
34
+
35
+ Use `content-engine` first if the source still needs voice shaping.
36
+
37
+ ### Step 2: Capture the Voice Fingerprint
38
+
39
+ Run `brand-voice` first if the source voice is not already captured in the current session.
40
+
41
+ Reuse the resulting `VOICE PROFILE` directly.
42
+ Do not build a second ad hoc voice checklist here unless the user explicitly wants a fresh override for this campaign.
43
+
44
+ ### Step 3: Adapt by Platform Constraint
45
+
46
+ ### X
47
+
48
+ - keep it compressed
49
+ - lead with the sharpest claim or artifact
50
+ - use a thread only when a single post would collapse the argument
51
+ - avoid hashtags and generic filler
52
+
53
+ ### LinkedIn
54
+
55
+ - add only the context needed for people outside the niche
56
+ - do not turn it into a fake founder-reflection post
57
+ - do not add a closing question just because it is LinkedIn
58
+ - do not force a polished "professional tone" if the author is naturally sharper
59
+
60
+ ### Threads
61
+
62
+ - keep it readable and direct
63
+ - do not write fake hyper-casual creator copy
64
+ - do not paste the LinkedIn version and shorten it
65
+
66
+ ### Bluesky
67
+
68
+ - keep it concise
69
+ - preserve the author's cadence
70
+ - do not rely on hashtags or feed-gaming language
71
+
72
+ ## Posting Order
73
+
74
+ Default:
75
+ 1. post the strongest native version first
76
+ 2. adapt for the secondary platforms
77
+ 3. stagger timing only if the user wants sequencing help
78
+
79
+ Do not add cross-platform references unless useful. Most of the time, the post should stand on its own.
80
+
81
+ ## Banned Patterns
82
+
83
+ Delete and rewrite any of these:
84
+ - "Excited to share"
85
+ - "Here's what I learned"
86
+ - "What do you think?"
87
+ - "link in bio" unless that is literally true
88
+ - generic "professional takeaway" paragraphs that were not in the source
89
+
90
+ ## Output Format
91
+
92
+ Return:
93
+ - the primary platform version
94
+ - adapted variants for each requested platform
95
+ - a short note on what changed and why
96
+ - any publishing constraint the user still needs to resolve
97
+
98
+ ## Quality Gate
99
+
100
+ Before delivering:
101
+ - each version reads like the same author under different constraints
102
+ - no platform version feels padded or sanitized
103
+ - no copy is duplicated verbatim across platforms
104
+ - any extra context added for LinkedIn or newsletter use is actually necessary
105
+
106
+ ## Related Skills
107
+
108
+ - `brand-voice` for reusable source-derived voice capture
109
+ - `content-engine` for voice capture and source shaping
110
+ - `x-api` for X publishing workflows