@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,182 @@
1
+ ---
2
+ name: cost-aware-llm-pipeline
3
+ description: Cost optimization patterns for LLM API usage — model routing by task complexity, budget tracking, retry logic, and prompt caching.
4
+ ---
5
+
6
+ # Cost-Aware LLM Pipeline
7
+
8
+ Patterns for controlling LLM API costs while maintaining quality. Combines model routing, budget tracking, retry logic, and prompt caching into a composable pipeline.
9
+
10
+ ## When to Activate
11
+
12
+ - Building applications that call LLM APIs (Claude, GPT, etc.)
13
+ - Processing batches of items with varying complexity
14
+ - Need to stay within a budget for API spend
15
+ - Optimizing cost without sacrificing quality on complex tasks
16
+
17
+ ## Core Concepts
18
+
19
+ ### 1. Model Routing by Task Complexity
20
+
21
+ Automatically select cheaper models for simple tasks, reserving expensive models for complex ones.
22
+
23
+ ```python
24
+ MODEL_SONNET = "claude-sonnet-4-6"
25
+ MODEL_HAIKU = "claude-haiku-4-5-20251001"
26
+
27
+ _SONNET_TEXT_THRESHOLD = 10_000 # chars
28
+ _SONNET_ITEM_THRESHOLD = 30 # items
29
+
30
+ def select_model(
31
+ text_length: int,
32
+ item_count: int,
33
+ force_model: str | None = None,
34
+ ) -> str:
35
+ """Select model based on task complexity."""
36
+ if force_model is not None:
37
+ return force_model
38
+ if text_length >= _SONNET_TEXT_THRESHOLD or item_count >= _SONNET_ITEM_THRESHOLD:
39
+ return MODEL_SONNET # Complex task
40
+ return MODEL_HAIKU # Simple task (3-4x cheaper)
41
+ ```
42
+
43
+ ### 2. Immutable Cost Tracking
44
+
45
+ Track cumulative spend with frozen dataclasses. Each API call returns a new tracker — never mutates state.
46
+
47
+ ```python
48
+ from dataclasses import dataclass
49
+
50
+ @dataclass(frozen=True, slots=True)
51
+ class CostRecord:
52
+ model: str
53
+ input_tokens: int
54
+ output_tokens: int
55
+ cost_usd: float
56
+
57
+ @dataclass(frozen=True, slots=True)
58
+ class CostTracker:
59
+ budget_limit: float = 1.00
60
+ records: tuple[CostRecord, ...] = ()
61
+
62
+ def add(self, record: CostRecord) -> "CostTracker":
63
+ """Return new tracker with added record (never mutates self)."""
64
+ return CostTracker(
65
+ budget_limit=self.budget_limit,
66
+ records=(*self.records, record),
67
+ )
68
+
69
+ @property
70
+ def total_cost(self) -> float:
71
+ return sum(r.cost_usd for r in self.records)
72
+
73
+ @property
74
+ def over_budget(self) -> bool:
75
+ return self.total_cost > self.budget_limit
76
+ ```
77
+
78
+ ### 3. Narrow Retry Logic
79
+
80
+ Retry only on transient errors. Fail fast on authentication or bad request errors.
81
+
82
+ ```python
83
+ from anthropic import (
84
+ APIConnectionError,
85
+ InternalServerError,
86
+ RateLimitError,
87
+ )
88
+
89
+ _RETRYABLE_ERRORS = (APIConnectionError, RateLimitError, InternalServerError)
90
+ _MAX_RETRIES = 3
91
+
92
+ def call_with_retry(func, *, max_retries: int = _MAX_RETRIES):
93
+ """Retry only on transient errors, fail fast on others."""
94
+ for attempt in range(max_retries):
95
+ try:
96
+ return func()
97
+ except _RETRYABLE_ERRORS:
98
+ if attempt == max_retries - 1:
99
+ raise
100
+ time.sleep(2 ** attempt) # Exponential backoff
101
+ # AuthenticationError, BadRequestError etc. → raise immediately
102
+ ```
103
+
104
+ ### 4. Prompt Caching
105
+
106
+ Cache long system prompts to avoid resending them on every request.
107
+
108
+ ```python
109
+ messages = [
110
+ {
111
+ "role": "user",
112
+ "content": [
113
+ {
114
+ "type": "text",
115
+ "text": system_prompt,
116
+ "cache_control": {"type": "ephemeral"}, # Cache this
117
+ },
118
+ {
119
+ "type": "text",
120
+ "text": user_input, # Variable part
121
+ },
122
+ ],
123
+ }
124
+ ]
125
+ ```
126
+
127
+ ## Composition
128
+
129
+ Combine all four techniques in a single pipeline function:
130
+
131
+ ```python
132
+ def process(text: str, config: Config, tracker: CostTracker) -> tuple[Result, CostTracker]:
133
+ # 1. Route model
134
+ model = select_model(len(text), estimated_items, config.force_model)
135
+
136
+ # 2. Check budget
137
+ if tracker.over_budget:
138
+ raise BudgetExceededError(tracker.total_cost, tracker.budget_limit)
139
+
140
+ # 3. Call with retry + caching
141
+ response = call_with_retry(lambda: client.messages.create(
142
+ model=model,
143
+ messages=build_cached_messages(system_prompt, text),
144
+ ))
145
+
146
+ # 4. Track cost (immutable)
147
+ record = CostRecord(model=model, input_tokens=..., output_tokens=..., cost_usd=...)
148
+ tracker = tracker.add(record)
149
+
150
+ return parse_result(response), tracker
151
+ ```
152
+
153
+ ## Pricing Reference (2025-2026)
154
+
155
+ | Model | Input ($/1M tokens) | Output ($/1M tokens) | Relative Cost |
156
+ |-------|---------------------|----------------------|---------------|
157
+ | Haiku 4.5 | $0.80 | $4.00 | 1x |
158
+ | Sonnet 4.6 | $3.00 | $15.00 | ~4x |
159
+ | Opus 4.5 | $15.00 | $75.00 | ~19x |
160
+
161
+ ## Best Practices
162
+
163
+ - **Start with the cheapest model** and only route to expensive models when complexity thresholds are met
164
+ - **Set explicit budget limits** before processing batches — fail early rather than overspend
165
+ - **Log model selection decisions** so you can tune thresholds based on real data
166
+ - **Use prompt caching** for system prompts over 1024 tokens — saves both cost and latency
167
+ - **Never retry on authentication or validation errors** — only transient failures (network, rate limit, server error)
168
+
169
+ ## Anti-Patterns to Avoid
170
+
171
+ - Using the most expensive model for all requests regardless of complexity
172
+ - Retrying on all errors (wastes budget on permanent failures)
173
+ - Mutating cost tracking state (makes debugging and auditing difficult)
174
+ - Hardcoding model names throughout the codebase (use constants or config)
175
+ - Ignoring prompt caching for repetitive system prompts
176
+
177
+ ## When to Use
178
+
179
+ - Any application calling Claude, OpenAI, or similar LLM APIs
180
+ - Batch processing pipelines where cost adds up quickly
181
+ - Multi-model architectures that need intelligent routing
182
+ - Production systems that need budget guardrails
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: cost-tracking
3
+ description: Track and report Claude Code token usage, spending, and budgets from a local cost-tracking database. Use when the user asks about costs, spending, usage, tokens, budgets, or cost breakdowns by project, tool, session, or date.
4
+ origin: community
5
+ ---
6
+
7
+ # Cost Tracking
8
+
9
+ Use this skill to analyze Claude Code cost and usage history from a local SQLite
10
+ database. It is intended for users who already have a cost-tracking hook or
11
+ plugin writing usage rows to `~/.claude-cost-tracker/usage.db`.
12
+
13
+ Source: salvaged from stale community PR #1304 by `MayurBhavsar`.
14
+
15
+ ## When to Use
16
+
17
+ - The user asks "how much have I spent?", "what did this session cost?", or
18
+ "what is my token usage?"
19
+ - The user mentions budgets, spending limits, overruns, or cost controls.
20
+ - The user wants a cost breakdown by project, tool, session, model, or date.
21
+ - The user wants to compare today against yesterday or inspect a recent trend.
22
+ - The user asks for a CSV export of recent usage records.
23
+
24
+ ## How It Works
25
+
26
+ First verify prerequisites:
27
+
28
+ ```bash
29
+ command -v sqlite3 >/dev/null && echo "sqlite3 available" || echo "sqlite3 missing"
30
+ test -f ~/.claude-cost-tracker/usage.db && echo "Database found" || echo "Database not found"
31
+ ```
32
+
33
+ If the database is missing, do not fabricate usage data. Tell the user that cost
34
+ tracking is not configured and suggest installing or enabling a trusted local
35
+ cost-tracking hook/plugin.
36
+
37
+ The expected `usage` table usually contains one row per tool call or model
38
+ interaction. Column names vary by tracker, but the examples below assume:
39
+
40
+ | Column | Meaning |
41
+ | --- | --- |
42
+ | `timestamp` | ISO timestamp for the usage event |
43
+ | `project` | Project or repository name |
44
+ | `tool_name` | Tool or event name |
45
+ | `input_tokens` | Input token count, when recorded |
46
+ | `output_tokens` | Output token count, when recorded |
47
+ | `cost_usd` | Precomputed cost in USD |
48
+ | `session_id` | Claude Code session identifier |
49
+ | `model` | Model used for the event |
50
+
51
+ Prefer `cost_usd` over hand-calculating pricing. Model prices and cache pricing
52
+ change over time, and the tracker should be the source of truth for how each row
53
+ was priced.
54
+
55
+ ## Examples
56
+
57
+ ### Quick Summary
58
+
59
+ ```bash
60
+ sqlite3 ~/.claude-cost-tracker/usage.db "
61
+ SELECT
62
+ 'Today: $' || ROUND(COALESCE(SUM(CASE WHEN date(timestamp) = date('now') THEN cost_usd END), 0), 4) ||
63
+ ' | Total: $' || ROUND(COALESCE(SUM(cost_usd), 0), 4) ||
64
+ ' | Calls: ' || COUNT(*) ||
65
+ ' | Sessions: ' || COUNT(DISTINCT session_id)
66
+ FROM usage;
67
+ "
68
+ ```
69
+
70
+ ### Cost By Project
71
+
72
+ ```bash
73
+ sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
74
+ SELECT project, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
75
+ FROM usage
76
+ GROUP BY project
77
+ ORDER BY cost DESC;
78
+ "
79
+ ```
80
+
81
+ ### Cost By Tool
82
+
83
+ ```bash
84
+ sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
85
+ SELECT tool_name, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
86
+ FROM usage
87
+ GROUP BY tool_name
88
+ ORDER BY cost DESC;
89
+ "
90
+ ```
91
+
92
+ ### Last Seven Days
93
+
94
+ ```bash
95
+ sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
96
+ SELECT date(timestamp) AS date, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
97
+ FROM usage
98
+ GROUP BY date(timestamp)
99
+ ORDER BY date DESC
100
+ LIMIT 7;
101
+ "
102
+ ```
103
+
104
+ ### Session Drilldown
105
+
106
+ ```bash
107
+ sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
108
+ SELECT session_id,
109
+ MIN(timestamp) AS started,
110
+ MAX(timestamp) AS ended,
111
+ ROUND(SUM(cost_usd), 4) AS cost,
112
+ COUNT(*) AS calls
113
+ FROM usage
114
+ GROUP BY session_id
115
+ ORDER BY started DESC
116
+ LIMIT 10;
117
+ "
118
+ ```
119
+
120
+ ## Reporting Guidance
121
+
122
+ When presenting cost data, include:
123
+
124
+ 1. Today's spend and yesterday comparison.
125
+ 2. Total spend across the tracked database.
126
+ 3. Top projects ranked by cost.
127
+ 4. Top tools ranked by cost.
128
+ 5. Session count and average cost per session when enough data exists.
129
+
130
+ For small amounts, format currency with four decimal places. For larger amounts,
131
+ two decimals are enough.
132
+
133
+ ## Anti-Patterns
134
+
135
+ - Do not estimate costs from raw token counts when `cost_usd` is present.
136
+ - Do not assume the database exists without checking.
137
+ - Do not run unbounded `SELECT *` exports on large databases.
138
+ - Do not hard-code current model pricing in user-facing answers.
139
+ - Do not recommend installing unreviewed hooks or plugins that execute arbitrary
140
+ code.
141
+
142
+ ## Related
143
+
144
+ - `/cost-report` - Command-form report using the same database.
145
+ - `cost-aware-llm-pipeline` - Model-routing and budget-design patterns.
146
+ - `token-budget-advisor` - Context and token-budget planning.
147
+ - `strategic-compact` - Context compaction to reduce repeated token spend.
@@ -0,0 +1,202 @@
1
+ ---
2
+ name: council
3
+ description: Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls. Use when multiple valid paths exist and you need structured disagreement before choosing.
4
+ ---
5
+
6
+ # Council
7
+
8
+ Convene four advisors for ambiguous decisions:
9
+ - the in-context Claude voice
10
+ - a Skeptic subagent
11
+ - a Pragmatist subagent
12
+ - a Critic subagent
13
+
14
+ This is for **decision-making under ambiguity**, not code review, implementation planning, or architecture design.
15
+
16
+ ## When to Use
17
+
18
+ Use council when:
19
+ - a decision has multiple credible paths and no obvious winner
20
+ - you need explicit tradeoff surfacing
21
+ - the user asks for second opinions, dissent, or multiple perspectives
22
+ - conversational anchoring is a real risk
23
+ - a go / no-go call would benefit from adversarial challenge
24
+
25
+ Examples:
26
+ - monorepo vs polyrepo
27
+ - ship now vs hold for polish
28
+ - feature flag vs full rollout
29
+ - simplify scope vs keep strategic breadth
30
+
31
+ ## When NOT to Use
32
+
33
+ | Instead of council | Use |
34
+ | --- | --- |
35
+ | Verifying whether output is correct | `santa-method` |
36
+ | Breaking a feature into implementation steps | `planner` |
37
+ | Designing system architecture | `architect` |
38
+ | Reviewing code for bugs or security | `code-reviewer` or `santa-method` |
39
+ | Straight factual questions | just answer directly |
40
+ | Obvious execution tasks | just do the task |
41
+
42
+ ## Roles
43
+
44
+ | Voice | Lens |
45
+ | --- | --- |
46
+ | Architect | correctness, maintainability, long-term implications |
47
+ | Skeptic | premise challenge, simplification, assumption breaking |
48
+ | Pragmatist | shipping speed, user impact, operational reality |
49
+ | Critic | edge cases, downside risk, failure modes |
50
+
51
+ The three external voices should be launched as fresh subagents with **only the question and relevant context**, not the full ongoing conversation. That is the anti-anchoring mechanism.
52
+
53
+ ## Workflow
54
+
55
+ ### 1. Extract the real question
56
+
57
+ Reduce the decision to one explicit prompt:
58
+ - what are we deciding?
59
+ - what constraints matter?
60
+ - what counts as success?
61
+
62
+ If the question is vague, ask one clarifying question before convening the council.
63
+
64
+ ### 2. Gather only the necessary context
65
+
66
+ If the decision is codebase-specific:
67
+ - collect the relevant files, snippets, issue text, or metrics
68
+ - keep it compact
69
+ - include only the context needed to make the decision
70
+
71
+ If the decision is strategic/general:
72
+ - skip repo snippets unless they materially change the answer
73
+
74
+ ### 3. Form the Architect position first
75
+
76
+ Before reading other voices, write down:
77
+ - your initial position
78
+ - the three strongest reasons for it
79
+ - the main risk in your preferred path
80
+
81
+ Do this first so the synthesis does not simply mirror the external voices.
82
+
83
+ ### 4. Launch three independent voices in parallel
84
+
85
+ Each subagent gets:
86
+ - the decision question
87
+ - compact context if needed
88
+ - a strict role
89
+ - no unnecessary conversation history
90
+
91
+ Prompt shape:
92
+
93
+ ```text
94
+ You are the [ROLE] on a four-voice decision council.
95
+
96
+ Question:
97
+ [decision question]
98
+
99
+ Context:
100
+ [only the relevant snippets or constraints]
101
+
102
+ Respond with:
103
+ 1. Position — 1-2 sentences
104
+ 2. Reasoning — 3 concise bullets
105
+ 3. Risk — biggest risk in your recommendation
106
+ 4. Surprise — one thing the other voices may miss
107
+
108
+ Be direct. No hedging. Keep it under 300 words.
109
+ ```
110
+
111
+ Role emphasis:
112
+ - Skeptic: challenge framing, question assumptions, propose the simplest credible alternative
113
+ - Pragmatist: optimize for speed, simplicity, and real-world execution
114
+ - Critic: surface downside risk, edge cases, and reasons the plan could fail
115
+
116
+ ### 5. Synthesize with bias guardrails
117
+
118
+ You are both a participant and the synthesizer, so use these rules:
119
+ - do not dismiss an external view without explaining why
120
+ - if an external voice changed your recommendation, say so explicitly
121
+ - always include the strongest dissent, even if you reject it
122
+ - if two voices align against your initial position, treat that as a real signal
123
+ - keep the raw positions visible before the verdict
124
+
125
+ ### 6. Present a compact verdict
126
+
127
+ Use this output shape:
128
+
129
+ ```markdown
130
+ ## Council: [short decision title]
131
+
132
+ **Architect:** [1-2 sentence position]
133
+ [1 line on why]
134
+
135
+ **Skeptic:** [1-2 sentence position]
136
+ [1 line on why]
137
+
138
+ **Pragmatist:** [1-2 sentence position]
139
+ [1 line on why]
140
+
141
+ **Critic:** [1-2 sentence position]
142
+ [1 line on why]
143
+
144
+ ### Verdict
145
+ - **Consensus:** [where they align]
146
+ - **Strongest dissent:** [most important disagreement]
147
+ - **Premise check:** [did the Skeptic challenge the question itself?]
148
+ - **Recommendation:** [the synthesized path]
149
+ ```
150
+
151
+ Keep it scannable on a phone screen.
152
+
153
+ ## Persistence Rule
154
+
155
+ Do **not** write ad-hoc notes to `~/.claude/notes` or other shadow paths from this skill.
156
+
157
+ If the council materially changes the recommendation:
158
+ - use `knowledge-ops` to store the lesson in the right durable location
159
+ - or use `/save-session` if the outcome belongs in session memory
160
+ - or update the relevant GitHub / Linear issue directly if the decision changes active execution truth
161
+
162
+ Only persist a decision when it changes something real.
163
+
164
+ ## Multi-Round Follow-up
165
+
166
+ Default is one round.
167
+
168
+ If the user wants another round:
169
+ - keep the new question focused
170
+ - include the previous verdict only if it is necessary
171
+ - keep the Skeptic as clean as possible to preserve anti-anchoring value
172
+
173
+ ## Anti-Patterns
174
+
175
+ - using council for code review
176
+ - using council when the task is just implementation work
177
+ - feeding the subagents the entire conversation transcript
178
+ - hiding disagreement in the final verdict
179
+ - persisting every decision as a note regardless of importance
180
+
181
+ ## Related Skills
182
+
183
+ - `santa-method` — adversarial verification
184
+ - `knowledge-ops` — persist durable decision deltas correctly
185
+ - `search-first` — gather external reference material before the council if needed
186
+ - `architecture-decision-records` — formalize the outcome when the decision becomes long-lived system policy
187
+
188
+ ## Example
189
+
190
+ Question:
191
+
192
+ ```text
193
+ Should we ship the toolset 2.0 as alpha now, or hold until the control-plane UI is more complete?
194
+ ```
195
+
196
+ Likely council shape:
197
+ - Architect pushes for structural integrity and avoiding a confused surface
198
+ - Skeptic questions whether the UI is actually the gating factor
199
+ - Pragmatist asks what can be shipped now without harming trust
200
+ - Critic focuses on support burden, expectation debt, and rollout confusion
201
+
202
+ The value is not unanimity. The value is making the disagreement legible before choosing.