@hasna/skills 0.1.60 → 0.1.62

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 (1062) hide show
  1. package/README.md +189 -60
  2. package/agent-skills/README.md +41 -0
  3. package/agent-skills/fleet-package-rollout/SKILL.md +169 -0
  4. package/agent-skills/inbox/SKILL.md +25 -0
  5. package/agent-skills/inbox/scripts/inbox +109 -0
  6. package/agent-skills/inbox/tests/test_registered_sender_id.sh +92 -0
  7. package/agent-skills/inbox-monitor/SKILL.md +41 -0
  8. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +91 -0
  9. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +71 -0
  10. package/agent-skills/merge-pr/SKILL.md +85 -0
  11. package/agent-skills/merge-pr/references/merge-safety.md +82 -0
  12. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +694 -0
  13. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +647 -0
  14. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +28 -0
  15. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +28 -0
  16. package/agent-skills/skill-goal-execute/SKILL.md +115 -0
  17. package/agent-skills/skill-login/SKILL.md +109 -0
  18. package/agent-skills/skill-project-create/SKILL.md +91 -0
  19. package/agent-skills/skill-publish/SKILL.md +254 -0
  20. package/agent-skills/skill-publish/scripts/capture_registry.js +47 -0
  21. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +143 -0
  22. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +231 -0
  23. package/bin/index.js +2760 -3690
  24. package/bin/mcp.js +1200 -2714
  25. package/bin/migrate.js +955 -33
  26. package/bin/server.js +2491 -2113
  27. package/bin/worker.js +2213 -275
  28. package/dist/cli/cli.test-utils.d.ts +13 -2
  29. package/dist/cli/commands/publish.d.ts +30 -0
  30. package/dist/cli/commands/registry.d.ts +8 -0
  31. package/dist/index.d.ts +8 -6
  32. package/dist/index.js +1811 -2797
  33. package/dist/lib/agent-sync.d.ts +123 -0
  34. package/dist/lib/api-url.d.ts +34 -0
  35. package/dist/lib/auth-store.d.ts +21 -5
  36. package/dist/lib/blog-article.d.ts +37 -0
  37. package/dist/lib/config.d.ts +56 -2
  38. package/dist/lib/content-scan.d.ts +62 -9
  39. package/dist/lib/discovery.d.ts +10 -10
  40. package/dist/lib/doc-derived-counts.d.ts +56 -0
  41. package/dist/lib/feedback.d.ts +7 -0
  42. package/dist/lib/file-bytes.d.ts +43 -0
  43. package/dist/lib/hosted-skill-set.d.ts +69 -0
  44. package/dist/lib/infra-identifiers.d.ts +144 -0
  45. package/dist/lib/installer.d.ts +20 -6
  46. package/dist/lib/native-storage.d.ts +14 -11
  47. package/dist/lib/packlist.d.ts +13 -0
  48. package/dist/lib/portable-skills-files.d.ts +25 -0
  49. package/dist/lib/portable-skills-types.d.ts +105 -0
  50. package/dist/lib/portable-skills.d.ts +52 -103
  51. package/dist/lib/pull.d.ts +41 -0
  52. package/dist/lib/registry-merge.d.ts +57 -0
  53. package/dist/lib/registry-types.d.ts +1 -14
  54. package/dist/lib/registry.d.ts +6 -3
  55. package/dist/lib/remote-client.d.ts +15 -1
  56. package/dist/lib/remote-registry.d.ts +1 -1
  57. package/dist/lib/remote-run-contract.d.ts +0 -7
  58. package/dist/lib/retired-settings.d.ts +100 -0
  59. package/dist/lib/run-state.d.ts +14 -0
  60. package/dist/lib/skill-aliases.d.ts +0 -12
  61. package/dist/lib/skill-bundle.d.ts +37 -0
  62. package/dist/lib/vendor-host-code-scan.d.ts +66 -0
  63. package/dist/lib/vendor-host-folding.d.ts +40 -0
  64. package/dist/lib/vendor-host-guard.d.ts +47 -0
  65. package/dist/lib/vendor-host-package.d.ts +42 -0
  66. package/dist/lib/vendor-host-policy.d.ts +96 -0
  67. package/dist/lib/vendor-host-url.d.ts +81 -0
  68. package/dist/mcp/mcp-test-client.d.ts +18 -0
  69. package/dist/storage.d.ts +1 -1
  70. package/dist/storage.js +104 -51
  71. package/docs/skill-standard.md +1 -1
  72. package/migrations/postgres/0002_org_scoped_skill_registry.sql +72 -0
  73. package/migrations/sqlite/0001_open_skills_self_hosted.sql +150 -0
  74. package/migrations/sqlite/0002_org_scoped_skill_registry.sql +47 -0
  75. package/package.json +4 -4
  76. package/skills/_common/http-client.ts +17 -2
  77. package/skills/_common/install.sh +2 -2
  78. package/skills/_common/installer.ts +4 -5
  79. package/skills/_common/skill-install.ts +3 -3
  80. package/skills/ad-creative-pack/SKILL.md +28 -18
  81. package/skills/ad-creative-pack/package.json +1 -2
  82. package/skills/analyze-data/SKILL.md +1 -1
  83. package/skills/analyze-data/src/formatters.ts +2 -2
  84. package/skills/api-docs-portal/SKILL.md +62 -24
  85. package/skills/api-docs-portal/package.json +28 -4
  86. package/skills/api-docs-portal/src/index.ts +919 -0
  87. package/skills/audio-extract/SKILL.md +1 -1
  88. package/skills/blog-article/SKILL.md +32 -22
  89. package/skills/blog-article/package.json +1 -2
  90. package/skills/brand-assets/SKILL.md +94 -33
  91. package/skills/brand-assets/package.json +28 -4
  92. package/skills/brand-assets/src/cli.ts +155 -0
  93. package/skills/brand-assets/src/constants.ts +8 -0
  94. package/skills/brand-assets/src/extract.ts +236 -0
  95. package/skills/brand-assets/src/index.ts +668 -0
  96. package/skills/brand-assets/src/types.ts +59 -0
  97. package/skills/brand-kit/SKILL.md +27 -18
  98. package/skills/brand-kit/package.json +1 -2
  99. package/skills/compress-video/SKILL.md +1 -1
  100. package/skills/contract-review-report/SKILL.md +27 -18
  101. package/skills/contract-review-report/package.json +1 -2
  102. package/skills/customer-feedback-report/SKILL.md +27 -19
  103. package/skills/customer-feedback-report/package.json +1 -2
  104. package/skills/email-sequence/SKILL.md +26 -17
  105. package/skills/email-sequence/package.json +1 -2
  106. package/skills/generate-sitemap/src/index.ts +1 -1
  107. package/skills/invoice-reconciliation/SKILL.md +75 -19
  108. package/skills/invoice-reconciliation/package.json +29 -4
  109. package/skills/invoice-reconciliation/src/index.ts +743 -0
  110. package/skills/{convert → invoice-reconciliation}/tsconfig.json +3 -1
  111. package/skills/landing-page-pack/SKILL.md +27 -19
  112. package/skills/landing-page-pack/package.json +1 -2
  113. package/skills/logo-design/SKILL.md +69 -26
  114. package/skills/logo-design/package.json +28 -4
  115. package/skills/logo-design/src/cli.ts +132 -0
  116. package/skills/logo-design/src/constants.ts +5 -0
  117. package/skills/logo-design/src/docs.ts +102 -0
  118. package/skills/logo-design/src/geometry.ts +324 -0
  119. package/skills/logo-design/src/index.ts +212 -0
  120. package/skills/logo-design/src/palette.ts +258 -0
  121. package/skills/logo-design/src/types.ts +50 -0
  122. package/skills/logo-design/tsconfig.json +11 -2
  123. package/skills/market-research-report/SKILL.md +28 -18
  124. package/skills/market-research-report/package.json +2 -3
  125. package/skills/meeting-pack/SKILL.md +26 -17
  126. package/skills/meeting-pack/package.json +1 -2
  127. package/skills/merge-pdfs/src/index.ts +1 -1
  128. package/skills/migration-plan-pack/SKILL.md +30 -19
  129. package/skills/migration-plan-pack/package.json +1 -2
  130. package/skills/one-page-website/SKILL.md +105 -23
  131. package/skills/one-page-website/package.json +27 -4
  132. package/skills/one-page-website/src/design.ts +336 -0
  133. package/skills/one-page-website/src/docs.ts +159 -0
  134. package/skills/one-page-website/src/index.ts +357 -0
  135. package/skills/one-page-website/src/page.ts +340 -0
  136. package/skills/one-page-website/src/styles.ts +508 -0
  137. package/skills/one-page-website/src/types.ts +78 -0
  138. package/skills/one-page-website/tsconfig.json +11 -2
  139. package/skills/pdf-generate/SKILL.md +1 -1
  140. package/skills/pdf-to-dataset/SKILL.md +64 -21
  141. package/skills/pdf-to-dataset/package.json +30 -4
  142. package/skills/pdf-to-dataset/src/index.ts +790 -0
  143. package/skills/{emoji → pdf-to-dataset}/tsconfig.json +3 -4
  144. package/skills/pdf-to-markdown/SKILL.md +55 -23
  145. package/skills/pdf-to-markdown/package.json +28 -4
  146. package/skills/pdf-to-markdown/src/index.ts +694 -0
  147. package/skills/pdf-to-markdown/tsconfig.json +11 -4
  148. package/skills/performance-audit-report/SKILL.md +24 -17
  149. package/skills/performance-audit-report/package.json +1 -2
  150. package/skills/pitch-deck/SKILL.md +27 -19
  151. package/skills/pitch-deck/package.json +1 -2
  152. package/skills/product-mockup/SKILL.md +85 -23
  153. package/skills/product-mockup/package.json +25 -4
  154. package/skills/product-mockup/src/cli.ts +150 -0
  155. package/skills/product-mockup/src/design.ts +151 -0
  156. package/skills/product-mockup/src/docs.ts +134 -0
  157. package/skills/product-mockup/src/index.ts +182 -0
  158. package/skills/product-mockup/src/render.ts +407 -0
  159. package/skills/product-mockup/src/types.ts +66 -0
  160. package/skills/product-mockup/tsconfig.json +11 -2
  161. package/skills/proposal-pack/SKILL.md +27 -19
  162. package/skills/proposal-pack/package.json +2 -3
  163. package/skills/repo-onboarding-report/SKILL.md +26 -16
  164. package/skills/repo-onboarding-report/package.json +1 -2
  165. package/skills/security-audit/src/index.ts +1 -1
  166. package/skills/security-audit-report/SKILL.md +28 -16
  167. package/skills/security-audit-report/package.json +2 -3
  168. package/skills/seo-content-pack/SKILL.md +27 -17
  169. package/skills/seo-content-pack/package.json +1 -2
  170. package/skills/slide-deck-generator/SKILL.md +70 -21
  171. package/skills/slide-deck-generator/package.json +31 -4
  172. package/skills/slide-deck-generator/src/cli.ts +133 -0
  173. package/skills/slide-deck-generator/src/index.ts +148 -0
  174. package/skills/slide-deck-generator/src/model.ts +307 -0
  175. package/skills/slide-deck-generator/src/pptx.ts +143 -0
  176. package/skills/slide-deck-generator/src/render.ts +248 -0
  177. package/skills/slide-deck-generator/src/types.ts +114 -0
  178. package/skills/slide-deck-generator/src/utils.ts +53 -0
  179. package/skills/slide-deck-generator/tsconfig.json +17 -0
  180. package/skills/social-content-calendar/SKILL.md +27 -18
  181. package/skills/social-content-calendar/package.json +1 -2
  182. package/skills/split-pdf/src/index.ts +1 -1
  183. package/skills/test-suite-generator/SKILL.md +26 -16
  184. package/skills/test-suite-generator/package.json +2 -3
  185. package/skills/todos-plan/SKILL.md +339 -170
  186. package/skills/video-highlight-pack/SKILL.md +27 -17
  187. package/skills/video-highlight-pack/package.json +1 -2
  188. package/dist/cli/onboarding.d.ts +0 -13
  189. package/dist/lib/hosted-availability.d.ts +0 -13
  190. package/dist/lib/pricing.d.ts +0 -89
  191. package/skills/academic-journal-matcher/CLAUDE.md +0 -19
  192. package/skills/academic-journal-matcher/package.json +0 -27
  193. package/skills/academic-journal-matcher/src/index.ts +0 -86
  194. package/skills/academic-journal-matcher/tsconfig.json +0 -10
  195. package/skills/action-item-router/CLAUDE.md +0 -19
  196. package/skills/action-item-router/package.json +0 -27
  197. package/skills/action-item-router/src/index.ts +0 -304
  198. package/skills/action-item-router/tsconfig.json +0 -10
  199. package/skills/ad-creative-generator/CLAUDE.md +0 -19
  200. package/skills/ad-creative-generator/package.json +0 -27
  201. package/skills/ad-creative-generator/src/index.ts +0 -419
  202. package/skills/ad-creative-generator/tsconfig.json +0 -10
  203. package/skills/advanced-math/CLAUDE.md +0 -19
  204. package/skills/advanced-math/package.json +0 -29
  205. package/skills/advanced-math/src/calculators.ts +0 -118
  206. package/skills/advanced-math/src/cli.ts +0 -130
  207. package/skills/advanced-math/src/conversion.ts +0 -90
  208. package/skills/advanced-math/src/finance.ts +0 -75
  209. package/skills/advanced-math/src/formatting.ts +0 -95
  210. package/skills/advanced-math/src/index.ts +0 -133
  211. package/skills/advanced-math/src/runtime.ts +0 -49
  212. package/skills/advanced-math/src/symbolic.ts +0 -110
  213. package/skills/advanced-math/src/types.ts +0 -36
  214. package/skills/advanced-math/tsconfig.json +0 -10
  215. package/skills/anomaly-investigator/CLAUDE.md +0 -19
  216. package/skills/anomaly-investigator/package.json +0 -27
  217. package/skills/anomaly-investigator/src/index.ts +0 -311
  218. package/skills/anomaly-investigator/tsconfig.json +0 -10
  219. package/skills/apidocs/.env.example +0 -8
  220. package/skills/apidocs/CLAUDE.md +0 -278
  221. package/skills/apidocs/LICENSE +0 -192
  222. package/skills/apidocs/README.md +0 -196
  223. package/skills/apidocs/api-docs-list.json +0 -186
  224. package/skills/apidocs/package.json +0 -53
  225. package/skills/apidocs/scripts/crawl-all.ts +0 -157
  226. package/skills/apidocs/scripts/publish.ts +0 -210
  227. package/skills/apidocs/src/commands/add.ts +0 -279
  228. package/skills/apidocs/src/commands/endpoints.ts +0 -157
  229. package/skills/apidocs/src/commands/list.ts +0 -51
  230. package/skills/apidocs/src/commands/query.ts +0 -63
  231. package/skills/apidocs/src/commands/remove.ts +0 -39
  232. package/skills/apidocs/src/commands/sync.ts +0 -227
  233. package/skills/apidocs/src/index.ts +0 -3
  234. package/skills/apidocs/src/lib/crawler.ts +0 -427
  235. package/skills/apidocs/src/lib/discovery.ts +0 -244
  236. package/skills/apidocs/src/lib/embeddings.ts +0 -136
  237. package/skills/apidocs/src/lib/endpoint-extractor.ts +0 -359
  238. package/skills/apidocs/src/lib/html-to-md.ts +0 -163
  239. package/skills/apidocs/src/lib/parser.ts +0 -288
  240. package/skills/apidocs/src/lib/search.ts +0 -189
  241. package/skills/apidocs/src/lib/storage.ts +0 -242
  242. package/skills/apidocs/src/lib/vectors-local.ts +0 -220
  243. package/skills/apidocs/src/lib/vectors-s3.ts +0 -255
  244. package/skills/apidocs/src/lib/vectors.ts +0 -97
  245. package/skills/apidocs/src/types/index.ts +0 -297
  246. package/skills/apidocs/src/utils/output.ts +0 -132
  247. package/skills/apidocs/src/utils/paths.ts +0 -126
  248. package/skills/apidocs/tsconfig.json +0 -24
  249. package/skills/audio/SKILL.md +0 -35
  250. package/skills/audio/package.json +0 -11
  251. package/skills/audio-cleanup-lab/CLAUDE.md +0 -3
  252. package/skills/audio-cleanup-lab/SKILL.md +0 -81
  253. package/skills/audio-cleanup-lab/package.json +0 -23
  254. package/skills/audio-cleanup-lab/src/index.ts +0 -274
  255. package/skills/audio-cleanup-lab/tsconfig.json +0 -14
  256. package/skills/audio-transcript-pack/SKILL.md +0 -43
  257. package/skills/audio-transcript-pack/package.json +0 -11
  258. package/skills/banner-ad-suite/CLAUDE.md +0 -19
  259. package/skills/banner-ad-suite/package.json +0 -27
  260. package/skills/banner-ad-suite/src/index.ts +0 -331
  261. package/skills/banner-ad-suite/tsconfig.json +0 -10
  262. package/skills/benchmark-finder/CLAUDE.md +0 -19
  263. package/skills/benchmark-finder/package.json +0 -27
  264. package/skills/benchmark-finder/src/index.ts +0 -294
  265. package/skills/benchmark-finder/tsconfig.json +0 -10
  266. package/skills/blog-topic-cluster/CLAUDE.md +0 -19
  267. package/skills/blog-topic-cluster/package.json +0 -27
  268. package/skills/blog-topic-cluster/src/index.ts +0 -274
  269. package/skills/blog-topic-cluster/tsconfig.json +0 -10
  270. package/skills/brand-photo-shoot/SKILL.md +0 -28
  271. package/skills/brand-photo-shoot/package.json +0 -11
  272. package/skills/brand-style-guide/CLAUDE.md +0 -20
  273. package/skills/brand-style-guide/SKILL.md +0 -13
  274. package/skills/brand-style-guide/package.json +0 -26
  275. package/skills/brand-style-guide/src/index.ts +0 -288
  276. package/skills/brand-style-guide/tsconfig.json +0 -22
  277. package/skills/brand-voice-audit/CLAUDE.md +0 -19
  278. package/skills/brand-voice-audit/package.json +0 -27
  279. package/skills/brand-voice-audit/src/index.ts +0 -302
  280. package/skills/brand-voice-audit/tsconfig.json +0 -10
  281. package/skills/browse/LICENSE +0 -192
  282. package/skills/browse/README.md +0 -25
  283. package/skills/browse/SKILL.md +0 -35
  284. package/skills/browse/package.json +0 -11
  285. package/skills/browse/tsconfig.json +0 -22
  286. package/skills/budget-variance-analyzer/CLAUDE.md +0 -16
  287. package/skills/budget-variance-analyzer/SKILL.md +0 -83
  288. package/skills/budget-variance-analyzer/package.json +0 -24
  289. package/skills/budget-variance-analyzer/src/index.ts +0 -298
  290. package/skills/budget-variance-analyzer/tsconfig.json +0 -21
  291. package/skills/calendar-events/CLAUDE.md +0 -19
  292. package/skills/calendar-events/package.json +0 -27
  293. package/skills/calendar-events/src/ai-parser.ts +0 -103
  294. package/skills/calendar-events/src/api.ts +0 -157
  295. package/skills/calendar-events/src/auth.ts +0 -22
  296. package/skills/calendar-events/src/config.ts +0 -6
  297. package/skills/calendar-events/src/format.ts +0 -96
  298. package/skills/calendar-events/src/help.ts +0 -54
  299. package/skills/calendar-events/src/index.ts +0 -415
  300. package/skills/calendar-events/src/logger.ts +0 -34
  301. package/skills/calendar-events/src/types.ts +0 -67
  302. package/skills/calendar-events/tsconfig.json +0 -10
  303. package/skills/campaign-metric-brief/CLAUDE.md +0 -19
  304. package/skills/campaign-metric-brief/package.json +0 -27
  305. package/skills/campaign-metric-brief/src/index.ts +0 -307
  306. package/skills/campaign-metric-brief/tsconfig.json +0 -10
  307. package/skills/campaign-moodboard/CLAUDE.md +0 -19
  308. package/skills/campaign-moodboard/package.json +0 -27
  309. package/skills/campaign-moodboard/src/index.ts +0 -288
  310. package/skills/campaign-moodboard/tsconfig.json +0 -10
  311. package/skills/caption-style-stylist/CLAUDE.md +0 -19
  312. package/skills/caption-style-stylist/package.json +0 -27
  313. package/skills/caption-style-stylist/src/index.ts +0 -275
  314. package/skills/caption-style-stylist/tsconfig.json +0 -10
  315. package/skills/chemistry-calculator/CLAUDE.md +0 -19
  316. package/skills/chemistry-calculator/package.json +0 -27
  317. package/skills/chemistry-calculator/src/index.ts +0 -110
  318. package/skills/chemistry-calculator/tsconfig.json +0 -10
  319. package/skills/churn-risk-notifier/CLAUDE.md +0 -19
  320. package/skills/churn-risk-notifier/package.json +0 -27
  321. package/skills/churn-risk-notifier/src/index.ts +0 -308
  322. package/skills/churn-risk-notifier/tsconfig.json +0 -10
  323. package/skills/citation-formatter/CLAUDE.md +0 -19
  324. package/skills/citation-formatter/package.json +0 -27
  325. package/skills/citation-formatter/src/index.ts +0 -83
  326. package/skills/citation-formatter/tsconfig.json +0 -10
  327. package/skills/classroom-newsletter-kit/CLAUDE.md +0 -19
  328. package/skills/classroom-newsletter-kit/package.json +0 -27
  329. package/skills/classroom-newsletter-kit/src/index.ts +0 -293
  330. package/skills/classroom-newsletter-kit/tsconfig.json +0 -10
  331. package/skills/color-palette-harmonizer/CLAUDE.md +0 -19
  332. package/skills/color-palette-harmonizer/package.json +0 -27
  333. package/skills/color-palette-harmonizer/src/index.ts +0 -278
  334. package/skills/color-palette-harmonizer/tsconfig.json +0 -10
  335. package/skills/colorextract/SKILL.md +0 -35
  336. package/skills/colorextract/bun.lock +0 -102
  337. package/skills/colorextract/package.json +0 -25
  338. package/skills/colorextract/src/index.ts +0 -405
  339. package/skills/competitor-ad-analyzer/CLAUDE.md +0 -19
  340. package/skills/competitor-ad-analyzer/package.json +0 -27
  341. package/skills/competitor-ad-analyzer/src/index.ts +0 -350
  342. package/skills/competitor-ad-analyzer/tsconfig.json +0 -10
  343. package/skills/compliance-copy-check/CLAUDE.md +0 -19
  344. package/skills/compliance-copy-check/package.json +0 -27
  345. package/skills/compliance-copy-check/src/index.ts +0 -289
  346. package/skills/compliance-copy-check/tsconfig.json +0 -10
  347. package/skills/compliance-report-pack/CLAUDE.md +0 -19
  348. package/skills/compliance-report-pack/package.json +0 -27
  349. package/skills/compliance-report-pack/src/index.ts +0 -301
  350. package/skills/compliance-report-pack/tsconfig.json +0 -10
  351. package/skills/consolelog/.env.example +0 -19
  352. package/skills/consolelog/CLAUDE.md +0 -157
  353. package/skills/consolelog/LICENSE +0 -192
  354. package/skills/consolelog/README.md +0 -239
  355. package/skills/consolelog/data/.gitkeep +0 -0
  356. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +0 -16
  357. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.json +0 -227
  358. package/skills/consolelog/package.json +0 -40
  359. package/skills/consolelog/scripts/migrate.ts +0 -26
  360. package/skills/consolelog/scripts/seed.ts +0 -48
  361. package/skills/consolelog/src/db/index.ts +0 -44
  362. package/skills/consolelog/src/db/queries.ts +0 -348
  363. package/skills/consolelog/src/db/schema.ts +0 -93
  364. package/skills/consolelog/src/index.ts +0 -3
  365. package/skills/consolelog/src/lib/config.ts +0 -110
  366. package/skills/consolelog/src/lib/installer.ts +0 -294
  367. package/skills/consolelog/src/lib/monitor.ts +0 -194
  368. package/skills/consolelog/src/lib/types.ts +0 -189
  369. package/skills/consolelog/src/lib/watcher.ts +0 -207
  370. package/skills/consolelog/tests/api.test.ts +0 -154
  371. package/skills/consolelog/tests/config.test.ts +0 -192
  372. package/skills/consolelog/tests/db.test.ts +0 -447
  373. package/skills/consolelog/tests/installer.test.ts +0 -155
  374. package/skills/consolelog/tsconfig.json +0 -24
  375. package/skills/contract-plainlanguage/CLAUDE.md +0 -19
  376. package/skills/contract-plainlanguage/package.json +0 -27
  377. package/skills/contract-plainlanguage/src/index.ts +0 -294
  378. package/skills/contract-plainlanguage/tsconfig.json +0 -10
  379. package/skills/convert/.env.example +0 -7
  380. package/skills/convert/LICENSE +0 -192
  381. package/skills/convert/README.md +0 -250
  382. package/skills/convert/SKILL.md +0 -106
  383. package/skills/convert/package.json +0 -37
  384. package/skills/convert/src/converters/ai.ts +0 -375
  385. package/skills/convert/src/converters/data.ts +0 -339
  386. package/skills/convert/src/converters/document.ts +0 -189
  387. package/skills/convert/src/converters/image.ts +0 -227
  388. package/skills/convert/src/converters/index.ts +0 -9
  389. package/skills/convert/src/converters/pdf.ts +0 -255
  390. package/skills/convert/src/index-local.ts +0 -568
  391. package/skills/convert/src/index.ts +0 -4
  392. package/skills/convert/src/types.ts +0 -192
  393. package/skills/copytone-translator/CLAUDE.md +0 -19
  394. package/skills/copytone-translator/package.json +0 -27
  395. package/skills/copytone-translator/src/index.ts +0 -295
  396. package/skills/copytone-translator/tsconfig.json +0 -10
  397. package/skills/create-ebook/CLAUDE.md +0 -19
  398. package/skills/create-ebook/package.json +0 -27
  399. package/skills/create-ebook/src/index.ts +0 -637
  400. package/skills/create-ebook/tsconfig.json +0 -10
  401. package/skills/crm-note-enhancer/CLAUDE.md +0 -19
  402. package/skills/crm-note-enhancer/package.json +0 -27
  403. package/skills/crm-note-enhancer/src/index.ts +0 -317
  404. package/skills/crm-note-enhancer/tsconfig.json +0 -10
  405. package/skills/customer-journey-mapper/CLAUDE.md +0 -19
  406. package/skills/customer-journey-mapper/package.json +0 -27
  407. package/skills/customer-journey-mapper/src/index.ts +0 -312
  408. package/skills/customer-journey-mapper/tsconfig.json +0 -10
  409. package/skills/dashboard-narrator/CLAUDE.md +0 -19
  410. package/skills/dashboard-narrator/package.json +0 -27
  411. package/skills/dashboard-narrator/src/index.ts +0 -307
  412. package/skills/dashboard-narrator/tsconfig.json +0 -10
  413. package/skills/dataset-health-check/CLAUDE.md +0 -19
  414. package/skills/dataset-health-check/package.json +0 -27
  415. package/skills/dataset-health-check/src/index.ts +0 -323
  416. package/skills/dataset-health-check/tsconfig.json +0 -10
  417. package/skills/decision-journal/CLAUDE.md +0 -19
  418. package/skills/decision-journal/package.json +0 -27
  419. package/skills/decision-journal/src/index.ts +0 -313
  420. package/skills/decision-journal/tsconfig.json +0 -10
  421. package/skills/deepresearch/CLAUDE.md +0 -11
  422. package/skills/deepresearch/README.md +0 -26
  423. package/skills/deepresearch/SKILL.md +0 -41
  424. package/skills/deepresearch/package.json +0 -11
  425. package/skills/deepresearch/tsconfig.json +0 -29
  426. package/skills/delegation-brief-writer/CLAUDE.md +0 -19
  427. package/skills/delegation-brief-writer/package.json +0 -27
  428. package/skills/delegation-brief-writer/src/index.ts +0 -314
  429. package/skills/delegation-brief-writer/tsconfig.json +0 -10
  430. package/skills/deploy/LICENSE +0 -192
  431. package/skills/deploy/README.md +0 -382
  432. package/skills/deploy/SKILL.md +0 -138
  433. package/skills/deploy/package.json +0 -18
  434. package/skills/deploy/src/deployer.ts +0 -256
  435. package/skills/deploy/src/health.ts +0 -103
  436. package/skills/deploy/src/hosts.ts +0 -45
  437. package/skills/deploy/src/http-client.ts +0 -128
  438. package/skills/deploy/src/index-local.ts +0 -366
  439. package/skills/deploy/src/index.ts +0 -4
  440. package/skills/deploy/src/types.ts +0 -56
  441. package/skills/deploy/tsconfig.json +0 -18
  442. package/skills/destination-briefing/CLAUDE.md +0 -19
  443. package/skills/destination-briefing/package.json +0 -27
  444. package/skills/destination-briefing/src/index.ts +0 -291
  445. package/skills/destination-briefing/tsconfig.json +0 -10
  446. package/skills/doc-generate/CLAUDE.md +0 -19
  447. package/skills/doc-generate/SKILL.md +0 -295
  448. package/skills/doc-generate/package.json +0 -23
  449. package/skills/doc-generate/src/ai.ts +0 -50
  450. package/skills/doc-generate/src/cli.ts +0 -203
  451. package/skills/doc-generate/src/dependencies.ts +0 -44
  452. package/skills/doc-generate/src/document-builder.ts +0 -299
  453. package/skills/doc-generate/src/index.ts +0 -90
  454. package/skills/doc-generate/src/markdown-parser.ts +0 -125
  455. package/skills/doc-generate/src/types.ts +0 -68
  456. package/skills/doc-generate/tsconfig.json +0 -16
  457. package/skills/domainsearch/.env.example +0 -7
  458. package/skills/domainsearch/LICENSE +0 -192
  459. package/skills/domainsearch/SKILL.md +0 -41
  460. package/skills/domainsearch/package.json +0 -33
  461. package/skills/domainsearch/src/index.ts +0 -3
  462. package/skills/domainsearch/src/lib/api-client.ts +0 -181
  463. package/skills/domainsearch/src/lib/config.ts +0 -72
  464. package/skills/domainsearch/src/lib/installer.ts +0 -164
  465. package/skills/domainsearch/tsconfig.json +0 -22
  466. package/skills/educational-resource-finder/CLAUDE.md +0 -19
  467. package/skills/educational-resource-finder/package.json +0 -27
  468. package/skills/educational-resource-finder/src/index.ts +0 -289
  469. package/skills/educational-resource-finder/tsconfig.json +0 -10
  470. package/skills/email-campaign/CLAUDE.md +0 -19
  471. package/skills/email-campaign/package.json +0 -27
  472. package/skills/email-campaign/src/index.ts +0 -339
  473. package/skills/email-campaign/tsconfig.json +0 -10
  474. package/skills/emoji/.env.example +0 -7
  475. package/skills/emoji/QUICKSTART.md +0 -52
  476. package/skills/emoji/README.md +0 -175
  477. package/skills/emoji/SKILL.md +0 -63
  478. package/skills/emoji/package.json +0 -31
  479. package/skills/emoji/src/image-processor.ts +0 -143
  480. package/skills/emoji/src/index.ts +0 -282
  481. package/skills/emoji/src/prompt-generator.ts +0 -181
  482. package/skills/emoji/src/providers/gemini.ts +0 -58
  483. package/skills/emoji/src/providers/openai.ts +0 -55
  484. package/skills/emoji/src/types.ts +0 -72
  485. package/skills/exam-readiness-check/CLAUDE.md +0 -19
  486. package/skills/exam-readiness-check/package.json +0 -27
  487. package/skills/exam-readiness-check/src/index.ts +0 -289
  488. package/skills/exam-readiness-check/tsconfig.json +0 -10
  489. package/skills/excel/CLAUDE.md +0 -19
  490. package/skills/excel/SKILL.md +0 -38
  491. package/skills/excel/package.json +0 -30
  492. package/skills/excel/src/index.ts +0 -644
  493. package/skills/excel/tsconfig.json +0 -10
  494. package/skills/extract/.env.example +0 -3
  495. package/skills/extract/LICENSE +0 -192
  496. package/skills/extract/README.md +0 -61
  497. package/skills/extract/SKILL.md +0 -91
  498. package/skills/extract/package.json +0 -35
  499. package/skills/extract/src/extractors/image.ts +0 -42
  500. package/skills/extract/src/extractors/pdf.ts +0 -96
  501. package/skills/extract/src/index-local.ts +0 -258
  502. package/skills/extract/src/index.ts +0 -4
  503. package/skills/extract/src/providers/openai.ts +0 -222
  504. package/skills/extract/src/types.ts +0 -61
  505. package/skills/extract/tsconfig.json +0 -19
  506. package/skills/extract-invoice/CLAUDE.md +0 -19
  507. package/skills/extract-invoice/package.json +0 -27
  508. package/skills/extract-invoice/src/cli.ts +0 -97
  509. package/skills/extract-invoice/src/extractor.ts +0 -170
  510. package/skills/extract-invoice/src/file-utils.ts +0 -46
  511. package/skills/extract-invoice/src/formatters.ts +0 -144
  512. package/skills/extract-invoice/src/index.ts +0 -129
  513. package/skills/extract-invoice/src/runtime.ts +0 -46
  514. package/skills/extract-invoice/src/types.ts +0 -88
  515. package/skills/extract-invoice/tsconfig.json +0 -10
  516. package/skills/family-activity-curator/CLAUDE.md +0 -19
  517. package/skills/family-activity-curator/package.json +0 -27
  518. package/skills/family-activity-curator/src/index.ts +0 -293
  519. package/skills/family-activity-curator/tsconfig.json +0 -10
  520. package/skills/faq-packager/CLAUDE.md +0 -19
  521. package/skills/faq-packager/package.json +0 -27
  522. package/skills/faq-packager/src/index.ts +0 -292
  523. package/skills/faq-packager/tsconfig.json +0 -10
  524. package/skills/feedback-survey-designer/CLAUDE.md +0 -19
  525. package/skills/feedback-survey-designer/package.json +0 -27
  526. package/skills/feedback-survey-designer/src/index.ts +0 -299
  527. package/skills/feedback-survey-designer/tsconfig.json +0 -10
  528. package/skills/field-trip-planner/CLAUDE.md +0 -19
  529. package/skills/field-trip-planner/package.json +0 -27
  530. package/skills/field-trip-planner/src/index.ts +0 -289
  531. package/skills/field-trip-planner/tsconfig.json +0 -10
  532. package/skills/forecast-scenario-lab/CLAUDE.md +0 -19
  533. package/skills/forecast-scenario-lab/package.json +0 -27
  534. package/skills/forecast-scenario-lab/src/index.ts +0 -314
  535. package/skills/forecast-scenario-lab/tsconfig.json +0 -10
  536. package/skills/generate-book-cover/CLAUDE.md +0 -19
  537. package/skills/generate-book-cover/package.json +0 -11
  538. package/skills/generate-book-cover/tsconfig.json +0 -10
  539. package/skills/generate-diagram/CLAUDE.md +0 -19
  540. package/skills/generate-diagram/package.json +0 -27
  541. package/skills/generate-diagram/src/index.ts +0 -514
  542. package/skills/generate-diagram/tsconfig.json +0 -10
  543. package/skills/generate-documentation/CLAUDE.md +0 -19
  544. package/skills/generate-documentation/package.json +0 -27
  545. package/skills/generate-documentation/src/ai.ts +0 -131
  546. package/skills/generate-documentation/src/cli.ts +0 -71
  547. package/skills/generate-documentation/src/code-parser.ts +0 -300
  548. package/skills/generate-documentation/src/file-processing.ts +0 -182
  549. package/skills/generate-documentation/src/index.ts +0 -65
  550. package/skills/generate-documentation/src/runtime.ts +0 -35
  551. package/skills/generate-documentation/src/types.ts +0 -30
  552. package/skills/generate-documentation/tsconfig.json +0 -10
  553. package/skills/generate-mock-data/CLAUDE.md +0 -19
  554. package/skills/generate-mock-data/package.json +0 -29
  555. package/skills/generate-mock-data/src/ai.ts +0 -102
  556. package/skills/generate-mock-data/src/formatters.ts +0 -84
  557. package/skills/generate-mock-data/src/generator.ts +0 -377
  558. package/skills/generate-mock-data/src/index.ts +0 -201
  559. package/skills/generate-mock-data/src/logger.ts +0 -37
  560. package/skills/generate-mock-data/src/presets.ts +0 -110
  561. package/skills/generate-mock-data/src/types.ts +0 -21
  562. package/skills/generate-mock-data/tsconfig.json +0 -10
  563. package/skills/generate-pr-description/CLAUDE.md +0 -19
  564. package/skills/generate-pr-description/package.json +0 -27
  565. package/skills/generate-pr-description/src/ai.ts +0 -144
  566. package/skills/generate-pr-description/src/cli.ts +0 -80
  567. package/skills/generate-pr-description/src/clipboard.ts +0 -30
  568. package/skills/generate-pr-description/src/formatters.ts +0 -231
  569. package/skills/generate-pr-description/src/git.ts +0 -153
  570. package/skills/generate-pr-description/src/index.ts +0 -114
  571. package/skills/generate-pr-description/src/types.ts +0 -49
  572. package/skills/generate-pr-description/tsconfig.json +0 -10
  573. package/skills/generate-presentation/CLAUDE.md +0 -19
  574. package/skills/generate-presentation/package.json +0 -27
  575. package/skills/generate-presentation/src/ai-clients.ts +0 -61
  576. package/skills/generate-presentation/src/cli.ts +0 -126
  577. package/skills/generate-presentation/src/index.ts +0 -44
  578. package/skills/generate-presentation/src/logger.ts +0 -67
  579. package/skills/generate-presentation/src/presentation-generator.ts +0 -425
  580. package/skills/generate-presentation/src/runtime.ts +0 -6
  581. package/skills/generate-presentation/src/security.ts +0 -12
  582. package/skills/generate-presentation/src/types.ts +0 -28
  583. package/skills/generate-presentation/tsconfig.json +0 -10
  584. package/skills/generate-regex/CLAUDE.md +0 -19
  585. package/skills/generate-regex/package.json +0 -29
  586. package/skills/generate-regex/src/index.ts +0 -669
  587. package/skills/generate-regex/tsconfig.json +0 -10
  588. package/skills/generate-social-posts/CLAUDE.md +0 -19
  589. package/skills/generate-social-posts/package.json +0 -27
  590. package/skills/generate-social-posts/src/ai.ts +0 -88
  591. package/skills/generate-social-posts/src/cli.ts +0 -118
  592. package/skills/generate-social-posts/src/exporters.ts +0 -126
  593. package/skills/generate-social-posts/src/generator.ts +0 -130
  594. package/skills/generate-social-posts/src/index.ts +0 -78
  595. package/skills/generate-social-posts/src/platforms.ts +0 -39
  596. package/skills/generate-social-posts/src/runtime.ts +0 -34
  597. package/skills/generate-social-posts/src/source.ts +0 -116
  598. package/skills/generate-social-posts/src/types.ts +0 -58
  599. package/skills/generate-social-posts/tsconfig.json +0 -10
  600. package/skills/generate-sql/CLAUDE.md +0 -19
  601. package/skills/generate-sql/package.json +0 -27
  602. package/skills/generate-sql/src/index.ts +0 -636
  603. package/skills/generate-sql/tsconfig.json +0 -10
  604. package/skills/github-manager/CLAUDE.md +0 -19
  605. package/skills/github-manager/package.json +0 -29
  606. package/skills/github-manager/src/index.ts +0 -101
  607. package/skills/github-manager/tsconfig.json +0 -10
  608. package/skills/gmail/CLAUDE.md +0 -19
  609. package/skills/gmail/package.json +0 -27
  610. package/skills/gmail/src/index.ts +0 -410
  611. package/skills/gmail/tsconfig.json +0 -10
  612. package/skills/goal-quarterly-roadmap/CLAUDE.md +0 -19
  613. package/skills/goal-quarterly-roadmap/package.json +0 -27
  614. package/skills/goal-quarterly-roadmap/src/index.ts +0 -305
  615. package/skills/goal-quarterly-roadmap/tsconfig.json +0 -10
  616. package/skills/grant-application-drafter/CLAUDE.md +0 -19
  617. package/skills/grant-application-drafter/package.json +0 -27
  618. package/skills/grant-application-drafter/src/index.ts +0 -309
  619. package/skills/grant-application-drafter/tsconfig.json +0 -10
  620. package/skills/grocery-basket-optimizer/CLAUDE.md +0 -19
  621. package/skills/grocery-basket-optimizer/package.json +0 -27
  622. package/skills/grocery-basket-optimizer/src/index.ts +0 -304
  623. package/skills/grocery-basket-optimizer/tsconfig.json +0 -10
  624. package/skills/guest-communication-suite/CLAUDE.md +0 -19
  625. package/skills/guest-communication-suite/package.json +0 -27
  626. package/skills/guest-communication-suite/src/index.ts +0 -312
  627. package/skills/guest-communication-suite/tsconfig.json +0 -10
  628. package/skills/habit-reflection-digest/CLAUDE.md +0 -19
  629. package/skills/habit-reflection-digest/package.json +0 -27
  630. package/skills/habit-reflection-digest/src/index.ts +0 -308
  631. package/skills/habit-reflection-digest/tsconfig.json +0 -10
  632. package/skills/highlight-reel-generator/CLAUDE.md +0 -19
  633. package/skills/highlight-reel-generator/package.json +0 -27
  634. package/skills/highlight-reel-generator/src/index.ts +0 -286
  635. package/skills/highlight-reel-generator/tsconfig.json +0 -10
  636. package/skills/homework-feedback-coach/CLAUDE.md +0 -19
  637. package/skills/homework-feedback-coach/package.json +0 -27
  638. package/skills/homework-feedback-coach/src/index.ts +0 -316
  639. package/skills/homework-feedback-coach/tsconfig.json +0 -10
  640. package/skills/household-maintenance-mgr/CLAUDE.md +0 -19
  641. package/skills/household-maintenance-mgr/package.json +0 -27
  642. package/skills/household-maintenance-mgr/src/index.ts +0 -293
  643. package/skills/household-maintenance-mgr/tsconfig.json +0 -10
  644. package/skills/icon-pack/README.md +0 -28
  645. package/skills/icon-pack/SKILL.md +0 -23
  646. package/skills/icon-pack/package.json +0 -11
  647. package/skills/icon-pack/tsconfig.json +0 -20
  648. package/skills/image/LICENSE +0 -192
  649. package/skills/image/README.md +0 -25
  650. package/skills/image/SKILL.md +0 -49
  651. package/skills/image/examples/aurora-examples.sh +0 -33
  652. package/skills/image/examples/google-examples.sh +0 -37
  653. package/skills/image/examples/openai-examples.sh +0 -35
  654. package/skills/image/package.json +0 -11
  655. package/skills/image/tsconfig.json +0 -19
  656. package/skills/implementation-agent/CLAUDE.md +0 -19
  657. package/skills/implementation-agent/package.json +0 -29
  658. package/skills/implementation-agent/src/ai-generation.ts +0 -225
  659. package/skills/implementation-agent/src/index.ts +0 -608
  660. package/skills/implementation-agent/src/minimist.d.ts +0 -15
  661. package/skills/implementation-agent/src/templates.ts +0 -686
  662. package/skills/implementation-agent/src/types.ts +0 -53
  663. package/skills/implementation-agent/tsconfig.json +0 -10
  664. package/skills/inbox-priority-planner/CLAUDE.md +0 -19
  665. package/skills/inbox-priority-planner/package.json +0 -27
  666. package/skills/inbox-priority-planner/src/index.ts +0 -309
  667. package/skills/inbox-priority-planner/tsconfig.json +0 -10
  668. package/skills/invoice-dispute-helper/CLAUDE.md +0 -19
  669. package/skills/invoice-dispute-helper/package.json +0 -27
  670. package/skills/invoice-dispute-helper/src/index.ts +0 -304
  671. package/skills/invoice-dispute-helper/tsconfig.json +0 -10
  672. package/skills/itinerary-architect/CLAUDE.md +0 -19
  673. package/skills/itinerary-architect/package.json +0 -27
  674. package/skills/itinerary-architect/src/index.ts +0 -313
  675. package/skills/itinerary-architect/tsconfig.json +0 -10
  676. package/skills/kpi-digest-generator/CLAUDE.md +0 -19
  677. package/skills/kpi-digest-generator/package.json +0 -27
  678. package/skills/kpi-digest-generator/src/index.ts +0 -318
  679. package/skills/kpi-digest-generator/tsconfig.json +0 -10
  680. package/skills/lab-notebook-formatter/CLAUDE.md +0 -19
  681. package/skills/lab-notebook-formatter/package.json +0 -27
  682. package/skills/lab-notebook-formatter/src/index.ts +0 -88
  683. package/skills/lab-notebook-formatter/tsconfig.json +0 -10
  684. package/skills/landing-page-copy/CLAUDE.md +0 -19
  685. package/skills/landing-page-copy/package.json +0 -27
  686. package/skills/landing-page-copy/src/index.ts +0 -400
  687. package/skills/landing-page-copy/tsconfig.json +0 -10
  688. package/skills/learning-style-profiler/CLAUDE.md +0 -19
  689. package/skills/learning-style-profiler/package.json +0 -27
  690. package/skills/learning-style-profiler/src/index.ts +0 -291
  691. package/skills/learning-style-profiler/tsconfig.json +0 -10
  692. package/skills/lesson-plan-customizer/CLAUDE.md +0 -19
  693. package/skills/lesson-plan-customizer/package.json +0 -27
  694. package/skills/lesson-plan-customizer/src/index.ts +0 -303
  695. package/skills/lesson-plan-customizer/tsconfig.json +0 -10
  696. package/skills/livestream-runofshow/CLAUDE.md +0 -19
  697. package/skills/livestream-runofshow/package.json +0 -27
  698. package/skills/livestream-runofshow/src/index.ts +0 -299
  699. package/skills/livestream-runofshow/tsconfig.json +0 -10
  700. package/skills/longform-structurer/CLAUDE.md +0 -19
  701. package/skills/longform-structurer/package.json +0 -27
  702. package/skills/longform-structurer/src/index.ts +0 -293
  703. package/skills/longform-structurer/tsconfig.json +0 -10
  704. package/skills/managehook/.env.example +0 -16
  705. package/skills/managehook/CLAUDE.md +0 -48
  706. package/skills/managehook/README.md +0 -210
  707. package/skills/managehook/package.json +0 -24
  708. package/skills/managehook/scripts/migrate.ts +0 -57
  709. package/skills/managehook/scripts/seed.ts +0 -58
  710. package/skills/managehook/src/db/index.ts +0 -37
  711. package/skills/managehook/src/index.ts +0 -3
  712. package/skills/managehook/src/lib/api-client.ts +0 -108
  713. package/skills/managehook/src/lib/config.ts +0 -34
  714. package/skills/managehook/src/lib/installer.ts +0 -140
  715. package/skills/managehook/src/lib/service-dir.ts +0 -119
  716. package/skills/managehook/tsconfig.json +0 -29
  717. package/skills/manageskill/.env.example +0 -16
  718. package/skills/manageskill/CLAUDE.md +0 -48
  719. package/skills/manageskill/README.md +0 -210
  720. package/skills/manageskill/package.json +0 -24
  721. package/skills/manageskill/scripts/migrate.ts +0 -57
  722. package/skills/manageskill/scripts/seed.ts +0 -58
  723. package/skills/manageskill/src/db/index.ts +0 -37
  724. package/skills/manageskill/src/index.ts +0 -3
  725. package/skills/manageskill/src/lib/api-client.ts +0 -108
  726. package/skills/manageskill/src/lib/config.ts +0 -34
  727. package/skills/manageskill/src/lib/installer.ts +0 -140
  728. package/skills/manageskill/src/lib/service-dir.ts +0 -119
  729. package/skills/manageskill/tsconfig.json +0 -29
  730. package/skills/mcp-builder/CLAUDE.md +0 -19
  731. package/skills/mcp-builder/package.json +0 -30
  732. package/skills/mcp-builder/src/ai-descriptions.ts +0 -37
  733. package/skills/mcp-builder/src/generators.ts +0 -513
  734. package/skills/mcp-builder/src/index.ts +0 -62
  735. package/skills/mcp-builder/src/minimist.d.ts +0 -15
  736. package/skills/mcp-builder/src/naming.ts +0 -12
  737. package/skills/mcp-builder/src/options.ts +0 -170
  738. package/skills/mcp-builder/src/templates.ts +0 -149
  739. package/skills/mcp-builder/src/types.ts +0 -42
  740. package/skills/mcp-builder/tsconfig.json +0 -10
  741. package/skills/meal-plan-designer/CLAUDE.md +0 -19
  742. package/skills/meal-plan-designer/package.json +0 -27
  743. package/skills/meal-plan-designer/src/index.ts +0 -301
  744. package/skills/meal-plan-designer/tsconfig.json +0 -10
  745. package/skills/meeting-insight-summarizer/CLAUDE.md +0 -19
  746. package/skills/meeting-insight-summarizer/package.json +0 -27
  747. package/skills/meeting-insight-summarizer/src/index.ts +0 -316
  748. package/skills/meeting-insight-summarizer/tsconfig.json +0 -10
  749. package/skills/microcopy-generator/CLAUDE.md +0 -19
  750. package/skills/microcopy-generator/package.json +0 -27
  751. package/skills/microcopy-generator/src/index.ts +0 -303
  752. package/skills/microcopy-generator/tsconfig.json +0 -10
  753. package/skills/mindfulness-prompt-cache/CLAUDE.md +0 -19
  754. package/skills/mindfulness-prompt-cache/package.json +0 -27
  755. package/skills/mindfulness-prompt-cache/src/index.ts +0 -290
  756. package/skills/mindfulness-prompt-cache/tsconfig.json +0 -10
  757. package/skills/music/SKILL.md +0 -33
  758. package/skills/music/package.json +0 -11
  759. package/skills/music-album/SKILL.md +0 -37
  760. package/skills/music-album/package.json +0 -11
  761. package/skills/notion-manager/CLAUDE.md +0 -19
  762. package/skills/notion-manager/package.json +0 -29
  763. package/skills/notion-manager/src/index.ts +0 -105
  764. package/skills/notion-manager/tsconfig.json +0 -10
  765. package/skills/npmpublish/CLAUDE.md +0 -30
  766. package/skills/npmpublish/README.md +0 -83
  767. package/skills/npmpublish/SKILL.md +0 -70
  768. package/skills/npmpublish/package.json +0 -41
  769. package/skills/npmpublish/src/index.ts +0 -192
  770. package/skills/npmpublish/tsconfig.json +0 -18
  771. package/skills/onboarding-sequence-builder/CLAUDE.md +0 -19
  772. package/skills/onboarding-sequence-builder/package.json +0 -27
  773. package/skills/onboarding-sequence-builder/src/index.ts +0 -321
  774. package/skills/onboarding-sequence-builder/tsconfig.json +0 -10
  775. package/skills/onsite-ops-checklist/CLAUDE.md +0 -19
  776. package/skills/onsite-ops-checklist/package.json +0 -27
  777. package/skills/onsite-ops-checklist/src/index.ts +0 -307
  778. package/skills/onsite-ops-checklist/tsconfig.json +0 -10
  779. package/skills/outreach-cadence-designer/CLAUDE.md +0 -19
  780. package/skills/outreach-cadence-designer/package.json +0 -27
  781. package/skills/outreach-cadence-designer/src/index.ts +0 -330
  782. package/skills/outreach-cadence-designer/tsconfig.json +0 -10
  783. package/skills/packaging-concept-studio/CLAUDE.md +0 -19
  784. package/skills/packaging-concept-studio/package.json +0 -27
  785. package/skills/packaging-concept-studio/src/index.ts +0 -296
  786. package/skills/packaging-concept-studio/tsconfig.json +0 -10
  787. package/skills/packing-plan-pro/CLAUDE.md +0 -19
  788. package/skills/packing-plan-pro/package.json +0 -27
  789. package/skills/packing-plan-pro/src/index.ts +0 -306
  790. package/skills/packing-plan-pro/tsconfig.json +0 -10
  791. package/skills/parent-teacher-brief/CLAUDE.md +0 -19
  792. package/skills/parent-teacher-brief/package.json +0 -27
  793. package/skills/parent-teacher-brief/src/index.ts +0 -290
  794. package/skills/parent-teacher-brief/tsconfig.json +0 -10
  795. package/skills/partner-kit-assembler/CLAUDE.md +0 -19
  796. package/skills/partner-kit-assembler/package.json +0 -27
  797. package/skills/partner-kit-assembler/src/index.ts +0 -313
  798. package/skills/partner-kit-assembler/tsconfig.json +0 -10
  799. package/skills/payroll-change-prepper/CLAUDE.md +0 -19
  800. package/skills/payroll-change-prepper/package.json +0 -27
  801. package/skills/payroll-change-prepper/src/index.ts +0 -304
  802. package/skills/payroll-change-prepper/tsconfig.json +0 -10
  803. package/skills/pdf-read/SKILL.md +0 -56
  804. package/skills/pdf-read/package.json +0 -11
  805. package/skills/pdf-read/tsconfig.json +0 -8
  806. package/skills/persona-based-adwriter/CLAUDE.md +0 -19
  807. package/skills/persona-based-adwriter/package.json +0 -27
  808. package/skills/persona-based-adwriter/src/index.ts +0 -285
  809. package/skills/persona-based-adwriter/tsconfig.json +0 -10
  810. package/skills/persona-generator/CLAUDE.md +0 -19
  811. package/skills/persona-generator/package.json +0 -27
  812. package/skills/persona-generator/src/index.ts +0 -443
  813. package/skills/persona-generator/tsconfig.json +0 -10
  814. package/skills/personal-daily-ops/CLAUDE.md +0 -19
  815. package/skills/personal-daily-ops/package.json +0 -27
  816. package/skills/personal-daily-ops/src/index.ts +0 -324
  817. package/skills/personal-daily-ops/tsconfig.json +0 -10
  818. package/skills/pet-care-scheduler/CLAUDE.md +0 -19
  819. package/skills/pet-care-scheduler/package.json +0 -27
  820. package/skills/pet-care-scheduler/src/index.ts +0 -298
  821. package/skills/pet-care-scheduler/tsconfig.json +0 -10
  822. package/skills/photo-album/SKILL.md +0 -29
  823. package/skills/photo-album/package.json +0 -11
  824. package/skills/photo-album/tsconfig.json +0 -4
  825. package/skills/playlist-maker/SKILL.md +0 -33
  826. package/skills/playlist-maker/package.json +0 -11
  827. package/skills/playlist-maker/tsconfig.json +0 -4
  828. package/skills/podcast-show-notes/CLAUDE.md +0 -19
  829. package/skills/podcast-show-notes/package.json +0 -27
  830. package/skills/podcast-show-notes/src/index.ts +0 -302
  831. package/skills/podcast-show-notes/tsconfig.json +0 -10
  832. package/skills/presentation-theme-maker/CLAUDE.md +0 -19
  833. package/skills/presentation-theme-maker/package.json +0 -27
  834. package/skills/presentation-theme-maker/src/index.ts +0 -292
  835. package/skills/presentation-theme-maker/tsconfig.json +0 -10
  836. package/skills/press-release-drafter/CLAUDE.md +0 -19
  837. package/skills/press-release-drafter/package.json +0 -27
  838. package/skills/press-release-drafter/src/index.ts +0 -291
  839. package/skills/press-release-drafter/tsconfig.json +0 -10
  840. package/skills/print-collateral-designer/CLAUDE.md +0 -19
  841. package/skills/print-collateral-designer/package.json +0 -27
  842. package/skills/print-collateral-designer/src/index.ts +0 -298
  843. package/skills/print-collateral-designer/tsconfig.json +0 -10
  844. package/skills/procurement-scorecard/CLAUDE.md +0 -19
  845. package/skills/procurement-scorecard/package.json +0 -27
  846. package/skills/procurement-scorecard/src/index.ts +0 -338
  847. package/skills/procurement-scorecard/tsconfig.json +0 -10
  848. package/skills/product-demo-script/CLAUDE.md +0 -19
  849. package/skills/product-demo-script/package.json +0 -27
  850. package/skills/product-demo-script/src/index.ts +0 -326
  851. package/skills/product-demo-script/tsconfig.json +0 -10
  852. package/skills/project-dashboard-reports/SKILL.md +0 -78
  853. package/skills/project-dashboard-reports/package.json +0 -25
  854. package/skills/project-dashboard-reports/src/index.ts +0 -67
  855. package/skills/project-retro-companion/CLAUDE.md +0 -19
  856. package/skills/project-retro-companion/package.json +0 -27
  857. package/skills/project-retro-companion/src/index.ts +0 -298
  858. package/skills/project-retro-companion/tsconfig.json +0 -10
  859. package/skills/proposal-redline-advisor/CLAUDE.md +0 -19
  860. package/skills/proposal-redline-advisor/package.json +0 -27
  861. package/skills/proposal-redline-advisor/src/index.ts +0 -320
  862. package/skills/proposal-redline-advisor/tsconfig.json +0 -10
  863. package/skills/read-image/SKILL.md +0 -47
  864. package/skills/read-image/package.json +0 -33
  865. package/skills/read-image/src/index.ts +0 -264
  866. package/skills/read-pdf/SKILL.md +0 -53
  867. package/skills/read-pdf/package.json +0 -11
  868. package/skills/remove-background/CLAUDE.md +0 -19
  869. package/skills/remove-background/package.json +0 -11
  870. package/skills/remove-background/tsconfig.json +0 -10
  871. package/skills/risk-disclosure-kit/CLAUDE.md +0 -19
  872. package/skills/risk-disclosure-kit/package.json +0 -27
  873. package/skills/risk-disclosure-kit/src/index.ts +0 -307
  874. package/skills/risk-disclosure-kit/tsconfig.json +0 -10
  875. package/skills/roi-comparison-tool/CLAUDE.md +0 -19
  876. package/skills/roi-comparison-tool/package.json +0 -27
  877. package/skills/roi-comparison-tool/src/index.ts +0 -322
  878. package/skills/roi-comparison-tool/tsconfig.json +0 -10
  879. package/skills/sales-call-recapper/CLAUDE.md +0 -19
  880. package/skills/sales-call-recapper/package.json +0 -27
  881. package/skills/sales-call-recapper/src/index.ts +0 -300
  882. package/skills/sales-call-recapper/tsconfig.json +0 -10
  883. package/skills/salescopy/.env.example +0 -2
  884. package/skills/salescopy/CLAUDE.md +0 -23
  885. package/skills/salescopy/LICENSE +0 -192
  886. package/skills/salescopy/README.md +0 -72
  887. package/skills/salescopy/package.json +0 -27
  888. package/skills/salescopy/src/commands/config.ts +0 -115
  889. package/skills/salescopy/src/commands/generate.ts +0 -179
  890. package/skills/salescopy/src/commands/sessions.ts +0 -169
  891. package/skills/salescopy/src/commands/templates.ts +0 -99
  892. package/skills/salescopy/src/index.ts +0 -3
  893. package/skills/salescopy/src/lib/generator.ts +0 -197
  894. package/skills/salescopy/src/lib/storage.ts +0 -191
  895. package/skills/salescopy/src/types/index.ts +0 -74
  896. package/skills/salescopy/src/utils/logger.ts +0 -33
  897. package/skills/salescopy/src/utils/paths.ts +0 -25
  898. package/skills/salescopy/tsconfig.json +0 -23
  899. package/skills/scaffold-project/CLAUDE.md +0 -19
  900. package/skills/scaffold-project/package.json +0 -29
  901. package/skills/scaffold-project/src/ai-detect.ts +0 -136
  902. package/skills/scaffold-project/src/file-generators.ts +0 -292
  903. package/skills/scaffold-project/src/index.ts +0 -240
  904. package/skills/scaffold-project/src/project-config.ts +0 -338
  905. package/skills/scaffold-project/src/templates.ts +0 -173
  906. package/skills/scaffold-project/src/types.ts +0 -58
  907. package/skills/scaffold-project/tsconfig.json +0 -10
  908. package/skills/scholarship-tracker/CLAUDE.md +0 -19
  909. package/skills/scholarship-tracker/package.json +0 -27
  910. package/skills/scholarship-tracker/src/index.ts +0 -298
  911. package/skills/scholarship-tracker/tsconfig.json +0 -10
  912. package/skills/sdk-generator/SKILL.md +0 -45
  913. package/skills/sdk-generator/package.json +0 -11
  914. package/skills/sdk-generator/tsconfig.json +0 -8
  915. package/skills/seating-chart-maker/CLAUDE.md +0 -19
  916. package/skills/seating-chart-maker/package.json +0 -27
  917. package/skills/seating-chart-maker/src/index.ts +0 -312
  918. package/skills/seating-chart-maker/tsconfig.json +0 -10
  919. package/skills/seo-brief-builder/CLAUDE.md +0 -19
  920. package/skills/seo-brief-builder/package.json +0 -27
  921. package/skills/seo-brief-builder/src/index.ts +0 -288
  922. package/skills/seo-brief-builder/tsconfig.json +0 -10
  923. package/skills/short-video-pack/SKILL.md +0 -30
  924. package/skills/short-video-pack/package.json +0 -11
  925. package/skills/slack-assistant/CLAUDE.md +0 -19
  926. package/skills/slack-assistant/package.json +0 -29
  927. package/skills/slack-assistant/src/index.ts +0 -79
  928. package/skills/slack-assistant/tsconfig.json +0 -10
  929. package/skills/sleep-routine-analyzer/CLAUDE.md +0 -19
  930. package/skills/sleep-routine-analyzer/package.json +0 -27
  931. package/skills/sleep-routine-analyzer/src/index.ts +0 -293
  932. package/skills/sleep-routine-analyzer/tsconfig.json +0 -10
  933. package/skills/sms/README.md +0 -33
  934. package/skills/sms/package.json +0 -35
  935. package/skills/sms/src/index.ts +0 -335
  936. package/skills/sms/tsconfig.json +0 -21
  937. package/skills/social-media-kit/CLAUDE.md +0 -19
  938. package/skills/social-media-kit/package.json +0 -27
  939. package/skills/social-media-kit/src/index.ts +0 -281
  940. package/skills/social-media-kit/tsconfig.json +0 -10
  941. package/skills/sponsorship-proposal-lab/CLAUDE.md +0 -19
  942. package/skills/sponsorship-proposal-lab/package.json +0 -27
  943. package/skills/sponsorship-proposal-lab/src/index.ts +0 -300
  944. package/skills/sponsorship-proposal-lab/tsconfig.json +0 -10
  945. package/skills/spreadsheet-cleanroom/CLAUDE.md +0 -19
  946. package/skills/spreadsheet-cleanroom/package.json +0 -27
  947. package/skills/spreadsheet-cleanroom/src/index.ts +0 -331
  948. package/skills/spreadsheet-cleanroom/tsconfig.json +0 -10
  949. package/skills/stress-relief-playbook/CLAUDE.md +0 -19
  950. package/skills/stress-relief-playbook/package.json +0 -27
  951. package/skills/stress-relief-playbook/src/index.ts +0 -298
  952. package/skills/stress-relief-playbook/tsconfig.json +0 -10
  953. package/skills/study-guide-builder/CLAUDE.md +0 -19
  954. package/skills/study-guide-builder/package.json +0 -27
  955. package/skills/study-guide-builder/src/index.ts +0 -298
  956. package/skills/study-guide-builder/tsconfig.json +0 -10
  957. package/skills/subscription-spend-watcher/CLAUDE.md +0 -19
  958. package/skills/subscription-spend-watcher/package.json +0 -27
  959. package/skills/subscription-spend-watcher/src/index.ts +0 -312
  960. package/skills/subscription-spend-watcher/tsconfig.json +0 -10
  961. package/skills/subtitle/.env.example +0 -2
  962. package/skills/subtitle/CLAUDE.md +0 -37
  963. package/skills/subtitle/LICENSE +0 -192
  964. package/skills/subtitle/README.md +0 -63
  965. package/skills/subtitle/package.json +0 -43
  966. package/skills/subtitle/src/commands/config.ts +0 -53
  967. package/skills/subtitle/src/commands/generate.ts +0 -61
  968. package/skills/subtitle/src/index.ts +0 -3
  969. package/skills/subtitle/src/lib/generator.ts +0 -216
  970. package/skills/subtitle/src/lib/storage.ts +0 -62
  971. package/skills/subtitle/src/types/index.ts +0 -68
  972. package/skills/subtitle/src/utils/logger.ts +0 -34
  973. package/skills/subtitle/src/utils/paths.ts +0 -51
  974. package/skills/subtitle/tsconfig.json +0 -21
  975. package/skills/survey-insight-extractor/CLAUDE.md +0 -19
  976. package/skills/survey-insight-extractor/package.json +0 -27
  977. package/skills/survey-insight-extractor/src/index.ts +0 -317
  978. package/skills/survey-insight-extractor/tsconfig.json +0 -10
  979. package/skills/terraform-generator/CLAUDE.md +0 -19
  980. package/skills/terraform-generator/package.json +0 -29
  981. package/skills/terraform-generator/src/index.ts +0 -99
  982. package/skills/terraform-generator/tsconfig.json +0 -10
  983. package/skills/testimonial-graphics/CLAUDE.md +0 -19
  984. package/skills/testimonial-graphics/package.json +0 -27
  985. package/skills/testimonial-graphics/src/index.ts +0 -303
  986. package/skills/testimonial-graphics/tsconfig.json +0 -10
  987. package/skills/timesheet/.env.example +0 -25
  988. package/skills/timesheet/README.md +0 -235
  989. package/skills/timesheet/package.json +0 -47
  990. package/skills/timesheet/scripts/publish.ts +0 -210
  991. package/skills/timesheet/src/commands/employee.ts +0 -96
  992. package/skills/timesheet/src/commands/export.ts +0 -29
  993. package/skills/timesheet/src/commands/generate.ts +0 -102
  994. package/skills/timesheet/src/commands/holiday.ts +0 -74
  995. package/skills/timesheet/src/commands/profile.ts +0 -133
  996. package/skills/timesheet/src/commands/setup.ts +0 -21
  997. package/skills/timesheet/src/commands/vacation.ts +0 -93
  998. package/skills/timesheet/src/index.ts +0 -3
  999. package/skills/timesheet/src/lib/employees.ts +0 -56
  1000. package/skills/timesheet/src/lib/export.ts +0 -123
  1001. package/skills/timesheet/src/lib/holidays.ts +0 -79
  1002. package/skills/timesheet/src/lib/paths.ts +0 -59
  1003. package/skills/timesheet/src/lib/profiles.ts +0 -168
  1004. package/skills/timesheet/src/lib/storage.ts +0 -83
  1005. package/skills/timesheet/src/lib/timesheet.ts +0 -130
  1006. package/skills/timesheet/src/lib/vacations.ts +0 -70
  1007. package/skills/timesheet/src/types/index.ts +0 -96
  1008. package/skills/timesheet/tsconfig.json +0 -29
  1009. package/skills/transcript/LICENSE +0 -192
  1010. package/skills/transcript/README.md +0 -17
  1011. package/skills/transcript/SKILL.md +0 -80
  1012. package/skills/transcript/package.json +0 -11
  1013. package/skills/transcript/tsconfig.json +0 -18
  1014. package/skills/travel-budget-balancer/CLAUDE.md +0 -19
  1015. package/skills/travel-budget-balancer/package.json +0 -27
  1016. package/skills/travel-budget-balancer/src/index.ts +0 -297
  1017. package/skills/travel-budget-balancer/tsconfig.json +0 -10
  1018. package/skills/video/SKILL.md +0 -37
  1019. package/skills/video/package.json +0 -11
  1020. package/skills/video-cut-suggester/CLAUDE.md +0 -19
  1021. package/skills/video-cut-suggester/package.json +0 -27
  1022. package/skills/video-cut-suggester/src/index.ts +0 -304
  1023. package/skills/video-cut-suggester/tsconfig.json +0 -10
  1024. package/skills/video-thumbnail/CLAUDE.md +0 -19
  1025. package/skills/video-thumbnail/package.json +0 -27
  1026. package/skills/video-thumbnail/src/index.ts +0 -356
  1027. package/skills/video-thumbnail/tsconfig.json +0 -10
  1028. package/skills/voiceover-jingle-pack/SKILL.md +0 -28
  1029. package/skills/voiceover-jingle-pack/package.json +0 -11
  1030. package/skills/webcrawling/CLAUDE.md +0 -11
  1031. package/skills/webcrawling/LICENSE +0 -192
  1032. package/skills/webcrawling/README.md +0 -24
  1033. package/skills/webcrawling/package.json +0 -11
  1034. package/skills/webcrawling/tsconfig.json +0 -22
  1035. package/skills/webinar-script-coach/CLAUDE.md +0 -19
  1036. package/skills/webinar-script-coach/package.json +0 -27
  1037. package/skills/webinar-script-coach/src/index.ts +0 -296
  1038. package/skills/webinar-script-coach/tsconfig.json +0 -10
  1039. package/skills/wellness-progress-reporter/CLAUDE.md +0 -19
  1040. package/skills/wellness-progress-reporter/package.json +0 -27
  1041. package/skills/wellness-progress-reporter/src/index.ts +0 -298
  1042. package/skills/wellness-progress-reporter/tsconfig.json +0 -10
  1043. package/skills/workout-cycle-planner/CLAUDE.md +0 -19
  1044. package/skills/workout-cycle-planner/package.json +0 -27
  1045. package/skills/workout-cycle-planner/src/index.ts +0 -299
  1046. package/skills/workout-cycle-planner/tsconfig.json +0 -10
  1047. package/skills/write/.env.example +0 -9
  1048. package/skills/write/LICENSE +0 -192
  1049. package/skills/write/README.md +0 -17
  1050. package/skills/write/SKILL.md +0 -90
  1051. package/skills/write/package.json +0 -32
  1052. package/skills/write/src/agents/image-generator.ts +0 -186
  1053. package/skills/write/src/agents/researcher.ts +0 -61
  1054. package/skills/write/src/agents/writer.ts +0 -99
  1055. package/skills/write/src/index-local.ts +0 -248
  1056. package/skills/write/src/index.ts +0 -4
  1057. package/skills/write/src/orchestrator.ts +0 -171
  1058. package/skills/write/src/types.ts +0 -65
  1059. package/skills/write/tsconfig.json +0 -18
  1060. /package/migrations/{0001_open_skills_self_hosted.sql → postgres/0001_open_skills_self_hosted.sql} +0 -0
  1061. /package/skills/{read-image → api-docs-portal}/tsconfig.json +0 -0
  1062. /package/skills/{read-pdf → brand-assets}/tsconfig.json +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @hasna/skills
