@hasna/skills 0.1.18 → 0.1.19

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 (187) hide show
  1. package/README.md +25 -407
  2. package/bin/index.js +4260 -3040
  3. package/bin/mcp.js +4608 -3318
  4. package/package.json +3 -3
  5. package/skills/skill-academic-journal-matcher/bin/cli.ts +0 -34
  6. package/skills/skill-action-item-router/bin/cli.ts +0 -34
  7. package/skills/skill-ad-creative-generator/bin/cli.ts +0 -34
  8. package/skills/skill-advanced-math/bin/cli.ts +0 -34
  9. package/skills/skill-analyze-data/bin/cli.ts +0 -19
  10. package/skills/skill-anomaly-investigator/bin/cli.ts +0 -34
  11. package/skills/skill-api-test-suite/bin/cli.ts +0 -34
  12. package/skills/skill-apidocs/bin/cli.ts +0 -87
  13. package/skills/skill-audio-cleanup-lab/bin/cli.ts +0 -6
  14. package/skills/skill-audiobook-chapter-proofer/bin/cli.ts +0 -34
  15. package/skills/skill-banner-ad-suite/bin/cli.ts +0 -34
  16. package/skills/skill-benchmark-finder/bin/cli.ts +0 -34
  17. package/skills/skill-bio-sequence-tool/bin/cli.ts +0 -34
  18. package/skills/skill-blog-topic-cluster/bin/cli.ts +0 -34
  19. package/skills/skill-brand-style-guide/bin/cli.ts +0 -19
  20. package/skills/skill-brand-voice-audit/bin/cli.ts +0 -34
  21. package/skills/skill-budget-variance-analyzer/bin/cli.ts +0 -6
  22. package/skills/skill-businessactivity/bin/cli.ts +0 -28
  23. package/skills/skill-calendar-events/bin/cli.ts +0 -34
  24. package/skills/skill-campaign-metric-brief/bin/cli.ts +0 -34
  25. package/skills/skill-campaign-moodboard/bin/cli.ts +0 -34
  26. package/skills/skill-caption-style-stylist/bin/cli.ts +0 -34
  27. package/skills/skill-chemistry-calculator/bin/cli.ts +0 -34
  28. package/skills/skill-churn-risk-notifier/bin/cli.ts +0 -34
  29. package/skills/skill-citation-formatter/bin/cli.ts +0 -34
  30. package/skills/skill-classroom-newsletter-kit/bin/cli.ts +0 -34
  31. package/skills/skill-color-palette-harmonizer/bin/cli.ts +0 -34
  32. package/skills/skill-competitor-ad-analyzer/bin/cli.ts +0 -34
  33. package/skills/skill-compliance-copy-check/bin/cli.ts +0 -34
  34. package/skills/skill-compliance-report-pack/bin/cli.ts +0 -34
  35. package/skills/skill-compress-video/bin/cli.ts +0 -19
  36. package/skills/skill-consolelog/bin/cli.ts +0 -884
  37. package/skills/skill-contract-plainlanguage/bin/cli.ts +0 -34
  38. package/skills/skill-copytone-translator/bin/cli.ts +0 -34
  39. package/skills/skill-create-blog-article/bin/cli.ts +0 -34
  40. package/skills/skill-create-ebook/bin/cli.ts +0 -34
  41. package/skills/skill-crm-note-enhancer/bin/cli.ts +0 -34
  42. package/skills/skill-customer-journey-mapper/bin/cli.ts +0 -34
  43. package/skills/skill-dashboard-builder/bin/cli.ts +0 -34
  44. package/skills/skill-dashboard-narrator/bin/cli.ts +0 -34
  45. package/skills/skill-data-anonymizer/bin/cli.ts +0 -34
  46. package/skills/skill-database-explorer/bin/cli.ts +0 -34
  47. package/skills/skill-dataset-health-check/bin/cli.ts +0 -34
  48. package/skills/skill-decision-journal/bin/cli.ts +0 -34
  49. package/skills/skill-delegation-brief-writer/bin/cli.ts +0 -34
  50. package/skills/skill-destination-briefing/bin/cli.ts +0 -34
  51. package/skills/skill-diff-viewer/bin/cli.ts +0 -34
  52. package/skills/skill-domainpurchase/bin/cli.ts +0 -683
  53. package/skills/skill-domainsearch/bin/cli.ts +0 -410
  54. package/skills/skill-educational-resource-finder/bin/cli.ts +0 -34
  55. package/skills/skill-email-campaign/bin/cli.ts +0 -34
  56. package/skills/skill-exam-readiness-check/bin/cli.ts +0 -34
  57. package/skills/skill-experiment-power-calculator/bin/cli.ts +0 -34
  58. package/skills/skill-extract-audio/bin/cli.ts +0 -19
  59. package/skills/skill-extract-frames/bin/cli.ts +0 -34
  60. package/skills/skill-extract-invoice/bin/cli.ts +0 -34
  61. package/skills/skill-family-activity-curator/bin/cli.ts +0 -34
  62. package/skills/skill-faq-packager/bin/cli.ts +0 -34
  63. package/skills/skill-feedback-survey-designer/bin/cli.ts +0 -34
  64. package/skills/skill-field-trip-planner/bin/cli.ts +0 -34
  65. package/skills/skill-file-organizer/bin/cli.ts +0 -34
  66. package/skills/skill-folder-tree/bin/cli.ts +0 -34
  67. package/skills/skill-forecast-scenario-lab/bin/cli.ts +0 -34
  68. package/skills/skill-form-filler/bin/cli.ts +0 -34
  69. package/skills/skill-generate-api-client/bin/cli.ts +0 -34
  70. package/skills/skill-generate-book-cover/bin/cli.ts +0 -34
  71. package/skills/skill-generate-chart/bin/cli.ts +0 -34
  72. package/skills/skill-generate-diagram/bin/cli.ts +0 -34
  73. package/skills/skill-generate-dockerfile/bin/cli.ts +0 -34
  74. package/skills/skill-generate-documentation/bin/cli.ts +0 -34
  75. package/skills/skill-generate-docx/bin/cli.ts +0 -6
  76. package/skills/skill-generate-env/bin/cli.ts +0 -34
  77. package/skills/skill-generate-excel/bin/cli.ts +0 -34
  78. package/skills/skill-generate-favicon/bin/cli.ts +0 -34
  79. package/skills/skill-generate-mock-data/bin/cli.ts +0 -34
  80. package/skills/skill-generate-pdf/bin/cli.ts +0 -6
  81. package/skills/skill-generate-pr-description/bin/cli.ts +0 -34
  82. package/skills/skill-generate-presentation/bin/cli.ts +0 -34
  83. package/skills/skill-generate-qrcode/bin/cli.ts +0 -34
  84. package/skills/skill-generate-regex/bin/cli.ts +0 -34
  85. package/skills/skill-generate-resume/bin/cli.ts +0 -34
  86. package/skills/skill-generate-sitemap/bin/cli.ts +0 -34
  87. package/skills/skill-generate-social-posts/bin/cli.ts +0 -34
  88. package/skills/skill-generate-sql/bin/cli.ts +0 -34
  89. package/skills/skill-gif-maker/bin/cli.ts +0 -34
  90. package/skills/skill-github-manager/bin/cli.ts +0 -34
  91. package/skills/skill-gmail/bin/cli.ts +0 -34
  92. package/skills/skill-goal-quarterly-roadmap/bin/cli.ts +0 -34
  93. package/skills/skill-grant-application-drafter/bin/cli.ts +0 -34
  94. package/skills/skill-grocery-basket-optimizer/bin/cli.ts +0 -34
  95. package/skills/skill-guest-communication-suite/bin/cli.ts +0 -34
  96. package/skills/skill-habit-reflection-digest/bin/cli.ts +0 -34
  97. package/skills/skill-highlight-reel-generator/bin/cli.ts +0 -34
  98. package/skills/skill-homework-feedback-coach/bin/cli.ts +0 -34
  99. package/skills/skill-household-maintenance-mgr/bin/cli.ts +0 -34
  100. package/skills/skill-http-server/bin/cli.ts +0 -34
  101. package/skills/skill-implementation-agent/bin/cli.ts +0 -34
  102. package/skills/skill-implementation-plan/bin/cli.ts +0 -34
  103. package/skills/skill-implementation-todo/bin/cli.ts +0 -34
  104. package/skills/skill-inbox-priority-planner/bin/cli.ts +0 -34
  105. package/skills/skill-invoice/bin/cli.ts +0 -20
  106. package/skills/skill-invoice-dispute-helper/bin/cli.ts +0 -34
  107. package/skills/skill-itinerary-architect/bin/cli.ts +0 -34
  108. package/skills/skill-jingle-composer/bin/cli.ts +0 -34
  109. package/skills/skill-kpi-digest-generator/bin/cli.ts +0 -34
  110. package/skills/skill-lab-notebook-formatter/bin/cli.ts +0 -34
  111. package/skills/skill-landing-page-copy/bin/cli.ts +0 -34
  112. package/skills/skill-latex-table-generator/bin/cli.ts +0 -34
  113. package/skills/skill-learning-style-profiler/bin/cli.ts +0 -34
  114. package/skills/skill-lesson-plan-customizer/bin/cli.ts +0 -34
  115. package/skills/skill-livestream-runofshow/bin/cli.ts +0 -34
  116. package/skills/skill-longform-structurer/bin/cli.ts +0 -34
  117. package/skills/skill-lorem-generator/bin/cli.ts +0 -34
  118. package/skills/skill-managehook/bin/cli.ts +0 -241
  119. package/skills/skill-managemcp/bin/cli.ts +0 -241
  120. package/skills/skill-manageskill/bin/cli.ts +0 -241
  121. package/skills/skill-markdown-validator/bin/cli.ts +0 -34
  122. package/skills/skill-mcp-builder/bin/cli.ts +0 -34
  123. package/skills/skill-meal-plan-designer/bin/cli.ts +0 -34
  124. package/skills/skill-meeting-insight-summarizer/bin/cli.ts +0 -34
  125. package/skills/skill-merge-pdfs/bin/cli.ts +0 -34
  126. package/skills/skill-microcopy-generator/bin/cli.ts +0 -34
  127. package/skills/skill-mindfulness-prompt-cache/bin/cli.ts +0 -34
  128. package/skills/skill-notion-manager/bin/cli.ts +0 -34
  129. package/skills/skill-onboarding-sequence-builder/bin/cli.ts +0 -34
  130. package/skills/skill-onsite-ops-checklist/bin/cli.ts +0 -34
  131. package/skills/skill-outreach-cadence-designer/bin/cli.ts +0 -34
  132. package/skills/skill-packaging-concept-studio/bin/cli.ts +0 -34
  133. package/skills/skill-packing-plan-pro/bin/cli.ts +0 -34
  134. package/skills/skill-parent-teacher-brief/bin/cli.ts +0 -34
  135. package/skills/skill-partner-kit-assembler/bin/cli.ts +0 -34
  136. package/skills/skill-payroll-change-prepper/bin/cli.ts +0 -34
  137. package/skills/skill-persona-based-adwriter/bin/cli.ts +0 -34
  138. package/skills/skill-persona-generator/bin/cli.ts +0 -34
  139. package/skills/skill-personal-daily-ops/bin/cli.ts +0 -34
  140. package/skills/skill-pet-care-scheduler/bin/cli.ts +0 -34
  141. package/skills/skill-podcast-show-notes/bin/cli.ts +0 -34
  142. package/skills/skill-presentation-theme-maker/bin/cli.ts +0 -34
  143. package/skills/skill-press-release-drafter/bin/cli.ts +0 -34
  144. package/skills/skill-print-collateral-designer/bin/cli.ts +0 -34
  145. package/skills/skill-procurement-scorecard/bin/cli.ts +0 -34
  146. package/skills/skill-product-demo-script/bin/cli.ts +0 -34
  147. package/skills/skill-product-mockup/bin/cli.ts +0 -34
  148. package/skills/skill-project-retro-companion/bin/cli.ts +0 -34
  149. package/skills/skill-proposal-redline-advisor/bin/cli.ts +0 -34
  150. package/skills/skill-regex-tester/bin/cli.ts +0 -34
  151. package/skills/skill-remove-background/bin/cli.ts +0 -34
  152. package/skills/skill-risk-disclosure-kit/bin/cli.ts +0 -34
  153. package/skills/skill-roi-comparison-tool/bin/cli.ts +0 -34
  154. package/skills/skill-sales-call-recapper/bin/cli.ts +0 -34
  155. package/skills/skill-salescopy/bin/cli.ts +0 -20
  156. package/skills/skill-scaffold-project/bin/cli.ts +0 -34
  157. package/skills/skill-scholarship-tracker/bin/cli.ts +0 -34
  158. package/skills/skill-scientific-figure-check/bin/cli.ts +0 -34
  159. package/skills/skill-seating-chart-maker/bin/cli.ts +0 -34
  160. package/skills/skill-security-audit/bin/cli.ts +0 -34
  161. package/skills/skill-seo-brief-builder/bin/cli.ts +0 -34
  162. package/skills/skill-slack-assistant/bin/cli.ts +0 -34
  163. package/skills/skill-sleep-routine-analyzer/bin/cli.ts +0 -34
  164. package/skills/skill-social-media-kit/bin/cli.ts +0 -34
  165. package/skills/skill-split-pdf/bin/cli.ts +0 -34
  166. package/skills/skill-sponsorship-proposal-lab/bin/cli.ts +0 -34
  167. package/skills/skill-spreadsheet-cleanroom/bin/cli.ts +0 -34
  168. package/skills/skill-statistical-test-selector/bin/cli.ts +0 -34
  169. package/skills/skill-stress-relief-playbook/bin/cli.ts +0 -34
  170. package/skills/skill-study-guide-builder/bin/cli.ts +0 -34
  171. package/skills/skill-subscription-spend-watcher/bin/cli.ts +0 -34
  172. package/skills/skill-subtitle/bin/cli.ts +0 -20
  173. package/skills/skill-survey-insight-extractor/bin/cli.ts +0 -34
  174. package/skills/skill-terraform-generator/bin/cli.ts +0 -34
  175. package/skills/skill-testimonial-graphics/bin/cli.ts +0 -34
  176. package/skills/skill-timesheet/bin/cli.ts +0 -47
  177. package/skills/skill-travel-budget-balancer/bin/cli.ts +0 -34
  178. package/skills/skill-validate-config/bin/cli.ts +0 -34
  179. package/skills/skill-video-cut-suggester/bin/cli.ts +0 -34
  180. package/skills/skill-video-downloader/bin/cli.ts +0 -34
  181. package/skills/skill-video-thumbnail/bin/cli.ts +0 -34
  182. package/skills/skill-voiceover-casting-assistant/bin/cli.ts +0 -34
  183. package/skills/skill-watermark/bin/cli.ts +0 -34
  184. package/skills/skill-webcrawling/bin/cli.ts +0 -21
  185. package/skills/skill-webinar-script-coach/bin/cli.ts +0 -34
  186. package/skills/skill-wellness-progress-reporter/bin/cli.ts +0 -34
  187. package/skills/skill-workout-cycle-planner/bin/cli.ts +0 -34
