@hasna/skills 0.1.18 → 0.1.20

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 (234) hide show
  1. package/README.md +108 -372
  2. package/bin/index.js +10455 -9282
  3. package/bin/mcp.js +4793 -3402
  4. package/dist/cli/commands/completion.d.ts +5 -0
  5. package/dist/cli/commands/create-sync-config.d.ts +5 -0
  6. package/dist/cli/commands/diagnostic.d.ts +5 -0
  7. package/dist/cli/commands/init.d.ts +5 -0
  8. package/dist/cli/commands/install.d.ts +5 -0
  9. package/dist/cli/commands/introspect.d.ts +5 -0
  10. package/dist/cli/commands/list.d.ts +5 -0
  11. package/dist/cli/commands/runtime.d.ts +5 -0
  12. package/dist/cli/commands/schedule.d.ts +5 -0
  13. package/dist/index.js +197 -97
  14. package/dist/lib/config.d.ts +1 -1
  15. package/dist/lib/registry.d.ts +1 -11
  16. package/dist/lib/scheduler.d.ts +1 -1
  17. package/dist/lib/scheduler.test.d.ts +4 -0
  18. package/dist/lib/search.d.ts +17 -0
  19. package/package.json +3 -3
  20. package/skills/skill-commitpush/SKILL.md +57 -0
  21. package/skills/skill-commitpush/package.json +34 -0
  22. package/skills/skill-commitpush/src/index.ts +34 -0
  23. package/skills/skill-commitpush/tsconfig.json +17 -0
  24. package/skills/skill-commitpushpr/SKILL.md +55 -0
  25. package/skills/skill-commitpushpr/package.json +34 -0
  26. package/skills/skill-commitpushpr/src/index.ts +34 -0
  27. package/skills/skill-commitpushpr/tsconfig.json +17 -0
  28. package/skills/skill-monitor/SKILL.md +69 -0
  29. package/skills/skill-monitor/package.json +34 -0
  30. package/skills/skill-monitor/src/index.ts +34 -0
  31. package/skills/skill-monitor/tsconfig.json +17 -0
  32. package/skills/skill-read-csv/SKILL.md +62 -0
  33. package/skills/skill-read-csv/package.json +38 -0
  34. package/skills/skill-read-csv/src/index.ts +331 -0
  35. package/skills/skill-read-csv/tsconfig.json +17 -0
  36. package/skills/skill-read-excel/SKILL.md +64 -0
  37. package/skills/skill-read-excel/package.json +37 -0
  38. package/skills/skill-read-excel/src/index.ts +253 -0
  39. package/skills/skill-read-excel/tsconfig.json +17 -0
  40. package/skills/skill-read-image/SKILL.md +47 -0
  41. package/skills/skill-read-image/package.json +34 -0
  42. package/skills/skill-read-image/src/index.ts +264 -0
  43. package/skills/skill-read-image/tsconfig.json +17 -0
  44. package/skills/skill-read-pdf/SKILL.md +52 -0
  45. package/skills/skill-read-pdf/package.json +37 -0
  46. package/skills/skill-read-pdf/src/index.ts +376 -0
  47. package/skills/skill-read-pdf/tsconfig.json +17 -0
  48. package/skills/skill-tmux-session/SKILL.md +109 -0
  49. package/skills/skill-tmux-session/package.json +34 -0
  50. package/skills/skill-tmux-session/src/index.ts +34 -0
  51. package/skills/skill-tmux-session/tsconfig.json +17 -0
  52. package/skills/skill-academic-journal-matcher/bin/cli.ts +0 -34
  53. package/skills/skill-action-item-router/bin/cli.ts +0 -34
  54. package/skills/skill-ad-creative-generator/bin/cli.ts +0 -34
  55. package/skills/skill-advanced-math/bin/cli.ts +0 -34
  56. package/skills/skill-analyze-data/bin/cli.ts +0 -19
  57. package/skills/skill-anomaly-investigator/bin/cli.ts +0 -34
  58. package/skills/skill-api-test-suite/bin/cli.ts +0 -34
  59. package/skills/skill-apidocs/bin/cli.ts +0 -87
  60. package/skills/skill-audio-cleanup-lab/bin/cli.ts +0 -6
  61. package/skills/skill-audiobook-chapter-proofer/bin/cli.ts +0 -34
  62. package/skills/skill-banner-ad-suite/bin/cli.ts +0 -34
  63. package/skills/skill-benchmark-finder/bin/cli.ts +0 -34
  64. package/skills/skill-bio-sequence-tool/bin/cli.ts +0 -34
  65. package/skills/skill-blog-topic-cluster/bin/cli.ts +0 -34
  66. package/skills/skill-brand-style-guide/bin/cli.ts +0 -19
  67. package/skills/skill-brand-voice-audit/bin/cli.ts +0 -34
  68. package/skills/skill-budget-variance-analyzer/bin/cli.ts +0 -6
  69. package/skills/skill-businessactivity/bin/cli.ts +0 -28
  70. package/skills/skill-calendar-events/bin/cli.ts +0 -34
  71. package/skills/skill-campaign-metric-brief/bin/cli.ts +0 -34
  72. package/skills/skill-campaign-moodboard/bin/cli.ts +0 -34
  73. package/skills/skill-caption-style-stylist/bin/cli.ts +0 -34
  74. package/skills/skill-chemistry-calculator/bin/cli.ts +0 -34
  75. package/skills/skill-churn-risk-notifier/bin/cli.ts +0 -34
  76. package/skills/skill-citation-formatter/bin/cli.ts +0 -34
  77. package/skills/skill-classroom-newsletter-kit/bin/cli.ts +0 -34
  78. package/skills/skill-color-palette-harmonizer/bin/cli.ts +0 -34
  79. package/skills/skill-competitor-ad-analyzer/bin/cli.ts +0 -34
  80. package/skills/skill-compliance-copy-check/bin/cli.ts +0 -34
  81. package/skills/skill-compliance-report-pack/bin/cli.ts +0 -34
  82. package/skills/skill-compress-video/bin/cli.ts +0 -19
  83. package/skills/skill-consolelog/bin/cli.ts +0 -884
  84. package/skills/skill-contract-plainlanguage/bin/cli.ts +0 -34
  85. package/skills/skill-copytone-translator/bin/cli.ts +0 -34
  86. package/skills/skill-create-blog-article/bin/cli.ts +0 -34
  87. package/skills/skill-create-ebook/bin/cli.ts +0 -34
  88. package/skills/skill-crm-note-enhancer/bin/cli.ts +0 -34
  89. package/skills/skill-customer-journey-mapper/bin/cli.ts +0 -34
  90. package/skills/skill-dashboard-builder/bin/cli.ts +0 -34
  91. package/skills/skill-dashboard-narrator/bin/cli.ts +0 -34
  92. package/skills/skill-data-anonymizer/bin/cli.ts +0 -34
  93. package/skills/skill-database-explorer/bin/cli.ts +0 -34
  94. package/skills/skill-dataset-health-check/bin/cli.ts +0 -34
  95. package/skills/skill-decision-journal/bin/cli.ts +0 -34
  96. package/skills/skill-delegation-brief-writer/bin/cli.ts +0 -34
  97. package/skills/skill-destination-briefing/bin/cli.ts +0 -34
  98. package/skills/skill-diff-viewer/bin/cli.ts +0 -34
  99. package/skills/skill-domainpurchase/bin/cli.ts +0 -683
  100. package/skills/skill-domainsearch/bin/cli.ts +0 -410
  101. package/skills/skill-educational-resource-finder/bin/cli.ts +0 -34
  102. package/skills/skill-email-campaign/bin/cli.ts +0 -34
  103. package/skills/skill-exam-readiness-check/bin/cli.ts +0 -34
  104. package/skills/skill-experiment-power-calculator/bin/cli.ts +0 -34
  105. package/skills/skill-extract-audio/bin/cli.ts +0 -19
  106. package/skills/skill-extract-frames/bin/cli.ts +0 -34
  107. package/skills/skill-extract-invoice/bin/cli.ts +0 -34
  108. package/skills/skill-family-activity-curator/bin/cli.ts +0 -34
  109. package/skills/skill-faq-packager/bin/cli.ts +0 -34
  110. package/skills/skill-feedback-survey-designer/bin/cli.ts +0 -34
  111. package/skills/skill-field-trip-planner/bin/cli.ts +0 -34
  112. package/skills/skill-file-organizer/bin/cli.ts +0 -34
  113. package/skills/skill-folder-tree/bin/cli.ts +0 -34
  114. package/skills/skill-forecast-scenario-lab/bin/cli.ts +0 -34
  115. package/skills/skill-form-filler/bin/cli.ts +0 -34
  116. package/skills/skill-generate-api-client/bin/cli.ts +0 -34
  117. package/skills/skill-generate-book-cover/bin/cli.ts +0 -34
  118. package/skills/skill-generate-chart/bin/cli.ts +0 -34
  119. package/skills/skill-generate-diagram/bin/cli.ts +0 -34
  120. package/skills/skill-generate-dockerfile/bin/cli.ts +0 -34
  121. package/skills/skill-generate-documentation/bin/cli.ts +0 -34
  122. package/skills/skill-generate-docx/bin/cli.ts +0 -6
  123. package/skills/skill-generate-env/bin/cli.ts +0 -34
  124. package/skills/skill-generate-excel/bin/cli.ts +0 -34
  125. package/skills/skill-generate-favicon/bin/cli.ts +0 -34
  126. package/skills/skill-generate-mock-data/bin/cli.ts +0 -34
  127. package/skills/skill-generate-pdf/bin/cli.ts +0 -6
  128. package/skills/skill-generate-pr-description/bin/cli.ts +0 -34
  129. package/skills/skill-generate-presentation/bin/cli.ts +0 -34
  130. package/skills/skill-generate-qrcode/bin/cli.ts +0 -34
  131. package/skills/skill-generate-regex/bin/cli.ts +0 -34
  132. package/skills/skill-generate-resume/bin/cli.ts +0 -34
  133. package/skills/skill-generate-sitemap/bin/cli.ts +0 -34
  134. package/skills/skill-generate-social-posts/bin/cli.ts +0 -34
  135. package/skills/skill-generate-sql/bin/cli.ts +0 -34
  136. package/skills/skill-gif-maker/bin/cli.ts +0 -34
  137. package/skills/skill-github-manager/bin/cli.ts +0 -34
  138. package/skills/skill-gmail/bin/cli.ts +0 -34
  139. package/skills/skill-goal-quarterly-roadmap/bin/cli.ts +0 -34
  140. package/skills/skill-grant-application-drafter/bin/cli.ts +0 -34
  141. package/skills/skill-grocery-basket-optimizer/bin/cli.ts +0 -34
  142. package/skills/skill-guest-communication-suite/bin/cli.ts +0 -34
  143. package/skills/skill-habit-reflection-digest/bin/cli.ts +0 -34
  144. package/skills/skill-highlight-reel-generator/bin/cli.ts +0 -34
  145. package/skills/skill-homework-feedback-coach/bin/cli.ts +0 -34
  146. package/skills/skill-household-maintenance-mgr/bin/cli.ts +0 -34
  147. package/skills/skill-http-server/bin/cli.ts +0 -34
  148. package/skills/skill-implementation-agent/bin/cli.ts +0 -34
  149. package/skills/skill-implementation-plan/bin/cli.ts +0 -34
  150. package/skills/skill-implementation-todo/bin/cli.ts +0 -34
  151. package/skills/skill-inbox-priority-planner/bin/cli.ts +0 -34
  152. package/skills/skill-invoice/bin/cli.ts +0 -20
  153. package/skills/skill-invoice-dispute-helper/bin/cli.ts +0 -34
  154. package/skills/skill-itinerary-architect/bin/cli.ts +0 -34
  155. package/skills/skill-jingle-composer/bin/cli.ts +0 -34
  156. package/skills/skill-kpi-digest-generator/bin/cli.ts +0 -34
  157. package/skills/skill-lab-notebook-formatter/bin/cli.ts +0 -34
  158. package/skills/skill-landing-page-copy/bin/cli.ts +0 -34
  159. package/skills/skill-latex-table-generator/bin/cli.ts +0 -34
  160. package/skills/skill-learning-style-profiler/bin/cli.ts +0 -34
  161. package/skills/skill-lesson-plan-customizer/bin/cli.ts +0 -34
  162. package/skills/skill-livestream-runofshow/bin/cli.ts +0 -34
  163. package/skills/skill-longform-structurer/bin/cli.ts +0 -34
  164. package/skills/skill-lorem-generator/bin/cli.ts +0 -34
  165. package/skills/skill-managehook/bin/cli.ts +0 -241
  166. package/skills/skill-managemcp/bin/cli.ts +0 -241
  167. package/skills/skill-manageskill/bin/cli.ts +0 -241
  168. package/skills/skill-markdown-validator/bin/cli.ts +0 -34
  169. package/skills/skill-mcp-builder/bin/cli.ts +0 -34
  170. package/skills/skill-meal-plan-designer/bin/cli.ts +0 -34
  171. package/skills/skill-meeting-insight-summarizer/bin/cli.ts +0 -34
  172. package/skills/skill-merge-pdfs/bin/cli.ts +0 -34
  173. package/skills/skill-microcopy-generator/bin/cli.ts +0 -34
  174. package/skills/skill-mindfulness-prompt-cache/bin/cli.ts +0 -34
  175. package/skills/skill-notion-manager/bin/cli.ts +0 -34
  176. package/skills/skill-onboarding-sequence-builder/bin/cli.ts +0 -34
  177. package/skills/skill-onsite-ops-checklist/bin/cli.ts +0 -34
  178. package/skills/skill-outreach-cadence-designer/bin/cli.ts +0 -34
  179. package/skills/skill-packaging-concept-studio/bin/cli.ts +0 -34
  180. package/skills/skill-packing-plan-pro/bin/cli.ts +0 -34
  181. package/skills/skill-parent-teacher-brief/bin/cli.ts +0 -34
  182. package/skills/skill-partner-kit-assembler/bin/cli.ts +0 -34
  183. package/skills/skill-payroll-change-prepper/bin/cli.ts +0 -34
  184. package/skills/skill-persona-based-adwriter/bin/cli.ts +0 -34
  185. package/skills/skill-persona-generator/bin/cli.ts +0 -34
  186. package/skills/skill-personal-daily-ops/bin/cli.ts +0 -34
  187. package/skills/skill-pet-care-scheduler/bin/cli.ts +0 -34
  188. package/skills/skill-podcast-show-notes/bin/cli.ts +0 -34
  189. package/skills/skill-presentation-theme-maker/bin/cli.ts +0 -34
  190. package/skills/skill-press-release-drafter/bin/cli.ts +0 -34
  191. package/skills/skill-print-collateral-designer/bin/cli.ts +0 -34
  192. package/skills/skill-procurement-scorecard/bin/cli.ts +0 -34
  193. package/skills/skill-product-demo-script/bin/cli.ts +0 -34
  194. package/skills/skill-product-mockup/bin/cli.ts +0 -34
  195. package/skills/skill-project-retro-companion/bin/cli.ts +0 -34
  196. package/skills/skill-proposal-redline-advisor/bin/cli.ts +0 -34
  197. package/skills/skill-regex-tester/bin/cli.ts +0 -34
  198. package/skills/skill-remove-background/bin/cli.ts +0 -34
  199. package/skills/skill-risk-disclosure-kit/bin/cli.ts +0 -34
  200. package/skills/skill-roi-comparison-tool/bin/cli.ts +0 -34
  201. package/skills/skill-sales-call-recapper/bin/cli.ts +0 -34
  202. package/skills/skill-salescopy/bin/cli.ts +0 -20
  203. package/skills/skill-scaffold-project/bin/cli.ts +0 -34
  204. package/skills/skill-scholarship-tracker/bin/cli.ts +0 -34
  205. package/skills/skill-scientific-figure-check/bin/cli.ts +0 -34
  206. package/skills/skill-seating-chart-maker/bin/cli.ts +0 -34
  207. package/skills/skill-security-audit/bin/cli.ts +0 -34
  208. package/skills/skill-seo-brief-builder/bin/cli.ts +0 -34
  209. package/skills/skill-slack-assistant/bin/cli.ts +0 -34
  210. package/skills/skill-sleep-routine-analyzer/bin/cli.ts +0 -34
  211. package/skills/skill-social-media-kit/bin/cli.ts +0 -34
  212. package/skills/skill-split-pdf/bin/cli.ts +0 -34
  213. package/skills/skill-sponsorship-proposal-lab/bin/cli.ts +0 -34
  214. package/skills/skill-spreadsheet-cleanroom/bin/cli.ts +0 -34
  215. package/skills/skill-statistical-test-selector/bin/cli.ts +0 -34
  216. package/skills/skill-stress-relief-playbook/bin/cli.ts +0 -34
  217. package/skills/skill-study-guide-builder/bin/cli.ts +0 -34
  218. package/skills/skill-subscription-spend-watcher/bin/cli.ts +0 -34
  219. package/skills/skill-subtitle/bin/cli.ts +0 -20
  220. package/skills/skill-survey-insight-extractor/bin/cli.ts +0 -34
  221. package/skills/skill-terraform-generator/bin/cli.ts +0 -34
  222. package/skills/skill-testimonial-graphics/bin/cli.ts +0 -34
  223. package/skills/skill-timesheet/bin/cli.ts +0 -47
  224. package/skills/skill-travel-budget-balancer/bin/cli.ts +0 -34
  225. package/skills/skill-validate-config/bin/cli.ts +0 -34
  226. package/skills/skill-video-cut-suggester/bin/cli.ts +0 -34
  227. package/skills/skill-video-downloader/bin/cli.ts +0 -34
  228. package/skills/skill-video-thumbnail/bin/cli.ts +0 -34
  229. package/skills/skill-voiceover-casting-assistant/bin/cli.ts +0 -34
  230. package/skills/skill-watermark/bin/cli.ts +0 -34
  231. package/skills/skill-webcrawling/bin/cli.ts +0 -21
  232. package/skills/skill-webinar-script-coach/bin/cli.ts +0 -34
  233. package/skills/skill-wellness-progress-reporter/bin/cli.ts +0 -34
  234. package/skills/skill-workout-cycle-planner/bin/cli.ts +0 -34
