@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,178 @@
1
+ ---
2
+ name: laravel-verification
3
+ description: "Verification loop for Laravel projects: env checks, linting, static analysis, tests with coverage, security scans, and deployment readiness."
4
+ ---
5
+
6
+ # Laravel Verification Loop
7
+
8
+ Run before PRs, after major changes, and pre-deploy.
9
+
10
+ ## When to Use
11
+
12
+ - Before opening a pull request for a Laravel project
13
+ - After major refactors or dependency upgrades
14
+ - Pre-deployment verification for staging or production
15
+ - Running full lint -> test -> security -> deploy readiness pipeline
16
+
17
+ ## How It Works
18
+
19
+ - Run phases sequentially from environment checks through deployment readiness so each layer builds on the last.
20
+ - Environment and Composer checks gate everything else; stop immediately if they fail.
21
+ - Linting/static analysis should be clean before running full tests and coverage.
22
+ - Security and migration reviews happen after tests so you verify behavior before data or release steps.
23
+ - Build/deploy readiness and queue/scheduler checks are final gates; any failure blocks release.
24
+
25
+ ## Phase 1: Environment Checks
26
+
27
+ ```bash
28
+ php -v
29
+ composer --version
30
+ php artisan --version
31
+ ```
32
+
33
+ - Verify `.env` is present and required keys exist
34
+ - Confirm `APP_DEBUG=false` for production environments
35
+ - Confirm `APP_ENV` matches the target deployment (`production`, `staging`)
36
+
37
+ If using Laravel Sail locally:
38
+
39
+ ```bash
40
+ ./vendor/bin/sail php -v
41
+ ./vendor/bin/sail artisan --version
42
+ ```
43
+
44
+ ## Phase 1.5: Composer and Autoload
45
+
46
+ ```bash
47
+ composer validate
48
+ composer dump-autoload -o
49
+ ```
50
+
51
+ ## Phase 2: Linting and Static Analysis
52
+
53
+ ```bash
54
+ vendor/bin/pint --test
55
+ vendor/bin/phpstan analyse
56
+ ```
57
+
58
+ If your project uses Psalm instead of PHPStan:
59
+
60
+ ```bash
61
+ vendor/bin/psalm
62
+ ```
63
+
64
+ ## Phase 3: Tests and Coverage
65
+
66
+ ```bash
67
+ php artisan test
68
+ ```
69
+
70
+ Coverage (CI):
71
+
72
+ ```bash
73
+ XDEBUG_MODE=coverage php artisan test --coverage
74
+ ```
75
+
76
+ CI example (format -> static analysis -> tests):
77
+
78
+ ```bash
79
+ vendor/bin/pint --test
80
+ vendor/bin/phpstan analyse
81
+ XDEBUG_MODE=coverage php artisan test --coverage
82
+ ```
83
+
84
+ ## Phase 4: Security and Dependency Checks
85
+
86
+ ```bash
87
+ composer audit
88
+ ```
89
+
90
+ ## Phase 5: Database and Migrations
91
+
92
+ ```bash
93
+ php artisan migrate --pretend
94
+ php artisan migrate:status
95
+ ```
96
+
97
+ - Review destructive migrations carefully
98
+ - Ensure migration filenames follow `Y_m_d_His_*` (e.g., `2025_03_14_154210_create_orders_table.php`) and describe the change clearly
99
+ - Ensure rollbacks are possible
100
+ - Verify `down()` methods and avoid irreversible data loss without explicit backups
101
+
102
+ ## Phase 6: Build and Deployment Readiness
103
+
104
+ ```bash
105
+ php artisan optimize:clear
106
+ php artisan config:cache
107
+ php artisan route:cache
108
+ php artisan view:cache
109
+ ```
110
+
111
+ - Ensure cache warmups succeed in production configuration
112
+ - Verify queue workers and scheduler are configured
113
+ - Confirm `storage/` and `bootstrap/cache/` are writable in the target environment
114
+
115
+ ## Phase 7: Queue and Scheduler Checks
116
+
117
+ ```bash
118
+ php artisan schedule:list
119
+ php artisan queue:failed
120
+ ```
121
+
122
+ If Horizon is used:
123
+
124
+ ```bash
125
+ php artisan horizon:status
126
+ ```
127
+
128
+ If `queue:monitor` is available, use it to check backlog without processing jobs:
129
+
130
+ ```bash
131
+ php artisan queue:monitor default --max=100
132
+ ```
133
+
134
+ Active verification (staging only): dispatch a no-op job to a dedicated queue and run a single worker to process it (ensure a non-`sync` queue connection is configured).
135
+
136
+ ```bash
137
+ php artisan tinker --execute="dispatch((new App\\Jobs\\QueueHealthcheck())->onQueue('healthcheck'))"
138
+ php artisan queue:work --once --queue=healthcheck
139
+ ```
140
+
141
+ Verify the job produced the expected side effect (log entry, healthcheck table row, or metric).
142
+
143
+ Only run this on non-production environments where processing a test job is safe.
144
+
145
+ ## Examples
146
+
147
+ Minimal flow:
148
+
149
+ ```bash
150
+ php -v
151
+ composer --version
152
+ php artisan --version
153
+ composer validate
154
+ vendor/bin/pint --test
155
+ vendor/bin/phpstan analyse
156
+ php artisan test
157
+ composer audit
158
+ php artisan migrate --pretend
159
+ php artisan config:cache
160
+ php artisan queue:failed
161
+ ```
162
+
163
+ CI-style pipeline:
164
+
165
+ ```bash
166
+ composer validate
167
+ composer dump-autoload -o
168
+ vendor/bin/pint --test
169
+ vendor/bin/phpstan analyse
170
+ XDEBUG_MODE=coverage php artisan test --coverage
171
+ composer audit
172
+ php artisan migrate --pretend
173
+ php artisan optimize:clear
174
+ php artisan config:cache
175
+ php artisan route:cache
176
+ php artisan view:cache
177
+ php artisan schedule:list
178
+ ```
@@ -0,0 +1,320 @@
1
+ ---
2
+ name: lead-intelligence
3
+ description: AI-native lead intelligence and outreach pipeline. Replaces Apollo, Clay, and ZoomInfo with agent-powered signal scoring, mutual ranking, warm path discovery, source-derived voice modeling, and channel-specific outreach across email, LinkedIn, and X. Use when the user wants to find, qualify, and reach high-value contacts.
4
+ ---
5
+
6
+ # Lead Intelligence
7
+
8
+ Agent-powered lead intelligence pipeline that finds, scores, and reaches high-value contacts through social graph analysis and warm path discovery.
9
+
10
+ ## When to Activate
11
+
12
+ - User wants to find leads or prospects in a specific industry
13
+ - Building an outreach list for partnerships, sales, or fundraising
14
+ - Researching who to reach out to and the best path to reach them
15
+ - User says "find leads", "outreach list", "who should I reach out to", "warm intros"
16
+ - Needs to score or rank a list of contacts by relevance
17
+ - Wants to map mutual connections to find warm introduction paths
18
+
19
+ ## Tool Requirements
20
+
21
+ ### Required
22
+ - **Exa MCP** — Deep web search for people, companies, and signals (`web_search_exa`)
23
+ - **X API** — Follower/following graph, mutual analysis, recent activity (`X_BEARER_TOKEN`, plus write-context credentials such as `X_CONSUMER_KEY`, `X_CONSUMER_SECRET`, `X_ACCESS_TOKEN`, `X_ACCESS_TOKEN_SECRET`)
24
+
25
+ ### Optional (enhance results)
26
+ - **LinkedIn** — Direct API if available, otherwise browser control for search, profile inspection, and drafting
27
+ - **Apollo/Clay API** — For enrichment cross-reference if user has access
28
+ - **GitHub MCP** — For developer-centric lead qualification
29
+ - **Apple Mail / Mail.app** — Draft cold or warm email without sending automatically
30
+ - **Browser control** — For LinkedIn and X when API coverage is missing or constrained
31
+
32
+ ## Pipeline Overview
33
+
34
+ ```
35
+ ┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
36
+ │ 1. Signal │────>│ 2. Mutual │────>│ 3. Warm Path │────>│ 4. Enrich │────>│ 5. Outreach │
37
+ │ Scoring │ │ Ranking │ │ Discovery │ │ │ │ Draft │
38
+ └─────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘ └─────────────────┘
39
+ ```
40
+
41
+ ## Voice Before Outreach
42
+
43
+ Do not draft outbound from generic sales copy.
44
+
45
+ Run `brand-voice` first whenever the user's voice matters. Reuse its `VOICE PROFILE` instead of re-deriving style ad hoc inside this skill.
46
+
47
+ If live X access is available, pull recent original posts before drafting. If not, use supplied examples or the best repo/site material available.
48
+
49
+ ## Stage 1: Signal Scoring
50
+
51
+ Search for high-signal people in target verticals. Assign a weight to each based on:
52
+
53
+ | Signal | Weight | Source |
54
+ |--------|--------|--------|
55
+ | Role/title alignment | 30% | Exa, LinkedIn |
56
+ | Industry match | 25% | Exa company search |
57
+ | Recent activity on topic | 20% | X API search, Exa |
58
+ | Follower count / influence | 10% | X API |
59
+ | Location proximity | 10% | Exa, LinkedIn |
60
+ | Engagement with your content | 5% | X API interactions |
61
+
62
+ ### Signal Search Approach
63
+
64
+ ```python
65
+ # Step 1: Define target parameters
66
+ target_verticals = ["prediction markets", "AI tooling", "developer tools"]
67
+ target_roles = ["founder", "CEO", "CTO", "VP Engineering", "investor", "partner"]
68
+ target_locations = ["San Francisco", "New York", "London", "remote"]
69
+
70
+ # Step 2: Exa deep search for people
71
+ for vertical in target_verticals:
72
+ results = web_search_exa(
73
+ query=f"{vertical} {role} founder CEO",
74
+ category="company",
75
+ numResults=20
76
+ )
77
+ # Score each result
78
+
79
+ # Step 3: X API search for active voices
80
+ x_search = search_recent_tweets(
81
+ query="prediction markets OR AI tooling OR developer tools",
82
+ max_results=100
83
+ )
84
+ # Extract and score unique authors
85
+ ```
86
+
87
+ ## Stage 2: Mutual Ranking
88
+
89
+ For each scored target, analyze the user's social graph to find the warmest path.
90
+
91
+ ### Ranking Model
92
+
93
+ 1. Pull user's X following list and LinkedIn connections
94
+ 2. For each high-signal target, check for shared connections
95
+ 3. Apply the `social-graph-ranker` model to score bridge value
96
+ 4. Rank mutuals by:
97
+
98
+ | Factor | Weight |
99
+ |--------|--------|
100
+ | Number of connections to targets | 40% — highest weight, most connections = highest rank |
101
+ | Mutual's current role/company | 20% — decision maker vs individual contributor |
102
+ | Mutual's location | 15% — same city = easier intro |
103
+ | Industry alignment | 15% — same vertical = natural intro |
104
+ | Mutual's X handle / LinkedIn | 10% — identifiability for outreach |
105
+
106
+ Canonical rule:
107
+
108
+ ```text
109
+ Use social-graph-ranker when the user wants the graph math itself,
110
+ the bridge ranking as a standalone report, or explicit decay-model tuning.
111
+ ```
112
+
113
+ Inside this skill, use the same weighted bridge model:
114
+
115
+ ```text
116
+ B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1)
117
+ R(m) = B_ext(m) · (1 + β · engagement(m))
118
+ ```
119
+
120
+ Interpretation:
121
+ - Tier 1: high `R(m)` and direct bridge paths -> warm intro asks
122
+ - Tier 2: medium `R(m)` and one-hop bridge paths -> conditional intro asks
123
+ - Tier 3: no viable bridge -> direct cold outreach using the same lead record
124
+
125
+ ### Output Format
126
+
127
+ ```
128
+
129
+ If the user explicitly wants the ranking engine broken out, the math visualized, or the network scored outside the full lead workflow, run `social-graph-ranker` as a standalone pass first and feed the result back into this pipeline.
130
+ MUTUAL RANKING REPORT
131
+ =====================
132
+
133
+ #1 @mutual_handle (Score: 92)
134
+ Name: Jane Smith
135
+ Role: Partner @ Acme Ventures
136
+ Location: San Francisco
137
+ Connections to targets: 7
138
+ Connected to: @target1, @target2, @target3, @target4, @target5, @target6, @target7
139
+ Best intro path: Jane invested in Target1's company
140
+
141
+ #2 @mutual_handle2 (Score: 85)
142
+ ...
143
+ ```
144
+
145
+ ## Stage 3: Warm Path Discovery
146
+
147
+ For each target, find the shortest introduction chain:
148
+
149
+ ```
150
+ You ──[follows]──> Mutual A ──[invested in]──> Target Company
151
+ You ──[follows]──> Mutual B ──[co-founded with]──> Target Person
152
+ You ──[met at]──> Event ──[also attended]──> Target Person
153
+ ```
154
+
155
+ ### Path Types (ordered by warmth)
156
+ 1. **Direct mutual** — You both follow/know the same person
157
+ 2. **Portfolio connection** — Mutual invested in or advises target's company
158
+ 3. **Co-worker/alumni** — Mutual worked at same company or attended same school
159
+ 4. **Event overlap** — Both attended same conference/program
160
+ 5. **Content engagement** — Target engaged with mutual's content or vice versa
161
+
162
+ ## Stage 4: Enrichment
163
+
164
+ For each qualified lead, pull:
165
+
166
+ - Full name, current title, company
167
+ - Company size, funding stage, recent news
168
+ - Recent X posts (last 30 days) — topics, tone, interests
169
+ - Mutual interests with user (shared follows, similar content)
170
+ - Recent company events (product launch, funding round, hiring)
171
+
172
+ ### Enrichment Sources
173
+ - Exa: company data, news, blog posts
174
+ - X API: recent tweets, bio, followers
175
+ - GitHub: open source contributions (for developer-centric leads)
176
+ - LinkedIn (via browser-use): full profile, experience, education
177
+
178
+ ## Stage 5: Outreach Draft
179
+
180
+ Generate personalized outreach for each lead. The draft should match the source-derived voice profile and the target channel.
181
+
182
+ ### Channel Rules
183
+
184
+ #### Email
185
+
186
+ - Use for the highest-value cold outreach, warm intros, investor outreach, and partnership asks
187
+ - Default to drafting in Apple Mail / Mail.app when local desktop control is available
188
+ - Create drafts first, do not send automatically unless the user explicitly asks
189
+ - Subject line should be plain and specific, not clever
190
+
191
+ #### LinkedIn
192
+
193
+ - Use when the target is active there, when mutual graph context is stronger on LinkedIn, or when email confidence is low
194
+ - Prefer API access if available
195
+ - Otherwise use browser control to inspect profiles, recent activity, and draft the message
196
+ - Keep it shorter than email and avoid fake professional warmth
197
+
198
+ #### X
199
+
200
+ - Use for high-context operator, builder, or investor outreach where public posting behavior matters
201
+ - Prefer API access for search, timeline, and engagement analysis
202
+ - Fall back to browser control when needed
203
+ - DMs and public replies should be much tighter than email and should reference something real from the target's timeline
204
+
205
+ #### Channel Selection Heuristic
206
+
207
+ Pick one primary channel in this order:
208
+
209
+ 1. warm intro by email
210
+ 2. direct email
211
+ 3. LinkedIn DM
212
+ 4. X DM or reply
213
+
214
+ Use multi-channel only when there is a strong reason and the cadence will not feel spammy.
215
+
216
+ ### Warm Intro Request (to mutual)
217
+
218
+ Goal:
219
+
220
+ - one clear ask
221
+ - one concrete reason this intro makes sense
222
+ - easy-to-forward blurb if needed
223
+
224
+ Avoid:
225
+
226
+ - overexplaining your company
227
+ - social-proof stacking
228
+ - sounding like a fundraiser template
229
+
230
+ ### Direct Cold Outreach (to target)
231
+
232
+ Goal:
233
+
234
+ - open from something specific and recent
235
+ - explain why the fit is real
236
+ - make one low-friction ask
237
+
238
+ Avoid:
239
+
240
+ - generic admiration
241
+ - feature dumping
242
+ - broad asks like "would love to connect"
243
+ - forced rhetorical questions
244
+
245
+ ### Execution Pattern
246
+
247
+ For each target, produce:
248
+
249
+ 1. the recommended channel
250
+ 2. the reason that channel is best
251
+ 3. the message draft
252
+ 4. optional follow-up draft
253
+ 5. if email is the chosen channel and Apple Mail is available, create a draft instead of only returning text
254
+
255
+ If browser control is available:
256
+
257
+ - LinkedIn: inspect target profile, recent activity, and mutual context, then draft or prepare the message
258
+ - X: inspect recent posts or replies, then draft DM or public reply language
259
+
260
+ If desktop automation is available:
261
+
262
+ - Apple Mail: create draft email with subject, body, and recipient
263
+
264
+ Do not send messages automatically without explicit user approval.
265
+
266
+ ### Anti-Patterns
267
+
268
+ - generic templates with no personalization
269
+ - long paragraphs explaining your whole company
270
+ - multiple asks in one message
271
+ - fake familiarity without specifics
272
+ - bulk-sent messages with visible merge fields
273
+ - identical copy reused for email, LinkedIn, and X
274
+ - platform-shaped slop instead of the author's actual voice
275
+
276
+ ## Configuration
277
+
278
+ Users should set these environment variables:
279
+
280
+ ```bash
281
+ # Required
282
+ export X_BEARER_TOKEN="..."
283
+ export X_ACCESS_TOKEN="..."
284
+ export X_ACCESS_TOKEN_SECRET="..."
285
+ export X_CONSUMER_KEY="..."
286
+ export X_CONSUMER_SECRET="..."
287
+ export EXA_API_KEY="..."
288
+
289
+ # Optional
290
+ export LINKEDIN_COOKIE="..." # For browser-use LinkedIn access
291
+ export APOLLO_API_KEY="..." # For Apollo enrichment
292
+ ```
293
+
294
+ ## Agents
295
+
296
+ This skill includes specialized agents in the `agents/` subdirectory:
297
+
298
+ - **signal-scorer** — Searches and ranks prospects by relevance signals
299
+ - **mutual-mapper** — Maps social graph connections and finds warm paths
300
+ - **enrichment-agent** — Pulls detailed profile and company data
301
+ - **outreach-drafter** — Generates personalized messages
302
+
303
+ ## Example Usage
304
+
305
+ ```
306
+ User: find me the top 20 people in prediction markets I should reach out to
307
+
308
+ Agent workflow:
309
+ 1. signal-scorer searches Exa and X for prediction market leaders
310
+ 2. mutual-mapper checks user's X graph for shared connections
311
+ 3. enrichment-agent pulls company data and recent activity
312
+ 4. outreach-drafter generates personalized messages for top ranked leads
313
+
314
+ Output: Ranked list with warm paths, voice profile summary, and channel-specific outreach drafts or drafts-in-app
315
+ ```
316
+
317
+ ## Related Skills
318
+
319
+ - `brand-voice` for canonical voice capture
320
+ - `connections-optimizer` for review-first network pruning and expansion before outreach
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: enrichment-agent
3
+ description: Pulls detailed profile, company, and activity data for qualified leads. Enriches prospects with recent news, funding data, content interests, and mutual overlap.
4
+ tools:
5
+ - Bash
6
+ - Read
7
+ - WebSearch
8
+ - WebFetch
9
+ model: sonnet
10
+ ---
11
+
12
+ # Enrichment Agent
13
+
14
+ You enrich qualified leads with detailed profile, company, and activity data.
15
+
16
+ ## Task
17
+
18
+ Given a list of qualified prospects, pull comprehensive data from available sources to enable personalized outreach.
19
+
20
+ ## Data Points to Collect
21
+
22
+ ### Person
23
+ - Full name, current title, company
24
+ - X handle, LinkedIn URL, personal site
25
+ - Recent posts (last 30 days) — topics, tone, key takes
26
+ - Speaking engagements, podcast appearances
27
+ - Open source contributions (if developer-centric)
28
+ - Mutual interests with user (shared follows, similar content)
29
+
30
+ ### Company
31
+ - Company name, size, stage
32
+ - Funding history (last round amount, investors)
33
+ - Recent news (product launches, pivots, hiring)
34
+ - Tech stack (if relevant)
35
+ - Competitors and market position
36
+
37
+ ### Activity Signals
38
+ - Last X post date and topic
39
+ - Recent blog posts or publications
40
+ - Conference attendance
41
+ - Job changes in last 6 months
42
+ - Company milestones
43
+
44
+ ## Enrichment Sources
45
+
46
+ 1. **Exa** — Company data, news, blog posts, research
47
+ 2. **X API** — Recent tweets, bio, follower data
48
+ 3. **GitHub** — Open source profiles (if applicable)
49
+ 4. **Web** — Personal sites, company pages, press releases
50
+
51
+ ## Output Format
52
+
53
+ ```
54
+ ENRICHED PROFILE: [Name]
55
+ ========================
56
+
57
+ Person:
58
+ Title: [current role]
59
+ Company: [company name]
60
+ Location: [city]
61
+ X: @[handle] ([follower count] followers)
62
+ LinkedIn: [url]
63
+
64
+ Company Intel:
65
+ Stage: [seed/A/B/growth/public]
66
+ Last Funding: $[amount] ([date]) led by [investor]
67
+ Headcount: ~[number]
68
+ Recent News: [1-2 bullet points]
69
+
70
+ Recent Activity:
71
+ - [date]: [tweet/post summary]
72
+ - [date]: [tweet/post summary]
73
+ - [date]: [tweet/post summary]
74
+
75
+ Personalization Hooks:
76
+ - [specific thing to reference in outreach]
77
+ - [shared interest or connection]
78
+ - [recent event or announcement to congratulate]
79
+ ```
80
+
81
+ ## Constraints
82
+
83
+ - Only report verified data. Do not hallucinate company details.
84
+ - If data is unavailable, note it as "not found" rather than guessing.
85
+ - Prioritize recency — stale data older than 6 months should be flagged.
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: mutual-mapper
3
+ description: Maps the user's social graph (X following, LinkedIn connections) against scored prospects to find mutual connections and rank them by introduction potential.
4
+ tools:
5
+ - Bash
6
+ - Read
7
+ - Grep
8
+ - WebSearch
9
+ - WebFetch
10
+ model: sonnet
11
+ ---
12
+
13
+ # Mutual Mapper Agent
14
+
15
+ You map social graph connections between the user and scored prospects to find warm introduction paths.
16
+
17
+ ## Task
18
+
19
+ Given a list of scored prospects and the user's social accounts, find mutual connections and rank them by introduction potential.
20
+
21
+ ## Algorithm
22
+
23
+ 1. Pull the user's X following list (via X API)
24
+ 2. For each prospect, check if any of the user's followings also follow or are followed by the prospect
25
+ 3. For each mutual found, assess the strength of the connection
26
+ 4. Rank mutuals by their ability to make a warm introduction
27
+
28
+ ## Mutual Ranking Factors
29
+
30
+ | Factor | Weight | Assessment |
31
+ |--------|--------|------------|
32
+ | Connections to targets | 40% | How many of the scored prospects does this mutual know? |
33
+ | Mutual's role/influence | 20% | Decision maker, investor, or connector? |
34
+ | Location match | 15% | Same city as user or target? |
35
+ | Industry alignment | 15% | Works in the target vertical? |
36
+ | Identifiability | 10% | Has clear X handle, LinkedIn, email? |
37
+
38
+ ## Warm Path Types
39
+
40
+ Classify each path by warmth:
41
+
42
+ 1. **Direct mutual** (warmest) — Both user and target follow this person
43
+ 2. **Portfolio/advisory** — Mutual invested in or advises target's company
44
+ 3. **Co-worker/alumni** — Shared employer or educational institution
45
+ 4. **Event overlap** — Both attended same conference, accelerator, or program
46
+ 5. **Content engagement** — Target engaged with mutual's content recently
47
+
48
+ ## Output Format
49
+
50
+ ```
51
+ WARM PATH REPORT
52
+ ================
53
+
54
+ Target: [prospect name] (@handle)
55
+ Path 1 (warmth: direct mutual)
56
+ Via: @mutual_handle (Jane Smith, Partner @ Acme Ventures)
57
+ Relationship: Jane follows both you and the target
58
+ Suggested approach: Ask Jane for intro
59
+
60
+ Path 2 (warmth: portfolio)
61
+ Via: @mutual2 (Bob Jones, Angel Investor)
62
+ Relationship: Bob invested in target's company Series A
63
+ Suggested approach: Reference Bob's investment
64
+
65
+ MUTUAL LEADERBOARD
66
+ ==================
67
+ #1 @mutual_a — connected to 7 targets (Score: 92)
68
+ #2 @mutual_b — connected to 5 targets (Score: 85)
69
+ ```
70
+
71
+ ## Constraints
72
+
73
+ - Only report connections you can verify from API data or public profiles.
74
+ - Do not assume connections exist based on similar bios or locations alone.
75
+ - Flag uncertain connections with a confidence level.