package/README.md CHANGED
@@ -1,436 +1,54 @@
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
4
4
 
5
- ```bash
6
- npx @hasna/skills
7
- ```
8
-
9
- ## Features
10
-
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
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)
18
7
 
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
 
32
- ## Quick Start
14
+ ## CLI Usage
33
15
 
34
16
  ```bash
35
- # Launch interactive browser (TUI)
36
- skills
37
-
38
- # Search for skills
39
- skills search "image generation"
40
-
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)
45
- skills install image --for claude
46
-
47
- # Get skill details
48
- skills info image
49
-
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
17
+ skills --help
61
18
  ```
62
19
 
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
- ## CLI Commands
86
-
87
- | Command | Alias | Description |
88
- |---------|-------|-------------|
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) |
99
- | `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.
20
+ - `skills install`
21
+ - `skills list`
22
+ - `skills search`
23
+ - `skills info`
24
+ - `skills docs`
25
+ - `skills run`
26
+ - `skills remove`
27
+ - `skills categories`
28
+ - `skills tags`
111
29
 
112
30
  ## MCP Server
113
31
 
114
- The MCP server exposes the full skill library to AI agents over stdio.
115
-
116
- ### Starting the server
117
-
118
32
  ```bash
119
- # Via CLI
120
- skills mcp
121
-
122
- # Direct binary
123
33
  skills-mcp
