Add Skill Command
Create a new skill in the library-skills plugin repository.
Use the claude-marketplace skill.
Task
You are to create a comprehensive skill for a library. The skill
will be added to the appropriate plugin based on context inference.
Command Arguments
Parse $ARGUMENTS to extract:
- Library name (required) - the library to create a skill for
- Brief description (optional) - what the library does
- Additional context (optional) - specific focus areas or aspects
Plugin Inference
Infer the target plugin from context:
Clojure Libraries (plugins/clojure-libraries/skills/):
- Library names with dots (e.g., babashka.fs, next.jdbc)
- Keywords: clojure, clojurescript, babashka, jar, maven, clojars
- Common namespaces: clojure., babashka.
- File extensions mentioned: .clj, .cljs, .cljc
Emacs Libraries (plugins/emacs-libraries/skills/):
- Library names with dashes (e.g., use-package, vertico)
- Keywords: emacs, elisp, package, mode, buffer, major-mode, minor-mode
- Common prefixes: evil-, ivy-, helm-, company-
- File extensions mentioned: .el
- References to: melpa, elpa, emacs packages
Default to clojure-libraries if unclear.
Steps
Infer Target Plugin
- Analyze library name and description
- Apply inference rules above
- Determine whether to use clojure-libraries or emacs-libraries
- State your inference decision explicitly
Research the Library
- Use WebSearch to find the library's official documentation
- Identify the library's repository (GitHub, GitLab, etc.)
- Find the latest version number
- Understand the library's purpose, main features, and API
- Identify common use cases and patterns
Create Directory Structure
- Create
plugins/{inferred-plugin}/skills/{library-name}/
Generate SKILL.md
Structure:
- frontmatter with name and description fields
- Overview and introduction
- Core concepts
- API reference organized by category
- Common patterns and best practices
- Use cases
- Error handling
- Performance considerations
- Platform-specific notes (if applicable)
Make it comprehensive and practical. Be terse, concise and precise.
For Clojure libraries: Include runnable examples in Babashka format
For Emacs libraries: Include elisp code examples with setup instructions
Report Completion
- State which plugin the skill was added to
- List all files created
- Show the skill's location
Guidelines
- Follow all repository conventions from CLAUDE.md
- Make all examples practical and runnable
- Keep documentation clear and well-structured
- Research thoroughly before generating content
- Include error handling
- Add performance tips where relevant
Notes
- All skills should be comprehensive enough to use the library without referring to external docs
- Focus on practical usage and common patterns
- Include both beginner and advanced content
- For Clojure libraries: Prioritize Babashka-compatible examples where possible
- For Emacs libraries: Include keybindings, customization options, and integration patterns
README.md
Update @README.md to mention the skill.
1---2name: add-33description: Create a new comprehensive skill for a library4---56# Add Skill Command78Create a new skill in the library-skills plugin repository.910Use the claude-marketplace skill.1112## Task1314You are to create a comprehensive skill for a library. The skill15will be added to the appropriate plugin based on context inference.1617## Command Arguments1819Parse $ARGUMENTS to extract:20- Library name (required) - the library to create a skill for21- Brief description (optional) - what the library does22- Additional context (optional) - specific focus areas or aspects2324## Plugin Inference2526Infer the target plugin from context:2728**Clojure Libraries** (plugins/clojure-libraries/skills/):29- Library names with dots (e.g., babashka.fs, next.jdbc)30- Keywords: clojure, clojurescript, babashka, jar, maven, clojars31- Common namespaces: clojure.*, babashka.*32- File extensions mentioned: .clj, .cljs, .cljc3334**Emacs Libraries** (plugins/emacs-libraries/skills/):35- Library names with dashes (e.g., use-package, vertico)36- Keywords: emacs, elisp, package, mode, buffer, major-mode, minor-mode37- Common prefixes: evil-, ivy-, helm-, company-38- File extensions mentioned: .el39- References to: melpa, elpa, emacs packages4041Default to clojure-libraries if unclear.4243## Steps44451. **Infer Target Plugin**46 - Analyze library name and description47 - Apply inference rules above48 - Determine whether to use clojure-libraries or emacs-libraries49 - State your inference decision explicitly50512. **Research the Library**52 - Use WebSearch to find the library's official documentation53 - Identify the library's repository (GitHub, GitLab, etc.)54 - Find the latest version number55 - Understand the library's purpose, main features, and API56 - Identify common use cases and patterns57583. **Create Directory Structure**59 - Create `plugins/{inferred-plugin}/skills/{library-name}/`60614. **Generate SKILL.md**62 Structure:63 - frontmatter with name and description fields64 - Overview and introduction65 - Core concepts66 - API reference organized by category67 - Common patterns and best practices68 - Use cases69 - Error handling70 - Performance considerations71 - Platform-specific notes (if applicable)7273 Make it comprehensive and practical. Be terse, concise and precise.7475 For Clojure libraries: Include runnable examples in Babashka format76 For Emacs libraries: Include elisp code examples with setup instructions77785. **Report Completion**79 - State which plugin the skill was added to80 - List all files created81 - Show the skill's location8283## Guidelines8485- Follow all repository conventions from CLAUDE.md86- Make all examples practical and runnable87- Keep documentation clear and well-structured88- Research thoroughly before generating content89- Include error handling90- Add performance tips where relevant9192## Notes9394- All skills should be comprehensive enough to use the library without referring to external docs95- Focus on practical usage and common patterns96- Include both beginner and advanced content97- For Clojure libraries: Prioritize Babashka-compatible examples where possible98- For Emacs libraries: Include keybindings, customization options, and integration patterns99100## README.md101102Update @README.md to mention the skill.