@hasna/skills 0.1.62 → 0.1.64

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 (541) hide show
  1. package/README.md +38 -12
  2. package/bin/index.js +15743 -21709
  3. package/bin/mcp.js +3866 -11522
  4. package/bin/migrate.js +281 -35
  5. package/bin/server.js +5805 -2682
  6. package/bin/worker.js +5280 -2388
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/commands/registry-reconcile.d.ts +2 -0
  9. package/dist/cli/components/App.d.ts +2 -1
  10. package/dist/cli/components/CategorySelect.d.ts +2 -1
  11. package/dist/cli/components/Header.d.ts +2 -1
  12. package/dist/cli/components/InstallProgress.d.ts +2 -1
  13. package/dist/cli/components/SearchView.d.ts +2 -1
  14. package/dist/cli/components/SkillSelect.d.ts +2 -1
  15. package/dist/index.d.ts +5 -2
  16. package/dist/index.js +5386 -13739
  17. package/dist/lib/agent-sync.d.ts +61 -6
  18. package/dist/lib/auth-store.d.ts +37 -0
  19. package/dist/lib/config.d.ts +51 -0
  20. package/dist/lib/home-adoption.d.ts +91 -0
  21. package/dist/lib/home-census.d.ts +26 -0
  22. package/dist/lib/home-migration.d.ts +60 -0
  23. package/dist/lib/native-storage.d.ts +1 -1
  24. package/dist/lib/portable-skills-files.d.ts +21 -1
  25. package/dist/lib/portable-skills-types.d.ts +46 -0
  26. package/dist/lib/portable-skills.d.ts +35 -6
  27. package/dist/lib/pull.d.ts +97 -0
  28. package/dist/lib/registry-reconcile.d.ts +114 -0
  29. package/dist/lib/registry.d.ts +7 -4
  30. package/dist/lib/remote-client.d.ts +124 -1
  31. package/dist/lib/remote-registry.d.ts +26 -0
  32. package/dist/lib/revision.d.ts +29 -0
  33. package/dist/lib/run-state.d.ts +5 -0
  34. package/dist/lib/skill-bundles.d.ts +54 -0
  35. package/dist/lib/skill-contract.d.ts +35 -0
  36. package/dist/lib/skill-hash.d.ts +77 -0
  37. package/dist/sdk/cancel.d.ts +30 -0
  38. package/dist/sdk/dispatcher.d.ts +40 -0
  39. package/dist/sdk/event-sink.d.ts +2 -0
  40. package/dist/sdk/events.d.ts +79 -0
  41. package/dist/sdk/execution/admission.d.ts +44 -0
  42. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  43. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  44. package/dist/sdk/execution/image-profile.d.ts +73 -0
  45. package/dist/sdk/execution/index.d.ts +15 -0
  46. package/dist/sdk/execution/receipts.d.ts +44 -0
  47. package/dist/sdk/execution/state-machine.d.ts +38 -0
  48. package/dist/sdk/execution/storage.d.ts +158 -0
  49. package/dist/sdk/execution/types.d.ts +130 -0
  50. package/dist/sdk/executor.d.ts +17 -0
  51. package/dist/sdk/governance-store.d.ts +156 -0
  52. package/dist/sdk/governance.d.ts +92 -0
  53. package/dist/sdk/index.d.ts +26 -0
  54. package/dist/sdk/index.js +49728 -0
  55. package/dist/sdk/offline.d.ts +16 -0
  56. package/dist/sdk/outputs.d.ts +71 -0
  57. package/dist/sdk/registry.d.ts +28 -0
  58. package/dist/sdk/runs.d.ts +229 -0
  59. package/dist/sdk/server.d.ts +35 -0
  60. package/dist/sdk/spend.d.ts +36 -0
  61. package/dist/sdk/storage.d.ts +25 -0
  62. package/dist/server/app.d.ts +42 -0
  63. package/dist/server/artifact-storage.d.ts +102 -0
  64. package/dist/server/auth.d.ts +5 -0
  65. package/dist/server/config.d.ts +50 -0
  66. package/dist/server/database-url.d.ts +42 -0
  67. package/dist/server/handlers.d.ts +3 -0
  68. package/dist/server/index.d.ts +2 -0
  69. package/dist/server/migrate.d.ts +13 -0
  70. package/dist/server/migrations-dir.d.ts +18 -0
  71. package/dist/server/redaction.d.ts +1 -0
  72. package/dist/server/registry.d.ts +5 -0
  73. package/dist/server/rows.d.ts +24 -0
  74. package/dist/server/skills-api.d.ts +170 -0
  75. package/dist/server/sqlite-store.d.ts +131 -0
  76. package/dist/server/store-fixtures.d.ts +25 -0
  77. package/dist/server/store.d.ts +170 -0
  78. package/dist/server/types.d.ts +337 -0
  79. package/dist/server/worker.d.ts +4 -0
  80. package/dist/storage.js +39 -2
  81. package/docs/skill-standard.md +211 -39
  82. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  83. package/migrations/postgres/0004_hosted_pins.sql +28 -0
  84. package/migrations/postgres/0005_revision_tombstone_registry.sql +37 -0
  85. package/migrations/postgres/0005_tag_projection.sql +36 -0
  86. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  87. package/migrations/sqlite/0004_hosted_pins.sql +21 -0
  88. package/migrations/sqlite/0005_revision_tombstone_registry.sql +18 -0
  89. package/migrations/sqlite/0005_tag_projection.sql +25 -0
  90. package/package.json +12 -8
  91. package/schemas/skill.schema.json +181 -0
  92. package/agent-skills/README.md +0 -41
  93. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  94. package/agent-skills/inbox/SKILL.md +0 -25
  95. package/agent-skills/inbox/scripts/inbox +0 -109
  96. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  97. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  98. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  99. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  100. package/agent-skills/merge-pr/SKILL.md +0 -85
  101. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  102. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  103. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  104. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  105. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  106. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  107. package/agent-skills/skill-login/SKILL.md +0 -109
  108. package/agent-skills/skill-project-create/SKILL.md +0 -91
  109. package/agent-skills/skill-publish/SKILL.md +0 -254
  110. package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
  111. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
  112. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
  113. package/skills/_common/auth.ts +0 -45
  114. package/skills/_common/http-client.ts +0 -143
  115. package/skills/_common/index.ts +0 -26
  116. package/skills/_common/install.sh +0 -7
  117. package/skills/_common/installer.ts +0 -72
  118. package/skills/_common/skill-install.ts +0 -37
  119. package/skills/_common/vision.ts +0 -374
  120. package/skills/ad-creative-pack/SKILL.md +0 -55
  121. package/skills/ad-creative-pack/package.json +0 -10
  122. package/skills/analyze-data/CLAUDE.md +0 -16
  123. package/skills/analyze-data/SKILL.md +0 -112
  124. package/skills/analyze-data/package.json +0 -23
  125. package/skills/analyze-data/src/analysis.ts +0 -401
  126. package/skills/analyze-data/src/cli.ts +0 -66
  127. package/skills/analyze-data/src/formatters.ts +0 -235
  128. package/skills/analyze-data/src/index.ts +0 -74
  129. package/skills/analyze-data/src/logger.ts +0 -36
  130. package/skills/analyze-data/src/parsers.ts +0 -57
  131. package/skills/analyze-data/src/stats.ts +0 -151
  132. package/skills/analyze-data/src/types.ts +0 -85
  133. package/skills/analyze-data/tsconfig.json +0 -19
  134. package/skills/api-docs-portal/SKILL.md +0 -84
  135. package/skills/api-docs-portal/package.json +0 -35
  136. package/skills/api-docs-portal/src/index.ts +0 -919
  137. package/skills/api-docs-portal/tsconfig.json +0 -17
  138. package/skills/api-test-suite/CLAUDE.md +0 -19
  139. package/skills/api-test-suite/package.json +0 -27
  140. package/skills/api-test-suite/src/index.ts +0 -381
  141. package/skills/api-test-suite/tsconfig.json +0 -10
  142. package/skills/audio-extract/CLAUDE.md +0 -9
  143. package/skills/audio-extract/SKILL.md +0 -73
  144. package/skills/audio-extract/package.json +0 -23
  145. package/skills/audio-extract/src/index.ts +0 -323
  146. package/skills/audio-extract/tsconfig.json +0 -11
  147. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  148. package/skills/bio-sequence-tool/package.json +0 -27
  149. package/skills/bio-sequence-tool/src/index.ts +0 -85
  150. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  151. package/skills/blog-article/CLAUDE.md +0 -12
  152. package/skills/blog-article/SKILL.md +0 -55
  153. package/skills/blog-article/package.json +0 -10
  154. package/skills/blog-article/tsconfig.json +0 -10
  155. package/skills/brand-assets/SKILL.md +0 -118
  156. package/skills/brand-assets/package.json +0 -35
  157. package/skills/brand-assets/src/cli.ts +0 -155
  158. package/skills/brand-assets/src/constants.ts +0 -8
  159. package/skills/brand-assets/src/extract.ts +0 -236
  160. package/skills/brand-assets/src/index.ts +0 -668
  161. package/skills/brand-assets/src/types.ts +0 -59
  162. package/skills/brand-assets/tsconfig.json +0 -17
  163. package/skills/brand-kit/SKILL.md +0 -54
  164. package/skills/brand-kit/package.json +0 -10
  165. package/skills/businessactivity/CLAUDE.md +0 -176
  166. package/skills/businessactivity/LICENSE +0 -192
  167. package/skills/businessactivity/README.md +0 -287
  168. package/skills/businessactivity/package.json +0 -25
  169. package/skills/businessactivity/scripts/publish.ts +0 -210
  170. package/skills/businessactivity/src/commands/activity.ts +0 -211
  171. package/skills/businessactivity/src/commands/function.ts +0 -227
  172. package/skills/businessactivity/src/commands/owner.ts +0 -193
  173. package/skills/businessactivity/src/commands/profile.ts +0 -121
  174. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  175. package/skills/businessactivity/src/commands/team.ts +0 -244
  176. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  177. package/skills/businessactivity/src/index.ts +0 -3
  178. package/skills/businessactivity/src/lib/config.ts +0 -167
  179. package/skills/businessactivity/src/lib/output.ts +0 -76
  180. package/skills/businessactivity/src/lib/paths.ts +0 -79
  181. package/skills/businessactivity/src/lib/storage.ts +0 -95
  182. package/skills/businessactivity/src/types/index.ts +0 -86
  183. package/skills/businessactivity/tsconfig.json +0 -29
  184. package/skills/codefix/LICENSE +0 -192
  185. package/skills/codefix/README.md +0 -232
  186. package/skills/codefix/SKILL.md +0 -94
  187. package/skills/codefix/package.json +0 -21
  188. package/skills/codefix/src/fixers/batch.ts +0 -213
  189. package/skills/codefix/src/fixers/detector.ts +0 -160
  190. package/skills/codefix/src/fixers/index.ts +0 -7
  191. package/skills/codefix/src/fixers/runner.ts +0 -522
  192. package/skills/codefix/src/index-local.ts +0 -431
  193. package/skills/codefix/src/index.ts +0 -4
  194. package/skills/codefix/src/types.ts +0 -211
  195. package/skills/codefix/tsconfig.json +0 -15
  196. package/skills/commitpush/SKILL.md +0 -57
  197. package/skills/commitpush/package.json +0 -33
  198. package/skills/commitpush/src/index.ts +0 -34
  199. package/skills/commitpush/tsconfig.json +0 -17
  200. package/skills/commitpushpr/SKILL.md +0 -55
  201. package/skills/commitpushpr/package.json +0 -33
  202. package/skills/commitpushpr/src/index.ts +0 -34
  203. package/skills/commitpushpr/tsconfig.json +0 -17
  204. package/skills/compress-video/CLAUDE.md +0 -9
  205. package/skills/compress-video/SKILL.md +0 -79
  206. package/skills/compress-video/package.json +0 -23
  207. package/skills/compress-video/src/index.ts +0 -473
  208. package/skills/compress-video/tsconfig.json +0 -11
  209. package/skills/contract-review-report/SKILL.md +0 -52
  210. package/skills/contract-review-report/package.json +0 -10
  211. package/skills/customer-feedback-report/SKILL.md +0 -52
  212. package/skills/customer-feedback-report/package.json +0 -10
  213. package/skills/dashboard-builder/CLAUDE.md +0 -19
  214. package/skills/dashboard-builder/package.json +0 -29
  215. package/skills/dashboard-builder/src/index.ts +0 -150
  216. package/skills/dashboard-builder/tsconfig.json +0 -10
  217. package/skills/data-anonymizer/CLAUDE.md +0 -19
  218. package/skills/data-anonymizer/package.json +0 -27
  219. package/skills/data-anonymizer/src/index.ts +0 -183
  220. package/skills/data-anonymizer/tsconfig.json +0 -10
  221. package/skills/database-explorer/CLAUDE.md +0 -19
  222. package/skills/database-explorer/package.json +0 -29
  223. package/skills/database-explorer/src/index.ts +0 -95
  224. package/skills/database-explorer/tsconfig.json +0 -10
  225. package/skills/diff-viewer/CLAUDE.md +0 -19
  226. package/skills/diff-viewer/package.json +0 -30
  227. package/skills/diff-viewer/src/index.ts +0 -164
  228. package/skills/diff-viewer/tsconfig.json +0 -10
  229. package/skills/doc-read/SKILL.md +0 -45
  230. package/skills/doc-read/package.json +0 -29
  231. package/skills/doc-read/src/index.ts +0 -324
  232. package/skills/doc-read/tsconfig.json +0 -8
  233. package/skills/domainpurchase/LICENSE +0 -192
  234. package/skills/domainpurchase/SKILL.md +0 -29
  235. package/skills/domainpurchase/package.json +0 -30
  236. package/skills/domainpurchase/src/index.ts +0 -3
  237. package/skills/domainpurchase/tsconfig.json +0 -21
  238. package/skills/email-sequence/SKILL.md +0 -53
  239. package/skills/email-sequence/package.json +0 -10
  240. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  241. package/skills/experiment-power-calculator/package.json +0 -29
  242. package/skills/experiment-power-calculator/src/index.ts +0 -86
  243. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  244. package/skills/extract-frames/CLAUDE.md +0 -19
  245. package/skills/extract-frames/package.json +0 -27
  246. package/skills/extract-frames/src/index.ts +0 -616
  247. package/skills/extract-frames/tsconfig.json +0 -10
  248. package/skills/file-organizer/CLAUDE.md +0 -19
  249. package/skills/file-organizer/package.json +0 -27
  250. package/skills/file-organizer/src/index.ts +0 -91
  251. package/skills/file-organizer/tsconfig.json +0 -10
  252. package/skills/folder-tree/CLAUDE.md +0 -19
  253. package/skills/folder-tree/package.json +0 -29
  254. package/skills/folder-tree/src/index.ts +0 -568
  255. package/skills/folder-tree/tsconfig.json +0 -10
  256. package/skills/form-filler/CLAUDE.md +0 -19
  257. package/skills/form-filler/package.json +0 -29
  258. package/skills/form-filler/src/index.ts +0 -81
  259. package/skills/form-filler/tsconfig.json +0 -10
  260. package/skills/generate-api-client/CLAUDE.md +0 -19
  261. package/skills/generate-api-client/package.json +0 -29
  262. package/skills/generate-api-client/src/generator.ts +0 -47
  263. package/skills/generate-api-client/src/index.ts +0 -92
  264. package/skills/generate-api-client/src/logger.ts +0 -34
  265. package/skills/generate-api-client/src/python-generator.ts +0 -245
  266. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  267. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  268. package/skills/generate-api-client/src/types.ts +0 -76
  269. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  270. package/skills/generate-api-client/tsconfig.json +0 -10
  271. package/skills/generate-chart/CLAUDE.md +0 -19
  272. package/skills/generate-chart/package.json +0 -27
  273. package/skills/generate-chart/src/index.ts +0 -510
  274. package/skills/generate-chart/tsconfig.json +0 -10
  275. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  276. package/skills/generate-dockerfile/package.json +0 -27
  277. package/skills/generate-dockerfile/src/cli.ts +0 -78
  278. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  279. package/skills/generate-dockerfile/src/index.ts +0 -81
  280. package/skills/generate-dockerfile/src/logger.ts +0 -30
  281. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  282. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  283. package/skills/generate-dockerfile/src/types.ts +0 -29
  284. package/skills/generate-dockerfile/tsconfig.json +0 -10
  285. package/skills/generate-env/CLAUDE.md +0 -19
  286. package/skills/generate-env/package.json +0 -29
  287. package/skills/generate-env/src/cli.ts +0 -85
  288. package/skills/generate-env/src/detection.ts +0 -161
  289. package/skills/generate-env/src/env-data.ts +0 -66
  290. package/skills/generate-env/src/generators.ts +0 -240
  291. package/skills/generate-env/src/index.ts +0 -120
  292. package/skills/generate-env/src/runtime.ts +0 -30
  293. package/skills/generate-env/src/types.ts +0 -32
  294. package/skills/generate-env/tsconfig.json +0 -10
  295. package/skills/generate-favicon/CLAUDE.md +0 -19
  296. package/skills/generate-favicon/package.json +0 -29
  297. package/skills/generate-favicon/src/index.ts +0 -421
  298. package/skills/generate-favicon/tsconfig.json +0 -10
  299. package/skills/generate-qrcode/CLAUDE.md +0 -19
  300. package/skills/generate-qrcode/package.json +0 -30
  301. package/skills/generate-qrcode/src/index.ts +0 -584
  302. package/skills/generate-qrcode/tsconfig.json +0 -10
  303. package/skills/generate-resume/CLAUDE.md +0 -19
  304. package/skills/generate-resume/package.json +0 -27
  305. package/skills/generate-resume/src/cli.ts +0 -157
  306. package/skills/generate-resume/src/index.ts +0 -178
  307. package/skills/generate-resume/src/parsers.ts +0 -95
  308. package/skills/generate-resume/src/renderers.ts +0 -538
  309. package/skills/generate-resume/src/security.ts +0 -39
  310. package/skills/generate-resume/src/types.ts +0 -86
  311. package/skills/generate-resume/tsconfig.json +0 -10
  312. package/skills/generate-sitemap/CLAUDE.md +0 -19
  313. package/skills/generate-sitemap/package.json +0 -27
  314. package/skills/generate-sitemap/src/index.ts +0 -626
  315. package/skills/generate-sitemap/tsconfig.json +0 -10
  316. package/skills/gif-maker/CLAUDE.md +0 -19
  317. package/skills/gif-maker/package.json +0 -30
  318. package/skills/gif-maker/src/index.ts +0 -600
  319. package/skills/gif-maker/tsconfig.json +0 -10
  320. package/skills/hook/LICENSE +0 -192
  321. package/skills/hook/README.md +0 -74
  322. package/skills/hook/SKILL.md +0 -85
  323. package/skills/hook/bunfig.toml +0 -5
  324. package/skills/hook/package.json +0 -28
  325. package/skills/hook/src/commands/create.ts +0 -112
  326. package/skills/hook/src/commands/events.ts +0 -37
  327. package/skills/hook/src/commands/validate.ts +0 -117
  328. package/skills/hook/src/index.ts +0 -118
  329. package/skills/hook/src/templates/root.ts +0 -196
  330. package/skills/hook/src/templates/source.ts +0 -647
  331. package/skills/hook/tsconfig.json +0 -18
  332. package/skills/http-server/CLAUDE.md +0 -19
  333. package/skills/http-server/package.json +0 -29
  334. package/skills/http-server/src/index.ts +0 -51
  335. package/skills/http-server/tsconfig.json +0 -10
  336. package/skills/implementation/LICENSE +0 -192
  337. package/skills/implementation/README.md +0 -53
  338. package/skills/implementation/SKILL.md +0 -57
  339. package/skills/implementation/bunfig.toml +0 -5
  340. package/skills/implementation/package.json +0 -28
  341. package/skills/implementation/src/commands/create.ts +0 -187
  342. package/skills/implementation/src/index.ts +0 -62
  343. package/skills/implementation/tsconfig.json +0 -18
  344. package/skills/implementation-plan/CLAUDE.md +0 -19
  345. package/skills/implementation-plan/package.json +0 -29
  346. package/skills/implementation-plan/src/index.ts +0 -520
  347. package/skills/implementation-plan/tsconfig.json +0 -10
  348. package/skills/implementation-todo/CLAUDE.md +0 -19
  349. package/skills/implementation-todo/package.json +0 -29
  350. package/skills/implementation-todo/src/index.ts +0 -429
  351. package/skills/implementation-todo/tsconfig.json +0 -10
  352. package/skills/invoice/.env.example +0 -3
  353. package/skills/invoice/CLAUDE.md +0 -31
  354. package/skills/invoice/LICENSE +0 -192
  355. package/skills/invoice/README.md +0 -70
  356. package/skills/invoice/package.json +0 -26
  357. package/skills/invoice/src/commands/companies.ts +0 -202
  358. package/skills/invoice/src/commands/config.ts +0 -132
  359. package/skills/invoice/src/commands/generate.ts +0 -177
  360. package/skills/invoice/src/commands/invoices.ts +0 -218
  361. package/skills/invoice/src/index.ts +0 -3
  362. package/skills/invoice/src/lib/api.ts +0 -124
  363. package/skills/invoice/src/lib/storage.ts +0 -171
  364. package/skills/invoice/src/types/index.ts +0 -86
  365. package/skills/invoice/src/utils/logger.ts +0 -33
  366. package/skills/invoice/src/utils/paths.ts +0 -25
  367. package/skills/invoice/tsconfig.json +0 -23
  368. package/skills/invoice-reconciliation/SKILL.md +0 -98
  369. package/skills/invoice-reconciliation/package.json +0 -36
  370. package/skills/invoice-reconciliation/src/index.ts +0 -743
  371. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  372. package/skills/landing-page-pack/SKILL.md +0 -55
  373. package/skills/landing-page-pack/package.json +0 -10
  374. package/skills/latex-table-generator/CLAUDE.md +0 -19
  375. package/skills/latex-table-generator/package.json +0 -29
  376. package/skills/latex-table-generator/src/index.ts +0 -113
  377. package/skills/latex-table-generator/tsconfig.json +0 -10
  378. package/skills/logo-design/SKILL.md +0 -94
  379. package/skills/logo-design/package.json +0 -35
  380. package/skills/logo-design/src/cli.ts +0 -132
  381. package/skills/logo-design/src/constants.ts +0 -5
  382. package/skills/logo-design/src/docs.ts +0 -102
  383. package/skills/logo-design/src/geometry.ts +0 -324
  384. package/skills/logo-design/src/index.ts +0 -212
  385. package/skills/logo-design/src/palette.ts +0 -258
  386. package/skills/logo-design/src/types.ts +0 -50
  387. package/skills/logo-design/tsconfig.json +0 -17
  388. package/skills/lorem-generator/CLAUDE.md +0 -19
  389. package/skills/lorem-generator/package.json +0 -29
  390. package/skills/lorem-generator/src/index.ts +0 -59
  391. package/skills/lorem-generator/tsconfig.json +0 -10
  392. package/skills/managemcp/CLAUDE.md +0 -14
  393. package/skills/managemcp/README.md +0 -24
  394. package/skills/managemcp/package.json +0 -16
  395. package/skills/managemcp/src/index.ts +0 -3
  396. package/skills/managemcp/tsconfig.json +0 -27
  397. package/skills/markdown-validator/CLAUDE.md +0 -19
  398. package/skills/markdown-validator/package.json +0 -29
  399. package/skills/markdown-validator/src/index.ts +0 -92
  400. package/skills/markdown-validator/tsconfig.json +0 -10
  401. package/skills/market-research-report/SKILL.md +0 -51
  402. package/skills/market-research-report/package.json +0 -10
  403. package/skills/meeting-pack/SKILL.md +0 -52
  404. package/skills/meeting-pack/package.json +0 -10
  405. package/skills/merge-pdfs/CLAUDE.md +0 -19
  406. package/skills/merge-pdfs/package.json +0 -31
  407. package/skills/merge-pdfs/src/index.ts +0 -427
  408. package/skills/merge-pdfs/tsconfig.json +0 -10
  409. package/skills/migration-plan-pack/SKILL.md +0 -56
  410. package/skills/migration-plan-pack/package.json +0 -10
  411. package/skills/monitor/SKILL.md +0 -69
  412. package/skills/monitor/package.json +0 -33
  413. package/skills/monitor/src/index.ts +0 -34
  414. package/skills/monitor/tsconfig.json +0 -17
  415. package/skills/one-page-website/SKILL.md +0 -128
  416. package/skills/one-page-website/package.json +0 -34
  417. package/skills/one-page-website/src/design.ts +0 -336
  418. package/skills/one-page-website/src/docs.ts +0 -159
  419. package/skills/one-page-website/src/index.ts +0 -357
  420. package/skills/one-page-website/src/page.ts +0 -340
  421. package/skills/one-page-website/src/styles.ts +0 -508
  422. package/skills/one-page-website/src/types.ts +0 -78
  423. package/skills/one-page-website/tsconfig.json +0 -17
  424. package/skills/pdf-generate/CLAUDE.md +0 -19
  425. package/skills/pdf-generate/SKILL.md +0 -86
  426. package/skills/pdf-generate/package.json +0 -21
  427. package/skills/pdf-generate/src/cli.ts +0 -162
  428. package/skills/pdf-generate/src/html.ts +0 -84
  429. package/skills/pdf-generate/src/index.ts +0 -62
  430. package/skills/pdf-generate/src/markdown.ts +0 -27
  431. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  432. package/skills/pdf-generate/src/runtime.ts +0 -34
  433. package/skills/pdf-generate/src/security.ts +0 -37
  434. package/skills/pdf-generate/src/templates.ts +0 -311
  435. package/skills/pdf-generate/src/types.ts +0 -28
  436. package/skills/pdf-generate/tsconfig.json +0 -16
  437. package/skills/pdf-to-dataset/SKILL.md +0 -88
  438. package/skills/pdf-to-dataset/package.json +0 -37
  439. package/skills/pdf-to-dataset/src/index.ts +0 -790
  440. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  441. package/skills/pdf-to-markdown/SKILL.md +0 -81
  442. package/skills/pdf-to-markdown/package.json +0 -35
  443. package/skills/pdf-to-markdown/src/index.ts +0 -694
  444. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  445. package/skills/performance-audit-report/SKILL.md +0 -49
  446. package/skills/performance-audit-report/package.json +0 -10
  447. package/skills/pitch-deck/SKILL.md +0 -51
  448. package/skills/pitch-deck/package.json +0 -10
  449. package/skills/product-mockup/SKILL.md +0 -107
  450. package/skills/product-mockup/package.json +0 -32
  451. package/skills/product-mockup/src/cli.ts +0 -150
  452. package/skills/product-mockup/src/design.ts +0 -151
  453. package/skills/product-mockup/src/docs.ts +0 -134
  454. package/skills/product-mockup/src/index.ts +0 -182
  455. package/skills/product-mockup/src/render.ts +0 -407
  456. package/skills/product-mockup/src/types.ts +0 -66
  457. package/skills/product-mockup/tsconfig.json +0 -17
  458. package/skills/proposal-pack/SKILL.md +0 -53
  459. package/skills/proposal-pack/package.json +0 -10
  460. package/skills/read-csv/SKILL.md +0 -62
  461. package/skills/read-csv/package.json +0 -37
  462. package/skills/read-csv/src/index.ts +0 -356
  463. package/skills/read-csv/tsconfig.json +0 -17
  464. package/skills/read-excel/SKILL.md +0 -64
  465. package/skills/read-excel/package.json +0 -36
  466. package/skills/read-excel/src/index.ts +0 -266
  467. package/skills/read-excel/tsconfig.json +0 -17
  468. package/skills/regex-tester/CLAUDE.md +0 -19
  469. package/skills/regex-tester/package.json +0 -27
  470. package/skills/regex-tester/src/index.ts +0 -183
  471. package/skills/regex-tester/tsconfig.json +0 -10
  472. package/skills/repo-onboarding-report/SKILL.md +0 -52
  473. package/skills/repo-onboarding-report/package.json +0 -10
  474. package/skills/scancommitpr/SKILL.md +0 -178
  475. package/skills/scancommitpr/package.json +0 -34
  476. package/skills/scancommitpr/src/index.ts +0 -44
  477. package/skills/scancommitpr/tsconfig.json +0 -13
  478. package/skills/scancommitpush/SKILL.md +0 -174
  479. package/skills/scancommitpush/package.json +0 -32
  480. package/skills/scancommitpush/src/index.ts +0 -44
  481. package/skills/scancommitpush/tsconfig.json +0 -13
  482. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  483. package/skills/scientific-figure-check/package.json +0 -29
  484. package/skills/scientific-figure-check/src/index.ts +0 -83
  485. package/skills/scientific-figure-check/tsconfig.json +0 -10
  486. package/skills/security-audit/CLAUDE.md +0 -19
  487. package/skills/security-audit/package.json +0 -27
  488. package/skills/security-audit/src/index.ts +0 -145
  489. package/skills/security-audit/tsconfig.json +0 -10
  490. package/skills/security-audit-report/SKILL.md +0 -52
  491. package/skills/security-audit-report/package.json +0 -10
  492. package/skills/seo-content-pack/SKILL.md +0 -54
  493. package/skills/seo-content-pack/package.json +0 -10
  494. package/skills/siteanalyze/SKILL.md +0 -25
  495. package/skills/siteanalyze/package.json +0 -27
  496. package/skills/siteanalyze/src/index.ts +0 -592
  497. package/skills/slide-deck-generator/SKILL.md +0 -93
  498. package/skills/slide-deck-generator/package.json +0 -38
  499. package/skills/slide-deck-generator/src/cli.ts +0 -133
  500. package/skills/slide-deck-generator/src/index.ts +0 -148
  501. package/skills/slide-deck-generator/src/model.ts +0 -307
  502. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  503. package/skills/slide-deck-generator/src/render.ts +0 -248
  504. package/skills/slide-deck-generator/src/types.ts +0 -114
  505. package/skills/slide-deck-generator/src/utils.ts +0 -53
  506. package/skills/slide-deck-generator/tsconfig.json +0 -17
  507. package/skills/social-content-calendar/SKILL.md +0 -54
  508. package/skills/social-content-calendar/package.json +0 -10
  509. package/skills/split-pdf/CLAUDE.md +0 -19
  510. package/skills/split-pdf/package.json +0 -30
  511. package/skills/split-pdf/src/index.ts +0 -301
  512. package/skills/split-pdf/tsconfig.json +0 -10
  513. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  514. package/skills/statistical-test-selector/package.json +0 -27
  515. package/skills/statistical-test-selector/src/index.ts +0 -75
  516. package/skills/statistical-test-selector/tsconfig.json +0 -10
  517. package/skills/test-suite-generator/SKILL.md +0 -51
  518. package/skills/test-suite-generator/package.json +0 -10
  519. package/skills/tmux-session/SKILL.md +0 -109
  520. package/skills/tmux-session/package.json +0 -33
  521. package/skills/tmux-session/src/index.ts +0 -34
  522. package/skills/tmux-session/tsconfig.json +0 -17
  523. package/skills/todos-plan/SKILL.md +0 -363
  524. package/skills/todos-plan/agents/openai.yaml +0 -4
  525. package/skills/todos-plan/package.json +0 -9
  526. package/skills/todos-plan/src/index.ts +0 -68
  527. package/skills/tsconfig.base.json +0 -12
  528. package/skills/validate-config/CLAUDE.md +0 -19
  529. package/skills/validate-config/package.json +0 -29
  530. package/skills/validate-config/src/index.ts +0 -56
  531. package/skills/validate-config/tsconfig.json +0 -10
  532. package/skills/video-downloader/CLAUDE.md +0 -19
  533. package/skills/video-downloader/package.json +0 -29
  534. package/skills/video-downloader/src/index.ts +0 -561
  535. package/skills/video-downloader/tsconfig.json +0 -10
  536. package/skills/video-highlight-pack/SKILL.md +0 -54
  537. package/skills/video-highlight-pack/package.json +0 -10
  538. package/skills/watermark/CLAUDE.md +0 -19
  539. package/skills/watermark/package.json +0 -32
  540. package/skills/watermark/src/index.ts +0 -587
  541. 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
- }