124
-
125
- # Register with Claude Code
126
- skills mcp --register claude
127
- ```
128
-
129
- ### Configuration for Claude Code
130
-
131
- Add to your MCP config:
132
-
133
- ```json
134
- {
135
- "mcpServers": {
136
- "skills": {
137
- "command": "skills-mcp"
138
- }
139
- }
140
- }
141
34
  ```
142
35
 
143
- ### Tools (10)
36
+ 5 tools available.
144
37
 
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 |
38
+ ## Cloud Sync
157
39
 
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.
40
+ This package supports cloud sync via `@hasna/cloud`:
168
41
 
169
42
  ```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: [...] }
43
+ cloud setup
44
+ cloud sync push --service skills
45
+ cloud sync pull --service skills
227
46
  ```
228
47
 
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
- ```
48
+ ## Data Directory
267
49
 
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";
299
- ```
300
-
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:
310
-
311
- ```bash
312
- mkdir -p skills/skill-my-skill/src
313
- ```
314
-
315
- 2. Add `package.json`:
316
-
317
- ```json
318
- {
319
- "name": "skill-my-skill",
320
- "version": "0.0.1",
321
- "bin": { "my-skill": "./src/index.ts" },
322
- "dependencies": {}
323
- }
324
- ```
325
-
326
- 3. Add `SKILL.md` with frontmatter:
327
-
328
- ```markdown
329
- ---
330
- name: my-skill
331
- description: What this skill does
332
- ---
333
-
334
- # My Skill
335
-
336
- Usage instructions here.
337
- ```
338
-
339
- 4. Add `src/index.ts` with your logic.
340
-
341
- 5. Register in `src/lib/registry.ts`:
342
-
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
- }
351
- ```
352
-
353
- 6. Run tests to validate:
354
-
355
- ```bash
356
- bun test
357
- ```
358
-
359
- ## Development
360
-
361
- ```bash
362
- # Install dependencies
363
- bun install
364
-
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
379
-
380
- # Run dashboard dev server
381
- bun run dashboard:dev
382
-
383
- # Start HTTP server (with dashboard)
384
- bun run server:dev
385
- ```
386
-
387
- ## Architecture
388
-
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
- ```
50
+ Data is stored in `~/.hasna/skills/`.
433
51
 
434
52
  ## License
435
53
 
436
- Apache-2.0
54
+ Apache-2.0 -- see [LICENSE](LICENSE)