@hasna/skills 0.1.62 → 0.1.63

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 (526) hide show
  1. package/README.md +10 -6
  2. package/bin/index.js +14271 -21602
  3. package/bin/mcp.js +3527 -11449
  4. package/bin/migrate.js +53 -3
  5. package/bin/server.js +5140 -2675
  6. package/bin/worker.js +4542 -2129
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/components/App.d.ts +2 -1
  9. package/dist/cli/components/CategorySelect.d.ts +2 -1
  10. package/dist/cli/components/Header.d.ts +2 -1
  11. package/dist/cli/components/InstallProgress.d.ts +2 -1
  12. package/dist/cli/components/SearchView.d.ts +2 -1
  13. package/dist/cli/components/SkillSelect.d.ts +2 -1
  14. package/dist/index.d.ts +4 -1
  15. package/dist/index.js +5094 -13755
  16. package/dist/lib/agent-sync.d.ts +38 -3
  17. package/dist/lib/home-adoption.d.ts +91 -0
  18. package/dist/lib/home-census.d.ts +22 -0
  19. package/dist/lib/home-migration.d.ts +61 -0
  20. package/dist/lib/portable-skills-files.d.ts +21 -1
  21. package/dist/lib/portable-skills-types.d.ts +46 -0
  22. package/dist/lib/pull.d.ts +66 -0
  23. package/dist/lib/remote-client.d.ts +6 -0
  24. package/dist/lib/run-state.d.ts +5 -0
  25. package/dist/lib/skill-bundles.d.ts +54 -0
  26. package/dist/lib/skill-contract.d.ts +35 -0
  27. package/dist/lib/skill-hash.d.ts +77 -0
  28. package/dist/sdk/cancel.d.ts +30 -0
  29. package/dist/sdk/dispatcher.d.ts +40 -0
  30. package/dist/sdk/event-sink.d.ts +2 -0
  31. package/dist/sdk/events.d.ts +79 -0
  32. package/dist/sdk/execution/admission.d.ts +44 -0
  33. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  34. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  35. package/dist/sdk/execution/image-profile.d.ts +73 -0
  36. package/dist/sdk/execution/index.d.ts +15 -0
  37. package/dist/sdk/execution/receipts.d.ts +44 -0
  38. package/dist/sdk/execution/state-machine.d.ts +38 -0
  39. package/dist/sdk/execution/storage.d.ts +158 -0
  40. package/dist/sdk/execution/types.d.ts +130 -0
  41. package/dist/sdk/executor.d.ts +17 -0
  42. package/dist/sdk/governance-store.d.ts +156 -0
  43. package/dist/sdk/governance.d.ts +92 -0
  44. package/dist/sdk/index.d.ts +26 -0
  45. package/dist/sdk/index.js +48730 -0
  46. package/dist/sdk/offline.d.ts +16 -0
  47. package/dist/sdk/outputs.d.ts +71 -0
  48. package/dist/sdk/registry.d.ts +28 -0
  49. package/dist/sdk/runs.d.ts +229 -0
  50. package/dist/sdk/server.d.ts +35 -0
  51. package/dist/sdk/spend.d.ts +36 -0
  52. package/dist/sdk/storage.d.ts +25 -0
  53. package/dist/server/app.d.ts +42 -0
  54. package/dist/server/artifact-storage.d.ts +102 -0
  55. package/dist/server/auth.d.ts +5 -0
  56. package/dist/server/config.d.ts +40 -0
  57. package/dist/server/database-url.d.ts +42 -0
  58. package/dist/server/handlers.d.ts +3 -0
  59. package/dist/server/index.d.ts +2 -0
  60. package/dist/server/migrate.d.ts +13 -0
  61. package/dist/server/migrations-dir.d.ts +18 -0
  62. package/dist/server/redaction.d.ts +1 -0
  63. package/dist/server/registry.d.ts +5 -0
  64. package/dist/server/rows.d.ts +23 -0
  65. package/dist/server/skills-api.d.ts +68 -0
  66. package/dist/server/sqlite-store.d.ts +114 -0
  67. package/dist/server/store-fixtures.d.ts +25 -0
  68. package/dist/server/store.d.ts +144 -0
  69. package/dist/server/types.d.ts +242 -0
  70. package/dist/server/worker.d.ts +4 -0
  71. package/dist/storage.js +32 -0
  72. package/docs/skill-standard.md +211 -39
  73. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  74. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  75. package/package.json +11 -8
  76. package/schemas/skill.schema.json +181 -0
  77. package/agent-skills/README.md +0 -41
  78. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  79. package/agent-skills/inbox/SKILL.md +0 -25
  80. package/agent-skills/inbox/scripts/inbox +0 -109
  81. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  82. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  83. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  84. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  85. package/agent-skills/merge-pr/SKILL.md +0 -85
  86. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  87. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  88. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  89. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  90. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  91. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  92. package/agent-skills/skill-login/SKILL.md +0 -109
  93. package/agent-skills/skill-project-create/SKILL.md +0 -91
  94. package/agent-skills/skill-publish/SKILL.md +0 -254
  95. package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
  96. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
  97. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
  98. package/skills/_common/auth.ts +0 -45
  99. package/skills/_common/http-client.ts +0 -143
  100. package/skills/_common/index.ts +0 -26
  101. package/skills/_common/install.sh +0 -7
  102. package/skills/_common/installer.ts +0 -72
  103. package/skills/_common/skill-install.ts +0 -37
  104. package/skills/_common/vision.ts +0 -374
  105. package/skills/ad-creative-pack/SKILL.md +0 -55
  106. package/skills/ad-creative-pack/package.json +0 -10
  107. package/skills/analyze-data/CLAUDE.md +0 -16
  108. package/skills/analyze-data/SKILL.md +0 -112
  109. package/skills/analyze-data/package.json +0 -23
  110. package/skills/analyze-data/src/analysis.ts +0 -401
  111. package/skills/analyze-data/src/cli.ts +0 -66
  112. package/skills/analyze-data/src/formatters.ts +0 -235
  113. package/skills/analyze-data/src/index.ts +0 -74
  114. package/skills/analyze-data/src/logger.ts +0 -36
  115. package/skills/analyze-data/src/parsers.ts +0 -57
  116. package/skills/analyze-data/src/stats.ts +0 -151
  117. package/skills/analyze-data/src/types.ts +0 -85
  118. package/skills/analyze-data/tsconfig.json +0 -19
  119. package/skills/api-docs-portal/SKILL.md +0 -84
  120. package/skills/api-docs-portal/package.json +0 -35
  121. package/skills/api-docs-portal/src/index.ts +0 -919
  122. package/skills/api-docs-portal/tsconfig.json +0 -17
  123. package/skills/api-test-suite/CLAUDE.md +0 -19
  124. package/skills/api-test-suite/package.json +0 -27
  125. package/skills/api-test-suite/src/index.ts +0 -381
  126. package/skills/api-test-suite/tsconfig.json +0 -10
  127. package/skills/audio-extract/CLAUDE.md +0 -9
  128. package/skills/audio-extract/SKILL.md +0 -73
  129. package/skills/audio-extract/package.json +0 -23
  130. package/skills/audio-extract/src/index.ts +0 -323
  131. package/skills/audio-extract/tsconfig.json +0 -11
  132. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  133. package/skills/bio-sequence-tool/package.json +0 -27
  134. package/skills/bio-sequence-tool/src/index.ts +0 -85
  135. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  136. package/skills/blog-article/CLAUDE.md +0 -12
  137. package/skills/blog-article/SKILL.md +0 -55
  138. package/skills/blog-article/package.json +0 -10
  139. package/skills/blog-article/tsconfig.json +0 -10
  140. package/skills/brand-assets/SKILL.md +0 -118
  141. package/skills/brand-assets/package.json +0 -35
  142. package/skills/brand-assets/src/cli.ts +0 -155
  143. package/skills/brand-assets/src/constants.ts +0 -8
  144. package/skills/brand-assets/src/extract.ts +0 -236
  145. package/skills/brand-assets/src/index.ts +0 -668
  146. package/skills/brand-assets/src/types.ts +0 -59
  147. package/skills/brand-assets/tsconfig.json +0 -17
  148. package/skills/brand-kit/SKILL.md +0 -54
  149. package/skills/brand-kit/package.json +0 -10
  150. package/skills/businessactivity/CLAUDE.md +0 -176
  151. package/skills/businessactivity/LICENSE +0 -192
  152. package/skills/businessactivity/README.md +0 -287
  153. package/skills/businessactivity/package.json +0 -25
  154. package/skills/businessactivity/scripts/publish.ts +0 -210
  155. package/skills/businessactivity/src/commands/activity.ts +0 -211
  156. package/skills/businessactivity/src/commands/function.ts +0 -227
  157. package/skills/businessactivity/src/commands/owner.ts +0 -193
  158. package/skills/businessactivity/src/commands/profile.ts +0 -121
  159. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  160. package/skills/businessactivity/src/commands/team.ts +0 -244
  161. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  162. package/skills/businessactivity/src/index.ts +0 -3
  163. package/skills/businessactivity/src/lib/config.ts +0 -167
  164. package/skills/businessactivity/src/lib/output.ts +0 -76
  165. package/skills/businessactivity/src/lib/paths.ts +0 -79
  166. package/skills/businessactivity/src/lib/storage.ts +0 -95
  167. package/skills/businessactivity/src/types/index.ts +0 -86
  168. package/skills/businessactivity/tsconfig.json +0 -29
  169. package/skills/codefix/LICENSE +0 -192
  170. package/skills/codefix/README.md +0 -232
  171. package/skills/codefix/SKILL.md +0 -94
  172. package/skills/codefix/package.json +0 -21
  173. package/skills/codefix/src/fixers/batch.ts +0 -213
  174. package/skills/codefix/src/fixers/detector.ts +0 -160
  175. package/skills/codefix/src/fixers/index.ts +0 -7
  176. package/skills/codefix/src/fixers/runner.ts +0 -522
  177. package/skills/codefix/src/index-local.ts +0 -431
  178. package/skills/codefix/src/index.ts +0 -4
  179. package/skills/codefix/src/types.ts +0 -211
  180. package/skills/codefix/tsconfig.json +0 -15
  181. package/skills/commitpush/SKILL.md +0 -57
  182. package/skills/commitpush/package.json +0 -33
  183. package/skills/commitpush/src/index.ts +0 -34
  184. package/skills/commitpush/tsconfig.json +0 -17
  185. package/skills/commitpushpr/SKILL.md +0 -55
  186. package/skills/commitpushpr/package.json +0 -33
  187. package/skills/commitpushpr/src/index.ts +0 -34
  188. package/skills/commitpushpr/tsconfig.json +0 -17
  189. package/skills/compress-video/CLAUDE.md +0 -9
  190. package/skills/compress-video/SKILL.md +0 -79
  191. package/skills/compress-video/package.json +0 -23
  192. package/skills/compress-video/src/index.ts +0 -473
  193. package/skills/compress-video/tsconfig.json +0 -11
  194. package/skills/contract-review-report/SKILL.md +0 -52
  195. package/skills/contract-review-report/package.json +0 -10
  196. package/skills/customer-feedback-report/SKILL.md +0 -52
  197. package/skills/customer-feedback-report/package.json +0 -10
  198. package/skills/dashboard-builder/CLAUDE.md +0 -19
  199. package/skills/dashboard-builder/package.json +0 -29
  200. package/skills/dashboard-builder/src/index.ts +0 -150
  201. package/skills/dashboard-builder/tsconfig.json +0 -10
  202. package/skills/data-anonymizer/CLAUDE.md +0 -19
  203. package/skills/data-anonymizer/package.json +0 -27
  204. package/skills/data-anonymizer/src/index.ts +0 -183
  205. package/skills/data-anonymizer/tsconfig.json +0 -10
  206. package/skills/database-explorer/CLAUDE.md +0 -19
  207. package/skills/database-explorer/package.json +0 -29
  208. package/skills/database-explorer/src/index.ts +0 -95
  209. package/skills/database-explorer/tsconfig.json +0 -10
  210. package/skills/diff-viewer/CLAUDE.md +0 -19
  211. package/skills/diff-viewer/package.json +0 -30
  212. package/skills/diff-viewer/src/index.ts +0 -164
  213. package/skills/diff-viewer/tsconfig.json +0 -10
  214. package/skills/doc-read/SKILL.md +0 -45
  215. package/skills/doc-read/package.json +0 -29
  216. package/skills/doc-read/src/index.ts +0 -324
  217. package/skills/doc-read/tsconfig.json +0 -8
  218. package/skills/domainpurchase/LICENSE +0 -192
  219. package/skills/domainpurchase/SKILL.md +0 -29
  220. package/skills/domainpurchase/package.json +0 -30
  221. package/skills/domainpurchase/src/index.ts +0 -3
  222. package/skills/domainpurchase/tsconfig.json +0 -21
  223. package/skills/email-sequence/SKILL.md +0 -53
  224. package/skills/email-sequence/package.json +0 -10
  225. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  226. package/skills/experiment-power-calculator/package.json +0 -29
  227. package/skills/experiment-power-calculator/src/index.ts +0 -86
  228. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  229. package/skills/extract-frames/CLAUDE.md +0 -19
  230. package/skills/extract-frames/package.json +0 -27
  231. package/skills/extract-frames/src/index.ts +0 -616
  232. package/skills/extract-frames/tsconfig.json +0 -10
  233. package/skills/file-organizer/CLAUDE.md +0 -19
  234. package/skills/file-organizer/package.json +0 -27
  235. package/skills/file-organizer/src/index.ts +0 -91
  236. package/skills/file-organizer/tsconfig.json +0 -10
  237. package/skills/folder-tree/CLAUDE.md +0 -19
  238. package/skills/folder-tree/package.json +0 -29
  239. package/skills/folder-tree/src/index.ts +0 -568
  240. package/skills/folder-tree/tsconfig.json +0 -10
  241. package/skills/form-filler/CLAUDE.md +0 -19
  242. package/skills/form-filler/package.json +0 -29
  243. package/skills/form-filler/src/index.ts +0 -81
  244. package/skills/form-filler/tsconfig.json +0 -10
  245. package/skills/generate-api-client/CLAUDE.md +0 -19
  246. package/skills/generate-api-client/package.json +0 -29
  247. package/skills/generate-api-client/src/generator.ts +0 -47
  248. package/skills/generate-api-client/src/index.ts +0 -92
  249. package/skills/generate-api-client/src/logger.ts +0 -34
  250. package/skills/generate-api-client/src/python-generator.ts +0 -245
  251. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  252. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  253. package/skills/generate-api-client/src/types.ts +0 -76
  254. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  255. package/skills/generate-api-client/tsconfig.json +0 -10
  256. package/skills/generate-chart/CLAUDE.md +0 -19
  257. package/skills/generate-chart/package.json +0 -27
  258. package/skills/generate-chart/src/index.ts +0 -510
  259. package/skills/generate-chart/tsconfig.json +0 -10
  260. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  261. package/skills/generate-dockerfile/package.json +0 -27
  262. package/skills/generate-dockerfile/src/cli.ts +0 -78
  263. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  264. package/skills/generate-dockerfile/src/index.ts +0 -81
  265. package/skills/generate-dockerfile/src/logger.ts +0 -30
  266. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  267. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  268. package/skills/generate-dockerfile/src/types.ts +0 -29
  269. package/skills/generate-dockerfile/tsconfig.json +0 -10
  270. package/skills/generate-env/CLAUDE.md +0 -19
  271. package/skills/generate-env/package.json +0 -29
  272. package/skills/generate-env/src/cli.ts +0 -85
  273. package/skills/generate-env/src/detection.ts +0 -161
  274. package/skills/generate-env/src/env-data.ts +0 -66
  275. package/skills/generate-env/src/generators.ts +0 -240
  276. package/skills/generate-env/src/index.ts +0 -120
  277. package/skills/generate-env/src/runtime.ts +0 -30
  278. package/skills/generate-env/src/types.ts +0 -32
  279. package/skills/generate-env/tsconfig.json +0 -10
  280. package/skills/generate-favicon/CLAUDE.md +0 -19
  281. package/skills/generate-favicon/package.json +0 -29
  282. package/skills/generate-favicon/src/index.ts +0 -421
  283. package/skills/generate-favicon/tsconfig.json +0 -10
  284. package/skills/generate-qrcode/CLAUDE.md +0 -19
  285. package/skills/generate-qrcode/package.json +0 -30
  286. package/skills/generate-qrcode/src/index.ts +0 -584
  287. package/skills/generate-qrcode/tsconfig.json +0 -10
  288. package/skills/generate-resume/CLAUDE.md +0 -19
  289. package/skills/generate-resume/package.json +0 -27
  290. package/skills/generate-resume/src/cli.ts +0 -157
  291. package/skills/generate-resume/src/index.ts +0 -178
  292. package/skills/generate-resume/src/parsers.ts +0 -95
  293. package/skills/generate-resume/src/renderers.ts +0 -538
  294. package/skills/generate-resume/src/security.ts +0 -39
  295. package/skills/generate-resume/src/types.ts +0 -86
  296. package/skills/generate-resume/tsconfig.json +0 -10
  297. package/skills/generate-sitemap/CLAUDE.md +0 -19
  298. package/skills/generate-sitemap/package.json +0 -27
  299. package/skills/generate-sitemap/src/index.ts +0 -626
  300. package/skills/generate-sitemap/tsconfig.json +0 -10
  301. package/skills/gif-maker/CLAUDE.md +0 -19
  302. package/skills/gif-maker/package.json +0 -30
  303. package/skills/gif-maker/src/index.ts +0 -600
  304. package/skills/gif-maker/tsconfig.json +0 -10
  305. package/skills/hook/LICENSE +0 -192
  306. package/skills/hook/README.md +0 -74
  307. package/skills/hook/SKILL.md +0 -85
  308. package/skills/hook/bunfig.toml +0 -5
  309. package/skills/hook/package.json +0 -28
  310. package/skills/hook/src/commands/create.ts +0 -112
  311. package/skills/hook/src/commands/events.ts +0 -37
  312. package/skills/hook/src/commands/validate.ts +0 -117
  313. package/skills/hook/src/index.ts +0 -118
  314. package/skills/hook/src/templates/root.ts +0 -196
  315. package/skills/hook/src/templates/source.ts +0 -647
  316. package/skills/hook/tsconfig.json +0 -18
  317. package/skills/http-server/CLAUDE.md +0 -19
  318. package/skills/http-server/package.json +0 -29
  319. package/skills/http-server/src/index.ts +0 -51
  320. package/skills/http-server/tsconfig.json +0 -10
  321. package/skills/implementation/LICENSE +0 -192
  322. package/skills/implementation/README.md +0 -53
  323. package/skills/implementation/SKILL.md +0 -57
  324. package/skills/implementation/bunfig.toml +0 -5
  325. package/skills/implementation/package.json +0 -28
  326. package/skills/implementation/src/commands/create.ts +0 -187
  327. package/skills/implementation/src/index.ts +0 -62
  328. package/skills/implementation/tsconfig.json +0 -18
  329. package/skills/implementation-plan/CLAUDE.md +0 -19
  330. package/skills/implementation-plan/package.json +0 -29
  331. package/skills/implementation-plan/src/index.ts +0 -520
  332. package/skills/implementation-plan/tsconfig.json +0 -10
  333. package/skills/implementation-todo/CLAUDE.md +0 -19
  334. package/skills/implementation-todo/package.json +0 -29
  335. package/skills/implementation-todo/src/index.ts +0 -429
  336. package/skills/implementation-todo/tsconfig.json +0 -10
  337. package/skills/invoice/.env.example +0 -3
  338. package/skills/invoice/CLAUDE.md +0 -31
  339. package/skills/invoice/LICENSE +0 -192
  340. package/skills/invoice/README.md +0 -70
  341. package/skills/invoice/package.json +0 -26
  342. package/skills/invoice/src/commands/companies.ts +0 -202
  343. package/skills/invoice/src/commands/config.ts +0 -132
  344. package/skills/invoice/src/commands/generate.ts +0 -177
  345. package/skills/invoice/src/commands/invoices.ts +0 -218
  346. package/skills/invoice/src/index.ts +0 -3
  347. package/skills/invoice/src/lib/api.ts +0 -124
  348. package/skills/invoice/src/lib/storage.ts +0 -171
  349. package/skills/invoice/src/types/index.ts +0 -86
  350. package/skills/invoice/src/utils/logger.ts +0 -33
  351. package/skills/invoice/src/utils/paths.ts +0 -25
  352. package/skills/invoice/tsconfig.json +0 -23
  353. package/skills/invoice-reconciliation/SKILL.md +0 -98
  354. package/skills/invoice-reconciliation/package.json +0 -36
  355. package/skills/invoice-reconciliation/src/index.ts +0 -743
  356. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  357. package/skills/landing-page-pack/SKILL.md +0 -55
  358. package/skills/landing-page-pack/package.json +0 -10
  359. package/skills/latex-table-generator/CLAUDE.md +0 -19
  360. package/skills/latex-table-generator/package.json +0 -29
  361. package/skills/latex-table-generator/src/index.ts +0 -113
  362. package/skills/latex-table-generator/tsconfig.json +0 -10
  363. package/skills/logo-design/SKILL.md +0 -94
  364. package/skills/logo-design/package.json +0 -35
  365. package/skills/logo-design/src/cli.ts +0 -132
  366. package/skills/logo-design/src/constants.ts +0 -5
  367. package/skills/logo-design/src/docs.ts +0 -102
  368. package/skills/logo-design/src/geometry.ts +0 -324
  369. package/skills/logo-design/src/index.ts +0 -212
  370. package/skills/logo-design/src/palette.ts +0 -258
  371. package/skills/logo-design/src/types.ts +0 -50
  372. package/skills/logo-design/tsconfig.json +0 -17
  373. package/skills/lorem-generator/CLAUDE.md +0 -19
  374. package/skills/lorem-generator/package.json +0 -29
  375. package/skills/lorem-generator/src/index.ts +0 -59
  376. package/skills/lorem-generator/tsconfig.json +0 -10
  377. package/skills/managemcp/CLAUDE.md +0 -14
  378. package/skills/managemcp/README.md +0 -24
  379. package/skills/managemcp/package.json +0 -16
  380. package/skills/managemcp/src/index.ts +0 -3
  381. package/skills/managemcp/tsconfig.json +0 -27
  382. package/skills/markdown-validator/CLAUDE.md +0 -19
  383. package/skills/markdown-validator/package.json +0 -29
  384. package/skills/markdown-validator/src/index.ts +0 -92
  385. package/skills/markdown-validator/tsconfig.json +0 -10
  386. package/skills/market-research-report/SKILL.md +0 -51
  387. package/skills/market-research-report/package.json +0 -10
  388. package/skills/meeting-pack/SKILL.md +0 -52
  389. package/skills/meeting-pack/package.json +0 -10
  390. package/skills/merge-pdfs/CLAUDE.md +0 -19
  391. package/skills/merge-pdfs/package.json +0 -31
  392. package/skills/merge-pdfs/src/index.ts +0 -427
  393. package/skills/merge-pdfs/tsconfig.json +0 -10
  394. package/skills/migration-plan-pack/SKILL.md +0 -56
  395. package/skills/migration-plan-pack/package.json +0 -10
  396. package/skills/monitor/SKILL.md +0 -69
  397. package/skills/monitor/package.json +0 -33
  398. package/skills/monitor/src/index.ts +0 -34
  399. package/skills/monitor/tsconfig.json +0 -17
  400. package/skills/one-page-website/SKILL.md +0 -128
  401. package/skills/one-page-website/package.json +0 -34
  402. package/skills/one-page-website/src/design.ts +0 -336
  403. package/skills/one-page-website/src/docs.ts +0 -159
  404. package/skills/one-page-website/src/index.ts +0 -357
  405. package/skills/one-page-website/src/page.ts +0 -340
  406. package/skills/one-page-website/src/styles.ts +0 -508
  407. package/skills/one-page-website/src/types.ts +0 -78
  408. package/skills/one-page-website/tsconfig.json +0 -17
  409. package/skills/pdf-generate/CLAUDE.md +0 -19
  410. package/skills/pdf-generate/SKILL.md +0 -86
  411. package/skills/pdf-generate/package.json +0 -21
  412. package/skills/pdf-generate/src/cli.ts +0 -162
  413. package/skills/pdf-generate/src/html.ts +0 -84
  414. package/skills/pdf-generate/src/index.ts +0 -62
  415. package/skills/pdf-generate/src/markdown.ts +0 -27
  416. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  417. package/skills/pdf-generate/src/runtime.ts +0 -34
  418. package/skills/pdf-generate/src/security.ts +0 -37
  419. package/skills/pdf-generate/src/templates.ts +0 -311
  420. package/skills/pdf-generate/src/types.ts +0 -28
  421. package/skills/pdf-generate/tsconfig.json +0 -16
  422. package/skills/pdf-to-dataset/SKILL.md +0 -88
  423. package/skills/pdf-to-dataset/package.json +0 -37
  424. package/skills/pdf-to-dataset/src/index.ts +0 -790
  425. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  426. package/skills/pdf-to-markdown/SKILL.md +0 -81
  427. package/skills/pdf-to-markdown/package.json +0 -35
  428. package/skills/pdf-to-markdown/src/index.ts +0 -694
  429. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  430. package/skills/performance-audit-report/SKILL.md +0 -49
  431. package/skills/performance-audit-report/package.json +0 -10
  432. package/skills/pitch-deck/SKILL.md +0 -51
  433. package/skills/pitch-deck/package.json +0 -10
  434. package/skills/product-mockup/SKILL.md +0 -107
  435. package/skills/product-mockup/package.json +0 -32
  436. package/skills/product-mockup/src/cli.ts +0 -150
  437. package/skills/product-mockup/src/design.ts +0 -151
  438. package/skills/product-mockup/src/docs.ts +0 -134
  439. package/skills/product-mockup/src/index.ts +0 -182
  440. package/skills/product-mockup/src/render.ts +0 -407
  441. package/skills/product-mockup/src/types.ts +0 -66
  442. package/skills/product-mockup/tsconfig.json +0 -17
  443. package/skills/proposal-pack/SKILL.md +0 -53
  444. package/skills/proposal-pack/package.json +0 -10
  445. package/skills/read-csv/SKILL.md +0 -62
  446. package/skills/read-csv/package.json +0 -37
  447. package/skills/read-csv/src/index.ts +0 -356
  448. package/skills/read-csv/tsconfig.json +0 -17
  449. package/skills/read-excel/SKILL.md +0 -64
  450. package/skills/read-excel/package.json +0 -36
  451. package/skills/read-excel/src/index.ts +0 -266
  452. package/skills/read-excel/tsconfig.json +0 -17
  453. package/skills/regex-tester/CLAUDE.md +0 -19
  454. package/skills/regex-tester/package.json +0 -27
  455. package/skills/regex-tester/src/index.ts +0 -183
  456. package/skills/regex-tester/tsconfig.json +0 -10
  457. package/skills/repo-onboarding-report/SKILL.md +0 -52
  458. package/skills/repo-onboarding-report/package.json +0 -10
  459. package/skills/scancommitpr/SKILL.md +0 -178
  460. package/skills/scancommitpr/package.json +0 -34
  461. package/skills/scancommitpr/src/index.ts +0 -44
  462. package/skills/scancommitpr/tsconfig.json +0 -13
  463. package/skills/scancommitpush/SKILL.md +0 -174
  464. package/skills/scancommitpush/package.json +0 -32
  465. package/skills/scancommitpush/src/index.ts +0 -44
  466. package/skills/scancommitpush/tsconfig.json +0 -13
  467. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  468. package/skills/scientific-figure-check/package.json +0 -29
  469. package/skills/scientific-figure-check/src/index.ts +0 -83
  470. package/skills/scientific-figure-check/tsconfig.json +0 -10
  471. package/skills/security-audit/CLAUDE.md +0 -19
  472. package/skills/security-audit/package.json +0 -27
  473. package/skills/security-audit/src/index.ts +0 -145
  474. package/skills/security-audit/tsconfig.json +0 -10
  475. package/skills/security-audit-report/SKILL.md +0 -52
  476. package/skills/security-audit-report/package.json +0 -10
  477. package/skills/seo-content-pack/SKILL.md +0 -54
  478. package/skills/seo-content-pack/package.json +0 -10
  479. package/skills/siteanalyze/SKILL.md +0 -25
  480. package/skills/siteanalyze/package.json +0 -27
  481. package/skills/siteanalyze/src/index.ts +0 -592
  482. package/skills/slide-deck-generator/SKILL.md +0 -93
  483. package/skills/slide-deck-generator/package.json +0 -38
  484. package/skills/slide-deck-generator/src/cli.ts +0 -133
  485. package/skills/slide-deck-generator/src/index.ts +0 -148
  486. package/skills/slide-deck-generator/src/model.ts +0 -307
  487. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  488. package/skills/slide-deck-generator/src/render.ts +0 -248
  489. package/skills/slide-deck-generator/src/types.ts +0 -114
  490. package/skills/slide-deck-generator/src/utils.ts +0 -53
  491. package/skills/slide-deck-generator/tsconfig.json +0 -17
  492. package/skills/social-content-calendar/SKILL.md +0 -54
  493. package/skills/social-content-calendar/package.json +0 -10
  494. package/skills/split-pdf/CLAUDE.md +0 -19
  495. package/skills/split-pdf/package.json +0 -30
  496. package/skills/split-pdf/src/index.ts +0 -301
  497. package/skills/split-pdf/tsconfig.json +0 -10
  498. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  499. package/skills/statistical-test-selector/package.json +0 -27
  500. package/skills/statistical-test-selector/src/index.ts +0 -75
  501. package/skills/statistical-test-selector/tsconfig.json +0 -10
  502. package/skills/test-suite-generator/SKILL.md +0 -51
  503. package/skills/test-suite-generator/package.json +0 -10
  504. package/skills/tmux-session/SKILL.md +0 -109
  505. package/skills/tmux-session/package.json +0 -33
  506. package/skills/tmux-session/src/index.ts +0 -34
  507. package/skills/tmux-session/tsconfig.json +0 -17
  508. package/skills/todos-plan/SKILL.md +0 -363
  509. package/skills/todos-plan/agents/openai.yaml +0 -4
  510. package/skills/todos-plan/package.json +0 -9
  511. package/skills/todos-plan/src/index.ts +0 -68
  512. package/skills/tsconfig.base.json +0 -12
  513. package/skills/validate-config/CLAUDE.md +0 -19
  514. package/skills/validate-config/package.json +0 -29
  515. package/skills/validate-config/src/index.ts +0 -56
  516. package/skills/validate-config/tsconfig.json +0 -10
  517. package/skills/video-downloader/CLAUDE.md +0 -19
  518. package/skills/video-downloader/package.json +0 -29
  519. package/skills/video-downloader/src/index.ts +0 -561
  520. package/skills/video-downloader/tsconfig.json +0 -10
  521. package/skills/video-highlight-pack/SKILL.md +0 -54
  522. package/skills/video-highlight-pack/package.json +0 -10
  523. package/skills/watermark/CLAUDE.md +0 -19
  524. package/skills/watermark/package.json +0 -32
  525. package/skills/watermark/src/index.ts +0 -587
  526. package/skills/watermark/tsconfig.json +0 -10
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "module": "ESNext",
5
- "outDir": "./dist",
6
- "rootDir": "./src",
7
- "resolveJsonModule": true,
8
- "noEmit": true
9
- },
10
- "include": [
11
- "src/**/*"
12
- ],
13
- "exclude": [
14
- "node_modules",
15
- "dist"
16
- ]
17
- }
@@ -1,363 +0,0 @@
1
- ---
2
- name: todos-plan
3
- description: "Create, edit, verify, execute, route, or synchronize Todos plans while preserving provider roles, authenticated authority, full stable IDs, and durable task evidence."
4
- ---
5
-
6
- # Todos Plan
7
-
8
- Use the Todos CLI as the source of truth. Markdown plan files are durable
9
- human-readable artifacts; they do not replace task or plan rows. Never edit a
10
- Todos database, hosted row, generated registry, or cached task store directly.
11
-
12
- ## Required Operation-Authority Gate
13
-
14
- Apply this gate before every non-help Todos read or write.
15
-
16
- 1. Feature-detect the installed surface with metadata-only help:
17
-
18
- ```bash
19
- todos --help
20
- todos <command> --help
21
- ```
22
-
23
- A command or flag absent from installed help is unsupported. Help presence
24
- is necessary but not sufficient: the selected authenticated authority must
25
- also support the exact invocation. On `REMOTE_COMMAND_UNSUPPORTED` or an
26
- equivalent capability error, stop instead of substituting another CLI,
27
- bootstrapping a localhost service, extracting internal source, or silently
28
- changing the data path.
29
- 2. Record a non-secret provider-role table from package-owned configuration and
30
- authenticated readback:
31
-
32
- | Role | Required proof |
33
- |---|---|
34
- | Product story | `user-hosted` or `Hasna SaaS`. Hasna-operated AWS dogfood is customer-zero of the user-hosted story. |
35
- | Client data path | A local SQLite file or the server HTTP API. A client never opens PostgreSQL directly. |
36
- | Server operator | The party operating the authenticated Todos server. |
37
- | Authenticated authority | Exact API origin, tenant, and principal returned by the installed client. |
38
- | Server backend | `sqlite` or `postgresql`, selected by server database configuration. This is storage, not authorization. |
39
- | Plan-artifact writer | The package-owned atomic writer and receipt lookup used for Markdown artifacts. |
40
-
41
- These are independent facts. Hasna SaaS is a product story, not a backend.
42
- The server backend does not authorize a task operation. Do not derive
43
- authority from a location word, provider name, hostname guess, or retired
44
- placement enum.
45
- 3. Before production task data access, run the installed authenticated health
46
- check:
47
-
48
- ```bash
49
- todos health --json
50
- ```
51
-
52
- Require a successful authenticated HTTP authority with the intended tenant
53
- and no silent fallback. A local SQLite result is valid only for an explicitly
54
- selected on-box user-hosted workflow. Ambiguous authority, failed auth,
55
- unavailable routing, unsupported commands, or an unexpected backend fails
56
- closed. Never fall back from an authenticated production authority to a
57
- local file after an error.
58
- 4. Resolve the project through the authenticated authority, capture its full
59
- UUID, and prove scoped status:
60
-
61
- ```bash
62
- todos --json projects --show <project-ref>
63
- todos status --project <full-project-uuid> --json
64
- ```
65
-
66
- Require the returned project identity, tenant, and authority to match the
67
- intended operation. Never continue from a short ID, stale slug, pathname
68
- guess, or cross-project result.
69
- 5. Before an object-specific operation, prove the exact full stable UUID with
70
- the corresponding singleton read:
71
-
72
- ```bash
73
- todos inspect <full-task-uuid>
74
- todos plans --show <full-plan-uuid>
75
- todos --json lists --show <full-task-list-uuid>
76
- todos template-preview <full-template-uuid>
77
- ```
78
-
79
- Use the full UUID returned by the authority for every later read or
80
- mutation. If exact identity cannot be proven, stop.
81
-
82
- Never print credentials or raw authentication material.
83
-
84
- ## Production Collection and Completeness Gate
85
-
86
- Prefer exact full-ID singleton reads. If a production list, search, history, or
87
- export is required to resolve or verify an object, use only a package-owned
88
- producer and reviewed collector that enforce caller- or policy-selected
89
- positive aggregate caps for calls, items, serialized bytes, and wall time
90
- before materialization. The collector must own every producer call under the
91
- remaining budgets, validate complete responses incrementally without uncapped
92
- buffering, stop at the first excess, and discard the entire result on failure.
93
-
94
- Drain every page within those aggregate caps. Reject repeated cursors, invalid
95
- or partial JSON, trailing unvalidated data, producer failure, timeout, any cap
96
- hit, scope drift, or a missing or ambiguous terminal signal. A larger cap,
97
- consumer-side truncation, shell pipeline, generic timeout wrapper, or absence
98
- from an incomplete result cannot prove completeness. Only an explicit terminal
99
- marker such as `has_more=false` or equivalent exhaustion metadata can.
100
-
101
- ## Fresh Production Mutation Gate
102
-
103
- Immediately before every production mutation:
104
-
105
- 1. Re-read the exact full-UUID target and every exact parent object from the
106
- same authenticated authority.
107
- 2. Preserve the authority-issued revision, version, ETag, or equivalent
108
- compare-and-swap token for the object being changed. Revalidate project,
109
- plan, task-list, task, lock, dependency, and approval scope as applicable.
110
- 3. Submit the mutation conditionally against that fresh token. Each mutation,
111
- including a comment, verification record, update, approval, completion,
112
- deletion, lock change, or dependency change, needs its own fresh pre-read
113
- and token. Never reuse a token or treat one successful write as authority
114
- for a later write.
115
- 4. Re-read every exact affected UUID from the same authority and verify the
116
- intended transition while preserving unrelated fields.
117
-
118
- A read followed by an unconditional write is not a drift gate. If installed
119
- help and the active authority do not expose a version token and conditional
120
- mutation control for the exact operation, that production mutation is
121
- non-runnable.
122
-
123
- For every production create or append operation, additionally require:
124
-
125
- - every exact stable parent UUID advertised by the data model;
126
- - separate caller-stable operation and step identities plus the
127
- authority-documented deterministic C3 key bound to exact immutable
128
- semantics, parents, payload, and preconditions; and
129
- - reconciliation through the same authority by the returned full UUID or an
130
- exact idempotency-key lookup.
131
-
132
- After a timeout or ambiguous response, reconcile before any retry. One matching
133
- accepted object may be accepted only after its exact step-bound receipt and
134
- full readback. Zero accepted effects is not success. A single retry is
135
- permitted only under C8. Any accepted step enters C9 forward repair or
136
- receipt-scoped compensation instead of retry. Never issue a blind replacement
137
- create.
138
-
139
- ## Named C1-C9 Production Mutation Envelope
140
-
141
- Every production create, update, completion, approval, assignment, dependency
142
- or lock change, delete, comment, verification/evidence record, export, plan
143
- artifact write, or other state mutation must close one immutable envelope whose
144
- fields are explicitly named `C1` through `C9`. Existing outcome authorization
145
- is enough; do not insert a duplicate approval. If the authenticated authority
146
- or package-owned plan-artifact writer cannot prove a clause, that path is
147
- non-runnable.
148
-
149
- - **C1 Authority, provider roles, full targets, and immediate preimage.**
150
- Record the product story, provider-role table, authenticated authority and
151
- tenant, server backend, full project UUID, and every full plan, task-list,
152
- task, template, export, and artifact target. Immediately before submission,
153
- perform bounded complete same-authority reads of every existing target and
154
- parent, preserving required full fields and revisions/ETags. For create,
155
- require exact bounded terminal authority-issued absence; for an artifact,
156
- capture exact absence or the full byte preimage and SHA-256.
157
- - **C2 Authority-enforced exact-prestate precondition.** Require
158
- create-if-absent for row creates/appends and a fresh exact full-target-UUID
159
- CAS/`If-Match` for every existing-row mutation. Bind each precondition to the
160
- full UUID and complete C1 state or authority-issued revision. Artifact
161
- creation must be atomic no-overwrite; replacement must be an atomic expected
162
- full-preimage mutation bound to the prior SHA-256 and bytes. Client-side
163
- checks, editor saves, shell redirection, and read-then-unconditional-write do
164
- not qualify.
165
- - **C3 Stable distinct step identities and deterministic keys.** Create one
166
- caller-stable operation identity and a distinct caller-stable step identity
167
- for every ordered manifest entry, including a singleton. Supply the
168
- authority-documented deterministic key for each step, bound to operation ID,
169
- step ID, ordinal, immutable semantics, all full targets, canonical payload
170
- or artifact digest, and exact C1/C2 state. Never invent a key algorithm or
171
- reuse identities or keys for a resubmission.
172
- - **C4 Immutable step-bound receipts.** Require exactly one immutable receipt
173
- from the authority or package-owned artifact writer for every ordered step.
174
- It must bind operation ID, distinct step ID, ordinal, deterministic key,
175
- authority/tenant, full targets, consumed pre-state, canonical payload digest,
176
- disposition, accepted effect if any, resulting revision or artifact
177
- SHA-256/byte length, and exact receipt identity. Multi-step work also needs an
178
- immutable coordinator receipt binding the ordered step receipts and terminal
179
- aggregate state.
180
- - **C5 Exact terminal lookup with hard caps.** Look up the exact receipt,
181
- operation, or deterministic key through the same authority under positive
182
- finite authority-enforced aggregate caps for calls, items, serialized bytes,
183
- and wall time. The artifact writer must provide an equivalent exact terminal
184
- receipt lookup. Client-only limits, manual cursor chasing, shell timeouts, or
185
- an uncapped filesystem scan do not qualify.
186
- - **C6 Fail closed.** Do not claim success or execute a dependent step if any
187
- cap is missing, zero, unlimited, client-only, or hit; output is partial,
188
- incomplete, nonterminal, invalid, or scope-drifted; or lookup returns zero or
189
- multiple matches. A terminal zero-effect result is nonacceptance, not
190
- success, and may enter only C8.
191
- - **C7 Exactly-one result, full readback, and duplicate proof.** Require
192
- exactly one matching immutable step receipt and exactly one accepted effect
193
- for every accepted ordered step, plus the matching coordinator receipt for
194
- multi-step work. Perform bounded complete readback of every affected UUID
195
- from the same authority and exact full-byte readback of every artifact by
196
- path and SHA-256. Verify requested and preserved fields, revisions,
197
- identities, ordinals, parent scope, and that each deterministic key maps to
198
- the same receipt, target, payload/preimage digest, exact pre-state, and
199
- precondition.
200
- - **C8 Restricted fresh-identity retry.** Allow at most one mutation retry,
201
- only after exact C5 lookup proves exactly one immutable terminal
202
- nonacceptance receipt for every submitted step and zero accepted effects for
203
- the operation. Immediately before resubmission, repeat the full C1 read,
204
- capture fresh C2 state, freeze a new ordered manifest, and create a new
205
- operation ID, new distinct step IDs, and new deterministic keys. Ambiguous,
206
- accepted, zero-match, nonterminal, incomplete, or multiply matched outcomes
207
- forbid retry.
208
- - **C9 Ordered immutable manifest, compensation, and repair.** Before the
209
- first write, freeze an ordered immutable manifest, including a one-step
210
- manifest for a singleton. Every entry contains its ordinal, operation ID,
211
- distinct step ID, dependencies, full targets and parents, exact C1 state, C2
212
- preconditions, deterministic key, intended receipt identity, and
213
- authority-documented forward-repair or receipt-scoped compensation route.
214
- Once a step is submitted, do not rewrite or blind-rerun the manifest.
215
- Compensation is permitted only for an exactly identified accepted receipt;
216
- every compensating write is a new operation with its own C1-C9 envelope.
217
-
218
- Task and plan titles, descriptions, comments, verification commands and
219
- summaries, completion notes, export contents, plan Markdown, and any other
220
- private payload must not appear in argv, shell history, diagnostics,
221
- environment variables, or ad hoc temporary files. Submit bytes only through a
222
- package-owned protected input channel identified by a non-secret opaque
223
- descriptor. The descriptor may appear in argv only when it neither reveals nor
224
- encodes the private value. If the installed package exposes only direct
225
- positional or flag values for a private field, that production mutation is
226
- non-runnable.
227
-
228
- ## Inputs
229
-
230
- Resolve these at runtime; none has a built-in default:
231
-
232
- - `<full-project-uuid>`: authoritative project UUID.
233
- - `<full-plan-uuid>`: authoritative plan UUID when the plan exists.
234
- - `<full-task-uuid>`: authoritative task UUID for the current work item.
235
- - `<plan-slug>`: caller- or policy-selected stable lowercase slug.
236
- - `<agent-name>`: inherited agent identity when task state is updated.
237
-
238
- Commands containing angle-bracket placeholders are illustrative. Replace every
239
- placeholder with an authority-proven value before execution.
240
-
241
- ## Authoring Workflow
242
-
243
- 1. Apply the Required Operation-Authority Gate.
244
- 2. Inspect the exact current task and, when present, the exact plan:
245
-
246
- ```bash
247
- todos inspect <full-task-uuid>
248
- todos plans --show <full-plan-uuid>
249
- ```
250
-
251
- 3. Create or update the relative Markdown artifact through the package-owned
252
- protected artifact writer:
253
-
254
- ```text
255
- .hasna/todos/plans/<full-project-uuid>/<plan-slug>.md
256
- ```
257
-
258
- Pass Markdown bytes by opaque descriptor, not argv or shell redirection.
259
- For create, require atomic no-overwrite and a receipt with path, byte length,
260
- SHA-256, operation ID, step ID, and deterministic key. For update, supply the
261
- exact expected preimage bytes and SHA-256, require atomic replacement, and
262
- retain the immutable before/after receipt. Immediately perform exact
263
- full-byte readback and hash verification. If the package-owned writer lacks
264
- these controls, do not write the artifact.
265
- 4. Use Todos CLI commands for authoritative state. Private values below are
266
- represented only by package-owned opaque descriptors:
267
-
268
- ```bash
269
- todos add <opaque-task-create-descriptor> --project <full-project-uuid> --plan <full-plan-uuid> <C1-C9-controls>
270
- todos update <full-task-uuid> <opaque-update-descriptor> <C1-C9-controls>
271
- todos comment <full-task-uuid> <opaque-comment-descriptor> <C1-C9-controls>
272
- todos record-verification <full-task-uuid> <opaque-evidence-descriptor> --agent <agent-name> <C1-C9-controls>
273
- ```
274
-
275
- The descriptors and `<C1-C9-controls>` are capability requirements, not
276
- literal flags. Resolve only package-documented forms from current help and
277
- the authenticated authority contract. Run a production form only when every
278
- required control exists.
279
- 5. Read back every created or changed object using its returned full UUID.
280
- 6. Record verification as work proceeds. Complete only the task whose
281
- acceptance criteria are satisfied:
282
-
283
- ```bash
284
- todos --agent <agent-name> done <full-task-uuid> <opaque-completion-descriptor> <C1-C9-controls>
285
- ```
286
-
287
- Task completion requires a new exact task read and fresh token after the
288
- final preceding mutation.
289
-
290
- ## Plan Artifact Requirements
291
-
292
- The relative Markdown artifact must include:
293
-
294
- - full Todos project, plan, and task UUIDs where applicable;
295
- - scope and out-of-scope boundaries;
296
- - acceptance criteria and dependencies;
297
- - rollout or recovery notes when relevant;
298
- - verification commands and evidence references; and
299
- - residual risks.
300
-
301
- Draft-only artifacts must say that no authoritative plan row exists. Do not
302
- invent placeholder UUIDs or allow workers to execute against a draft identity.
303
-
304
- ## Worker Routing
305
-
306
- Task-triggered workers receive:
307
-
308
- - full task, plan, and project UUIDs;
309
- - repository root plus repo-relative allowed and out-of-scope paths;
310
- - Todos CLI source-of-truth instruction;
311
- - validation and evidence requirements; and
312
- - adversarial verification requirement.
313
-
314
- Use isolated work scopes. Do not route new repo-mutating work through prompt
315
- paste. Native Codewith goals and loops are Codewith mechanisms; OpenLoops
316
- workflows and runs are separate and must be named and recorded as OpenLoops
317
- only when that system is actually used.
318
-
319
- ## Destructive Plan Operations
320
-
321
- Plan completion or deletion requires exact scope already authorized by the
322
- caller and the Fresh Production Mutation Gate:
323
-
324
- ```bash
325
- todos plans --show <full-plan-uuid>
326
- todos plans --complete <full-plan-uuid> <C1-C9-controls>
327
- todos plans --delete <full-plan-uuid> <C1-C9-controls>
328
- ```
329
-
330
- These forms are syntax references only. If the client cannot submit the exact
331
- operation conditionally against the freshly read plan version, do not run it
332
- in production. Re-read the exact plan after completion. After deletion require
333
- an authoritative exact-ID tombstone or not-found result distinguishable from
334
- auth, routing, transport, and incomplete collection failure.
335
-
336
- Do not add a duplicate approval gate when the caller already authorized the
337
- exact outcome. If the exact plan identity or destructive scope is new, stop.
338
-
339
- ## Done Criteria
340
-
341
- - The Required Operation-Authority Gate passed.
342
- - The provider-role table, authenticated authority, and server backend were
343
- recorded as independent facts.
344
- - Every required collection was producer-bounded and explicitly terminal
345
- without hitting an aggregate cap.
346
- - All commands and flags exist in installed help and on the active authority.
347
- - The plan artifact is relative and linked to authority-proven full UUIDs.
348
- - Every production mutation has a complete immutable named C1-C9 envelope.
349
- - Every artifact create/update used atomic no-overwrite or exact-preimage
350
- semantics, immutable receipts, and full byte/hash readback.
351
- - Every existing-object mutation used a fresh same-authority CAS token and was
352
- read back from the same authority.
353
- - Every create or append used exact parent UUIDs, separate operation/step
354
- identities, the authority-documented deterministic C3 key, and bounded
355
- terminal reconciliation before success was claimed.
356
- - Verification, changed files, and residual risks are recorded.
357
- - Adversarial verification is reconciled before completion.
358
-
359
- ## Related
360
-
361
- - [[todos-plans]] — plan, template, and task-list CLI operations.
362
- - [[todos-progress]] — comments, locking, dependencies, and history.
363
- - [[todos-filter]] — bounded task listing, filtering, and export views.
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "Todos Plan"
3
- short_description: "Author, sync, and verify todos plans"
4
- default_prompt: "Use the todos-plan skill to create or update a local todos plan, sync it to the hosted platform when appropriate, and record verification evidence."
@@ -1,9 +0,0 @@
1
- {
2
- "name": "todos-plan",
3
- "version": "0.1.0",
4
- "description": "Author, sync, and verify Todos plans with Todos CLI source-of-truth workflow.",
5
- "type": "module",
6
- "bin": {
7
- "todos-plan": "src/index.ts"
8
- }
9
- }
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env bun
2
- import { spawnSync } from "node:child_process";
3
-
4
- const CHECKLIST = [
5
- "Read the Todos plan with: todos plans --show <plan-id>",
6
- "Inspect and start exactly one task before editing.",
7
- "Keep the Markdown plan artifact under .hasna/todos/plans/<project-id>/.",
8
- "Use Todos CLI for task status, comments, dependencies, and verification.",
9
- "Record validation evidence before marking a task done.",
10
- ];
11
-
12
- function usage(): string {
13
- return [
14
- "todos-plan - plan authoring helper for Todos CLI source-of-truth workflows",
15
- "",
16
- "Usage:",
17
- " todos-plan checklist",
18
- " todos-plan path <project-id> <plan-slug>",
19
- " todos-plan show <plan-id>",
20
- "",
21
- "This skill never edits Todos stores directly. It shells out to the",
22
- "installed todos CLI only for explicit show commands.",
23
- ].join("\n");
24
- }
25
-
26
- function runTodos(args: string[]): number {
27
- const result = spawnSync("todos", args, { stdio: "inherit" });
28
- if (result.error) {
29
- console.error(`todos CLI unavailable: ${result.error.message}`);
30
- return 1;
31
- }
32
- return typeof result.status === "number" ? result.status : 1;
33
- }
34
-
35
- const [command, ...args] = process.argv.slice(2);
36
-
37
- if (!command || command === "--help" || command === "-h") {
38
- console.log(usage());
39
- process.exit(0);
40
- }
41
-
42
- if (command === "checklist") {
43
- for (const item of CHECKLIST) console.log(`- ${item}`);
44
- process.exit(0);
45
- }
46
-
47
- if (command === "path") {
48
- const [projectId, slug] = args;
49
- if (!projectId || !slug) {
50
- console.error("Usage: todos-plan path <project-id> <plan-slug>");
51
- process.exit(1);
52
- }
53
- console.log(`.hasna/todos/plans/${projectId}/${slug}.md`);
54
- process.exit(0);
55
- }
56
-
57
- if (command === "show") {
58
- const [planId] = args;
59
- if (!planId) {
60
- console.error("Usage: todos-plan show <plan-id>");
61
- process.exit(1);
62
- }
63
- process.exit(runTodos(["plans", "--show", planId]));
64
- }
65
-
66
- console.error(`Unknown command: ${command}`);
67
- console.error(usage());
68
- process.exit(1);
@@ -1,12 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "moduleResolution": "bundler",
6
- "esModuleInterop": true,
7
- "strict": true,
8
- "skipLibCheck": true,
9
- "declaration": true,
10
- "types": ["bun-types"]
11
- }
12
- }
@@ -1,19 +0,0 @@
1
- # validate-config
2
-
3
- Validate Config skill.
4
-
5
- ## Tech Stack
6
-
7
- - Runtime: Bun
8
- - Language: TypeScript
9
- - CLI: Commander.js
10
-
11
- ## CLI
12
-
13
- ```bash
14
- validate-config run
15
- ```
16
-
17
- ## Data Directory
18
-
19
- ~/.skill/validate-config/
@@ -1,29 +0,0 @@
1
- {
2
- "name": "validate-config",
3
- "version": "0.1.0",
4
- "description": "Validate Config skill",
5
- "type": "module",
6
- "bin": {
7
- "validate-config": "./src/index.ts"
8
- },
9
- "scripts": {
10
- "dev": "bun run src/index.ts",
11
- "build": "bun build src/index.ts --outdir dist --target node",
12
- "typecheck": "tsc --noEmit"
13
- },
14
- "dependencies": {
15
- "yaml": "^2.8.2"
16
- },
17
- "devDependencies": {
18
- "@types/bun": "latest",
19
- "typescript": "^5.7.0"
20
- },
21
- "publishConfig": {
22
- "access": "restricted",
23
- "registry": "https://registry.npmjs.org/"
24
- },
25
- "files": [
26
- "src",
27
- "tsconfig.json"
28
- ]
29
- }
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env bun
2
- import fs from 'fs';
3
- import path from 'path';
4
- import yaml from 'yaml';
5
-
6
- function main() {
7
- const args = process.argv.slice(2);
8
-
9
- if (args.includes('--help') || args.length === 0) {
10
- console.log('Usage: validate-config <file-path>');
11
- console.log('Options:');
12
- console.log(' --help Show help');
13
- return;
14
- }
15
-
16
- const filePath = args[0];
17
- if (!fs.existsSync(filePath)) {
18
- console.error(`Error: File not found at ${filePath}`);
19
- process.exit(1);
20
- }
21
-
22
- const fileContent = fs.readFileSync(filePath, 'utf-8');
23
- const fileExtension = path.extname(filePath).toLowerCase();
24
-
25
- let isValid = false;
26
- let error = '';
27
-
28
- if (fileExtension === '.json') {
29
- try {
30
- JSON.parse(fileContent);
31
- isValid = true;
32
- } catch (e: any) {
33
- error = `Invalid JSON: ${e.message}`;
34
- }
35
- } else if (fileExtension === '.yaml' || fileExtension === '.yml') {
36
- try {
37
- yaml.parse(fileContent);
38
- isValid = true;
39
- } catch (e: any) {
40
- error = `Invalid YAML: ${e.message}`;
41
- }
42
- } else {
43
- error = `Unsupported file type: ${fileExtension}`;
44
- }
45
-
46
- if (isValid) {
47
- console.log(`Validation successful for ${filePath}`);
48
- process.exit(0);
49
- } else {
50
- console.error(`Validation failed for ${filePath}`);
51
- console.error(error);
52
- process.exit(1);
53
- }
54
- }
55
-
56
- main();
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist"
5
- },
6
- "include": [
7
- "src/**/*",
8
- "bin/**/*"
9
- ]
10
- }
@@ -1,19 +0,0 @@
1
- # video-downloader
2
-
3
- Video Downloader skill.
4
-
5
- ## Tech Stack
6
-
7
- - Runtime: Bun
8
- - Language: TypeScript
9
- - CLI: Commander.js
10
-
11
- ## CLI
12
-
13
- ```bash
14
- video-downloader run
15
- ```
16
-
17
- ## Data Directory
18
-
19
- ~/.skill/video-downloader/
@@ -1,29 +0,0 @@
1
- {
2
- "name": "video-downloader",
3
- "version": "0.1.0",
4
- "description": "Video Downloader skill",
5
- "type": "module",
6
- "bin": {
7
- "video-downloader": "./src/index.ts"
8
- },
9
- "scripts": {
10
- "dev": "bun run src/index.ts",
11
- "build": "bun build src/index.ts --outdir dist --target node",
12
- "typecheck": "tsc --noEmit"
13
- },
14
- "dependencies": {
15
- "minimist": "^1.2.8"
16
- },
17
- "devDependencies": {
18
- "@types/bun": "latest",
19
- "typescript": "^5.7.0"
20
- },
21
- "publishConfig": {
22
- "access": "restricted",
23
- "registry": "https://registry.npmjs.org/"
24
- },
25
- "files": [
26
- "src",
27
- "tsconfig.json"
28
- ]
29
- }