@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.
- package/README.md +108 -372
- package/bin/index.js +10455 -9282
- package/bin/mcp.js +4793 -3402
- package/dist/cli/commands/completion.d.ts +5 -0
- package/dist/cli/commands/create-sync-config.d.ts +5 -0
- package/dist/cli/commands/diagnostic.d.ts +5 -0
- package/dist/cli/commands/init.d.ts +5 -0
- package/dist/cli/commands/install.d.ts +5 -0
- package/dist/cli/commands/introspect.d.ts +5 -0
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/runtime.d.ts +5 -0
- package/dist/cli/commands/schedule.d.ts +5 -0
- package/dist/index.js +197 -97
- package/dist/lib/config.d.ts +1 -1
- package/dist/lib/registry.d.ts +1 -11
- package/dist/lib/scheduler.d.ts +1 -1
- package/dist/lib/scheduler.test.d.ts +4 -0
- package/dist/lib/search.d.ts +17 -0
- package/package.json +3 -3
- package/skills/skill-commitpush/SKILL.md +57 -0
- package/skills/skill-commitpush/package.json +34 -0
- package/skills/skill-commitpush/src/index.ts +34 -0
- package/skills/skill-commitpush/tsconfig.json +17 -0
- package/skills/skill-commitpushpr/SKILL.md +55 -0
- package/skills/skill-commitpushpr/package.json +34 -0
- package/skills/skill-commitpushpr/src/index.ts +34 -0
- package/skills/skill-commitpushpr/tsconfig.json +17 -0
- package/skills/skill-monitor/SKILL.md +69 -0
- package/skills/skill-monitor/package.json +34 -0
- package/skills/skill-monitor/src/index.ts +34 -0
- package/skills/skill-monitor/tsconfig.json +17 -0
- package/skills/skill-read-csv/SKILL.md +62 -0
- package/skills/skill-read-csv/package.json +38 -0
- package/skills/skill-read-csv/src/index.ts +331 -0
- package/skills/skill-read-csv/tsconfig.json +17 -0
- package/skills/skill-read-excel/SKILL.md +64 -0
- package/skills/skill-read-excel/package.json +37 -0
- package/skills/skill-read-excel/src/index.ts +253 -0
- package/skills/skill-read-excel/tsconfig.json +17 -0
- package/skills/skill-read-image/SKILL.md +47 -0
- package/skills/skill-read-image/package.json +34 -0
- package/skills/skill-read-image/src/index.ts +264 -0
- package/skills/skill-read-image/tsconfig.json +17 -0
- package/skills/skill-read-pdf/SKILL.md +52 -0
- package/skills/skill-read-pdf/package.json +37 -0
- package/skills/skill-read-pdf/src/index.ts +376 -0
- package/skills/skill-read-pdf/tsconfig.json +17 -0
- package/skills/skill-tmux-session/SKILL.md +109 -0
- package/skills/skill-tmux-session/package.json +34 -0
- package/skills/skill-tmux-session/src/index.ts +34 -0
- package/skills/skill-tmux-session/tsconfig.json +17 -0
- package/skills/skill-academic-journal-matcher/bin/cli.ts +0 -34
- package/skills/skill-action-item-router/bin/cli.ts +0 -34
- package/skills/skill-ad-creative-generator/bin/cli.ts +0 -34
- package/skills/skill-advanced-math/bin/cli.ts +0 -34
- package/skills/skill-analyze-data/bin/cli.ts +0 -19
- package/skills/skill-anomaly-investigator/bin/cli.ts +0 -34
- package/skills/skill-api-test-suite/bin/cli.ts +0 -34
- package/skills/skill-apidocs/bin/cli.ts +0 -87
- package/skills/skill-audio-cleanup-lab/bin/cli.ts +0 -6
- package/skills/skill-audiobook-chapter-proofer/bin/cli.ts +0 -34
- package/skills/skill-banner-ad-suite/bin/cli.ts +0 -34
- package/skills/skill-benchmark-finder/bin/cli.ts +0 -34
- package/skills/skill-bio-sequence-tool/bin/cli.ts +0 -34
- package/skills/skill-blog-topic-cluster/bin/cli.ts +0 -34
- package/skills/skill-brand-style-guide/bin/cli.ts +0 -19
- package/skills/skill-brand-voice-audit/bin/cli.ts +0 -34
- package/skills/skill-budget-variance-analyzer/bin/cli.ts +0 -6
- package/skills/skill-businessactivity/bin/cli.ts +0 -28
- package/skills/skill-calendar-events/bin/cli.ts +0 -34
- package/skills/skill-campaign-metric-brief/bin/cli.ts +0 -34
- package/skills/skill-campaign-moodboard/bin/cli.ts +0 -34
- package/skills/skill-caption-style-stylist/bin/cli.ts +0 -34
- package/skills/skill-chemistry-calculator/bin/cli.ts +0 -34
- package/skills/skill-churn-risk-notifier/bin/cli.ts +0 -34
- package/skills/skill-citation-formatter/bin/cli.ts +0 -34
- package/skills/skill-classroom-newsletter-kit/bin/cli.ts +0 -34
- package/skills/skill-color-palette-harmonizer/bin/cli.ts +0 -34
- package/skills/skill-competitor-ad-analyzer/bin/cli.ts +0 -34
- package/skills/skill-compliance-copy-check/bin/cli.ts +0 -34
- package/skills/skill-compliance-report-pack/bin/cli.ts +0 -34
- package/skills/skill-compress-video/bin/cli.ts +0 -19
- package/skills/skill-consolelog/bin/cli.ts +0 -884
- package/skills/skill-contract-plainlanguage/bin/cli.ts +0 -34
- package/skills/skill-copytone-translator/bin/cli.ts +0 -34
- package/skills/skill-create-blog-article/bin/cli.ts +0 -34
- package/skills/skill-create-ebook/bin/cli.ts +0 -34
- package/skills/skill-crm-note-enhancer/bin/cli.ts +0 -34
- package/skills/skill-customer-journey-mapper/bin/cli.ts +0 -34
- package/skills/skill-dashboard-builder/bin/cli.ts +0 -34
- package/skills/skill-dashboard-narrator/bin/cli.ts +0 -34
- package/skills/skill-data-anonymizer/bin/cli.ts +0 -34
- package/skills/skill-database-explorer/bin/cli.ts +0 -34
- package/skills/skill-dataset-health-check/bin/cli.ts +0 -34
- package/skills/skill-decision-journal/bin/cli.ts +0 -34
- package/skills/skill-delegation-brief-writer/bin/cli.ts +0 -34
- package/skills/skill-destination-briefing/bin/cli.ts +0 -34
- package/skills/skill-diff-viewer/bin/cli.ts +0 -34
- package/skills/skill-domainpurchase/bin/cli.ts +0 -683
- package/skills/skill-domainsearch/bin/cli.ts +0 -410
- package/skills/skill-educational-resource-finder/bin/cli.ts +0 -34
- package/skills/skill-email-campaign/bin/cli.ts +0 -34
- package/skills/skill-exam-readiness-check/bin/cli.ts +0 -34
- package/skills/skill-experiment-power-calculator/bin/cli.ts +0 -34
- package/skills/skill-extract-audio/bin/cli.ts +0 -19
- package/skills/skill-extract-frames/bin/cli.ts +0 -34
- package/skills/skill-extract-invoice/bin/cli.ts +0 -34
- package/skills/skill-family-activity-curator/bin/cli.ts +0 -34
- package/skills/skill-faq-packager/bin/cli.ts +0 -34
- package/skills/skill-feedback-survey-designer/bin/cli.ts +0 -34
- package/skills/skill-field-trip-planner/bin/cli.ts +0 -34
- package/skills/skill-file-organizer/bin/cli.ts +0 -34
- package/skills/skill-folder-tree/bin/cli.ts +0 -34
- package/skills/skill-forecast-scenario-lab/bin/cli.ts +0 -34
- package/skills/skill-form-filler/bin/cli.ts +0 -34
- package/skills/skill-generate-api-client/bin/cli.ts +0 -34
- package/skills/skill-generate-book-cover/bin/cli.ts +0 -34
- package/skills/skill-generate-chart/bin/cli.ts +0 -34
- package/skills/skill-generate-diagram/bin/cli.ts +0 -34
- package/skills/skill-generate-dockerfile/bin/cli.ts +0 -34
- package/skills/skill-generate-documentation/bin/cli.ts +0 -34
- package/skills/skill-generate-docx/bin/cli.ts +0 -6
- package/skills/skill-generate-env/bin/cli.ts +0 -34
- package/skills/skill-generate-excel/bin/cli.ts +0 -34
- package/skills/skill-generate-favicon/bin/cli.ts +0 -34
- package/skills/skill-generate-mock-data/bin/cli.ts +0 -34
- package/skills/skill-generate-pdf/bin/cli.ts +0 -6
- package/skills/skill-generate-pr-description/bin/cli.ts +0 -34
- package/skills/skill-generate-presentation/bin/cli.ts +0 -34
- package/skills/skill-generate-qrcode/bin/cli.ts +0 -34
- package/skills/skill-generate-regex/bin/cli.ts +0 -34
- package/skills/skill-generate-resume/bin/cli.ts +0 -34
- package/skills/skill-generate-sitemap/bin/cli.ts +0 -34
- package/skills/skill-generate-social-posts/bin/cli.ts +0 -34
- package/skills/skill-generate-sql/bin/cli.ts +0 -34
- package/skills/skill-gif-maker/bin/cli.ts +0 -34
- package/skills/skill-github-manager/bin/cli.ts +0 -34
- package/skills/skill-gmail/bin/cli.ts +0 -34
- package/skills/skill-goal-quarterly-roadmap/bin/cli.ts +0 -34
- package/skills/skill-grant-application-drafter/bin/cli.ts +0 -34
- package/skills/skill-grocery-basket-optimizer/bin/cli.ts +0 -34
- package/skills/skill-guest-communication-suite/bin/cli.ts +0 -34
- package/skills/skill-habit-reflection-digest/bin/cli.ts +0 -34
- package/skills/skill-highlight-reel-generator/bin/cli.ts +0 -34
- package/skills/skill-homework-feedback-coach/bin/cli.ts +0 -34
- package/skills/skill-household-maintenance-mgr/bin/cli.ts +0 -34
- package/skills/skill-http-server/bin/cli.ts +0 -34
- package/skills/skill-implementation-agent/bin/cli.ts +0 -34
- package/skills/skill-implementation-plan/bin/cli.ts +0 -34
- package/skills/skill-implementation-todo/bin/cli.ts +0 -34
- package/skills/skill-inbox-priority-planner/bin/cli.ts +0 -34
- package/skills/skill-invoice/bin/cli.ts +0 -20
- package/skills/skill-invoice-dispute-helper/bin/cli.ts +0 -34
- package/skills/skill-itinerary-architect/bin/cli.ts +0 -34
- package/skills/skill-jingle-composer/bin/cli.ts +0 -34
- package/skills/skill-kpi-digest-generator/bin/cli.ts +0 -34
- package/skills/skill-lab-notebook-formatter/bin/cli.ts +0 -34
- package/skills/skill-landing-page-copy/bin/cli.ts +0 -34
- package/skills/skill-latex-table-generator/bin/cli.ts +0 -34
- package/skills/skill-learning-style-profiler/bin/cli.ts +0 -34
- package/skills/skill-lesson-plan-customizer/bin/cli.ts +0 -34
- package/skills/skill-livestream-runofshow/bin/cli.ts +0 -34
- package/skills/skill-longform-structurer/bin/cli.ts +0 -34
- package/skills/skill-lorem-generator/bin/cli.ts +0 -34
- package/skills/skill-managehook/bin/cli.ts +0 -241
- package/skills/skill-managemcp/bin/cli.ts +0 -241
- package/skills/skill-manageskill/bin/cli.ts +0 -241
- package/skills/skill-markdown-validator/bin/cli.ts +0 -34
- package/skills/skill-mcp-builder/bin/cli.ts +0 -34
- package/skills/skill-meal-plan-designer/bin/cli.ts +0 -34
- package/skills/skill-meeting-insight-summarizer/bin/cli.ts +0 -34
- package/skills/skill-merge-pdfs/bin/cli.ts +0 -34
- package/skills/skill-microcopy-generator/bin/cli.ts +0 -34
- package/skills/skill-mindfulness-prompt-cache/bin/cli.ts +0 -34
- package/skills/skill-notion-manager/bin/cli.ts +0 -34
- package/skills/skill-onboarding-sequence-builder/bin/cli.ts +0 -34
- package/skills/skill-onsite-ops-checklist/bin/cli.ts +0 -34
- package/skills/skill-outreach-cadence-designer/bin/cli.ts +0 -34
- package/skills/skill-packaging-concept-studio/bin/cli.ts +0 -34
- package/skills/skill-packing-plan-pro/bin/cli.ts +0 -34
- package/skills/skill-parent-teacher-brief/bin/cli.ts +0 -34
- package/skills/skill-partner-kit-assembler/bin/cli.ts +0 -34
- package/skills/skill-payroll-change-prepper/bin/cli.ts +0 -34
- package/skills/skill-persona-based-adwriter/bin/cli.ts +0 -34
- package/skills/skill-persona-generator/bin/cli.ts +0 -34
- package/skills/skill-personal-daily-ops/bin/cli.ts +0 -34
- package/skills/skill-pet-care-scheduler/bin/cli.ts +0 -34
- package/skills/skill-podcast-show-notes/bin/cli.ts +0 -34
- package/skills/skill-presentation-theme-maker/bin/cli.ts +0 -34
- package/skills/skill-press-release-drafter/bin/cli.ts +0 -34
- package/skills/skill-print-collateral-designer/bin/cli.ts +0 -34
- package/skills/skill-procurement-scorecard/bin/cli.ts +0 -34
- package/skills/skill-product-demo-script/bin/cli.ts +0 -34
- package/skills/skill-product-mockup/bin/cli.ts +0 -34
- package/skills/skill-project-retro-companion/bin/cli.ts +0 -34
- package/skills/skill-proposal-redline-advisor/bin/cli.ts +0 -34
- package/skills/skill-regex-tester/bin/cli.ts +0 -34
- package/skills/skill-remove-background/bin/cli.ts +0 -34
- package/skills/skill-risk-disclosure-kit/bin/cli.ts +0 -34
- package/skills/skill-roi-comparison-tool/bin/cli.ts +0 -34
- package/skills/skill-sales-call-recapper/bin/cli.ts +0 -34
- package/skills/skill-salescopy/bin/cli.ts +0 -20
- package/skills/skill-scaffold-project/bin/cli.ts +0 -34
- package/skills/skill-scholarship-tracker/bin/cli.ts +0 -34
- package/skills/skill-scientific-figure-check/bin/cli.ts +0 -34
- package/skills/skill-seating-chart-maker/bin/cli.ts +0 -34
- package/skills/skill-security-audit/bin/cli.ts +0 -34
- package/skills/skill-seo-brief-builder/bin/cli.ts +0 -34
- package/skills/skill-slack-assistant/bin/cli.ts +0 -34
- package/skills/skill-sleep-routine-analyzer/bin/cli.ts +0 -34
- package/skills/skill-social-media-kit/bin/cli.ts +0 -34
- package/skills/skill-split-pdf/bin/cli.ts +0 -34
- package/skills/skill-sponsorship-proposal-lab/bin/cli.ts +0 -34
- package/skills/skill-spreadsheet-cleanroom/bin/cli.ts +0 -34
- package/skills/skill-statistical-test-selector/bin/cli.ts +0 -34
- package/skills/skill-stress-relief-playbook/bin/cli.ts +0 -34
- package/skills/skill-study-guide-builder/bin/cli.ts +0 -34
- package/skills/skill-subscription-spend-watcher/bin/cli.ts +0 -34
- package/skills/skill-subtitle/bin/cli.ts +0 -20
- package/skills/skill-survey-insight-extractor/bin/cli.ts +0 -34
- package/skills/skill-terraform-generator/bin/cli.ts +0 -34
- package/skills/skill-testimonial-graphics/bin/cli.ts +0 -34
- package/skills/skill-timesheet/bin/cli.ts +0 -47
- package/skills/skill-travel-budget-balancer/bin/cli.ts +0 -34
- package/skills/skill-validate-config/bin/cli.ts +0 -34
- package/skills/skill-video-cut-suggester/bin/cli.ts +0 -34
- package/skills/skill-video-downloader/bin/cli.ts +0 -34
- package/skills/skill-video-thumbnail/bin/cli.ts +0 -34
- package/skills/skill-voiceover-casting-assistant/bin/cli.ts +0 -34
- package/skills/skill-watermark/bin/cli.ts +0 -34
- package/skills/skill-webcrawling/bin/cli.ts +0 -21
- package/skills/skill-webinar-script-coach/bin/cli.ts +0 -34
- package/skills/skill-wellness-progress-reporter/bin/cli.ts +0 -34
- 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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## Features
|
|
5
|
+
[](https://www.npmjs.com/package/@hasna/skills)
|
|
6
|
+
[](LICENSE)
|
|
10
7
|
|
|
11
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
19
|
+
# Browse skills interactively
|
|
36
20
|
skills
|
|
37
21
|
|
|
38
|
-
#
|
|
39
|
-
skills
|
|
22
|
+
# Install a skill to your project
|
|
23
|
+
skills install image
|
|
40
24
|
|
|
41
|
-
# Install
|
|
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
|
-
#
|
|
28
|
+
# See what a skill needs
|
|
48
29
|
skills info image
|
|
49
30
|
|
|
50
|
-
# Run a skill
|
|
51
|
-
skills run image
|
|
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` |
|
|
90
|
-
| `skills install <
|
|
91
|
-
| `skills install
|
|
92
|
-
| `skills
|
|
93
|
-
| `skills list` | `
|
|
94
|
-
| `skills
|
|
95
|
-
| `skills
|
|
96
|
-
| `skills
|
|
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
|
|
101
|
-
| `skills
|
|
102
|
-
| `skills
|
|
103
|
-
| `skills
|
|
104
|
-
| `skills
|
|
105
|
-
| `skills
|
|
106
|
-
| `skills
|
|
107
|
-
| `skills
|
|
108
|
-
| `skills
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
171
|
-
skills
|
|
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
|
-
|
|
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
|
-
|
|
102
|
+
cloud setup
|
|
103
|
+
cloud sync push --service skills
|
|
104
|
+
cloud sync pull --service skills
|
|
313
105
|
```
|
|
314
106
|
|
|
315
|
-
|
|
107
|
+
## Dashboard
|
|
316
108
|
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
340
|
-
|
|
341
|
-
|
|
133
|
+
skills/ # 202+ skill directories
|
|
134
|
+
├── _common/ # Shared utilities
|
|
135
|
+
└── skill-*/ # Each skill: src/, SKILL.md, package.json
|
|
342
136
|
|
|
343
|
-
|
|
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
|
-
|
|
140
|
+
## Installation Types
|
|
354
141
|
|
|
355
|
-
|
|
356
|
-
|
|
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
|
-
|
|
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
|
-
|
|
381
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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)
|