@hasna/skills 0.1.59 → 0.1.61

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 (1059) 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 +207 -0
  20. package/bin/index.js +2457 -3344
  21. package/bin/mcp.js +1127 -2641
  22. package/bin/migrate.js +955 -33
  23. package/bin/server.js +2367 -1989
  24. package/bin/worker.js +2089 -151
  25. package/dist/cli/cli.test-utils.d.ts +13 -2
  26. package/dist/cli/commands/publish.d.ts +30 -0
  27. package/dist/cli/commands/registry.d.ts +8 -0
  28. package/dist/index.d.ts +8 -6
  29. package/dist/index.js +1734 -2720
  30. package/dist/lib/agent-sync.d.ts +123 -0
  31. package/dist/lib/api-url.d.ts +34 -0
  32. package/dist/lib/auth-store.d.ts +21 -5
  33. package/dist/lib/blog-article.d.ts +37 -0
  34. package/dist/lib/config.d.ts +56 -2
  35. package/dist/lib/content-scan.d.ts +62 -9
  36. package/dist/lib/discovery.d.ts +10 -10
  37. package/dist/lib/doc-derived-counts.d.ts +56 -0
  38. package/dist/lib/feedback.d.ts +7 -0
  39. package/dist/lib/file-bytes.d.ts +43 -0
  40. package/dist/lib/hosted-skill-set.d.ts +69 -0
  41. package/dist/lib/infra-identifiers.d.ts +144 -0
  42. package/dist/lib/installer.d.ts +20 -6
  43. package/dist/lib/native-storage.d.ts +14 -11
  44. package/dist/lib/packlist.d.ts +13 -0
  45. package/dist/lib/portable-skills-files.d.ts +25 -0
  46. package/dist/lib/portable-skills-types.d.ts +105 -0
  47. package/dist/lib/portable-skills.d.ts +52 -103
  48. package/dist/lib/pull.d.ts +41 -0
  49. package/dist/lib/registry-merge.d.ts +57 -0
  50. package/dist/lib/registry-types.d.ts +1 -14
  51. package/dist/lib/registry.d.ts +6 -3
  52. package/dist/lib/remote-client.d.ts +15 -1
  53. package/dist/lib/remote-registry.d.ts +1 -1
  54. package/dist/lib/remote-run-contract.d.ts +0 -7
  55. package/dist/lib/retired-settings.d.ts +100 -0
  56. package/dist/lib/run-state.d.ts +14 -0
  57. package/dist/lib/skill-aliases.d.ts +0 -12
  58. package/dist/lib/skill-bundle.d.ts +37 -0
  59. package/dist/lib/vendor-host-code-scan.d.ts +66 -0
  60. package/dist/lib/vendor-host-folding.d.ts +40 -0
  61. package/dist/lib/vendor-host-guard.d.ts +47 -0
  62. package/dist/lib/vendor-host-package.d.ts +42 -0
  63. package/dist/lib/vendor-host-policy.d.ts +96 -0
  64. package/dist/lib/vendor-host-url.d.ts +81 -0
  65. package/dist/mcp/mcp-test-client.d.ts +18 -0
  66. package/dist/storage.d.ts +1 -1
  67. package/dist/storage.js +104 -51
  68. package/docs/skill-standard.md +1 -1
  69. package/migrations/postgres/0002_org_scoped_skill_registry.sql +72 -0
  70. package/migrations/sqlite/0001_open_skills_self_hosted.sql +150 -0
  71. package/migrations/sqlite/0002_org_scoped_skill_registry.sql +47 -0
  72. package/package.json +4 -4
  73. package/skills/_common/http-client.ts +17 -2
  74. package/skills/_common/install.sh +2 -2
  75. package/skills/_common/installer.ts +4 -5
  76. package/skills/_common/skill-install.ts +3 -3
  77. package/skills/ad-creative-pack/SKILL.md +28 -18
  78. package/skills/ad-creative-pack/package.json +1 -2
  79. package/skills/analyze-data/SKILL.md +1 -1
  80. package/skills/analyze-data/src/formatters.ts +2 -2
  81. package/skills/api-docs-portal/SKILL.md +62 -24
  82. package/skills/api-docs-portal/package.json +28 -4
  83. package/skills/api-docs-portal/src/index.ts +919 -0
  84. package/skills/audio-extract/SKILL.md +1 -1
  85. package/skills/blog-article/SKILL.md +32 -22
  86. package/skills/blog-article/package.json +1 -2
  87. package/skills/brand-assets/SKILL.md +94 -33
  88. package/skills/brand-assets/package.json +28 -4
  89. package/skills/brand-assets/src/cli.ts +155 -0
  90. package/skills/brand-assets/src/constants.ts +8 -0
  91. package/skills/brand-assets/src/extract.ts +236 -0
  92. package/skills/brand-assets/src/index.ts +668 -0
  93. package/skills/brand-assets/src/types.ts +59 -0
  94. package/skills/brand-kit/SKILL.md +27 -18
  95. package/skills/brand-kit/package.json +1 -2
  96. package/skills/compress-video/SKILL.md +1 -1
  97. package/skills/contract-review-report/SKILL.md +27 -18
  98. package/skills/contract-review-report/package.json +1 -2
  99. package/skills/customer-feedback-report/SKILL.md +27 -19
  100. package/skills/customer-feedback-report/package.json +1 -2
  101. package/skills/email-sequence/SKILL.md +26 -17
  102. package/skills/email-sequence/package.json +1 -2
  103. package/skills/generate-sitemap/src/index.ts +1 -1
  104. package/skills/invoice-reconciliation/SKILL.md +75 -19
  105. package/skills/invoice-reconciliation/package.json +29 -4
  106. package/skills/invoice-reconciliation/src/index.ts +743 -0
  107. package/skills/{convert → invoice-reconciliation}/tsconfig.json +3 -1
  108. package/skills/landing-page-pack/SKILL.md +27 -19
  109. package/skills/landing-page-pack/package.json +1 -2
  110. package/skills/logo-design/SKILL.md +69 -26
  111. package/skills/logo-design/package.json +28 -4
  112. package/skills/logo-design/src/cli.ts +132 -0
  113. package/skills/logo-design/src/constants.ts +5 -0
  114. package/skills/logo-design/src/docs.ts +102 -0
  115. package/skills/logo-design/src/geometry.ts +324 -0
  116. package/skills/logo-design/src/index.ts +212 -0
  117. package/skills/logo-design/src/palette.ts +258 -0
  118. package/skills/logo-design/src/types.ts +50 -0
  119. package/skills/logo-design/tsconfig.json +11 -2
  120. package/skills/market-research-report/SKILL.md +28 -18
  121. package/skills/market-research-report/package.json +2 -3
  122. package/skills/meeting-pack/SKILL.md +26 -17
  123. package/skills/meeting-pack/package.json +1 -2
  124. package/skills/merge-pdfs/src/index.ts +1 -1
  125. package/skills/migration-plan-pack/SKILL.md +30 -19
  126. package/skills/migration-plan-pack/package.json +1 -2
  127. package/skills/one-page-website/SKILL.md +105 -23
  128. package/skills/one-page-website/package.json +27 -4
  129. package/skills/one-page-website/src/design.ts +336 -0
  130. package/skills/one-page-website/src/docs.ts +159 -0
  131. package/skills/one-page-website/src/index.ts +357 -0
  132. package/skills/one-page-website/src/page.ts +340 -0
  133. package/skills/one-page-website/src/styles.ts +508 -0
  134. package/skills/one-page-website/src/types.ts +78 -0
  135. package/skills/one-page-website/tsconfig.json +11 -2
  136. package/skills/pdf-generate/SKILL.md +1 -1
  137. package/skills/pdf-to-dataset/SKILL.md +64 -21
  138. package/skills/pdf-to-dataset/package.json +30 -4
  139. package/skills/pdf-to-dataset/src/index.ts +790 -0
  140. package/skills/{emoji → pdf-to-dataset}/tsconfig.json +3 -4
  141. package/skills/pdf-to-markdown/SKILL.md +55 -23
  142. package/skills/pdf-to-markdown/package.json +28 -4
  143. package/skills/pdf-to-markdown/src/index.ts +694 -0
  144. package/skills/pdf-to-markdown/tsconfig.json +11 -4
  145. package/skills/performance-audit-report/SKILL.md +24 -17
  146. package/skills/performance-audit-report/package.json +1 -2
  147. package/skills/pitch-deck/SKILL.md +27 -19
  148. package/skills/pitch-deck/package.json +1 -2
  149. package/skills/product-mockup/SKILL.md +85 -23
  150. package/skills/product-mockup/package.json +25 -4
  151. package/skills/product-mockup/src/cli.ts +150 -0
  152. package/skills/product-mockup/src/design.ts +151 -0
  153. package/skills/product-mockup/src/docs.ts +134 -0
  154. package/skills/product-mockup/src/index.ts +182 -0
  155. package/skills/product-mockup/src/render.ts +407 -0
  156. package/skills/product-mockup/src/types.ts +66 -0
  157. package/skills/product-mockup/tsconfig.json +11 -2
  158. package/skills/proposal-pack/SKILL.md +27 -19
  159. package/skills/proposal-pack/package.json +2 -3
  160. package/skills/repo-onboarding-report/SKILL.md +26 -16
  161. package/skills/repo-onboarding-report/package.json +1 -2
  162. package/skills/security-audit/src/index.ts +1 -1
  163. package/skills/security-audit-report/SKILL.md +28 -16
  164. package/skills/security-audit-report/package.json +2 -3
  165. package/skills/seo-content-pack/SKILL.md +27 -17
  166. package/skills/seo-content-pack/package.json +1 -2
  167. package/skills/slide-deck-generator/SKILL.md +70 -21
  168. package/skills/slide-deck-generator/package.json +31 -4
  169. package/skills/slide-deck-generator/src/cli.ts +133 -0
  170. package/skills/slide-deck-generator/src/index.ts +148 -0
  171. package/skills/slide-deck-generator/src/model.ts +307 -0
  172. package/skills/slide-deck-generator/src/pptx.ts +143 -0
  173. package/skills/slide-deck-generator/src/render.ts +248 -0
  174. package/skills/slide-deck-generator/src/types.ts +114 -0
  175. package/skills/slide-deck-generator/src/utils.ts +53 -0
  176. package/skills/slide-deck-generator/tsconfig.json +17 -0
  177. package/skills/social-content-calendar/SKILL.md +27 -18
  178. package/skills/social-content-calendar/package.json +1 -2
  179. package/skills/split-pdf/src/index.ts +1 -1
  180. package/skills/test-suite-generator/SKILL.md +26 -16
  181. package/skills/test-suite-generator/package.json +2 -3
  182. package/skills/todos-plan/SKILL.md +339 -170
  183. package/skills/video-highlight-pack/SKILL.md +27 -17
  184. package/skills/video-highlight-pack/package.json +1 -2
  185. package/dist/cli/onboarding.d.ts +0 -13
  186. package/dist/lib/hosted-availability.d.ts +0 -13
  187. package/dist/lib/pricing.d.ts +0 -89
  188. package/skills/academic-journal-matcher/CLAUDE.md +0 -19
  189. package/skills/academic-journal-matcher/package.json +0 -27
  190. package/skills/academic-journal-matcher/src/index.ts +0 -86
  191. package/skills/academic-journal-matcher/tsconfig.json +0 -10
  192. package/skills/action-item-router/CLAUDE.md +0 -19
  193. package/skills/action-item-router/package.json +0 -27
  194. package/skills/action-item-router/src/index.ts +0 -304
  195. package/skills/action-item-router/tsconfig.json +0 -10
  196. package/skills/ad-creative-generator/CLAUDE.md +0 -19
  197. package/skills/ad-creative-generator/package.json +0 -27
  198. package/skills/ad-creative-generator/src/index.ts +0 -419
  199. package/skills/ad-creative-generator/tsconfig.json +0 -10
  200. package/skills/advanced-math/CLAUDE.md +0 -19
  201. package/skills/advanced-math/package.json +0 -29
  202. package/skills/advanced-math/src/calculators.ts +0 -118
  203. package/skills/advanced-math/src/cli.ts +0 -130
  204. package/skills/advanced-math/src/conversion.ts +0 -90
  205. package/skills/advanced-math/src/finance.ts +0 -75
  206. package/skills/advanced-math/src/formatting.ts +0 -95
  207. package/skills/advanced-math/src/index.ts +0 -133
  208. package/skills/advanced-math/src/runtime.ts +0 -49
  209. package/skills/advanced-math/src/symbolic.ts +0 -110
  210. package/skills/advanced-math/src/types.ts +0 -36
  211. package/skills/advanced-math/tsconfig.json +0 -10
  212. package/skills/anomaly-investigator/CLAUDE.md +0 -19
  213. package/skills/anomaly-investigator/package.json +0 -27
  214. package/skills/anomaly-investigator/src/index.ts +0 -311
  215. package/skills/anomaly-investigator/tsconfig.json +0 -10
  216. package/skills/apidocs/.env.example +0 -8
  217. package/skills/apidocs/CLAUDE.md +0 -278
  218. package/skills/apidocs/LICENSE +0 -192
  219. package/skills/apidocs/README.md +0 -196
  220. package/skills/apidocs/api-docs-list.json +0 -186
  221. package/skills/apidocs/package.json +0 -53
  222. package/skills/apidocs/scripts/crawl-all.ts +0 -157
  223. package/skills/apidocs/scripts/publish.ts +0 -210
  224. package/skills/apidocs/src/commands/add.ts +0 -279
  225. package/skills/apidocs/src/commands/endpoints.ts +0 -157
  226. package/skills/apidocs/src/commands/list.ts +0 -51
  227. package/skills/apidocs/src/commands/query.ts +0 -63
  228. package/skills/apidocs/src/commands/remove.ts +0 -39
  229. package/skills/apidocs/src/commands/sync.ts +0 -227
  230. package/skills/apidocs/src/index.ts +0 -3
  231. package/skills/apidocs/src/lib/crawler.ts +0 -427
  232. package/skills/apidocs/src/lib/discovery.ts +0 -244
  233. package/skills/apidocs/src/lib/embeddings.ts +0 -136
  234. package/skills/apidocs/src/lib/endpoint-extractor.ts +0 -359
  235. package/skills/apidocs/src/lib/html-to-md.ts +0 -163
  236. package/skills/apidocs/src/lib/parser.ts +0 -288
  237. package/skills/apidocs/src/lib/search.ts +0 -189
  238. package/skills/apidocs/src/lib/storage.ts +0 -242
  239. package/skills/apidocs/src/lib/vectors-local.ts +0 -220
  240. package/skills/apidocs/src/lib/vectors-s3.ts +0 -255
  241. package/skills/apidocs/src/lib/vectors.ts +0 -97
  242. package/skills/apidocs/src/types/index.ts +0 -297
  243. package/skills/apidocs/src/utils/output.ts +0 -132
  244. package/skills/apidocs/src/utils/paths.ts +0 -126
  245. package/skills/apidocs/tsconfig.json +0 -24
  246. package/skills/audio/SKILL.md +0 -35
  247. package/skills/audio/package.json +0 -11
  248. package/skills/audio-cleanup-lab/CLAUDE.md +0 -3
  249. package/skills/audio-cleanup-lab/SKILL.md +0 -81
  250. package/skills/audio-cleanup-lab/package.json +0 -23
  251. package/skills/audio-cleanup-lab/src/index.ts +0 -274
  252. package/skills/audio-cleanup-lab/tsconfig.json +0 -14
  253. package/skills/audio-transcript-pack/SKILL.md +0 -43
  254. package/skills/audio-transcript-pack/package.json +0 -11
  255. package/skills/banner-ad-suite/CLAUDE.md +0 -19
  256. package/skills/banner-ad-suite/package.json +0 -27
  257. package/skills/banner-ad-suite/src/index.ts +0 -331
  258. package/skills/banner-ad-suite/tsconfig.json +0 -10
  259. package/skills/benchmark-finder/CLAUDE.md +0 -19
  260. package/skills/benchmark-finder/package.json +0 -27
  261. package/skills/benchmark-finder/src/index.ts +0 -294
  262. package/skills/benchmark-finder/tsconfig.json +0 -10
  263. package/skills/blog-topic-cluster/CLAUDE.md +0 -19
  264. package/skills/blog-topic-cluster/package.json +0 -27
  265. package/skills/blog-topic-cluster/src/index.ts +0 -274
  266. package/skills/blog-topic-cluster/tsconfig.json +0 -10
  267. package/skills/brand-photo-shoot/SKILL.md +0 -28
  268. package/skills/brand-photo-shoot/package.json +0 -11
  269. package/skills/brand-style-guide/CLAUDE.md +0 -20
  270. package/skills/brand-style-guide/SKILL.md +0 -13
  271. package/skills/brand-style-guide/package.json +0 -26
  272. package/skills/brand-style-guide/src/index.ts +0 -288
  273. package/skills/brand-style-guide/tsconfig.json +0 -22
  274. package/skills/brand-voice-audit/CLAUDE.md +0 -19
  275. package/skills/brand-voice-audit/package.json +0 -27
  276. package/skills/brand-voice-audit/src/index.ts +0 -302
  277. package/skills/brand-voice-audit/tsconfig.json +0 -10
  278. package/skills/browse/LICENSE +0 -192
  279. package/skills/browse/README.md +0 -25
  280. package/skills/browse/SKILL.md +0 -35
  281. package/skills/browse/package.json +0 -11
  282. package/skills/browse/tsconfig.json +0 -22
  283. package/skills/budget-variance-analyzer/CLAUDE.md +0 -16
  284. package/skills/budget-variance-analyzer/SKILL.md +0 -83
  285. package/skills/budget-variance-analyzer/package.json +0 -24
  286. package/skills/budget-variance-analyzer/src/index.ts +0 -298
  287. package/skills/budget-variance-analyzer/tsconfig.json +0 -21
  288. package/skills/calendar-events/CLAUDE.md +0 -19
  289. package/skills/calendar-events/package.json +0 -27
  290. package/skills/calendar-events/src/ai-parser.ts +0 -103
  291. package/skills/calendar-events/src/api.ts +0 -157
  292. package/skills/calendar-events/src/auth.ts +0 -22
  293. package/skills/calendar-events/src/config.ts +0 -6
  294. package/skills/calendar-events/src/format.ts +0 -96
  295. package/skills/calendar-events/src/help.ts +0 -54
  296. package/skills/calendar-events/src/index.ts +0 -415
  297. package/skills/calendar-events/src/logger.ts +0 -34
  298. package/skills/calendar-events/src/types.ts +0 -67
  299. package/skills/calendar-events/tsconfig.json +0 -10
  300. package/skills/campaign-metric-brief/CLAUDE.md +0 -19
  301. package/skills/campaign-metric-brief/package.json +0 -27
  302. package/skills/campaign-metric-brief/src/index.ts +0 -307
  303. package/skills/campaign-metric-brief/tsconfig.json +0 -10
  304. package/skills/campaign-moodboard/CLAUDE.md +0 -19
  305. package/skills/campaign-moodboard/package.json +0 -27
  306. package/skills/campaign-moodboard/src/index.ts +0 -288
  307. package/skills/campaign-moodboard/tsconfig.json +0 -10
  308. package/skills/caption-style-stylist/CLAUDE.md +0 -19
  309. package/skills/caption-style-stylist/package.json +0 -27
  310. package/skills/caption-style-stylist/src/index.ts +0 -275
  311. package/skills/caption-style-stylist/tsconfig.json +0 -10
  312. package/skills/chemistry-calculator/CLAUDE.md +0 -19
  313. package/skills/chemistry-calculator/package.json +0 -27
  314. package/skills/chemistry-calculator/src/index.ts +0 -110
  315. package/skills/chemistry-calculator/tsconfig.json +0 -10
  316. package/skills/churn-risk-notifier/CLAUDE.md +0 -19
  317. package/skills/churn-risk-notifier/package.json +0 -27
  318. package/skills/churn-risk-notifier/src/index.ts +0 -308
  319. package/skills/churn-risk-notifier/tsconfig.json +0 -10
  320. package/skills/citation-formatter/CLAUDE.md +0 -19
  321. package/skills/citation-formatter/package.json +0 -27
  322. package/skills/citation-formatter/src/index.ts +0 -83
  323. package/skills/citation-formatter/tsconfig.json +0 -10
  324. package/skills/classroom-newsletter-kit/CLAUDE.md +0 -19
  325. package/skills/classroom-newsletter-kit/package.json +0 -27
  326. package/skills/classroom-newsletter-kit/src/index.ts +0 -293
  327. package/skills/classroom-newsletter-kit/tsconfig.json +0 -10
  328. package/skills/color-palette-harmonizer/CLAUDE.md +0 -19
  329. package/skills/color-palette-harmonizer/package.json +0 -27
  330. package/skills/color-palette-harmonizer/src/index.ts +0 -278
  331. package/skills/color-palette-harmonizer/tsconfig.json +0 -10
  332. package/skills/colorextract/SKILL.md +0 -35
  333. package/skills/colorextract/bun.lock +0 -102
  334. package/skills/colorextract/package.json +0 -25
  335. package/skills/colorextract/src/index.ts +0 -405
  336. package/skills/competitor-ad-analyzer/CLAUDE.md +0 -19
  337. package/skills/competitor-ad-analyzer/package.json +0 -27
  338. package/skills/competitor-ad-analyzer/src/index.ts +0 -350
  339. package/skills/competitor-ad-analyzer/tsconfig.json +0 -10
  340. package/skills/compliance-copy-check/CLAUDE.md +0 -19
  341. package/skills/compliance-copy-check/package.json +0 -27
  342. package/skills/compliance-copy-check/src/index.ts +0 -289
  343. package/skills/compliance-copy-check/tsconfig.json +0 -10
  344. package/skills/compliance-report-pack/CLAUDE.md +0 -19
  345. package/skills/compliance-report-pack/package.json +0 -27
  346. package/skills/compliance-report-pack/src/index.ts +0 -301
  347. package/skills/compliance-report-pack/tsconfig.json +0 -10
  348. package/skills/consolelog/.env.example +0 -19
  349. package/skills/consolelog/CLAUDE.md +0 -157
  350. package/skills/consolelog/LICENSE +0 -192
  351. package/skills/consolelog/README.md +0 -239
  352. package/skills/consolelog/data/.gitkeep +0 -0
  353. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +0 -16
  354. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.json +0 -227
  355. package/skills/consolelog/package.json +0 -40
  356. package/skills/consolelog/scripts/migrate.ts +0 -26
  357. package/skills/consolelog/scripts/seed.ts +0 -48
  358. package/skills/consolelog/src/db/index.ts +0 -44
  359. package/skills/consolelog/src/db/queries.ts +0 -348
  360. package/skills/consolelog/src/db/schema.ts +0 -93
  361. package/skills/consolelog/src/index.ts +0 -3
  362. package/skills/consolelog/src/lib/config.ts +0 -110
  363. package/skills/consolelog/src/lib/installer.ts +0 -294
  364. package/skills/consolelog/src/lib/monitor.ts +0 -194
  365. package/skills/consolelog/src/lib/types.ts +0 -189
  366. package/skills/consolelog/src/lib/watcher.ts +0 -207
  367. package/skills/consolelog/tests/api.test.ts +0 -154
  368. package/skills/consolelog/tests/config.test.ts +0 -192
  369. package/skills/consolelog/tests/db.test.ts +0 -447
  370. package/skills/consolelog/tests/installer.test.ts +0 -155
  371. package/skills/consolelog/tsconfig.json +0 -24
  372. package/skills/contract-plainlanguage/CLAUDE.md +0 -19
  373. package/skills/contract-plainlanguage/package.json +0 -27
  374. package/skills/contract-plainlanguage/src/index.ts +0 -294
  375. package/skills/contract-plainlanguage/tsconfig.json +0 -10
  376. package/skills/convert/.env.example +0 -7
  377. package/skills/convert/LICENSE +0 -192
  378. package/skills/convert/README.md +0 -250
  379. package/skills/convert/SKILL.md +0 -106
  380. package/skills/convert/package.json +0 -37
  381. package/skills/convert/src/converters/ai.ts +0 -375
  382. package/skills/convert/src/converters/data.ts +0 -339
  383. package/skills/convert/src/converters/document.ts +0 -189
  384. package/skills/convert/src/converters/image.ts +0 -227
  385. package/skills/convert/src/converters/index.ts +0 -9
  386. package/skills/convert/src/converters/pdf.ts +0 -255
  387. package/skills/convert/src/index-local.ts +0 -568
  388. package/skills/convert/src/index.ts +0 -4
  389. package/skills/convert/src/types.ts +0 -192
  390. package/skills/copytone-translator/CLAUDE.md +0 -19
  391. package/skills/copytone-translator/package.json +0 -27
  392. package/skills/copytone-translator/src/index.ts +0 -295
  393. package/skills/copytone-translator/tsconfig.json +0 -10
  394. package/skills/create-ebook/CLAUDE.md +0 -19
  395. package/skills/create-ebook/package.json +0 -27
  396. package/skills/create-ebook/src/index.ts +0 -637
  397. package/skills/create-ebook/tsconfig.json +0 -10
  398. package/skills/crm-note-enhancer/CLAUDE.md +0 -19
  399. package/skills/crm-note-enhancer/package.json +0 -27
  400. package/skills/crm-note-enhancer/src/index.ts +0 -317
  401. package/skills/crm-note-enhancer/tsconfig.json +0 -10
  402. package/skills/customer-journey-mapper/CLAUDE.md +0 -19
  403. package/skills/customer-journey-mapper/package.json +0 -27
  404. package/skills/customer-journey-mapper/src/index.ts +0 -312
  405. package/skills/customer-journey-mapper/tsconfig.json +0 -10
  406. package/skills/dashboard-narrator/CLAUDE.md +0 -19
  407. package/skills/dashboard-narrator/package.json +0 -27
  408. package/skills/dashboard-narrator/src/index.ts +0 -307
  409. package/skills/dashboard-narrator/tsconfig.json +0 -10
  410. package/skills/dataset-health-check/CLAUDE.md +0 -19
  411. package/skills/dataset-health-check/package.json +0 -27
  412. package/skills/dataset-health-check/src/index.ts +0 -323
  413. package/skills/dataset-health-check/tsconfig.json +0 -10
  414. package/skills/decision-journal/CLAUDE.md +0 -19
  415. package/skills/decision-journal/package.json +0 -27
  416. package/skills/decision-journal/src/index.ts +0 -313
  417. package/skills/decision-journal/tsconfig.json +0 -10
  418. package/skills/deepresearch/CLAUDE.md +0 -11
  419. package/skills/deepresearch/README.md +0 -26
  420. package/skills/deepresearch/SKILL.md +0 -41
  421. package/skills/deepresearch/package.json +0 -11
  422. package/skills/deepresearch/tsconfig.json +0 -29
  423. package/skills/delegation-brief-writer/CLAUDE.md +0 -19
  424. package/skills/delegation-brief-writer/package.json +0 -27
  425. package/skills/delegation-brief-writer/src/index.ts +0 -314
  426. package/skills/delegation-brief-writer/tsconfig.json +0 -10
  427. package/skills/deploy/LICENSE +0 -192
  428. package/skills/deploy/README.md +0 -382
  429. package/skills/deploy/SKILL.md +0 -138
  430. package/skills/deploy/package.json +0 -18
  431. package/skills/deploy/src/deployer.ts +0 -256
  432. package/skills/deploy/src/health.ts +0 -103
  433. package/skills/deploy/src/hosts.ts +0 -45
  434. package/skills/deploy/src/http-client.ts +0 -128
  435. package/skills/deploy/src/index-local.ts +0 -366
  436. package/skills/deploy/src/index.ts +0 -4
  437. package/skills/deploy/src/types.ts +0 -56
  438. package/skills/deploy/tsconfig.json +0 -18
  439. package/skills/destination-briefing/CLAUDE.md +0 -19
  440. package/skills/destination-briefing/package.json +0 -27
  441. package/skills/destination-briefing/src/index.ts +0 -291
  442. package/skills/destination-briefing/tsconfig.json +0 -10
  443. package/skills/doc-generate/CLAUDE.md +0 -19
  444. package/skills/doc-generate/SKILL.md +0 -295
  445. package/skills/doc-generate/package.json +0 -23
  446. package/skills/doc-generate/src/ai.ts +0 -50
  447. package/skills/doc-generate/src/cli.ts +0 -203
  448. package/skills/doc-generate/src/dependencies.ts +0 -44
  449. package/skills/doc-generate/src/document-builder.ts +0 -299
  450. package/skills/doc-generate/src/index.ts +0 -90
  451. package/skills/doc-generate/src/markdown-parser.ts +0 -125
  452. package/skills/doc-generate/src/types.ts +0 -68
  453. package/skills/doc-generate/tsconfig.json +0 -16
  454. package/skills/domainsearch/.env.example +0 -7
  455. package/skills/domainsearch/LICENSE +0 -192
  456. package/skills/domainsearch/SKILL.md +0 -41
  457. package/skills/domainsearch/package.json +0 -33
  458. package/skills/domainsearch/src/index.ts +0 -3
  459. package/skills/domainsearch/src/lib/api-client.ts +0 -181
  460. package/skills/domainsearch/src/lib/config.ts +0 -72
  461. package/skills/domainsearch/src/lib/installer.ts +0 -164
  462. package/skills/domainsearch/tsconfig.json +0 -22
  463. package/skills/educational-resource-finder/CLAUDE.md +0 -19
  464. package/skills/educational-resource-finder/package.json +0 -27
  465. package/skills/educational-resource-finder/src/index.ts +0 -289
  466. package/skills/educational-resource-finder/tsconfig.json +0 -10
  467. package/skills/email-campaign/CLAUDE.md +0 -19
  468. package/skills/email-campaign/package.json +0 -27
  469. package/skills/email-campaign/src/index.ts +0 -339
  470. package/skills/email-campaign/tsconfig.json +0 -10
  471. package/skills/emoji/.env.example +0 -7
  472. package/skills/emoji/QUICKSTART.md +0 -52
  473. package/skills/emoji/README.md +0 -175
  474. package/skills/emoji/SKILL.md +0 -63
  475. package/skills/emoji/package.json +0 -31
  476. package/skills/emoji/src/image-processor.ts +0 -143
  477. package/skills/emoji/src/index.ts +0 -282
  478. package/skills/emoji/src/prompt-generator.ts +0 -181
  479. package/skills/emoji/src/providers/gemini.ts +0 -58
  480. package/skills/emoji/src/providers/openai.ts +0 -55
  481. package/skills/emoji/src/types.ts +0 -72
  482. package/skills/exam-readiness-check/CLAUDE.md +0 -19
  483. package/skills/exam-readiness-check/package.json +0 -27
  484. package/skills/exam-readiness-check/src/index.ts +0 -289
  485. package/skills/exam-readiness-check/tsconfig.json +0 -10
  486. package/skills/excel/CLAUDE.md +0 -19
  487. package/skills/excel/SKILL.md +0 -38
  488. package/skills/excel/package.json +0 -30
  489. package/skills/excel/src/index.ts +0 -644
  490. package/skills/excel/tsconfig.json +0 -10
  491. package/skills/extract/.env.example +0 -3
  492. package/skills/extract/LICENSE +0 -192
  493. package/skills/extract/README.md +0 -61
  494. package/skills/extract/SKILL.md +0 -91
  495. package/skills/extract/package.json +0 -35
  496. package/skills/extract/src/extractors/image.ts +0 -42
  497. package/skills/extract/src/extractors/pdf.ts +0 -96
  498. package/skills/extract/src/index-local.ts +0 -258
  499. package/skills/extract/src/index.ts +0 -4
  500. package/skills/extract/src/providers/openai.ts +0 -222
  501. package/skills/extract/src/types.ts +0 -61
  502. package/skills/extract/tsconfig.json +0 -19
  503. package/skills/extract-invoice/CLAUDE.md +0 -19
  504. package/skills/extract-invoice/package.json +0 -27
  505. package/skills/extract-invoice/src/cli.ts +0 -97
  506. package/skills/extract-invoice/src/extractor.ts +0 -170
  507. package/skills/extract-invoice/src/file-utils.ts +0 -46
  508. package/skills/extract-invoice/src/formatters.ts +0 -144
  509. package/skills/extract-invoice/src/index.ts +0 -129
  510. package/skills/extract-invoice/src/runtime.ts +0 -46
  511. package/skills/extract-invoice/src/types.ts +0 -88
  512. package/skills/extract-invoice/tsconfig.json +0 -10
  513. package/skills/family-activity-curator/CLAUDE.md +0 -19
  514. package/skills/family-activity-curator/package.json +0 -27
  515. package/skills/family-activity-curator/src/index.ts +0 -293
  516. package/skills/family-activity-curator/tsconfig.json +0 -10
  517. package/skills/faq-packager/CLAUDE.md +0 -19
  518. package/skills/faq-packager/package.json +0 -27
  519. package/skills/faq-packager/src/index.ts +0 -292
  520. package/skills/faq-packager/tsconfig.json +0 -10
  521. package/skills/feedback-survey-designer/CLAUDE.md +0 -19
  522. package/skills/feedback-survey-designer/package.json +0 -27
  523. package/skills/feedback-survey-designer/src/index.ts +0 -299
  524. package/skills/feedback-survey-designer/tsconfig.json +0 -10
  525. package/skills/field-trip-planner/CLAUDE.md +0 -19
  526. package/skills/field-trip-planner/package.json +0 -27
  527. package/skills/field-trip-planner/src/index.ts +0 -289
  528. package/skills/field-trip-planner/tsconfig.json +0 -10
  529. package/skills/forecast-scenario-lab/CLAUDE.md +0 -19
  530. package/skills/forecast-scenario-lab/package.json +0 -27
  531. package/skills/forecast-scenario-lab/src/index.ts +0 -314
  532. package/skills/forecast-scenario-lab/tsconfig.json +0 -10
  533. package/skills/generate-book-cover/CLAUDE.md +0 -19
  534. package/skills/generate-book-cover/package.json +0 -11
  535. package/skills/generate-book-cover/tsconfig.json +0 -10
  536. package/skills/generate-diagram/CLAUDE.md +0 -19
  537. package/skills/generate-diagram/package.json +0 -27
  538. package/skills/generate-diagram/src/index.ts +0 -514
  539. package/skills/generate-diagram/tsconfig.json +0 -10
  540. package/skills/generate-documentation/CLAUDE.md +0 -19
  541. package/skills/generate-documentation/package.json +0 -27
  542. package/skills/generate-documentation/src/ai.ts +0 -131
  543. package/skills/generate-documentation/src/cli.ts +0 -71
  544. package/skills/generate-documentation/src/code-parser.ts +0 -300
  545. package/skills/generate-documentation/src/file-processing.ts +0 -182
  546. package/skills/generate-documentation/src/index.ts +0 -65
  547. package/skills/generate-documentation/src/runtime.ts +0 -35
  548. package/skills/generate-documentation/src/types.ts +0 -30
  549. package/skills/generate-documentation/tsconfig.json +0 -10
  550. package/skills/generate-mock-data/CLAUDE.md +0 -19
  551. package/skills/generate-mock-data/package.json +0 -29
  552. package/skills/generate-mock-data/src/ai.ts +0 -102
  553. package/skills/generate-mock-data/src/formatters.ts +0 -84
  554. package/skills/generate-mock-data/src/generator.ts +0 -377
  555. package/skills/generate-mock-data/src/index.ts +0 -201
  556. package/skills/generate-mock-data/src/logger.ts +0 -37
  557. package/skills/generate-mock-data/src/presets.ts +0 -110
  558. package/skills/generate-mock-data/src/types.ts +0 -21
  559. package/skills/generate-mock-data/tsconfig.json +0 -10
  560. package/skills/generate-pr-description/CLAUDE.md +0 -19
  561. package/skills/generate-pr-description/package.json +0 -27
  562. package/skills/generate-pr-description/src/ai.ts +0 -144
  563. package/skills/generate-pr-description/src/cli.ts +0 -80
  564. package/skills/generate-pr-description/src/clipboard.ts +0 -30
  565. package/skills/generate-pr-description/src/formatters.ts +0 -231
  566. package/skills/generate-pr-description/src/git.ts +0 -153
  567. package/skills/generate-pr-description/src/index.ts +0 -114
  568. package/skills/generate-pr-description/src/types.ts +0 -49
  569. package/skills/generate-pr-description/tsconfig.json +0 -10
  570. package/skills/generate-presentation/CLAUDE.md +0 -19
  571. package/skills/generate-presentation/package.json +0 -27
  572. package/skills/generate-presentation/src/ai-clients.ts +0 -61
  573. package/skills/generate-presentation/src/cli.ts +0 -126
  574. package/skills/generate-presentation/src/index.ts +0 -44
  575. package/skills/generate-presentation/src/logger.ts +0 -67
  576. package/skills/generate-presentation/src/presentation-generator.ts +0 -425
  577. package/skills/generate-presentation/src/runtime.ts +0 -6
  578. package/skills/generate-presentation/src/security.ts +0 -12
  579. package/skills/generate-presentation/src/types.ts +0 -28
  580. package/skills/generate-presentation/tsconfig.json +0 -10
  581. package/skills/generate-regex/CLAUDE.md +0 -19
  582. package/skills/generate-regex/package.json +0 -29
  583. package/skills/generate-regex/src/index.ts +0 -669
  584. package/skills/generate-regex/tsconfig.json +0 -10
  585. package/skills/generate-social-posts/CLAUDE.md +0 -19
  586. package/skills/generate-social-posts/package.json +0 -27
  587. package/skills/generate-social-posts/src/ai.ts +0 -88
  588. package/skills/generate-social-posts/src/cli.ts +0 -118
  589. package/skills/generate-social-posts/src/exporters.ts +0 -126
  590. package/skills/generate-social-posts/src/generator.ts +0 -130
  591. package/skills/generate-social-posts/src/index.ts +0 -78
  592. package/skills/generate-social-posts/src/platforms.ts +0 -39
  593. package/skills/generate-social-posts/src/runtime.ts +0 -34
  594. package/skills/generate-social-posts/src/source.ts +0 -116
  595. package/skills/generate-social-posts/src/types.ts +0 -58
  596. package/skills/generate-social-posts/tsconfig.json +0 -10
  597. package/skills/generate-sql/CLAUDE.md +0 -19
  598. package/skills/generate-sql/package.json +0 -27
  599. package/skills/generate-sql/src/index.ts +0 -636
  600. package/skills/generate-sql/tsconfig.json +0 -10
  601. package/skills/github-manager/CLAUDE.md +0 -19
  602. package/skills/github-manager/package.json +0 -29
  603. package/skills/github-manager/src/index.ts +0 -101
  604. package/skills/github-manager/tsconfig.json +0 -10
  605. package/skills/gmail/CLAUDE.md +0 -19
  606. package/skills/gmail/package.json +0 -27
  607. package/skills/gmail/src/index.ts +0 -410
  608. package/skills/gmail/tsconfig.json +0 -10
  609. package/skills/goal-quarterly-roadmap/CLAUDE.md +0 -19
  610. package/skills/goal-quarterly-roadmap/package.json +0 -27
  611. package/skills/goal-quarterly-roadmap/src/index.ts +0 -305
  612. package/skills/goal-quarterly-roadmap/tsconfig.json +0 -10
  613. package/skills/grant-application-drafter/CLAUDE.md +0 -19
  614. package/skills/grant-application-drafter/package.json +0 -27
  615. package/skills/grant-application-drafter/src/index.ts +0 -309
  616. package/skills/grant-application-drafter/tsconfig.json +0 -10
  617. package/skills/grocery-basket-optimizer/CLAUDE.md +0 -19
  618. package/skills/grocery-basket-optimizer/package.json +0 -27
  619. package/skills/grocery-basket-optimizer/src/index.ts +0 -304
  620. package/skills/grocery-basket-optimizer/tsconfig.json +0 -10
  621. package/skills/guest-communication-suite/CLAUDE.md +0 -19
  622. package/skills/guest-communication-suite/package.json +0 -27
  623. package/skills/guest-communication-suite/src/index.ts +0 -312
  624. package/skills/guest-communication-suite/tsconfig.json +0 -10
  625. package/skills/habit-reflection-digest/CLAUDE.md +0 -19
  626. package/skills/habit-reflection-digest/package.json +0 -27
  627. package/skills/habit-reflection-digest/src/index.ts +0 -308
  628. package/skills/habit-reflection-digest/tsconfig.json +0 -10
  629. package/skills/highlight-reel-generator/CLAUDE.md +0 -19
  630. package/skills/highlight-reel-generator/package.json +0 -27
  631. package/skills/highlight-reel-generator/src/index.ts +0 -286
  632. package/skills/highlight-reel-generator/tsconfig.json +0 -10
  633. package/skills/homework-feedback-coach/CLAUDE.md +0 -19
  634. package/skills/homework-feedback-coach/package.json +0 -27
  635. package/skills/homework-feedback-coach/src/index.ts +0 -316
  636. package/skills/homework-feedback-coach/tsconfig.json +0 -10
  637. package/skills/household-maintenance-mgr/CLAUDE.md +0 -19
  638. package/skills/household-maintenance-mgr/package.json +0 -27
  639. package/skills/household-maintenance-mgr/src/index.ts +0 -293
  640. package/skills/household-maintenance-mgr/tsconfig.json +0 -10
  641. package/skills/icon-pack/README.md +0 -28
  642. package/skills/icon-pack/SKILL.md +0 -23
  643. package/skills/icon-pack/package.json +0 -11
  644. package/skills/icon-pack/tsconfig.json +0 -20
  645. package/skills/image/LICENSE +0 -192
  646. package/skills/image/README.md +0 -25
  647. package/skills/image/SKILL.md +0 -49
  648. package/skills/image/examples/aurora-examples.sh +0 -33
  649. package/skills/image/examples/google-examples.sh +0 -37
  650. package/skills/image/examples/openai-examples.sh +0 -35
  651. package/skills/image/package.json +0 -11
  652. package/skills/image/tsconfig.json +0 -19
  653. package/skills/implementation-agent/CLAUDE.md +0 -19
  654. package/skills/implementation-agent/package.json +0 -29
  655. package/skills/implementation-agent/src/ai-generation.ts +0 -225
  656. package/skills/implementation-agent/src/index.ts +0 -608
  657. package/skills/implementation-agent/src/minimist.d.ts +0 -15
  658. package/skills/implementation-agent/src/templates.ts +0 -686
  659. package/skills/implementation-agent/src/types.ts +0 -53
  660. package/skills/implementation-agent/tsconfig.json +0 -10
  661. package/skills/inbox-priority-planner/CLAUDE.md +0 -19
  662. package/skills/inbox-priority-planner/package.json +0 -27
  663. package/skills/inbox-priority-planner/src/index.ts +0 -309
  664. package/skills/inbox-priority-planner/tsconfig.json +0 -10
  665. package/skills/invoice-dispute-helper/CLAUDE.md +0 -19
  666. package/skills/invoice-dispute-helper/package.json +0 -27
  667. package/skills/invoice-dispute-helper/src/index.ts +0 -304
  668. package/skills/invoice-dispute-helper/tsconfig.json +0 -10
  669. package/skills/itinerary-architect/CLAUDE.md +0 -19
  670. package/skills/itinerary-architect/package.json +0 -27
  671. package/skills/itinerary-architect/src/index.ts +0 -313
  672. package/skills/itinerary-architect/tsconfig.json +0 -10
  673. package/skills/kpi-digest-generator/CLAUDE.md +0 -19
  674. package/skills/kpi-digest-generator/package.json +0 -27
  675. package/skills/kpi-digest-generator/src/index.ts +0 -318
  676. package/skills/kpi-digest-generator/tsconfig.json +0 -10
  677. package/skills/lab-notebook-formatter/CLAUDE.md +0 -19
  678. package/skills/lab-notebook-formatter/package.json +0 -27
  679. package/skills/lab-notebook-formatter/src/index.ts +0 -88
  680. package/skills/lab-notebook-formatter/tsconfig.json +0 -10
  681. package/skills/landing-page-copy/CLAUDE.md +0 -19
  682. package/skills/landing-page-copy/package.json +0 -27
  683. package/skills/landing-page-copy/src/index.ts +0 -400
  684. package/skills/landing-page-copy/tsconfig.json +0 -10
  685. package/skills/learning-style-profiler/CLAUDE.md +0 -19
  686. package/skills/learning-style-profiler/package.json +0 -27
  687. package/skills/learning-style-profiler/src/index.ts +0 -291
  688. package/skills/learning-style-profiler/tsconfig.json +0 -10
  689. package/skills/lesson-plan-customizer/CLAUDE.md +0 -19
  690. package/skills/lesson-plan-customizer/package.json +0 -27
  691. package/skills/lesson-plan-customizer/src/index.ts +0 -303
  692. package/skills/lesson-plan-customizer/tsconfig.json +0 -10
  693. package/skills/livestream-runofshow/CLAUDE.md +0 -19
  694. package/skills/livestream-runofshow/package.json +0 -27
  695. package/skills/livestream-runofshow/src/index.ts +0 -299
  696. package/skills/livestream-runofshow/tsconfig.json +0 -10
  697. package/skills/longform-structurer/CLAUDE.md +0 -19
  698. package/skills/longform-structurer/package.json +0 -27
  699. package/skills/longform-structurer/src/index.ts +0 -293
  700. package/skills/longform-structurer/tsconfig.json +0 -10
  701. package/skills/managehook/.env.example +0 -16
  702. package/skills/managehook/CLAUDE.md +0 -48
  703. package/skills/managehook/README.md +0 -210
  704. package/skills/managehook/package.json +0 -24
  705. package/skills/managehook/scripts/migrate.ts +0 -57
  706. package/skills/managehook/scripts/seed.ts +0 -58
  707. package/skills/managehook/src/db/index.ts +0 -37
  708. package/skills/managehook/src/index.ts +0 -3
  709. package/skills/managehook/src/lib/api-client.ts +0 -108
  710. package/skills/managehook/src/lib/config.ts +0 -34
  711. package/skills/managehook/src/lib/installer.ts +0 -140
  712. package/skills/managehook/src/lib/service-dir.ts +0 -119
  713. package/skills/managehook/tsconfig.json +0 -29
  714. package/skills/manageskill/.env.example +0 -16
  715. package/skills/manageskill/CLAUDE.md +0 -48
  716. package/skills/manageskill/README.md +0 -210
  717. package/skills/manageskill/package.json +0 -24
  718. package/skills/manageskill/scripts/migrate.ts +0 -57
  719. package/skills/manageskill/scripts/seed.ts +0 -58
  720. package/skills/manageskill/src/db/index.ts +0 -37
  721. package/skills/manageskill/src/index.ts +0 -3
  722. package/skills/manageskill/src/lib/api-client.ts +0 -108
  723. package/skills/manageskill/src/lib/config.ts +0 -34
  724. package/skills/manageskill/src/lib/installer.ts +0 -140
  725. package/skills/manageskill/src/lib/service-dir.ts +0 -119
  726. package/skills/manageskill/tsconfig.json +0 -29
  727. package/skills/mcp-builder/CLAUDE.md +0 -19
  728. package/skills/mcp-builder/package.json +0 -30
  729. package/skills/mcp-builder/src/ai-descriptions.ts +0 -37
  730. package/skills/mcp-builder/src/generators.ts +0 -513
  731. package/skills/mcp-builder/src/index.ts +0 -62
  732. package/skills/mcp-builder/src/minimist.d.ts +0 -15
  733. package/skills/mcp-builder/src/naming.ts +0 -12
  734. package/skills/mcp-builder/src/options.ts +0 -170
  735. package/skills/mcp-builder/src/templates.ts +0 -149
  736. package/skills/mcp-builder/src/types.ts +0 -42
  737. package/skills/mcp-builder/tsconfig.json +0 -10
  738. package/skills/meal-plan-designer/CLAUDE.md +0 -19
  739. package/skills/meal-plan-designer/package.json +0 -27
  740. package/skills/meal-plan-designer/src/index.ts +0 -301
  741. package/skills/meal-plan-designer/tsconfig.json +0 -10
  742. package/skills/meeting-insight-summarizer/CLAUDE.md +0 -19
  743. package/skills/meeting-insight-summarizer/package.json +0 -27
  744. package/skills/meeting-insight-summarizer/src/index.ts +0 -316
  745. package/skills/meeting-insight-summarizer/tsconfig.json +0 -10
  746. package/skills/microcopy-generator/CLAUDE.md +0 -19
  747. package/skills/microcopy-generator/package.json +0 -27
  748. package/skills/microcopy-generator/src/index.ts +0 -303
  749. package/skills/microcopy-generator/tsconfig.json +0 -10
  750. package/skills/mindfulness-prompt-cache/CLAUDE.md +0 -19
  751. package/skills/mindfulness-prompt-cache/package.json +0 -27
  752. package/skills/mindfulness-prompt-cache/src/index.ts +0 -290
  753. package/skills/mindfulness-prompt-cache/tsconfig.json +0 -10
  754. package/skills/music/SKILL.md +0 -33
  755. package/skills/music/package.json +0 -11
  756. package/skills/music-album/SKILL.md +0 -37
  757. package/skills/music-album/package.json +0 -11
  758. package/skills/notion-manager/CLAUDE.md +0 -19
  759. package/skills/notion-manager/package.json +0 -29
  760. package/skills/notion-manager/src/index.ts +0 -105
  761. package/skills/notion-manager/tsconfig.json +0 -10
  762. package/skills/npmpublish/CLAUDE.md +0 -30
  763. package/skills/npmpublish/README.md +0 -83
  764. package/skills/npmpublish/SKILL.md +0 -70
  765. package/skills/npmpublish/package.json +0 -41
  766. package/skills/npmpublish/src/index.ts +0 -192
  767. package/skills/npmpublish/tsconfig.json +0 -18
  768. package/skills/onboarding-sequence-builder/CLAUDE.md +0 -19
  769. package/skills/onboarding-sequence-builder/package.json +0 -27
  770. package/skills/onboarding-sequence-builder/src/index.ts +0 -321
  771. package/skills/onboarding-sequence-builder/tsconfig.json +0 -10
  772. package/skills/onsite-ops-checklist/CLAUDE.md +0 -19
  773. package/skills/onsite-ops-checklist/package.json +0 -27
  774. package/skills/onsite-ops-checklist/src/index.ts +0 -307
  775. package/skills/onsite-ops-checklist/tsconfig.json +0 -10
  776. package/skills/outreach-cadence-designer/CLAUDE.md +0 -19
  777. package/skills/outreach-cadence-designer/package.json +0 -27
  778. package/skills/outreach-cadence-designer/src/index.ts +0 -330
  779. package/skills/outreach-cadence-designer/tsconfig.json +0 -10
  780. package/skills/packaging-concept-studio/CLAUDE.md +0 -19
  781. package/skills/packaging-concept-studio/package.json +0 -27
  782. package/skills/packaging-concept-studio/src/index.ts +0 -296
  783. package/skills/packaging-concept-studio/tsconfig.json +0 -10
  784. package/skills/packing-plan-pro/CLAUDE.md +0 -19
  785. package/skills/packing-plan-pro/package.json +0 -27
  786. package/skills/packing-plan-pro/src/index.ts +0 -306
  787. package/skills/packing-plan-pro/tsconfig.json +0 -10
  788. package/skills/parent-teacher-brief/CLAUDE.md +0 -19
  789. package/skills/parent-teacher-brief/package.json +0 -27
  790. package/skills/parent-teacher-brief/src/index.ts +0 -290
  791. package/skills/parent-teacher-brief/tsconfig.json +0 -10
  792. package/skills/partner-kit-assembler/CLAUDE.md +0 -19
  793. package/skills/partner-kit-assembler/package.json +0 -27
  794. package/skills/partner-kit-assembler/src/index.ts +0 -313
  795. package/skills/partner-kit-assembler/tsconfig.json +0 -10
  796. package/skills/payroll-change-prepper/CLAUDE.md +0 -19
  797. package/skills/payroll-change-prepper/package.json +0 -27
  798. package/skills/payroll-change-prepper/src/index.ts +0 -304
  799. package/skills/payroll-change-prepper/tsconfig.json +0 -10
  800. package/skills/pdf-read/SKILL.md +0 -56
  801. package/skills/pdf-read/package.json +0 -11
  802. package/skills/pdf-read/tsconfig.json +0 -8
  803. package/skills/persona-based-adwriter/CLAUDE.md +0 -19
  804. package/skills/persona-based-adwriter/package.json +0 -27
  805. package/skills/persona-based-adwriter/src/index.ts +0 -285
  806. package/skills/persona-based-adwriter/tsconfig.json +0 -10
  807. package/skills/persona-generator/CLAUDE.md +0 -19
  808. package/skills/persona-generator/package.json +0 -27
  809. package/skills/persona-generator/src/index.ts +0 -443
  810. package/skills/persona-generator/tsconfig.json +0 -10
  811. package/skills/personal-daily-ops/CLAUDE.md +0 -19
  812. package/skills/personal-daily-ops/package.json +0 -27
  813. package/skills/personal-daily-ops/src/index.ts +0 -324
  814. package/skills/personal-daily-ops/tsconfig.json +0 -10
  815. package/skills/pet-care-scheduler/CLAUDE.md +0 -19
  816. package/skills/pet-care-scheduler/package.json +0 -27
  817. package/skills/pet-care-scheduler/src/index.ts +0 -298
  818. package/skills/pet-care-scheduler/tsconfig.json +0 -10
  819. package/skills/photo-album/SKILL.md +0 -29
  820. package/skills/photo-album/package.json +0 -11
  821. package/skills/photo-album/tsconfig.json +0 -4
  822. package/skills/playlist-maker/SKILL.md +0 -33
  823. package/skills/playlist-maker/package.json +0 -11
  824. package/skills/playlist-maker/tsconfig.json +0 -4
  825. package/skills/podcast-show-notes/CLAUDE.md +0 -19
  826. package/skills/podcast-show-notes/package.json +0 -27
  827. package/skills/podcast-show-notes/src/index.ts +0 -302
  828. package/skills/podcast-show-notes/tsconfig.json +0 -10
  829. package/skills/presentation-theme-maker/CLAUDE.md +0 -19
  830. package/skills/presentation-theme-maker/package.json +0 -27
  831. package/skills/presentation-theme-maker/src/index.ts +0 -292
  832. package/skills/presentation-theme-maker/tsconfig.json +0 -10
  833. package/skills/press-release-drafter/CLAUDE.md +0 -19
  834. package/skills/press-release-drafter/package.json +0 -27
  835. package/skills/press-release-drafter/src/index.ts +0 -291
  836. package/skills/press-release-drafter/tsconfig.json +0 -10
  837. package/skills/print-collateral-designer/CLAUDE.md +0 -19
  838. package/skills/print-collateral-designer/package.json +0 -27
  839. package/skills/print-collateral-designer/src/index.ts +0 -298
  840. package/skills/print-collateral-designer/tsconfig.json +0 -10
  841. package/skills/procurement-scorecard/CLAUDE.md +0 -19
  842. package/skills/procurement-scorecard/package.json +0 -27
  843. package/skills/procurement-scorecard/src/index.ts +0 -338
  844. package/skills/procurement-scorecard/tsconfig.json +0 -10
  845. package/skills/product-demo-script/CLAUDE.md +0 -19
  846. package/skills/product-demo-script/package.json +0 -27
  847. package/skills/product-demo-script/src/index.ts +0 -326
  848. package/skills/product-demo-script/tsconfig.json +0 -10
  849. package/skills/project-dashboard-reports/SKILL.md +0 -78
  850. package/skills/project-dashboard-reports/package.json +0 -25
  851. package/skills/project-dashboard-reports/src/index.ts +0 -67
  852. package/skills/project-retro-companion/CLAUDE.md +0 -19
  853. package/skills/project-retro-companion/package.json +0 -27
  854. package/skills/project-retro-companion/src/index.ts +0 -298
  855. package/skills/project-retro-companion/tsconfig.json +0 -10
  856. package/skills/proposal-redline-advisor/CLAUDE.md +0 -19
  857. package/skills/proposal-redline-advisor/package.json +0 -27
  858. package/skills/proposal-redline-advisor/src/index.ts +0 -320
  859. package/skills/proposal-redline-advisor/tsconfig.json +0 -10
  860. package/skills/read-image/SKILL.md +0 -47
  861. package/skills/read-image/package.json +0 -33
  862. package/skills/read-image/src/index.ts +0 -264
  863. package/skills/read-pdf/SKILL.md +0 -53
  864. package/skills/read-pdf/package.json +0 -11
  865. package/skills/remove-background/CLAUDE.md +0 -19
  866. package/skills/remove-background/package.json +0 -11
  867. package/skills/remove-background/tsconfig.json +0 -10
  868. package/skills/risk-disclosure-kit/CLAUDE.md +0 -19
  869. package/skills/risk-disclosure-kit/package.json +0 -27
  870. package/skills/risk-disclosure-kit/src/index.ts +0 -307
  871. package/skills/risk-disclosure-kit/tsconfig.json +0 -10
  872. package/skills/roi-comparison-tool/CLAUDE.md +0 -19
  873. package/skills/roi-comparison-tool/package.json +0 -27
  874. package/skills/roi-comparison-tool/src/index.ts +0 -322
  875. package/skills/roi-comparison-tool/tsconfig.json +0 -10
  876. package/skills/sales-call-recapper/CLAUDE.md +0 -19
  877. package/skills/sales-call-recapper/package.json +0 -27
  878. package/skills/sales-call-recapper/src/index.ts +0 -300
  879. package/skills/sales-call-recapper/tsconfig.json +0 -10
  880. package/skills/salescopy/.env.example +0 -2
  881. package/skills/salescopy/CLAUDE.md +0 -23
  882. package/skills/salescopy/LICENSE +0 -192
  883. package/skills/salescopy/README.md +0 -72
  884. package/skills/salescopy/package.json +0 -27
  885. package/skills/salescopy/src/commands/config.ts +0 -115
  886. package/skills/salescopy/src/commands/generate.ts +0 -179
  887. package/skills/salescopy/src/commands/sessions.ts +0 -169
  888. package/skills/salescopy/src/commands/templates.ts +0 -99
  889. package/skills/salescopy/src/index.ts +0 -3
  890. package/skills/salescopy/src/lib/generator.ts +0 -197
  891. package/skills/salescopy/src/lib/storage.ts +0 -191
  892. package/skills/salescopy/src/types/index.ts +0 -74
  893. package/skills/salescopy/src/utils/logger.ts +0 -33
  894. package/skills/salescopy/src/utils/paths.ts +0 -25
  895. package/skills/salescopy/tsconfig.json +0 -23
  896. package/skills/scaffold-project/CLAUDE.md +0 -19
  897. package/skills/scaffold-project/package.json +0 -29
  898. package/skills/scaffold-project/src/ai-detect.ts +0 -136
  899. package/skills/scaffold-project/src/file-generators.ts +0 -292
  900. package/skills/scaffold-project/src/index.ts +0 -240
  901. package/skills/scaffold-project/src/project-config.ts +0 -338
  902. package/skills/scaffold-project/src/templates.ts +0 -173
  903. package/skills/scaffold-project/src/types.ts +0 -58
  904. package/skills/scaffold-project/tsconfig.json +0 -10
  905. package/skills/scholarship-tracker/CLAUDE.md +0 -19
  906. package/skills/scholarship-tracker/package.json +0 -27
  907. package/skills/scholarship-tracker/src/index.ts +0 -298
  908. package/skills/scholarship-tracker/tsconfig.json +0 -10
  909. package/skills/sdk-generator/SKILL.md +0 -45
  910. package/skills/sdk-generator/package.json +0 -11
  911. package/skills/sdk-generator/tsconfig.json +0 -8
  912. package/skills/seating-chart-maker/CLAUDE.md +0 -19
  913. package/skills/seating-chart-maker/package.json +0 -27
  914. package/skills/seating-chart-maker/src/index.ts +0 -312
  915. package/skills/seating-chart-maker/tsconfig.json +0 -10
  916. package/skills/seo-brief-builder/CLAUDE.md +0 -19
  917. package/skills/seo-brief-builder/package.json +0 -27
  918. package/skills/seo-brief-builder/src/index.ts +0 -288
  919. package/skills/seo-brief-builder/tsconfig.json +0 -10
  920. package/skills/short-video-pack/SKILL.md +0 -30
  921. package/skills/short-video-pack/package.json +0 -11
  922. package/skills/slack-assistant/CLAUDE.md +0 -19
  923. package/skills/slack-assistant/package.json +0 -29
  924. package/skills/slack-assistant/src/index.ts +0 -79
  925. package/skills/slack-assistant/tsconfig.json +0 -10
  926. package/skills/sleep-routine-analyzer/CLAUDE.md +0 -19
  927. package/skills/sleep-routine-analyzer/package.json +0 -27
  928. package/skills/sleep-routine-analyzer/src/index.ts +0 -293
  929. package/skills/sleep-routine-analyzer/tsconfig.json +0 -10
  930. package/skills/sms/README.md +0 -33
  931. package/skills/sms/package.json +0 -35
  932. package/skills/sms/src/index.ts +0 -335
  933. package/skills/sms/tsconfig.json +0 -21
  934. package/skills/social-media-kit/CLAUDE.md +0 -19
  935. package/skills/social-media-kit/package.json +0 -27
  936. package/skills/social-media-kit/src/index.ts +0 -281
  937. package/skills/social-media-kit/tsconfig.json +0 -10
  938. package/skills/sponsorship-proposal-lab/CLAUDE.md +0 -19
  939. package/skills/sponsorship-proposal-lab/package.json +0 -27
  940. package/skills/sponsorship-proposal-lab/src/index.ts +0 -300
  941. package/skills/sponsorship-proposal-lab/tsconfig.json +0 -10
  942. package/skills/spreadsheet-cleanroom/CLAUDE.md +0 -19
  943. package/skills/spreadsheet-cleanroom/package.json +0 -27
  944. package/skills/spreadsheet-cleanroom/src/index.ts +0 -331
  945. package/skills/spreadsheet-cleanroom/tsconfig.json +0 -10
  946. package/skills/stress-relief-playbook/CLAUDE.md +0 -19
  947. package/skills/stress-relief-playbook/package.json +0 -27
  948. package/skills/stress-relief-playbook/src/index.ts +0 -298
  949. package/skills/stress-relief-playbook/tsconfig.json +0 -10
  950. package/skills/study-guide-builder/CLAUDE.md +0 -19
  951. package/skills/study-guide-builder/package.json +0 -27
  952. package/skills/study-guide-builder/src/index.ts +0 -298
  953. package/skills/study-guide-builder/tsconfig.json +0 -10
  954. package/skills/subscription-spend-watcher/CLAUDE.md +0 -19
  955. package/skills/subscription-spend-watcher/package.json +0 -27
  956. package/skills/subscription-spend-watcher/src/index.ts +0 -312
  957. package/skills/subscription-spend-watcher/tsconfig.json +0 -10
  958. package/skills/subtitle/.env.example +0 -2
  959. package/skills/subtitle/CLAUDE.md +0 -37
  960. package/skills/subtitle/LICENSE +0 -192
  961. package/skills/subtitle/README.md +0 -63
  962. package/skills/subtitle/package.json +0 -43
  963. package/skills/subtitle/src/commands/config.ts +0 -53
  964. package/skills/subtitle/src/commands/generate.ts +0 -61
  965. package/skills/subtitle/src/index.ts +0 -3
  966. package/skills/subtitle/src/lib/generator.ts +0 -216
  967. package/skills/subtitle/src/lib/storage.ts +0 -62
  968. package/skills/subtitle/src/types/index.ts +0 -68
  969. package/skills/subtitle/src/utils/logger.ts +0 -34
  970. package/skills/subtitle/src/utils/paths.ts +0 -51
  971. package/skills/subtitle/tsconfig.json +0 -21
  972. package/skills/survey-insight-extractor/CLAUDE.md +0 -19
  973. package/skills/survey-insight-extractor/package.json +0 -27
  974. package/skills/survey-insight-extractor/src/index.ts +0 -317
  975. package/skills/survey-insight-extractor/tsconfig.json +0 -10
  976. package/skills/terraform-generator/CLAUDE.md +0 -19
  977. package/skills/terraform-generator/package.json +0 -29
  978. package/skills/terraform-generator/src/index.ts +0 -99
  979. package/skills/terraform-generator/tsconfig.json +0 -10
  980. package/skills/testimonial-graphics/CLAUDE.md +0 -19
  981. package/skills/testimonial-graphics/package.json +0 -27
  982. package/skills/testimonial-graphics/src/index.ts +0 -303
  983. package/skills/testimonial-graphics/tsconfig.json +0 -10
  984. package/skills/timesheet/.env.example +0 -25
  985. package/skills/timesheet/README.md +0 -235
  986. package/skills/timesheet/package.json +0 -47
  987. package/skills/timesheet/scripts/publish.ts +0 -210
  988. package/skills/timesheet/src/commands/employee.ts +0 -96
  989. package/skills/timesheet/src/commands/export.ts +0 -29
  990. package/skills/timesheet/src/commands/generate.ts +0 -102
  991. package/skills/timesheet/src/commands/holiday.ts +0 -74
  992. package/skills/timesheet/src/commands/profile.ts +0 -133
  993. package/skills/timesheet/src/commands/setup.ts +0 -21
  994. package/skills/timesheet/src/commands/vacation.ts +0 -93
  995. package/skills/timesheet/src/index.ts +0 -3
  996. package/skills/timesheet/src/lib/employees.ts +0 -56
  997. package/skills/timesheet/src/lib/export.ts +0 -123
  998. package/skills/timesheet/src/lib/holidays.ts +0 -79
  999. package/skills/timesheet/src/lib/paths.ts +0 -59
  1000. package/skills/timesheet/src/lib/profiles.ts +0 -168
  1001. package/skills/timesheet/src/lib/storage.ts +0 -83
  1002. package/skills/timesheet/src/lib/timesheet.ts +0 -130
  1003. package/skills/timesheet/src/lib/vacations.ts +0 -70
  1004. package/skills/timesheet/src/types/index.ts +0 -96
  1005. package/skills/timesheet/tsconfig.json +0 -29
  1006. package/skills/transcript/LICENSE +0 -192
  1007. package/skills/transcript/README.md +0 -17
  1008. package/skills/transcript/SKILL.md +0 -80
  1009. package/skills/transcript/package.json +0 -11
  1010. package/skills/transcript/tsconfig.json +0 -18
  1011. package/skills/travel-budget-balancer/CLAUDE.md +0 -19
  1012. package/skills/travel-budget-balancer/package.json +0 -27
  1013. package/skills/travel-budget-balancer/src/index.ts +0 -297
  1014. package/skills/travel-budget-balancer/tsconfig.json +0 -10
  1015. package/skills/video/SKILL.md +0 -37
  1016. package/skills/video/package.json +0 -11
  1017. package/skills/video-cut-suggester/CLAUDE.md +0 -19
  1018. package/skills/video-cut-suggester/package.json +0 -27
  1019. package/skills/video-cut-suggester/src/index.ts +0 -304
  1020. package/skills/video-cut-suggester/tsconfig.json +0 -10
  1021. package/skills/video-thumbnail/CLAUDE.md +0 -19
  1022. package/skills/video-thumbnail/package.json +0 -27
  1023. package/skills/video-thumbnail/src/index.ts +0 -356
  1024. package/skills/video-thumbnail/tsconfig.json +0 -10
  1025. package/skills/voiceover-jingle-pack/SKILL.md +0 -28
  1026. package/skills/voiceover-jingle-pack/package.json +0 -11
  1027. package/skills/webcrawling/CLAUDE.md +0 -11
  1028. package/skills/webcrawling/LICENSE +0 -192
  1029. package/skills/webcrawling/README.md +0 -24
  1030. package/skills/webcrawling/package.json +0 -11
  1031. package/skills/webcrawling/tsconfig.json +0 -22
  1032. package/skills/webinar-script-coach/CLAUDE.md +0 -19
  1033. package/skills/webinar-script-coach/package.json +0 -27
  1034. package/skills/webinar-script-coach/src/index.ts +0 -296
  1035. package/skills/webinar-script-coach/tsconfig.json +0 -10
  1036. package/skills/wellness-progress-reporter/CLAUDE.md +0 -19
  1037. package/skills/wellness-progress-reporter/package.json +0 -27
  1038. package/skills/wellness-progress-reporter/src/index.ts +0 -298
  1039. package/skills/wellness-progress-reporter/tsconfig.json +0 -10
  1040. package/skills/workout-cycle-planner/CLAUDE.md +0 -19
  1041. package/skills/workout-cycle-planner/package.json +0 -27
  1042. package/skills/workout-cycle-planner/src/index.ts +0 -299
  1043. package/skills/workout-cycle-planner/tsconfig.json +0 -10
  1044. package/skills/write/.env.example +0 -9
  1045. package/skills/write/LICENSE +0 -192
  1046. package/skills/write/README.md +0 -17
  1047. package/skills/write/SKILL.md +0 -90
  1048. package/skills/write/package.json +0 -32
  1049. package/skills/write/src/agents/image-generator.ts +0 -186
  1050. package/skills/write/src/agents/researcher.ts +0 -61
  1051. package/skills/write/src/agents/writer.ts +0 -99
  1052. package/skills/write/src/index-local.ts +0 -248
  1053. package/skills/write/src/index.ts +0 -4
  1054. package/skills/write/src/orchestrator.ts +0 -171
  1055. package/skills/write/src/types.ts +0 -65
  1056. package/skills/write/tsconfig.json +0 -18
  1057. /package/migrations/{0001_open_skills_self_hosted.sql → postgres/0001_open_skills_self_hosted.sql} +0 -0
  1058. /package/skills/{read-image → api-docs-portal}/tsconfig.json +0 -0
  1059. /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.