@hasna/skills 0.1.13 → 0.1.15

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 (207) hide show
  1. package/bin/index.js +1743 -420
  2. package/bin/mcp.js +791 -259
  3. package/dist/index.d.ts +5 -2
  4. package/dist/index.js +533 -75
  5. package/dist/lib/config.d.ts +27 -0
  6. package/dist/lib/config.test.d.ts +1 -0
  7. package/dist/lib/installer.d.ts +36 -2
  8. package/dist/lib/registry.d.ts +16 -0
  9. package/dist/lib/scheduler.d.ts +47 -0
  10. package/dist/types/api.d.ts +74 -0
  11. package/package.json +5 -2
  12. package/skills/_common/index.ts +4 -0
  13. package/skills/_common/vision.ts +374 -0
  14. package/skills/skill-academic-journal-matcher/bin/cli.ts +34 -0
  15. package/skills/skill-action-item-router/bin/cli.ts +34 -0
  16. package/skills/skill-ad-creative-generator/bin/cli.ts +34 -0
  17. package/skills/skill-advanced-math/bin/cli.ts +34 -0
  18. package/skills/skill-analyze-data/bin/cli.ts +19 -0
  19. package/skills/skill-anomaly-investigator/bin/cli.ts +34 -0
  20. package/skills/skill-api-test-suite/bin/cli.ts +34 -0
  21. package/skills/skill-apidocs/bin/cli.ts +87 -0
  22. package/skills/skill-audio-cleanup-lab/bin/cli.ts +6 -0
  23. package/skills/skill-audiobook-chapter-proofer/bin/cli.ts +34 -0
  24. package/skills/skill-banner-ad-suite/bin/cli.ts +34 -0
  25. package/skills/skill-benchmark-finder/bin/cli.ts +34 -0
  26. package/skills/skill-bio-sequence-tool/bin/cli.ts +34 -0
  27. package/skills/skill-blog-topic-cluster/bin/cli.ts +34 -0
  28. package/skills/skill-brand-style-guide/bin/cli.ts +19 -0
  29. package/skills/skill-brand-voice-audit/bin/cli.ts +34 -0
  30. package/skills/skill-budget-variance-analyzer/bin/cli.ts +6 -0
  31. package/skills/skill-businessactivity/bin/cli.ts +28 -0
  32. package/skills/skill-calendar-events/bin/cli.ts +34 -0
  33. package/skills/skill-campaign-metric-brief/bin/cli.ts +34 -0
  34. package/skills/skill-campaign-moodboard/bin/cli.ts +34 -0
  35. package/skills/skill-caption-style-stylist/bin/cli.ts +34 -0
  36. package/skills/skill-chemistry-calculator/bin/cli.ts +34 -0
  37. package/skills/skill-churn-risk-notifier/bin/cli.ts +34 -0
  38. package/skills/skill-citation-formatter/bin/cli.ts +34 -0
  39. package/skills/skill-classroom-newsletter-kit/bin/cli.ts +34 -0
  40. package/skills/skill-color-palette-harmonizer/bin/cli.ts +34 -0
  41. package/skills/skill-colorextract/SKILL.md +35 -0
  42. package/skills/skill-colorextract/bun.lock +102 -0
  43. package/skills/skill-colorextract/package.json +13 -0
  44. package/skills/skill-colorextract/src/index.ts +405 -0
  45. package/skills/skill-competitor-ad-analyzer/bin/cli.ts +34 -0
  46. package/skills/skill-compliance-copy-check/bin/cli.ts +34 -0
  47. package/skills/skill-compliance-report-pack/bin/cli.ts +34 -0
  48. package/skills/skill-compress-video/bin/cli.ts +19 -0
  49. package/skills/skill-consolelog/bin/cli.ts +884 -0
  50. package/skills/skill-contract-plainlanguage/bin/cli.ts +34 -0
  51. package/skills/skill-copytone-translator/bin/cli.ts +34 -0
  52. package/skills/skill-create-blog-article/bin/cli.ts +34 -0
  53. package/skills/skill-create-ebook/bin/cli.ts +34 -0
  54. package/skills/skill-crm-note-enhancer/bin/cli.ts +34 -0
  55. package/skills/skill-customer-journey-mapper/bin/cli.ts +34 -0
  56. package/skills/skill-dashboard-builder/bin/cli.ts +34 -0
  57. package/skills/skill-dashboard-narrator/bin/cli.ts +34 -0
  58. package/skills/skill-data-anonymizer/bin/cli.ts +34 -0
  59. package/skills/skill-database-explorer/bin/cli.ts +34 -0
  60. package/skills/skill-dataset-health-check/bin/cli.ts +34 -0
  61. package/skills/skill-decision-journal/bin/cli.ts +34 -0
  62. package/skills/skill-delegation-brief-writer/bin/cli.ts +34 -0
  63. package/skills/skill-destination-briefing/bin/cli.ts +34 -0
  64. package/skills/skill-diff-viewer/bin/cli.ts +34 -0
  65. package/skills/skill-domainpurchase/SKILL.md +46 -0
  66. package/skills/skill-domainpurchase/bin/cli.ts +683 -0
  67. package/skills/skill-domainsearch/SKILL.md +41 -0
  68. package/skills/skill-domainsearch/bin/cli.ts +410 -0
  69. package/skills/skill-educational-resource-finder/bin/cli.ts +34 -0
  70. package/skills/skill-email-campaign/bin/cli.ts +34 -0
  71. package/skills/skill-exam-readiness-check/bin/cli.ts +34 -0
  72. package/skills/skill-experiment-power-calculator/bin/cli.ts +34 -0
  73. package/skills/skill-extract-audio/bin/cli.ts +19 -0
  74. package/skills/skill-extract-frames/bin/cli.ts +34 -0
  75. package/skills/skill-extract-invoice/bin/cli.ts +34 -0
  76. package/skills/skill-family-activity-curator/bin/cli.ts +34 -0
  77. package/skills/skill-faq-packager/bin/cli.ts +34 -0
  78. package/skills/skill-feedback-survey-designer/bin/cli.ts +34 -0
  79. package/skills/skill-field-trip-planner/bin/cli.ts +34 -0
  80. package/skills/skill-file-organizer/bin/cli.ts +34 -0
  81. package/skills/skill-folder-tree/bin/cli.ts +34 -0
  82. package/skills/skill-forecast-scenario-lab/bin/cli.ts +34 -0
  83. package/skills/skill-form-filler/bin/cli.ts +34 -0
  84. package/skills/skill-generate-api-client/bin/cli.ts +34 -0
  85. package/skills/skill-generate-book-cover/bin/cli.ts +34 -0
  86. package/skills/skill-generate-chart/bin/cli.ts +34 -0
  87. package/skills/skill-generate-diagram/bin/cli.ts +34 -0
  88. package/skills/skill-generate-dockerfile/bin/cli.ts +34 -0
  89. package/skills/skill-generate-documentation/bin/cli.ts +34 -0
  90. package/skills/skill-generate-docx/bin/cli.ts +6 -0
  91. package/skills/skill-generate-env/bin/cli.ts +34 -0
  92. package/skills/skill-generate-excel/bin/cli.ts +34 -0
  93. package/skills/skill-generate-favicon/bin/cli.ts +34 -0
  94. package/skills/skill-generate-mock-data/bin/cli.ts +34 -0
  95. package/skills/skill-generate-pdf/bin/cli.ts +6 -0
  96. package/skills/skill-generate-pr-description/bin/cli.ts +34 -0
  97. package/skills/skill-generate-presentation/bin/cli.ts +34 -0
  98. package/skills/skill-generate-qrcode/bin/cli.ts +34 -0
  99. package/skills/skill-generate-regex/bin/cli.ts +34 -0
  100. package/skills/skill-generate-resume/bin/cli.ts +34 -0
  101. package/skills/skill-generate-sitemap/bin/cli.ts +34 -0
  102. package/skills/skill-generate-social-posts/bin/cli.ts +34 -0
  103. package/skills/skill-generate-sql/bin/cli.ts +34 -0
  104. package/skills/skill-gif-maker/bin/cli.ts +34 -0
  105. package/skills/skill-github-manager/bin/cli.ts +34 -0
  106. package/skills/skill-gmail/bin/cli.ts +34 -0
  107. package/skills/skill-goal-quarterly-roadmap/bin/cli.ts +34 -0
  108. package/skills/skill-grant-application-drafter/bin/cli.ts +34 -0
  109. package/skills/skill-grocery-basket-optimizer/bin/cli.ts +34 -0
  110. package/skills/skill-guest-communication-suite/bin/cli.ts +34 -0
  111. package/skills/skill-habit-reflection-digest/bin/cli.ts +34 -0
  112. package/skills/skill-highlight-reel-generator/bin/cli.ts +34 -0
  113. package/skills/skill-homework-feedback-coach/bin/cli.ts +34 -0
  114. package/skills/skill-hook/bunfig.toml +5 -0
  115. package/skills/skill-household-maintenance-mgr/bin/cli.ts +34 -0
  116. package/skills/skill-http-server/bin/cli.ts +34 -0
  117. package/skills/skill-implementation/bunfig.toml +5 -0
  118. package/skills/skill-implementation-agent/bin/cli.ts +34 -0
  119. package/skills/skill-implementation-plan/bin/cli.ts +34 -0
  120. package/skills/skill-implementation-todo/bin/cli.ts +34 -0
  121. package/skills/skill-inbox-priority-planner/bin/cli.ts +34 -0
  122. package/skills/skill-invoice/bin/cli.ts +20 -0
  123. package/skills/skill-invoice-dispute-helper/bin/cli.ts +34 -0
  124. package/skills/skill-itinerary-architect/bin/cli.ts +34 -0
  125. package/skills/skill-jingle-composer/bin/cli.ts +34 -0
  126. package/skills/skill-kpi-digest-generator/bin/cli.ts +34 -0
  127. package/skills/skill-lab-notebook-formatter/bin/cli.ts +34 -0
  128. package/skills/skill-landing-page-copy/bin/cli.ts +34 -0
  129. package/skills/skill-latex-table-generator/bin/cli.ts +34 -0
  130. package/skills/skill-learning-style-profiler/bin/cli.ts +34 -0
  131. package/skills/skill-lesson-plan-customizer/bin/cli.ts +34 -0
  132. package/skills/skill-livestream-runofshow/bin/cli.ts +34 -0
  133. package/skills/skill-longform-structurer/bin/cli.ts +34 -0
  134. package/skills/skill-lorem-generator/bin/cli.ts +34 -0
  135. package/skills/skill-managehook/bin/cli.ts +241 -0
  136. package/skills/skill-managemcp/bin/cli.ts +241 -0
  137. package/skills/skill-manageskill/bin/cli.ts +241 -0
  138. package/skills/skill-markdown-validator/bin/cli.ts +34 -0
  139. package/skills/skill-mcp-builder/bin/cli.ts +34 -0
  140. package/skills/skill-meal-plan-designer/bin/cli.ts +34 -0
  141. package/skills/skill-meeting-insight-summarizer/bin/cli.ts +34 -0
  142. package/skills/skill-merge-pdfs/bin/cli.ts +34 -0
  143. package/skills/skill-microcopy-generator/bin/cli.ts +34 -0
  144. package/skills/skill-mindfulness-prompt-cache/bin/cli.ts +34 -0
  145. package/skills/skill-notion-manager/bin/cli.ts +34 -0
  146. package/skills/skill-onboarding-sequence-builder/bin/cli.ts +34 -0
  147. package/skills/skill-onsite-ops-checklist/bin/cli.ts +34 -0
  148. package/skills/skill-outreach-cadence-designer/bin/cli.ts +34 -0
  149. package/skills/skill-packaging-concept-studio/bin/cli.ts +34 -0
  150. package/skills/skill-packing-plan-pro/bin/cli.ts +34 -0
  151. package/skills/skill-parent-teacher-brief/bin/cli.ts +34 -0
  152. package/skills/skill-partner-kit-assembler/bin/cli.ts +34 -0
  153. package/skills/skill-payroll-change-prepper/bin/cli.ts +34 -0
  154. package/skills/skill-persona-based-adwriter/bin/cli.ts +34 -0
  155. package/skills/skill-persona-generator/bin/cli.ts +34 -0
  156. package/skills/skill-personal-daily-ops/bin/cli.ts +34 -0
  157. package/skills/skill-pet-care-scheduler/bin/cli.ts +34 -0
  158. package/skills/skill-podcast-show-notes/bin/cli.ts +34 -0
  159. package/skills/skill-presentation-theme-maker/bin/cli.ts +34 -0
  160. package/skills/skill-press-release-drafter/bin/cli.ts +34 -0
  161. package/skills/skill-print-collateral-designer/bin/cli.ts +34 -0
  162. package/skills/skill-procurement-scorecard/bin/cli.ts +34 -0
  163. package/skills/skill-product-demo-script/bin/cli.ts +34 -0
  164. package/skills/skill-product-mockup/bin/cli.ts +34 -0
  165. package/skills/skill-project-retro-companion/bin/cli.ts +34 -0
  166. package/skills/skill-proposal-redline-advisor/bin/cli.ts +34 -0
  167. package/skills/skill-regex-tester/bin/cli.ts +34 -0
  168. package/skills/skill-remove-background/bin/cli.ts +34 -0
  169. package/skills/skill-risk-disclosure-kit/bin/cli.ts +34 -0
  170. package/skills/skill-roi-comparison-tool/bin/cli.ts +34 -0
  171. package/skills/skill-sales-call-recapper/bin/cli.ts +34 -0
  172. package/skills/skill-salescopy/bin/cli.ts +20 -0
  173. package/skills/skill-scaffold-project/bin/cli.ts +34 -0
  174. package/skills/skill-scholarship-tracker/bin/cli.ts +34 -0
  175. package/skills/skill-scientific-figure-check/bin/cli.ts +34 -0
  176. package/skills/skill-seating-chart-maker/bin/cli.ts +34 -0
  177. package/skills/skill-security-audit/bin/cli.ts +34 -0
  178. package/skills/skill-seo-brief-builder/bin/cli.ts +34 -0
  179. package/skills/skill-siteanalyze/SKILL.md +25 -0
  180. package/skills/skill-siteanalyze/package.json +13 -0
  181. package/skills/skill-siteanalyze/src/index.ts +592 -0
  182. package/skills/skill-slack-assistant/bin/cli.ts +34 -0
  183. package/skills/skill-sleep-routine-analyzer/bin/cli.ts +34 -0
  184. package/skills/skill-social-media-kit/bin/cli.ts +34 -0
  185. package/skills/skill-split-pdf/bin/cli.ts +34 -0
  186. package/skills/skill-sponsorship-proposal-lab/bin/cli.ts +34 -0
  187. package/skills/skill-spreadsheet-cleanroom/bin/cli.ts +34 -0
  188. package/skills/skill-statistical-test-selector/bin/cli.ts +34 -0
  189. package/skills/skill-stress-relief-playbook/bin/cli.ts +34 -0
  190. package/skills/skill-study-guide-builder/bin/cli.ts +34 -0
  191. package/skills/skill-subscription-spend-watcher/bin/cli.ts +34 -0
  192. package/skills/skill-subtitle/bin/cli.ts +20 -0
  193. package/skills/skill-survey-insight-extractor/bin/cli.ts +34 -0
  194. package/skills/skill-terraform-generator/bin/cli.ts +34 -0
  195. package/skills/skill-testimonial-graphics/bin/cli.ts +34 -0
  196. package/skills/skill-timesheet/bin/cli.ts +47 -0
  197. package/skills/skill-travel-budget-balancer/bin/cli.ts +34 -0
  198. package/skills/skill-validate-config/bin/cli.ts +34 -0
  199. package/skills/skill-video-cut-suggester/bin/cli.ts +34 -0
  200. package/skills/skill-video-downloader/bin/cli.ts +34 -0
  201. package/skills/skill-video-thumbnail/bin/cli.ts +34 -0
  202. package/skills/skill-voiceover-casting-assistant/bin/cli.ts +34 -0
  203. package/skills/skill-watermark/bin/cli.ts +34 -0
  204. package/skills/skill-webcrawling/bin/cli.ts +21 -0
  205. package/skills/skill-webinar-script-coach/bin/cli.ts +34 -0
  206. package/skills/skill-wellness-progress-reporter/bin/cli.ts +34 -0
  207. package/skills/skill-workout-cycle-planner/bin/cli.ts +34 -0
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-split-pdf");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-split-pdf")
15
+ .description("Split Pdf skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-sponsorship-proposal-lab");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-sponsorship-proposal-lab")
15
+ .description("Sponsorship Proposal Lab skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-spreadsheet-cleanroom");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-spreadsheet-cleanroom")
15
+ .description("Spreadsheet Cleanroom skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-statistical-test-selector");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-statistical-test-selector")
15
+ .description("Statistical Test Selector skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-stress-relief-playbook");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-stress-relief-playbook")
15
+ .description("Stress Relief Playbook skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-study-guide-builder");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-study-guide-builder")
15
+ .description("Study Guide Builder skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-subscription-spend-watcher");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-subscription-spend-watcher")
15
+ .description("Subscription Spend Watcher skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Subtitle Generation CLI
4
+ */
5
+
6
+ import { Command } from "commander";
7
+ import { registerGenerateCommand } from "../src/commands/generate.js";
8
+ import { registerConfigCommand } from "../src/commands/config.js";
9
+
10
+ const program = new Command();
11
+
12
+ program
13
+ .name("service-subtitlegenerate")
14
+ .description("Generate styled subtitles from audio using OpenAI Whisper")
15
+ .version("0.1.0");
16
+
17
+ registerGenerateCommand(program);
18
+ registerConfigCommand(program);
19
+
20
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-survey-insight-extractor");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-survey-insight-extractor")
15
+ .description("Survey Insight Extractor skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-terraform-generator");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-terraform-generator")
15
+ .description("Terraform Generator skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-testimonial-graphics");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-testimonial-graphics")
15
+ .description("Testimonial Graphics skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from 'commander';
4
+ import { setupCommand } from '../src/commands/setup';
5
+ import { profileCommand } from '../src/commands/profile';
6
+ import { employeeCommand } from '../src/commands/employee';
7
+ import { holidayCommand } from '../src/commands/holiday';
8
+ import { vacationCommand } from '../src/commands/vacation';
9
+ import { generateCommand, previewCommand } from '../src/commands/generate';
10
+ import { exportCommand } from '../src/commands/export';
11
+ import { isServiceSetup, setupService } from '../src/lib/profiles';
12
+
13
+ const program = new Command();
14
+
15
+ program
16
+ .name('service-timesheetgenerate')
17
+ .description('Lightweight CLI tool for generating employee timesheets with multi-profile support')
18
+ .version('1.0.0')
19
+ .option('-p, --profile <name>', 'Profile to use (overrides default)');
20
+
21
+ // Check if service is set up before running most commands
22
+ program.hook('preAction', async (thisCommand) => {
23
+ const commandName = thisCommand.args[0];
24
+
25
+ // Skip check for setup command
26
+ if (commandName === 'setup') {
27
+ return;
28
+ }
29
+
30
+ if (!isServiceSetup()) {
31
+ console.log('Service not set up. Running setup...\n');
32
+ await setupService();
33
+ console.log('');
34
+ }
35
+ });
36
+
37
+ // Register commands
38
+ program.addCommand(setupCommand);
39
+ program.addCommand(profileCommand);
40
+ program.addCommand(employeeCommand);
41
+ program.addCommand(holidayCommand);
42
+ program.addCommand(vacationCommand);
43
+ program.addCommand(generateCommand);
44
+ program.addCommand(previewCommand);
45
+ program.addCommand(exportCommand);
46
+
47
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-travel-budget-balancer");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-travel-budget-balancer")
15
+ .description("Travel Budget Balancer skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-validate-config");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-validate-config")
15
+ .description("Validate Config skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-video-cut-suggester");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-video-cut-suggester")
15
+ .description("Video Cut Suggester skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-video-downloader");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-video-downloader")
15
+ .description("Video Downloader skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-video-thumbnail");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-video-thumbnail")
15
+ .description("Video Thumbnail skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-voiceover-casting-assistant");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-voiceover-casting-assistant")
15
+ .description("Voiceover Casting Assistant skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { Command } from "commander";
4
+ import { homedir } from "os";
5
+ import { join } from "path";
6
+
7
+ function getDataDir(): string {
8
+ return process.env.DATA_DIR || join(homedir(), ".skill", "skill-watermark");
9
+ }
10
+
11
+ const program = new Command();
12
+
13
+ program
14
+ .name("skill-watermark")
15
+ .description("Watermark skill")
16
+ .version("0.1.0");
17
+
18
+ program
19
+ .command("run")
20
+ .description("Run the skill")
21
+ .option("-o, --output <path>", "Output directory", join(getDataDir(), "output"))
22
+ .allowUnknownOption(true)
23
+ .action(async (options, command) => {
24
+ try {
25
+ const args = command.args;
26
+ process.env.DATA_DIR = process.env.DATA_DIR || getDataDir();
27
+ await import("../src/index.js");
28
+ } catch (err) {
29
+ console.error(`Error: ${err instanceof Error ? err.message : err}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+
34
+ program.parse();