package/README.md CHANGED
@@ -1,436 +1,172 @@
1
1
  # @hasna/skills
2
2
 
3
- Open source skill library for AI coding agents. 202 pre-built skills across 17 categories -- search, install, and run any skill with a single command.
3
+ Skills library for AI coding agents discover, install, and run reusable capabilities for Claude Code, Codex CLI, Gemini CLI, and more.
4
4
 
5
- ```bash
6
- npx @hasna/skills
7
- ```
8
-
9
- ## Features
5
+ [![npm](https://img.shields.io/npm/v/@hasna/skills)](https://www.npmjs.com/package/@hasna/skills)
6
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
10
7
 
11
- - **202 ready-to-use skills** across development, business, content, data, media, design, and more
12
- - **Interactive TUI** -- browse by category, search, and install from the terminal
13
- - **MCP server** -- 10 tools and 2 resources for AI agent integration
14
- - **HTTP dashboard** -- React web UI to browse, search, install, and manage skills
15
- - **Agent-aware installs** -- copies SKILL.md to `~/.claude/skills/`, `~/.codex/skills/`, or `~/.gemini/skills/`
16
- - **Auto-generated index** -- `.skills/index.ts` is updated on every install for easy imports
17
- - **Library exports** -- use the registry, installer, and skill info programmatically
18
-
19
- ## Installation
8
+ ## Install
20
9
 
21
10
  ```bash
22
- # Global install (recommended)
23
- bun install -g @hasna/skills
24
-
25
- # Or use npx (no install needed)
26
- npx @hasna/skills
27
-
28
- # Or install as a project dependency
29
- bun add @hasna/skills
11
+ npm install -g @hasna/skills
30
12
  ```
31
13
 
14
+ Requires [Bun](https://bun.sh/) 1.0+.
15
+
32
16
  ## Quick Start
33
17
 
34
18
  ```bash
35
- # Launch interactive browser (TUI)
19
+ # Browse skills interactively
36
20
  skills
37
21
 
38
- # Search for skills
39
- skills search "image generation"
22
+ # Install a skill to your project
23
+ skills install image
40
24
 
41
- # Install skills to .skills/ in your project
42
- skills install image deep-research generate-pdf
43
-
44
- # Install a skill for Claude Code (copies SKILL.md)
25
+ # Install for a specific agent
45
26
  skills install image --for claude
46
27
 
47
- # Get skill details
28
+ # See what a skill needs
48
29
  skills info image
49
30
 
50
- # Run a skill directly
51
- skills run image --prompt "a sunset over mountains"
52
-
53
- # Start the web dashboard
54
- skills serve
55
-
56
- # Smart init: detect project type and install skills for Claude
57
- skills init --for claude
58
-
59
- # Browse skills by tag
60
- skills list --tags api,testing
31
+ # Run a skill
32
+ skills run image "a cat sitting on a windowsill"
61
33
  ```
62
34
 
63
- ## Categories
64
-
65
- | Category | Count | Examples |
66
- |----------|------:|---------|
67
- | Development Tools | 32 | api-test-suite, deploy, mcp-builder, scaffold-project |
68
- | Business & Marketing | 25 | email-campaign, salescopy, seo-brief-builder, persona-generator |
69
- | Finance & Compliance | 16 | invoice, extract-invoice, budget-variance-analyzer |
70
- | Content Generation | 14 | image, video, audio, generate-pdf, generate-presentation |
71
- | Media Processing | 13 | subtitle, transcript, compress-video, remove-background |
72
- | Data & Analysis | 12 | analyze-data, extract, dashboard-builder, generate-chart |
73
- | Productivity & Organization | 11 | convert, merge-pdfs, file-organizer, notion-manager |
74
- | Design & Branding | 11 | brand-style-guide, generate-favicon, product-mockup |
75
- | Research & Writing | 10 | deepresearch, write, create-blog-article, create-ebook |
76
- | Science & Academic | 10 | advanced-math, chemistry-calculator, citation-formatter |
77
- | Education & Learning | 10 | study-guide-builder, lesson-plan-customizer, exam-readiness-check |
78
- | Project Management | 9 | implementation, implementation-plan, action-item-router |
79
- | Health & Wellness | 8 | meal-plan-designer, workout-cycle-planner, habit-reflection-digest |
80
- | Travel & Lifestyle | 7 | itinerary-architect, destination-briefing, travel-budget-balancer |
81
- | Communication | 4 | gmail, slack-assistant, sms, calendar-events |
82
- | Web & Browser | 4 | browse, webcrawling, domainsearch, domainpurchase |
83
- | Event Management | 4 | seating-chart-maker, livestream-runofshow, onsite-ops-checklist |
84
-
85
35
  ## CLI Commands
86
36
 
87
37
  | Command | Alias | Description |
88
38
  |---------|-------|-------------|
89
- | `skills` | `skills i` | Interactive TUI browser (default) |
90
- | `skills install <names...>` | `skills add` | Install one or more skills to `.skills/` |
91
- | `skills install <name> --for <agent>` | | Install SKILL.md for claude, codex, gemini, or all |
92
- | `skills remove <name>` | `skills rm` | Remove an installed skill |
93
- | `skills list` | `skills ls` | List all available skills (supports `--tags` to filter by tags) |
94
- | `skills list --category <cat>` | | List skills in a category |
95
- | `skills list --installed` | | List installed skills |
96
- | `skills search <query>` | | Search skills by name, description, or tags (supports `--tags` to filter by tags) |
97
- | `skills info <name>` | | Show skill metadata, requirements, and env vars |
98
- | `skills docs <name>` | | Show skill documentation (SKILL.md/README.md/CLAUDE.md) |
39
+ | `skills` | | Interactive TUI to browse, search, and install skills |
40
+ | `skills install <name>` | `add` | Install one or more skills to `.skills/` |
41
+ | `skills install --for claude` | | Copy SKILL.md to `~/.claude/skills/` (also `codex`, `gemini`, `pi`, `opencode`, `all`) |
42
+ | `skills install --category "Development Tools"` | | Install all skills in a category |
43
+ | `skills list` | `ls` | List available skills (filter with `-c`, `-i`, `-t`, `--brief`) |
44
+ | `skills search <query>` | `s` | Search by name, description, or tags |
45
+ | `skills info <name>` | | Show metadata, env vars, and system dependencies |
46
+ | `skills docs <name>` | | Show documentation (SKILL.md > README.md > CLAUDE.md) |
99
47
  | `skills requires <name>` | | Show env vars, system deps, and npm dependencies |
100
- | `skills run <name> [args...]` | | Run a skill directly |
101
- | `skills categories` | | List all categories with counts |
102
- | `skills tags` | | List all tags with skill counts |
103
- | `skills init` | | Initialize project, detect deps, and optionally install for agents |
104
- | `skills update [names...]` | | Update installed skills (reinstall with overwrite) |
105
- | `skills serve` | | Start the HTTP dashboard (auto-assigns free port) |
106
- | `skills mcp` | | Start the MCP server on stdio |
107
- | `skills mcp --register <agent>` | | Register MCP server with claude, codex, gemini, or all |
108
- | `skills self-update` | | Update `@hasna/skills` to the latest version |
109
-
110
- All list/search/info commands support `--json` for machine-readable output. Search uses fuzzy matching -- typos and abbreviations are tolerated.
48
+ | `skills run <name> [args]` | | Execute a skill directly |
49
+ | `skills remove <name>` | `rm` | Remove an installed skill |
50
+ | `skills update` | | Reinstall all skills with `--overwrite` (version diff shown) |
51
+ | `skills diff <name>` | | Preview file changes before updating a skill |
52
+ | `skills init` | | Generate `.env.example` and update `.gitignore` for installed skills |
53
+ | `skills categories` | | List all categories with skill counts |
54
+ | `skills tags` | | List all unique tags with occurrence counts |
55
+ | `skills doctor` | | Check env vars, system deps, and install health |
56
+ | `skills test [name]` | | Test skill readiness (env, system, npm deps) |
57
+ | `skills outdated` | | Compare installed vs registry versions |
58
+ | `skills auth [name]` | | Show/set auth env vars in `.env` |
59
+ | `skills whoami` | | Version, installed skills, agent configs, paths |
60
+ | `skills export` | | Export installed skills as JSON |
61
+ | `skills import <file>` | | Install skills from a JSON export |
62
+ | `skills config set <key> <value>` | | Set default agent, scope, or output format |
63
+ | `skills create <name>` | | Scaffold a new custom skill directory |
64
+ | `skills sync --to claude` | | Push custom skills to agent directories |
65
+ | `skills sync --from claude` | | List agent skills, `--register` to import unknown ones |
66
+ | `skills validate <name>` | | Check a skill's directory structure |
67
+ | `skills schedule add <skill> <cron>` | | Set up recurring skill execution |
68
+ | `skills schedule list` | | List all schedules (enabled/disabled/last run) |
69
+ | `skills mcp` | | Start MCP server on stdio |
70
+ | `skills mcp --register claude` | | Auto-register MCP server with an agent |
71
+ | `skills serve` | | Start the HTTP dashboard on localhost |
72
+ | `skills self-update` | | Update this package to the latest version |
73
+ | `skills completion <shell>` | | Generate shell completions (bash, zsh, fish) |
74
+
75
+ ### Common Options
76
+
77
+ - `--json` — Output as JSON (pipeable)
78
+ - `--brief` — One-line format
79
+ - `--dry-run` — Preview without applying changes
80
+ - `--verbose` — Debug logging to stderr
81
+ - `--no-color` — Disable ANSI colors
82
+ - `-o, --overwrite` — Overwrite existing files during install
111
83
 
112
84
  ## MCP Server
113
85
 
114
- The MCP server exposes the full skill library to AI agents over stdio.
115
-
116
- ### Starting the server
117
-
118
86
  ```bash
119
- # Via CLI
120
- skills mcp
121
-
122
- # Direct binary
123
- skills-mcp
124
-
125
- # Register with Claude Code
126
- skills mcp --register claude
87
+ skills mcp # stdio transport (use with Claude/Codex MCP config)
127
88
  ```
128
89
 
129
- ### Configuration for Claude Code
90
+ The MCP server exposes 20+ tools including `list_skills`, `search_skills`, `install_skill`, `get_skill_info`, `get_skill_docs`, `get_requirements`, `run_skill`, `schedule_skill`, `detect_project_skills`, `validate_skill`, and more.
130
91
 
131
- Add to your MCP config:
132
-
133
- ```json
134
- {
135
- "mcpServers": {
136
- "skills": {
137
- "command": "skills-mcp"
138
- }
139
- }
140
- }
141
- ```
142
-
143
- ### Tools (10)
144
-
145
- | Tool | Description |
146
- |------|-------------|
147
- | `list_skills` | List all skills, optionally filtered by category |
148
- | `search_skills` | Search skills by query (name, description, tags) |
149
- | `get_skill_info` | Get skill metadata including requirements and env vars |
150
- | `get_skill_docs` | Get documentation (SKILL.md, README.md, or CLAUDE.md) |
151
- | `install_skill` | Install a skill (full source to `.skills/` or SKILL.md to agent dir) |
152
- | `remove_skill` | Remove an installed skill |
153
- | `list_categories` | List all categories with skill counts |
154
- | `list_tags` | List all skill tags with counts |
155
- | `get_requirements` | Get env vars, system deps, and npm dependencies |
156
- | `run_skill` | Run a skill by name with optional arguments |
157
-
158
- ### Resources (2)
159
-
160
- | URI | Description |
161
- |-----|-------------|
162
- | `skills://registry` | Full skill registry as JSON |
163
- | `skills://{name}` | Individual skill metadata and documentation |
164
-
165
- ## HTTP Dashboard
166
-
167
- A React web UI for browsing, searching, and managing skills.
92
+ ### Register with an Agent
168
93
 
169
94
  ```bash
170
- # Start the dashboard
171
- skills serve
172
-
173
- # Custom port
174
- skills serve --port 8080
175
-
176
- # Don't auto-open browser
177
- skills serve --no-open
178
- ```
179
-
180
- The dashboard picks a random free port automatically (or use `--port` to pin one) and provides:
181
-
182
- - Searchable, sortable skills table with category filters
183
- - Skill detail dialog with documentation, tags, and requirements
184
- - One-click install and remove
185
- - Dark/light/system theme toggle
186
- - Self-update button
187
-
188
- ### REST API
189
-
190
- The dashboard server also exposes a REST API:
191
-
192
- | Endpoint | Method | Description |
193
- |----------|--------|-------------|
194
- | `/api/skills` | GET | All skills with install status |
195
- | `/api/categories` | GET | Categories with counts |
196
- | `/api/skills/search?q=` | GET | Search skills |
197
- | `/api/skills/:name` | GET | Single skill detail with docs |
198
- | `/api/skills/:name/docs` | GET | Raw documentation text |
199
- | `/api/skills/:name/install` | POST | Install a skill |
200
- | `/api/skills/:name/remove` | POST | Remove a skill |
201
- | `/api/tags` | GET | All tags with skill counts |
202
- | `/api/version` | GET | Current package version |
203
- | `/api/self-update` | POST | Update to latest version |
204
-
205
- ## Library Usage
206
-
207
- Use the registry, installer, and skill info modules programmatically:
208
-
209
- ```typescript
210
- import {
211
- SKILLS,
212
- CATEGORIES,
213
- searchSkills,
214
- getSkill,
215
- getSkillsByCategory,
216
- } from "@hasna/skills";
217
-
218
- // Search skills
219
- const results = searchSkills("image");
220
-
221
- // Get skills in a category
222
- const devTools = getSkillsByCategory("Development Tools");
223
-
224
- // Get a specific skill
225
- const skill = getSkill("image");
226
- // => { name: "image", displayName: "Image", description: "...", category: "Content Generation", tags: [...] }
227
- ```
228
-
229
- ```typescript
230
- import {
231
- installSkill,
232
- installSkillForAgent,
233
- removeSkill,
234
- getInstalledSkills,
235
- } from "@hasna/skills";
236
-
237
- // Install a skill to .skills/
238
- const result = installSkill("image");
239
- // => { skill: "image", success: true, path: "/path/to/.skills/skill-image" }
240
-
241
- // Install SKILL.md for Claude Code
242
- installSkillForAgent("image", { agent: "claude", scope: "global" });
243
-
244
- // List installed skills
245
- const installed = getInstalledSkills();
246
- // => ["image", "deep-research"]
247
- ```
248
-
249
- ```typescript
250
- import {
251
- getSkillDocs,
252
- getSkillRequirements,
253
- runSkill,
254
- } from "@hasna/skills";
255
-
256
- // Read documentation
257
- const docs = getSkillDocs("image");
258
- // => { skillMd: "...", readme: "...", claudeMd: "..." }
259
-
260
- // Check requirements
261
- const reqs = getSkillRequirements("image");
262
- // => { envVars: ["OPENAI_API_KEY"], systemDeps: [], cliCommand: "image", dependencies: {...} }
263
-
264
- // Run a skill
265
- const { exitCode } = await runSkill("image", ["--prompt", "a cat"]);
266
- ```
267
-
268
- ## Skill Structure
269
-
270
- Each skill is a self-contained directory under `skills/skill-{name}/`:
271
-
272
- ```
273
- skills/skill-{name}/
274
- ├── src/
275
- │ ├── index.ts # Main entry point / programmatic API
276
- │ ├── commands/ # CLI command handlers (optional)
277
- │ ├── lib/ # Core logic
278
- │ ├── types/ # TypeScript types
279
- │ └── utils/ # Utility functions
280
- ├── SKILL.md # Skill definition (used by agent installs)
281
- ├── README.md # Usage documentation
282
- ├── CLAUDE.md # Development guide (optional)
283
- ├── package.json # Dependencies and bin entry
284
- └── tsconfig.json # Extends skills/tsconfig.base.json
285
- ```
286
-
287
- Key files:
288
-
289
- - **SKILL.md** -- the primary doc file, copied to agent skill directories on `--for` installs. Contains frontmatter (name, description) and usage instructions.
290
- - **package.json** -- must have a `bin` entry for the skill to be runnable via `skills run`.
291
- - **src/index.ts** -- exported in the auto-generated `.skills/index.ts` when installed.
292
-
293
- ## Using Installed Skills
294
-
295
- After installing, skills are available via the auto-generated index:
296
-
297
- ```typescript
298
- import { image, deep_research } from "./.skills";
95
+ skills mcp --register claude # Auto-register with Claude Code
96
+ skills mcp --register all # Register with all supported agents
299
97
  ```
300
98
 
301
- Or import directly:
302
-
303
- ```typescript
304
- import { generateImage } from "./.skills/skill-image/src/index.js";
305
- ```
306
-
307
- ## Creating a Custom Skill
308
-
309
- 1. Create the skill directory:
99
+ ## Cloud Sync
310
100
 
311
101
  ```bash
312
- mkdir -p skills/skill-my-skill/src
102
+ cloud setup
103
+ cloud sync push --service skills
104
+ cloud sync pull --service skills
313
105
  ```
314
106
 
315
- 2. Add `package.json`:
107
+ ## Dashboard
316
108
 
317
- ```json
318
- {
319
- "name": "skill-my-skill",
320
- "version": "0.0.1",
321
- "bin": { "my-skill": "./src/index.ts" },
322
- "dependencies": {}
323
- }
109
+ ```bash
110
+ skills serve # Start HTTP server (opens browser automatically)
111
+ skills serve --no-open # Start without opening the browser
324
112
  ```
325
113
 
326
- 3. Add `SKILL.md` with frontmatter:
327
-
328
- ```markdown
329
- ---
330
- name: my-skill
331
- description: What this skill does
332
- ---
114
+ Dashboard features: searchable/filterable skills table, detail dialogs, stats cards, dark/light/system theme, oklch color tokens.
333
115
 
334
- # My Skill
116
+ ## Project Structure
335
117
 
336
- Usage instructions here.
337
118
  ```
119
+ src/
120
+ ├── cli/index.tsx # Commander.js CLI + Ink TUI
121
+ ├── mcp/index.ts # MCP server (stdio) with ~20 tools
122
+ ├── server/serve.ts # Bun.serve HTTP server + REST API
123
+ ├── lib/
124
+ │ ├── registry.ts # 202+ entries, search, categories, tags
125
+ │ ├── installer.ts # Copy skills to .skills/ or agent dirs
126
+ │ ├── skillinfo.ts # Docs, requirements, env/system detection
127
+ │ ├── scheduler.ts # Cron-based skill execution
128
+ │ ├── config.ts # Global + project config loading
129
+ │ └── utils.ts # normalizeSkillName()
130
+ ├── index.ts # Library re-exports (npm package entry)
131
+ └── *.test.ts # Test files
338
132
 
339
- 4. Add `src/index.ts` with your logic.
340
-
341
- 5. Register in `src/lib/registry.ts`:
133
+ skills/ # 202+ skill directories
134
+ ├── _common/ # Shared utilities
135
+ └── skill-*/ # Each skill: src/, SKILL.md, package.json
342
136
 
343
- ```typescript
344
- {
345
- name: "my-skill",
346
- displayName: "My Skill",
347
- description: "What this skill does",
348
- category: "Development Tools",
349
- tags: ["my", "skill"],
350
- }
137
+ dashboard/ # Vite + React 19 + Tailwind v4 SPA
351
138
  ```
352
139
 
353
- 6. Run tests to validate:
140
+ ## Installation Types
354
141
 
355
- ```bash
356
- bun test
357
- ```
142
+ 1. **Full source** — copies skill to `.skills/` in your project (default)
143
+ 2. **Agent config** — copies only SKILL.md to `~/.{agent}/skills/` (use `--for`)
144
+ 3. **Global custom** — create with `skills create --global` (stores in `~/.hasna/skills/custom/`)
358
145
 
359
146
  ## Development
360
147
 
361
148
  ```bash
362
- # Install dependencies
363
149
  bun install
150
+ bun run build # Build CLI, MCP, library, and types
151
+ bun run dev # Run CLI in dev mode (no build needed)
152
+ bun run dashboard:dev # Vite dev server for web dashboard
153
+ bun run server:dev # HTTP server with --watch
154
+ bun test # Run all tests
155
+ bun run typecheck # TypeScript type checking
156
+ ```
364
157
 
365
- # Run CLI in dev mode
366
- bun run dev
367
-
368
- # Build CLI, MCP server, and library
369
- bun run build
370
-
371
- # Type check
372
- bun run typecheck
373
-
374
- # Run all tests
375
- bun test
376
-
377
- # Build the dashboard
378
- bun run dashboard:build
158
+ ## Adding a New Skill
379
159
 
380
- # Run dashboard dev server
381
- bun run dashboard:dev
160
+ 1. Create `skills/skill-{name}/` with `src/index.ts`, `package.json`, `tsconfig.json`, `SKILL.md`
161
+ 2. Add an entry to the `SKILLS` array in `src/lib/registry.ts`
162
+ 3. Run `bun test` to verify validation passes
382
163
 
383
- # Start HTTP server (with dashboard)
384
- bun run server:dev
385
- ```
164
+ Skill directories are auto-discovered from `~/.hasna/skills/custom/` and `.skills/custom-skills/` — no registry entry needed for local custom skills.
386
165
 
387
- ## Architecture
166
+ ## Data Directory
388
167
 
389
- ```
390
- src/
391
- ├── cli/
392
- │ ├── index.tsx # Commander.js CLI + Ink TUI
393
- │ ├── cli.test.ts # CLI integration tests
394
- │ └── components/
395
- │ └── App.tsx # Interactive TUI (React/Ink)
396
- ├── mcp/
397
- │ ├── index.ts # MCP server (stdio transport)
398
- │ └── mcp.test.ts # MCP integration tests
399
- ├── server/
400
- │ ├── serve.ts # Bun HTTP server + REST API
401
- │ └── serve.test.ts # Server tests
402
- ├── lib/
403
- │ ├── registry.ts # SKILLS array (202) + CATEGORIES (17)
404
- │ ├── installer.ts # Install/remove to .skills/ and agent dirs
405
- │ ├── skillinfo.ts # Docs, requirements, env vars, run
406
- │ ├── utils.ts # normalizeSkillName()
407
- │ ├── registry.test.ts # Registry tests
408
- │ ├── installer.test.ts # Installer tests
409
- │ ├── skillinfo.test.ts # Skill info tests
410
- │ ├── skillinfo-run.test.ts # Skill run tests
411
- │ ├── utils.test.ts # Utils tests
412
- │ └── validation.test.ts # Structural validation (all 202 skills)
413
- ├── index.ts # Library re-exports
414
- └── index.test.ts # Library export tests
415
-
416
- dashboard/ # Vite + React 19 + Tailwind v4 + shadcn/ui
417
- ├── src/components/
418
- │ ├── skills-table.tsx # Main skills table (TanStack Table)
419
- │ ├── skill-detail-dialog.tsx# Skill detail dialog
420
- │ ├── stats-cards.tsx # Summary cards
421
- │ ├── theme-provider.tsx # Dark/light/system theme
422
- │ ├── theme-toggle.tsx # Theme toggle button
423
- │ └── ui/ # shadcn/ui primitives
424
- └── package.json
425
-
426
- skills/ # 202 self-contained skill directories
427
- ├── _common/ # Shared utilities
428
- ├── skill-image/
429
- ├── skill-deep-research/
430
- ├── ...
431
- └── tsconfig.base.json # Shared TS config for skills
432
- ```
168
+ Configuration and runtime data are stored in `~/.hasna/skills/`. Legacy `~/.skillsrc` is auto-migrated on first run.
433
169
 
434
170
  ## License
435
171
 
436
- Apache-2.0
172
+ Apache-2.0 — see [LICENSE](LICENSE)