@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,29 +0,0 @@
1
- {
2
- "name": "implementation-plan",
3
- "version": "0.1.0",
4
- "description": "Implementation Plan skill",
5
- "type": "module",
6
- "bin": {
7
- "implementation-plan": "./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
- }
@@ -1,520 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- import * as fs from "fs";
4
- import * as path from "path";
5
- import minimist from "minimist";
6
-
7
- // Types
8
- interface PhaseTask {
9
- text: string;
10
- done?: boolean;
11
- }
12
-
13
- interface Phase {
14
- name: string;
15
- tasks: (string | PhaseTask)[];
16
- start?: string;
17
- end?: string;
18
- status?: "pending" | "in_progress" | "completed";
19
- }
20
-
21
- interface Risk {
22
- risk: string;
23
- impact: "critical" | "high" | "medium" | "low";
24
- mitigation: string;
25
- }
26
-
27
- interface PlanJsonData {
28
- goals?: string[];
29
- scope?: {
30
- in?: string[];
31
- out?: string[];
32
- };
33
- phases?: Phase[];
34
- dependencies?: string[];
35
- risks?: Risk[];
36
- resources?: string[];
37
- notes?: string;
38
- }
39
-
40
- interface PlanData {
41
- id: string;
42
- slug: string;
43
- title: string;
44
- description: string;
45
- status: "draft" | "in_progress" | "completed" | "cancelled";
46
- owner?: string;
47
- phases: string[];
48
- start?: string;
49
- end?: string;
50
- tags: string[];
51
- created: string;
52
- updated: string;
53
- jsonData?: PlanJsonData;
54
- }
55
-
56
- // Parse command line arguments
57
- const args = minimist(process.argv.slice(2), {
58
- string: ["slug", "status", "owner", "phases", "start", "end", "tags", "content", "data"],
59
- boolean: ["no-index", "help"],
60
- default: {
61
- status: "draft",
62
- "no-index": false,
63
- },
64
- alias: {
65
- s: "slug",
66
- o: "owner",
67
- p: "phases",
68
- t: "tags",
69
- c: "content",
70
- d: "data",
71
- h: "help",
72
- },
73
- });
74
-
75
- // Show help
76
- if (args.help) {
77
- console.log(`
78
- Implementation Plan - Create implementation plan documents
79
-
80
- Usage:
81
- skills run implementation-plan -- "<title>" [options]
82
-
83
- Options:
84
- -s, --slug <name> Slug name for the plan file (required)
85
- --status <status> Status: draft, in_progress, completed, cancelled (default: draft)
86
- -o, --owner <name> Person responsible for the plan
87
- -p, --phases <phases> Comma-separated phase names (simple mode)
88
- --start <date> Start date (YYYY-MM-DD)
89
- --end <date> Target end date (YYYY-MM-DD)
90
- -t, --tags <tags> Comma-separated tags
91
- -c, --content <text> Additional content/description to add
92
- -d, --data <json> JSON data with phases, goals, tasks, etc. (advanced mode)
93
- --no-index Skip updating PLANS.md index
94
- -h, --help Show this help
95
-
96
- JSON Data Format (--data):
97
- {
98
- "goals": ["Goal 1", "Goal 2"],
99
- "scope": { "in": ["In scope"], "out": ["Out of scope"] },
100
- "phases": [
101
- { "name": "Phase 1", "tasks": ["Task 1", "Task 2"], "status": "pending" },
102
- { "name": "Phase 2", "tasks": [{ "text": "Task", "done": true }] }
103
- ],
104
- "dependencies": ["Dep 1"],
105
- "risks": [{ "risk": "Risk", "impact": "high", "mitigation": "Strategy" }],
106
- "resources": ["Resource 1"],
107
- "notes": "Additional notes"
108
- }
109
-
110
- Examples:
111
- skills run implementation-plan -- "User Auth System" --slug auth-system
112
- skills run implementation-plan -- "API Migration" --slug api-v2 --status in_progress --owner alice
113
- skills run implementation-plan -- "DB Optimization" --slug db-opt --phases "Analysis,Implementation,Testing"
114
- skills run implementation-plan -- "Feature" --slug feature --data '{"goals":["Implement login"],"phases":[{"name":"Design","tasks":["Create wireframes"]}]}'
115
- `);
116
- process.exit(0);
117
- }
118
-
119
- // Get title
120
- const title = args._[0] as string;
121
-
122
- if (!title) {
123
- console.error("Error: Title is required");
124
- console.error('Usage: skills run implementation-plan -- "<title>" --slug <slug>');
125
- process.exit(1);
126
- }
127
-
128
- // Get slug
129
- const rawSlug = args.slug as string;
130
-
131
- if (!rawSlug) {
132
- console.error("Error: --slug is required");
133
- console.error('Usage: skills run implementation-plan -- "<title>" --slug <slug>');
134
- process.exit(1);
135
- }
136
-
137
- // Normalize slug (replace spaces and dashes with underscores)
138
- const slug = rawSlug.toLowerCase().replace(/[\s-]+/g, "_").replace(/[^a-z0-9_]/g, "");
139
-
140
- // Sanitize content for safe inclusion (handle quotes and special chars)
141
- function sanitizeContent(text: string): string {
142
- if (!text) return "";
143
- // Normalize line endings and trim
144
- return text
145
- .replace(/\\n/g, "\n") // Handle escaped newlines from CLI
146
- .replace(/\\t/g, "\t") // Handle escaped tabs from CLI
147
- .trim();
148
- }
149
-
150
- // Get content if provided
151
- const userContent = args.content ? sanitizeContent(args.content as string) : "";
152
-
153
- // Find .implementation directory
154
- function findImplementationDir(): string | null {
155
- // Use SKILLS_CWD if available (user's working directory from remote execution)
156
- let currentDir = process.env.SKILLS_CWD || process.cwd();
157
-
158
- while (currentDir !== path.dirname(currentDir)) {
159
- const implDir = path.join(currentDir, ".implementation");
160
- if (fs.existsSync(implDir)) {
161
- return implDir;
162
- }
163
- currentDir = path.dirname(currentDir);
164
- }
165
-
166
- return null;
167
- }
168
-
169
- const implDir = findImplementationDir();
170
-
171
- if (!implDir) {
172
- console.error("Error: .implementation directory not found");
173
- console.error("Run 'skills run implementation-init' first to create the folder structure");
174
- process.exit(1);
175
- }
176
-
177
- // Output directory
178
- const outputDir = path.join(implDir, "data", "plans");
179
-
180
- if (!fs.existsSync(outputDir)) {
181
- fs.mkdirSync(outputDir, { recursive: true });
182
- }
183
-
184
- // Get next sequence number
185
- function getNextSequence(): number {
186
- if (!fs.existsSync(outputDir)) return 1;
187
-
188
- const files = fs.readdirSync(outputDir);
189
- let maxSeq = 0;
190
-
191
- for (const file of files) {
192
- const match = file.match(/^plan_(\d{5})_/);
193
- if (match) {
194
- const seq = parseInt(match[1], 10);
195
- if (seq > maxSeq) maxSeq = seq;
196
- }
197
- }
198
-
199
- return maxSeq + 1;
200
- }
201
-
202
- const sequence = getNextSequence();
203
- const planId = `plan_${String(sequence).padStart(5, "0")}`;
204
- const timestamp = new Date().toISOString().split("T")[0];
205
-
206
- // Parse JSON data if provided
207
- let jsonData: PlanJsonData | undefined;
208
- if (args.data) {
209
- try {
210
- jsonData = JSON.parse(args.data as string);
211
- } catch (e) {
212
- console.error("Error: Invalid JSON data provided");
213
- console.error("Make sure to escape quotes properly in the shell");
214
- process.exit(1);
215
- }
216
- }
217
-
218
- // Parse phases - use JSON phases if provided, otherwise use --phases or default
219
- const defaultPhases = ["Planning", "Implementation", "Testing", "Deployment"];
220
- let phases: string[];
221
-
222
- if (jsonData?.phases && jsonData.phases.length > 0) {
223
- phases = jsonData.phases.map((p) => p.name);
224
- } else if (args.phases) {
225
- phases = (args.phases as string).split(",").map((p: string) => p.trim());
226
- } else {
227
- phases = defaultPhases;
228
- }
229
-
230
- // Parse tags
231
- const tags = args.tags ? (args.tags as string).split(",").map((t: string) => t.trim()) : [];
232
-
233
- // Build plan data
234
- const planData: PlanData = {
235
- id: planId,
236
- slug,
237
- title,
238
- description: userContent || title,
239
- status: args.status as PlanData["status"],
240
- owner: args.owner,
241
- phases,
242
- start: args.start,
243
- end: args.end,
244
- tags,
245
- created: timestamp,
246
- updated: timestamp,
247
- jsonData,
248
- };
249
-
250
- // Generate markdown content
251
- function generateMarkdown(data: PlanData): string {
252
- const json = data.jsonData;
253
- const hasJsonData = json && Object.keys(json).length > 0;
254
-
255
- let content = `# Plan: ${data.title}\n\n`;
256
-
257
- // Metadata section
258
- content += `- **ID**: ${data.id}\n`;
259
- content += `- **Slug**: ${data.slug}\n`;
260
- content += `- **Status**: ${data.status}\n`;
261
-
262
- if (data.owner) {
263
- content += `- **Owner**: ${data.owner}\n`;
264
- }
265
-
266
- if (data.start) {
267
- content += `- **Start**: ${data.start}\n`;
268
- }
269
-
270
- if (data.end) {
271
- content += `- **End**: ${data.end}\n`;
272
- }
273
-
274
- if (data.tags.length > 0) {
275
- content += `- **Tags**: ${data.tags.join(", ")}\n`;
276
- }
277
-
278
- content += `- **Created**: ${data.created}\n`;
279
- content += `- **Updated**: ${data.updated}\n`;
280
-
281
- // Overview section
282
- content += `\n## Overview\n\n`;
283
- if (userContent) {
284
- content += `${userContent}\n`;
285
- } else {
286
- content += `<!-- Add a brief overview of what this plan aims to accomplish -->\n`;
287
- }
288
-
289
- // Goals section
290
- content += `\n## Goals\n\n`;
291
- if (json?.goals && json.goals.length > 0) {
292
- for (const goal of json.goals) {
293
- content += `- ${goal}\n`;
294
- }
295
- } else {
296
- content += `<!-- Define clear, measurable objectives for this plan -->\n`;
297
- content += `- [ ] Goal 1\n`;
298
- content += `- [ ] Goal 2\n`;
299
- }
300
-
301
- // Scope section
302
- content += `\n## Scope\n\n`;
303
- content += `### In Scope\n\n`;
304
- if (json?.scope?.in && json.scope.in.length > 0) {
305
- for (const item of json.scope.in) {
306
- content += `- ${item}\n`;
307
- }
308
- } else {
309
- content += `<!-- What is included in this implementation -->\n`;
310
- }
311
-
312
- content += `\n### Out of Scope\n\n`;
313
- if (json?.scope?.out && json.scope.out.length > 0) {
314
- for (const item of json.scope.out) {
315
- content += `- ${item}\n`;
316
- }
317
- } else {
318
- content += `<!-- What is explicitly NOT included -->\n`;
319
- }
320
-
321
- // Phases section
322
- content += `\n## Phases\n`;
323
-
324
- if (json?.phases && json.phases.length > 0) {
325
- // Use JSON phases with tasks
326
- for (let i = 0; i < json.phases.length; i++) {
327
- const phase = json.phases[i];
328
- const phaseStatus = phase.status || "pending";
329
- content += `\n### Phase ${i + 1}: ${phase.name}\n\n`;
330
-
331
- if (phase.start || phase.end) {
332
- content += `*`;
333
- if (phase.start) content += `Start: ${phase.start}`;
334
- if (phase.start && phase.end) content += ` | `;
335
- if (phase.end) content += `End: ${phase.end}`;
336
- content += ` | Status: ${phaseStatus}*\n\n`;
337
- }
338
-
339
- if (phase.tasks && phase.tasks.length > 0) {
340
- for (const task of phase.tasks) {
341
- if (typeof task === "string") {
342
- content += `- [ ] ${task}\n`;
343
- } else {
344
- const checkbox = task.done ? "[x]" : "[ ]";
345
- content += `- ${checkbox} ${task.text}\n`;
346
- }
347
- }
348
- } else {
349
- content += `<!-- Add tasks for this phase -->\n`;
350
- }
351
- }
352
- } else {
353
- // Use simple phase names
354
- for (let i = 0; i < data.phases.length; i++) {
355
- const phase = data.phases[i];
356
- content += `\n### Phase ${i + 1}: ${phase}\n\n`;
357
- content += `<!-- Add tasks for this phase -->\n`;
358
- content += `- [ ] \n`;
359
- }
360
- }
361
-
362
- // Timeline section
363
- content += `\n## Timeline\n\n`;
364
- content += `| Phase | Start | End | Status |\n`;
365
- content += `|-------|-------|-----|--------|\n`;
366
- if (json?.phases && json.phases.length > 0) {
367
- for (const phase of json.phases) {
368
- const start = phase.start || "TBD";
369
- const end = phase.end || "TBD";
370
- const status = phase.status || "pending";
371
- content += `| ${phase.name} | ${start} | ${end} | ${status} |\n`;
372
- }
373
- } else {
374
- for (const phase of data.phases) {
375
- content += `| ${phase} | TBD | TBD | pending |\n`;
376
- }
377
- }
378
-
379
- // Dependencies section
380
- content += `\n## Dependencies\n\n`;
381
- if (json?.dependencies && json.dependencies.length > 0) {
382
- for (const dep of json.dependencies) {
383
- content += `- ${dep}\n`;
384
- }
385
- } else {
386
- content += `<!-- List prerequisites and dependencies -->\n`;
387
- }
388
-
389
- // Risks section
390
- content += `\n## Risks\n\n`;
391
- content += `| Risk | Impact | Mitigation |\n`;
392
- content += `|------|--------|------------|\n`;
393
- if (json?.risks && json.risks.length > 0) {
394
- for (const risk of json.risks) {
395
- content += `| ${risk.risk} | ${risk.impact} | ${risk.mitigation} |\n`;
396
- }
397
- } else {
398
- content += `| <!-- Risk description --> | <!-- critical/high/medium/low --> | <!-- Mitigation strategy --> |\n`;
399
- }
400
-
401
- // Resources section
402
- content += `\n## Resources\n\n`;
403
- if (json?.resources && json.resources.length > 0) {
404
- for (const resource of json.resources) {
405
- content += `- ${resource}\n`;
406
- }
407
- } else {
408
- content += `<!-- Add links to documentation, tools, references -->\n`;
409
- content += `- \n`;
410
- }
411
-
412
- // Open Questions section
413
- content += `\n## Open Questions\n\n`;
414
- content += `<!-- Track unresolved questions and decisions needed -->\n`;
415
- content += `- [ ] \n`;
416
-
417
- // Notes section
418
- content += `\n## Notes\n\n`;
419
- if (json?.notes) {
420
- content += `${json.notes}\n`;
421
- } else {
422
- content += `<!-- Additional context and notes -->\n`;
423
- }
424
-
425
- // Progress Log
426
- content += `\n## Progress Log\n\n`;
427
- content += `| Date | Update |\n`;
428
- content += `|------|--------|\n`;
429
- content += `| ${data.created} | Plan created |\n`;
430
-
431
- return content;
432
- }
433
-
434
- // Update index file
435
- function updateIndex(data: PlanData, filename: string): void {
436
- const indexPath = path.join(implDir, "data", "indexes", "PLANS.md");
437
-
438
- if (!fs.existsSync(indexPath)) {
439
- console.error("Warning: PLANS.md index not found, skipping index update");
440
- return;
441
- }
442
-
443
- let content = fs.readFileSync(indexPath, "utf-8");
444
-
445
- // Find the "No plans yet" placeholder and replace it, or add new row
446
- const newRow = `| ${data.id} | ${filename} | ${data.title} | ${data.status} | ${data.created} |`;
447
-
448
- if (content.includes("| - | - | No plans yet | - | - |")) {
449
- content = content.replace("| - | - | No plans yet | - | - |", newRow);
450
- } else {
451
- // Find the end of the Active Plans table and add new row
452
- const tableMatch = content.match(/(## Active Plans[\s\S]*?\|[-|]+\|[-|]+\|[-|]+\|[-|]+\|[-|]+\|)/);
453
- if (tableMatch) {
454
- const insertPoint = tableMatch.index! + tableMatch[0].length;
455
- content = content.slice(0, insertPoint) + "\n" + newRow + content.slice(insertPoint);
456
- }
457
- }
458
-
459
- // Update timestamp
460
- content = content.replace(/\*Updated.*\*/, `*Updated: ${timestamp}*`);
461
-
462
- fs.writeFileSync(indexPath, content);
463
- }
464
-
465
- // Main execution
466
- async function main(): Promise<void> {
467
- console.log(`\nImplementation Plan`);
468
- console.log(`===================\n`);
469
-
470
- // Generate filename
471
- const filename = `${planId}_${slug}.md`;
472
- const outputPath = path.join(outputDir, filename);
473
-
474
- // Generate content
475
- const content = generateMarkdown(planData);
476
-
477
- // Write file
478
- fs.writeFileSync(outputPath, content);
479
-
480
- console.log(`Created: ${outputPath}`);
481
- console.log(`\nPlan Details:`);
482
- console.log(` ID: ${planData.id}`);
483
- console.log(` Title: ${planData.title}`);
484
- console.log(` Slug: ${planData.slug}`);
485
- console.log(` Status: ${planData.status}`);
486
-
487
- if (planData.owner) {
488
- console.log(` Owner: ${planData.owner}`);
489
- }
490
-
491
- if (planData.start) {
492
- console.log(` Start: ${planData.start}`);
493
- }
494
-
495
- if (planData.end) {
496
- console.log(` End: ${planData.end}`);
497
- }
498
-
499
- console.log(` Phases: ${planData.phases.join(", ")}`);
500
-
501
- if (planData.tags.length > 0) {
502
- console.log(` Tags: ${planData.tags.join(", ")}`);
503
- }
504
-
505
- // Update index
506
- if (!args["no-index"]) {
507
- console.log(`\nUpdating PLANS.md index...`);
508
- updateIndex(planData, filename);
509
- console.log(`Index updated.`);
510
- }
511
-
512
- console.log(`\n${"=".repeat(40)}`);
513
- console.log(`\nPlan created successfully!`);
514
- console.log(`File: .implementation/data/plans/${filename}`);
515
- }
516
-
517
- main().catch((error) => {
518
- console.error(`Error: ${error.message}`);
519
- process.exit(1);
520
- });
@@ -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
- # implementation-todo
2
-
3
- Implementation Todo skill.
4
-
5
- ## Tech Stack
6
-
7
- - Runtime: Bun
8
- - Language: TypeScript
9
- - CLI: Commander.js
10
-
11
- ## CLI
12
-
13
- ```bash
14
- implementation-todo run
15
- ```
16
-
17
- ## Data Directory
18
-
19
- ~/.skill/implementation-todo/
@@ -1,29 +0,0 @@
1
- {
2
- "name": "implementation-todo",
3
- "version": "0.1.0",
4
- "description": "Implementation Todo skill",
5
- "type": "module",
6
- "bin": {
7
- "implementation-todo": "./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
- }