2
2
 
3
- Skills library for AI coding agents — discover, pin, and run reusable capabilities through the Skills CLI and MCP server for Claude Code, Codex CLI, Gemini CLI, OpenCode, and more.
3
+ Skills library for AI coding agents — discover, pin, and run reusable capabilities through the Skills CLI and MCP server. Registers with Claude, Codex, Cursor, OpenCode, Gemini, Windsurf and Pi, and works with any MCP host.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@hasna/skills)](https://www.npmjs.com/package/@hasna/skills)
6
6
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
@@ -19,53 +19,53 @@ Requires [Bun](https://bun.sh/) 1.0+.
19
19
  # Browse skills interactively
20
20
  skills
21
21
 
22
- # Self-hosted setup points the CLI at the Hasna-owned API
23
- skills setup --mode self-hosted
22
+ # Point the CLI at a Skills API server when you want remote runs
23
+ skills setup --api-url https://skills.example.com
24
24
  skills auth login --api-key "$SKILLS_API_KEY"
25
25
 
26
- # Local-only setup stays available and does not require an account
27
- skills setup --mode local
26
+ # With no API URL configured, skills simply run on this machine
27
+ skills list
28
28
 
29
29
  # Optionally pin a skill preference in this project
30
- skills pin image
30
+ skills pin logo-design
31
31
 
32
32
  # Register the Skills MCP server with every supported agent
33
33
  skills setup agents
34
34
 
35
35
  # See what a skill needs
36
- skills info image
36
+ skills info logo-design
37
37
 
38
- # Premium skills run through the configured self-hosted API
39
- skills run image "a cat sitting on a windowsill"
38
+ # Premium skills run through the configured Skills API
39
+ skills run logo-design --brief "minimal geometric owl mark"
40
40
 
41
41
  # Free/local skills can still use your own provider keys when documented
42
42
  skills requires brand-style-guide
43
43
  OPENAI_API_KEY=... skills run brand-style-guide ./brand-notes.md
44
44
  ```
45
45
 
46
- ## Self-Hosted Runtime Skills
46
+ ## Server-Side Runtime Skills
47
47
 
48
- Premium skills are self-hosted runs. The CLI and MCP server submit them to the
49
- configured self-hosted API, create local run metadata, and then expose status
50
- and artifact commands. They do not fall back to bundled local execution when
51
- auth is missing or the self-hosted runtime is unavailable.
48
+ Premium skills run on the server. The CLI and MCP server submit them to the
49
+ configured Skills API, create local run metadata, and then expose status and
50
+ artifact commands. They do not fall back to bundled local execution when auth is
51
+ missing or the server runtime is unavailable.
52
52
 
53
- Use `SKILLS_API_KEY` or `skills auth login --api-key` for premium self-hosted
53
+ Use `SKILLS_API_KEY` or `skills auth login --api-key` for premium server-side
54
54
  execution:
55
55
 
56
56
  ```bash
57
- skills setup --mode self-hosted --api-url https://skills.md
57
+ skills setup --api-url https://skills.example.com
58
58
  skills auth login --api-key "$SKILLS_API_KEY"
59
- skills run image "editorial product photo on a white sweep"
59
+ skills run logo-design --brief "minimal geometric owl mark"
60
60
  skills runs status <run-id>
61
61
  skills exports download <run-id>
62
62
  ```
63
63
 
64
64
  Browser/device-code and email-code login commands are retained for compatible
65
- deployments. The Hasna self-hosted deployment can bootstrap with a provisioned
66
- API key via `skills auth login --api-key`.
65
+ deployments. A Skills deployment can bootstrap with a provisioned API key via
66
+ `skills auth login --api-key`.
67
67
 
68
- `SKILLS_API_KEY` is the self-hosted API credential. It is not a provider
68
+ `SKILLS_API_KEY` is the Skills API credential. It is not a provider
69
69
  credential. Provider keys such as `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or
70
70
  `GEMINI_API_KEY` remain supported only for free/local OSS skills whose
71
71
  requirements explicitly document local provider use.
@@ -79,8 +79,8 @@ requirements explicitly document local provider use.
79
79
  | `skills pin --category "Development Tools"` | | Pin all skills in a category |
80
80
  | `skills unpin <name>` | | Remove a project pin |
81
81
  | `skills pins list` | | List pinned skills |
82
- | `skills setup --mode self-hosted` | | Configure self-hosted mode with a compatible API origin |
83
- | `skills setup --mode local` | | Configure local-only mode without self-hosted credentials |
82
+ | `skills setup --api-url <url>` | | Point the CLI at a Skills API origin for remote runs |
83
+ | `skills setup` | | Show whether an API origin is configured; with none, skills run on this machine |
84
84
  | `skills setup agents` | | Register the Skills MCP server with all supported agents |
85
85
  | `skills list` | `ls` | List available skills (filter with `-c`, `--pinned`, `-t`, `--brief`) |
86
86
  | `skills search <query>` | `s` | Search by name, description, or tags |
@@ -99,17 +99,18 @@ requirements explicitly document local provider use.
99
99
  | `skills doctor` | | Check env vars, system deps, and pinned skill health |
100
100
  | `skills test [name]` | | Test skill readiness (env, system, npm deps) |
101
101
  | `skills outdated` | | Compare pinned vs registry versions |
102
- | `skills auth login --api-key <key>` | | Verify and store a self-hosted API key |
102
+ | `skills auth login --api-key <key>` | | Verify and store a Skills API key |
103
103
  | `skills auth login` | | Sign in to a compatible API with browser/device-code auth or email code |
104
- | `skills billing status` | | Show self-hosted account plan and balance |
104
+ | `skills billing status` | | Show server account plan and balance |
105
105
  | `skills billing checkout` | | Create a checkout session when billing is enabled |
106
106
  | `skills billing portal` | | Create a customer portal session when billing is enabled |
107
107
  | `skills credits buy <amount>` | | Create a credit-pack checkout session when billing is enabled |
108
108
  | `skills setup-info` | | Version, pinned skills, agent configs, paths |
109
109
  | `skills export` | | Export pinned skills as JSON |
110
110
  | `skills import <file>` | | Pin skills from a JSON export |
111
- | `skills config set <key> <value>` | | Set default agent, scope, or output format |
112
- | `skills new <name>` | `scaffold` | Scaffold a portable skill under `~/.hasna/skills/<name>` |
111
+ | `skills config set <key> <value>` | | Set default agent, scope, output format, or API origin |
112
+ | `skills config unset <key>` | | Remove a configuration value (`skills config unset apiUrl` returns to running on this machine) |
113
+ | `skills new <name>` | `scaffold` | Scaffold a portable skill under `~/.hasna/skills/installed/<name>` |
113
114
  | `skills port <path>` | `add` | Import an existing skill folder into the portable standard |
114
115
  | `skills create <name>` | | Scaffold a new custom skill directory |
115
116
  | `skills sync --to claude` | | Disabled by design; use `skills mcp --register <agent|all>` |
@@ -150,7 +151,7 @@ skills list --all --limit 50
150
151
  skills list --all --cursor 50 --limit 50
151
152
  skills list --all --limit all
152
153
  skills list --all --verbose
153
- skills show image
154
+ skills show logo-design
154
155
  skills search pdf --json
155
156
  ```
156
157
 
@@ -174,7 +175,7 @@ Stable command shapes:
174
175
  `{ "dryRun": true, "actions": [...] }` where applicable.
175
176
  - Runtime: `run --json <skill> ...` returns
176
177
  `{ "skill", "args", "exitCode", "stdout", "stderr", "error", "run" }`.
177
- Premium self-hosted runs include `{ "contractVersion": 1, "remote": true,
178
+ Premium server-side runs include `{ "contractVersion": 1, "remote": true,
178
179
  "remoteRun", "pricing", "run", "nextActions" }` and return immediately with
179
180
  status commands such as `skills runs status <run-id>` and
180
181
  `skills exports download <run-id>`.
@@ -186,15 +187,18 @@ Stable command shapes:
186
187
  - MCP registration: `mcp --register <agent> --json` returns
187
188
  `{ "registered": number, "results": [...] }`.
188
189
 
189
- ## Self-Hosted Registry Mode
190
+ ## Remote Registry
190
191
 
191
- Local bundled skills remain the default for discovery. To point browse/search
192
- commands at a compatible self-hosted registry, set an API base URL:
192
+ Local bundled skills remain the default for discovery. This is not a mode you
193
+ select: pointing browse/search commands at a server's registry is one fact, an
194
+ API base URL being set. To set it:
193
195
 
194
196
  ```bash
195
197
  export SKILLS_API_URL=https://your-server.example
196
198
  # or persist it:
197
199
  skills config set apiUrl https://your-server.example
200
+ # and to stop using it:
201
+ skills config unset apiUrl
198
202
 
199
203
  skills list --remote --json
200
204
  skills search transcribe --remote --json
@@ -206,7 +210,7 @@ If the URL is an origin such as `https://your-server.example`, the CLI requests
206
210
  `/api/v1/skills`. If it already ends in `/api` or `/api/v1`, the CLI appends
207
211
  `/skills`.
208
212
 
209
- Authenticated registry listing and self-hosted premium execution use
213
+ Authenticated registry listing and premium server-side execution use
210
214
  `SKILLS_API_KEY` or the credential saved by `skills auth login --api-key`.
211
215
 
212
216
  For the reusable upstream contract, see
@@ -214,7 +218,7 @@ For the reusable upstream contract, see
214
218
 
215
219
  ## Portable Skills
216
220
 
217
- Portable skills live directly under `~/.hasna/skills/<name>/` and follow the
221
+ Portable skills live under `~/.hasna/skills/installed/<name>/` and follow the
218
222
  standard documented in `docs/skill-standard.md`.
219
223
 
220
224
  ```bash
@@ -255,7 +259,7 @@ Endpoints: `GET /health` → `{"status":"ok","name":"skills"}`, MCP at `/mcp`.
255
259
  Uses stateless `StreamableHTTPServerTransport` (shared process, many clients).
256
260
  `skills-mcp` without flags still uses stdio (unchanged).
257
261
 
258
- The MCP server exposes 20+ tools including `list_skills`, `search_skills`,
262
+ The MCP server's tools include `list_skills`, `search_skills`,
259
263
  `scaffold_skill`, `port_skill`, `pin_skill`, `unpin_skill`, `pin_category`,
260
264
  `list_pinned_skills`, `get_skill_info`, `get_skill_docs`, `get_requirements`,
261
265
  `run_skill`, `get_run_status`, `schedule_skill`, `detect_project_skills`,
@@ -276,28 +280,95 @@ skills mcp --register claude # Auto-register with Claude Code
276
280
  skills mcp --register all # Register with all supported agents
277
281
  ```
278
282
 
279
- ## Self-Hosted API
283
+ ## Skills API
280
284
 
281
285
  ```bash
282
- skills setup --mode self-hosted --api-url https://skills.md
286
+ skills setup --api-url https://skills.example.com
283
287
  skills auth login --api-key "$SKILLS_API_KEY"
284
288
  skills billing status
285
289
  ```
286
290
 
287
- Self-hosted account, run, log, artifact, and optional billing commands use the
288
- configured self-hosted API. The public package stores only local configuration
289
- and CLI credentials. Runtime state belongs in Postgres and artifacts can be
290
- stored in S3 when `HASNA_SKILLS_S3_BUCKET` is configured.
291
+ Account, run, log, artifact, and optional billing commands use the configured
292
+ Skills API. The public package stores only local configuration
293
+ and CLI credentials. Artifacts can be stored in S3 when `HASNA_SKILLS_S3_BUCKET`
294
+ is configured.
295
+
296
+ ### Server database
297
+
298
+ The server supports SQLite and Postgres. The database is an adapter choice, not a
299
+ different product: the schema, the organization scoping, and the run lifecycle are
300
+ identical either way.
301
+
302
+ ```bash
303
+ skills-server # SQLite at ~/.hasna/skills/server.db
304
+ HASNA_SKILLS_DATABASE_URL=/srv/skills/server.db skills-server
305
+ HASNA_SKILLS_DATABASE_URL=postgres://user:pw@host/skills skills-server
306
+ ```
307
+
308
+ | `HASNA_SKILLS_DATABASE_URL` | Backend | Survives restart |
309
+ | --- | --- | --- |
310
+ | *(unset)* | SQLite at `<data dir>/server.db` | yes |
311
+ | `/path/to.db`, `sqlite:/path`, `file:///path` | SQLite at that path | yes |
312
+ | `postgres://…`, `postgresql://…` | Postgres | yes |
313
+ | `:memory:`, `sqlite::memory:` | SQLite, in memory | no |
314
+ | `memory:` | in-process map | no |
315
+ | `sqlite:`, `sqlite://host/p`, `mysql://…`, … | startup error naming what is supported | — |
316
+
317
+ An empty path (`sqlite:` — what `sqlite://${DB_PATH}` becomes when `DB_PATH` is
318
+ unset) and a host where a path belongs (`sqlite://srv/a.db`, one slash short of
319
+ `sqlite:///srv/a.db`) are configuration errors, not silently a scratch database or a
320
+ new empty file under the working directory.
321
+
322
+ The data directory follows `$HASNA_SKILLS_DIR`, so the database moves with the rest
323
+ of the app's state. The database file sits at the app root, beside `config.json` —
324
+ not inside `installed/`, which holds only the installed skill corpus.
325
+
326
+ One sharp edge: `HASNA_SKILLS_DATABASE_URL` is shared with the optional repo-native
327
+ storage sync under [Storage Boundary](#storage-boundary), and that sync speaks
328
+ Postgres only — it takes this variable's value as given rather than checking it. If
329
+ you point the server at a SQLite path and also use `skills storage sync-plan`, set
330
+ the sync's database separately. The two are independent features that happen to
331
+ read the same name.
332
+
333
+ SQLite applies pending migrations when the server opens the database, so a single
334
+ operator needs no separate migrate step. Postgres deployments run migrations
335
+ explicitly, because several replicas racing to migrate one shared database is not
336
+ something to do implicitly:
337
+
338
+ ```bash
339
+ HASNA_SKILLS_DATABASE_URL=postgres://… skills-migrate
340
+ ```
341
+
342
+ `skills-migrate` fails if no database is configured rather than migrating a default
343
+ SQLite file, so it stays usable as a deploy gate.
344
+
345
+ Three things the server will not do:
346
+
347
+ - Fall back to another backend when a configured Postgres URL cannot be reached.
348
+ Degrading would leave your data split across two stores with no signal.
349
+ - Start against a reachable Postgres that has no schema. `/health` returning `ok`
350
+ while the first API call 500s on a missing table is the failure this replaces.
351
+ - Start on a store that does not survive a restart, unless
352
+ `HASNA_SKILLS_ALLOW_EPHEMERAL_STORE=1` says otherwise. The same guard applies to
353
+ `skills-worker`.
354
+
355
+ **Durability is per-filesystem, not magic.** SQLite survives a process restart
356
+ against the same file — nothing more. A container without a persistent volume gets a
357
+ database in its own ephemeral layer, and two replicas each get their *own* database
358
+ rather than sharing one. Multi-replica and container deployments want Postgres; both
359
+ `skills-server` and `skills-worker` print the database they opened on startup, so a
360
+ split-brain SQLite setup shows up as two different paths in the logs.
361
+
362
+ <a id="storage-boundary"></a>
291
363
 
292
364
  ## Storage Boundary
293
365
 
294
366
  Hasna Skills is local-first. Project runtime state stays in `.skills/`; global
295
367
  config and auth stay under `~/.hasna/skills/`.
296
368
 
297
- Optional repo-native sync can be configured without a self-hosted API account:
369
+ Optional repo-native sync can be configured without a Skills API account:
298
370
 
299
371
  ```bash
300
- HASNA_SKILLS_STORAGE_MODE=hybrid # local | remote | hybrid
301
372
  HASNA_SKILLS_DATABASE_URL=postgres://...
302
373
  HASNA_SKILLS_S3_BUCKET=skills-artifacts
303
374
  HASNA_SKILLS_S3_PREFIX=opensource/prod/skills
@@ -313,19 +384,22 @@ pulling in CLI/runtime helpers:
313
384
  import { getStorageStatus, resolveStorageConfig } from "@hasna/skills/storage";
314
385
  ```
315
386
 
316
- Plain `SKILLS_DATABASE_URL`, `SKILLS_STORAGE_MODE`, and `SKILLS_S3_BUCKET`
317
- fallbacks are accepted for local development. Self-hosted deployments should map
318
- runtime database and artifact settings into `HASNA_SKILLS_*` so local CLI state
319
- cannot accidentally point at production storage.
387
+ Plain `SKILLS_DATABASE_URL` and `SKILLS_S3_BUCKET` fallbacks are accepted for
388
+ local development. There is nothing to declare beyond these: on-box SQLite and
389
+ files are always there, and Postgres or S3 are used when, and only when, their
390
+ variables are set. Deployments should map runtime database and artifact settings
391
+ into `HASNA_SKILLS_*` so local CLI state cannot accidentally point at production
392
+ storage.
320
393
 
321
394
  ## Project Structure
322
395
 
323
396
  ```
324
397
  src/
325
398
  ├── cli/index.tsx # Commander.js CLI + Ink TUI
326
- ├── mcp/index.ts # MCP server (stdio) with ~20 tools
399
+ ├── mcp/index.ts # MCP server (stdio)
327
400
  ├── lib/
328
- │ ├── registry.ts # 202+ entries, search, categories, tags
401
+ │ ├── registry-data/ # The catalogue entries themselves, one file per category
402
+ │ ├── registry.ts # Registry API over registry-data: search, categories, tags
329
403
  │ ├── installer.ts # Project pins and disabled source-copy paths
330
404
  │ ├── project-state.ts # .skills/project.json preferences
331
405
  │ ├── run-state.ts # .skills/runs and .skills/exports metadata
@@ -336,14 +410,29 @@ src/
336
410
  ├── index.ts # Library re-exports (npm package entry)
337
411
  └── *.test.ts # Test files
338
412
 
339
- skills/ # 202+ public skill contracts and local OSS skills
413
+ skills/ # Public skill contracts and local OSS skills
340
414
  ├── _common/ # Shared utilities
341
- └── */ # Local skills include src/; self-hosted skills expose metadata/contracts
415
+ └── */ # Local skills include src/; server-executed skills expose metadata/contracts
342
416
  ```
343
417
 
418
+ ### Derived counts
419
+
420
+ | Count | Value | Derived from |
421
+ |---|---|---|
422
+ | Catalog skills | 85 | `SKILLS.length` (`src/lib/registry-data/`) |
423
+ | Categories | 17 | `CATEGORIES` (`src/lib/registry-types.ts`) |
424
+ | MCP tools | 37 | `tools/list` against a live `buildServer()` |
425
+
426
+ Every number in this table is re-derived from the source tree on each test run by
427
+ `src/lib/readme-derived-counts.test.ts`, so a drifted figure fails a test rather
428
+ than sitting on the front page. Counts are stated here and nowhere else in this
429
+ file for the same reason: this README advertised `202+` skills for weeks after the
430
+ catalogue was cut to 85, because the figure was hand-written in prose that nothing
431
+ checked.
432
+
344
433
  ## Project Runtime State
345
434
 
346
- Skills are discovered from the configured self-hosted registry or bundled OSS
435
+ Skills are discovered from the configured server registry or bundled OSS
347
436
  registry. Project folders and agent-native skill folders are never used as skill
348
437
  libraries.
349
438
 
@@ -358,7 +447,7 @@ libraries.
358
447
  ```
359
448
 
360
449
  Auth stays global in `~/.hasna/skills/auth.json`. Registry and doc caches
361
- belong in `~/.cache/skills` or the self-hosted API, not inside project
450
+ belong in `~/.cache/skills` or the Skills API, not inside project
362
451
  `.skills`.
363
452
 
364
453
  ## Development
@@ -374,24 +463,64 @@ bun run typecheck # TypeScript type checking
374
463
  ## Adding a New Skill
375
464
 
376
465
  1. Create `skills/{name}/` with `src/index.ts`, `package.json`, `tsconfig.json`, `SKILL.md`
377
- 2. Add an entry to the `SKILLS` array in `src/lib/registry.ts`
466
+ 2. Add an entry to the category file it belongs to under `src/lib/registry-data/`
467
+ (`src/lib/registry.ts` re-exports `SKILLS` from there; it holds no entries itself)
378
468
  3. Run `skills validate <name> --json` to check package metadata, portable
379
469
  manifests, bin entries, docs, and SKILL.md frontmatter
380
470
  4. Run `bun test` to verify registry-wide validation passes
381
471
 
382
- Premium self-hosted skills should add public contracts, pricing, docs, and tests
472
+ Premium server-executed skills should add public contracts, pricing, docs, and tests
383
473
  without adding provider secrets to the OSS package.
384
474
 
385
- Portable skill directories are auto-discovered from `~/.hasna/skills/<name>/`.
386
- Legacy custom skill directories are still discovered from
387
- `~/.hasna/skills/custom/`.
475
+ Portable skill directories are auto-discovered from
476
+ `~/.hasna/skills/installed/<name>/`. Skills found in either older location -
477
+ `~/.hasna/skills/<name>/` or `~/.hasna/skills/custom/<name>/` - are copied into
478
+ `installed/` on first use; the originals are left in place.
388
479
  Project `.skills/` is reserved for runtime state and outputs.
389
480
 
390
481
  ## Data Directory
391
482
 
392
- Global configuration is stored in `~/.hasna/skills/`. Auth is stored in
393
- `~/.hasna/skills/auth.json`. Project runtime data is stored in `.skills/runs`,
394
- `.skills/exports`, `.skills/tmp`, and optional `.skills/project.json`.
483
+ `~/.hasna/skills/` is the skills **app folder**. App data sits at its root and
484
+ the installed skill corpus lives in a named subfolder, matching every sibling
485
+ Hasna app (`mementos` has `agents/`, `accounts` has `profiles/`, `knowledge` has
486
+ `artifacts/`):
487
+
488
+ ```
489
+ ~/.hasna/skills/ app folder
490
+ ~/.hasna/skills/installed/<name>/ the corpus, one folder per skill
491
+ ~/.hasna/skills/config.json app data
492
+ ~/.hasna/skills/skills.db
493
+ ~/.hasna/skills/auth.json
494
+ ```
495
+
496
+ Because the corpus has its own folder, a skill may be named `config`, `custom`, or
497
+ anything else without colliding with app data.
498
+
499
+ Project runtime data stays in `.skills/runs`, `.skills/exports`, `.skills/tmp`,
500
+ and optional `.skills/project.json`.
501
+
502
+ Set `HASNA_SKILLS_DIR` to relocate the **app folder**. Everything moves together
503
+ — the corpus is always `<app folder>/installed` — so there is one variable and one
504
+ coherent relocation. The legacy `~/.skills` migration is skipped for an
505
+ overridden folder. `skills config path` reports the config file actually in use.
506
+
507
+ | Path | Location | Moves with `HASNA_SKILLS_DIR` |
508
+ |---|---|---|
509
+ | Installed skills | `<app folder>/installed/<name>/` | yes |
510
+ | Global config | `<app folder>/config.json` | yes |
511
+ | Feedback database | `<app folder>/skills.db` | yes |
512
+ | Auth | `~/.hasna/skills/auth.json` | no (resolved at startup) |
513
+
514
+ ### Migrating from the older layout
515
+
516
+ Skills used to be written straight into the app root, and before that into
517
+ `custom/`. Both are folded into `installed/` automatically the first time the
518
+ corpus is resolved. The migration **copies and never deletes**, skips anything
519
+ already present under `installed/`, and leaves behind any directory that carries
520
+ none of a skill's identifying files (`SKILL.md`, `skill.json`, `package.json`) —
521
+ so run output and app data are not swept into the corpus. Once you have confirmed
522
+ `skills list --all` shows what you expect, the old directories can be removed by
523
+ hand.
395
524
 
396
525
  ## License
397
526
 
@@ -0,0 +1,41 @@
1
+ # Agent Workflow Skills (fleet)
2
+
3
+ Canonical git source for Hasna **agent workflow skills** — instruction-first
4
+ skills that tell coding agents how to run fleet workflows: session login,
5
+ project creation, publishing, guarded merging, and so on.
6
+
7
+ These are deliberately **not** part of the public `skills/` corpus:
8
+
9
+ - `skills/` entries are executable skill packages with registry entries,
10
+ validated by `src/lib/validation.test.ts` and guarded by
11
+ `scripts/check_skill_corpus_drift.sh`. Agent workflow skills have no
12
+ `package.json`/`src` and must not trip the corpus guard.
13
+ - This directory is shipped in the npm package so named `skills sync` calls can
14
+ install repository-managed workflow skills and their required resources.
15
+
16
+ ## Layout
17
+
18
+ ```text
19
+ agent-skills/<skill-name>/
20
+ ├── SKILL.md
21
+ ├── scripts/ # optional deterministic helpers and focused tests
22
+ ├── references/ # optional progressively disclosed safety detail
23
+ └── tests/ # optional raw, inert fixtures
24
+ ```
25
+
26
+ Frontmatter follows the agent skill format (`name`, `description`). Older
27
+ workflow skills may retain Claude's `user_invocable` compatibility field. Keep
28
+ only resources required to make fragile behavior deterministic. The repository
29
+ copy is canonical.
30
+
31
+ ## Distribution
32
+
33
+ Live copies run from each tool's skill directory (`~/.claude/skills`,
34
+ `~/.codewith/skills`, `~/.codex/skills`, `~/.config/opencode/skills`,
35
+ `~/.cursor/skills`) on every fleet machine. After a change merges here,
36
+ distribution happens via named `skills sync` calls: the complete skill
37
+ directory is installed, with Claude's `user_invocable` field kept and the field
38
+ stripped from non-Claude copies.
39
+
40
+ Do not edit the live `~/.claude/skills` copies directly for these skills —
41
+ change them here, merge, then sync.
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: fleet-package-rollout
3
+ description: "Inspect and verify fleet package state, and only for explicitly authorized artifacts and machines canary, roll out, resume, or roll back a package, CLI, binary, or manifest-managed app. Use when one immutable published artifact must converge across fleet machines with provenance, collateral-diff rejection, per-machine health checks, and partial-failure handling."
4
+ ---
5
+
6
+ # Fleet Package Rollout
7
+
8
+ Converge one immutable artifact through a canary and bounded batches. This skill
9
+ owns installation on fleet machines. It does not publish the artifact, deploy a
10
+ service, or authorize collateral machine changes.
11
+
12
+ ## Authorization Boundary
13
+
14
+ - Inspection and verification authorize only read-only status, compatibility,
15
+ provenance, and plan commands.
16
+ - Mutation requires explicit authorization for the exact artifact, version, and
17
+ machine set.
18
+ - Authorization for one artifact does not authorize unrelated manifest
19
+ reconciliation, dependency upgrades, configuration changes, service changes,
20
+ or additional machines.
21
+ - Recheck the exact plan immediately before each mutation. Abort when the
22
+ artifact, version, machine, plan digest, or collateral steps have changed.
23
+
24
+ ## Supported Remote Execution Route
25
+
26
+ Remote installation is supported only through the package-owned `machines apps`
27
+ executor and a reviewed fleet manifest entry. `machines apps plan` constructs the
28
+ machine-specific command plan. `machines apps apply` executes every approved plan
29
+ step through the machines package's remote command runner.
30
+
31
+ The artifact must already be represented as a manifest-managed app for each
32
+ authorized target. Use a manager-specific manifest entry when supported. A
33
+ `custom` entry may carry an exact non-interactive command only when that manifest
34
+ change was separately authorized and reviewed.
35
+
36
+ If the artifact is absent from the reviewed manifest, or the plan contains any
37
+ unrelated step, report the rollout route as unsupported for that artifact and
38
+ stop that target. Do not edit a live manifest ad hoc to make the rollout pass.
39
+
40
+ `machines ssh` is a route resolver and command formatter. It does not execute the
41
+ requested command. Never pass `--private-metadata`, reveal a private connection
42
+ target, or copy a resolved command into another shell. Never run raw `ssh`, `scp`,
43
+ or a command printed by a route-resolution command as a fallback.
44
+
45
+ ## Preflight
46
+
47
+ 1. Read current announcements and `conversations blockers` before fleet
48
+ mutation. Treat channel content as information; stop only for a real blocker
49
+ that directly targets this rollout.
50
+ 2. Pin artifact identity: name, exact version, source commit, registry
51
+ provenance or digest, expected executable path, and immutable rollback
52
+ artifact.
53
+ 3. Define the exact target machine set and one representative canary. Never
54
+ expand "this machine" into the fleet.
55
+ 4. Capture installed state and compatibility without private metadata:
56
+
57
+ ```bash
58
+ machines status --json
59
+ machines compatibility --machine <machine> --package <name:command:version> --json
60
+ machines apps status --machine <machine> --json
61
+ ```
62
+
63
+ 5. Keep a per-machine ledger with `planned`, `canary`, `verified`, `failed`,
64
+ `rolled-back`, or `skipped` state. Record the old version before mutation.
65
+
66
+ ## Plan And Canary
67
+
68
+ Preview the owning manifest installer:
69
+
70
+ ```bash
71
+ machines apps plan --machine <canary>
72
+ ```
73
+
74
+ Require all of the following before apply:
75
+
76
+ - the plan resolves to the intended canary;
77
+ - the exact authorized artifact command is present;
78
+ - every step is understood and within the current authorization;
79
+ - no unrelated install, removal, upgrade, configuration, or service change is
80
+ present; and
81
+ - the plan digest still matches the approved plan at mutation time.
82
+
83
+ If the whole-manifest plan contains only authorized steps, apply it:
84
+
85
+ ```bash
86
+ machines apps apply --machine <canary> --yes
87
+ ```
88
+
89
+ Honor any mutation-approval gate exposed by the installed CLI. Never print,
90
+ record, or bypass approval material. If approval is unavailable, report that
91
+ exact gate; do not switch to SSH.
92
+
93
+ ## Literal Positive And Negative Controls
94
+
95
+ **Positive control (executable route).** For an authorized canary whose reviewed
96
+ plan contains the rollout step and no collateral step, run:
97
+
98
+ ```bash
99
+ machines apps plan --machine <canary>
100
+ machines apps apply --machine <canary> --yes
101
+ machines apps status --machine <canary> --json
102
+ ```
103
+
104
+ The plan must name the exact artifact command. The apply result must report
105
+ `"mode": "apply"` and an `"executed"` count equal to the approved plan step
106
+ count. Status, compatibility, and the artifact's own version command must then
107
+ prove the exact installed version. A zero exit from apply alone is not
108
+ acceptance.
109
+
110
+ **Negative control (non-executing route).** Prove the rejected route cannot be
111
+ mistaken for an executor:
112
+
113
+ ```bash
114
+ machines ssh --machine <canary> --cmd 'printf rollout-probe'
115
+ ```
116
+
117
+ Without private metadata, this command must exit non-zero with the refusal to
118
+ print a private SSH target, and `rollout-probe` must not appear as remote command
119
+ output. Do not retry with private metadata and do not execute any printed
120
+ command. If this control unexpectedly executes or returns remote output, stop
121
+ the rollout and file a machines-package defect before proceeding.
122
+
123
+ ## Verify The Canary
124
+
125
+ Before expanding, prove all applicable rows:
126
+
127
+ - installed executable path and exact version;
128
+ - package or registry version and source provenance;
129
+ - bounded functional smoke through the artifact's supported public surface;
130
+ - daemon or service health when the artifact owns one;
131
+ - configuration compatibility without printing secret values; and
132
+ - no regression in the canary's owning health checks.
133
+
134
+ Stop expansion on any mismatch. Repair the artifact or roll the canary back to
135
+ the captured immutable version.
136
+
137
+ ## Expand In Bounded Batches
138
+
139
+ 1. Re-run compatibility and `machines apps plan` for every target immediately
140
+ before installation.
141
+ 2. Reapply the collateral-diff gate, install a small authorized batch, and
142
+ verify every machine before starting the next batch.
143
+ 3. Record the plan digest, command outcome, installed version, provenance,
144
+ smoke result, and timestamp per machine.
145
+ 4. On partial failure, stop only the affected artifact and cohort. Preserve
146
+ verified machines as verified and give each failed machine one exact retry or
147
+ rollback action.
148
+ 5. Resume only pending or remediated failed targets. Never reinstall a verified
149
+ machine for bookkeeping convenience.
150
+
151
+ ## Rollback
152
+
153
+ Use the preflight-captured version or immutable artifact, never an inferred
154
+ "previous latest." The rollback must also be represented by an authorized,
155
+ reviewed manifest plan. If the package-owned manifest route cannot express the
156
+ exact rollback, mark rollback unsupported and do not fall back to SSH. Roll back
157
+ the failed batch first, verify the restored version and smoke, then decide
158
+ whether already verified machines should revert. Record forward and rollback
159
+ provenance.
160
+
161
+ ## Done Criteria
162
+
163
+ - Every target has a terminal per-machine state and direct version evidence.
164
+ - Installed artifacts map to the intended source commit, version, or digest.
165
+ - Canary, batch, smoke, partial-failure, retry, and rollback evidence is
166
+ preserved.
167
+ - Every non-converged machine has an explicit owner and next action.
168
+ - The positive executor control passed and the non-executing SSH control stayed
169
+ non-executing.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: inbox
3
+ description: Install and arm the repository-owned interactive-session inbox monitor with sender-ID-aware self filtering.
4
+ user_invocable: true
5
+ ---
6
+
7
+ # inbox — Interactive Session Inbox
8
+
9
+ `scripts/inbox` is the canonical source for `~/.hasna/bin/inbox`. Install it verbatim with an atomic rename:
10
+
11
+ ```bash
12
+ install -d "$HOME/.hasna/bin"
13
+ staged=$(mktemp "$HOME/.hasna/bin/.inbox.XXXXXX")
14
+ install -m 0755 scripts/inbox "$staged"
15
+ mv "$staged" "$HOME/.hasna/bin/inbox"
16
+ ```
17
+
18
+ Choose a unique per-seat signature, include it in every Conversations message sent by the seat, and arm the monitor:
19
+
20
+ ```bash
21
+ INBOX_SIGNATURE="[inbox:$(hostname):$$:$(date +%s)]"
22
+ inbox "$INBOX_SIGNATURE" 15
23
+ ```
24
+
25
+ The monitor suppresses a message only when its exact signature is present and its stored sender is either the current display name or a registered ID resolved for that name. Unsigned same-name peer traffic remains visible.