Skill Installer
Automates the installation of new skills into the skills marketplace project. Handles unpacking, marketplace registration, and documentation updates.
When to Use
- User has a
.skill file in dist/ directory
- User asks to "install", "add", "unpack", or "integrate" a skill
- User wants to add a new skill to the marketplace
Installation Workflow
Phase 1: Discovery
List available skill packages:
ls -la dist/*.skill
Identify target skill: If user specifies a skill name, use it. Otherwise, list available packages and ask which to install.
Verify package: Check the file exists and is a valid zip archive:
file dist/<skill-name>.skill
Phase 2: Extraction
Preview contents before extracting:
unzip -l dist/<skill-name>.skill
Extract to project root:
unzip -o dist/<skill-name>.skill
Verify extraction:
ls -la <skill-name>/
ls -la <skill-name>/references/
Phase 3: Metadata Extraction
Read SKILL.md frontmatter to extract:
name: Skill identifier (kebab-case)
description: Full description for triggers
metadata.category: Category (seo, music, security, tooling, etc.)
metadata.tags: Comma-separated tags
Parse the frontmatter between --- markers at the top of SKILL.md
Generate short description for marketplace (one line, ~60 chars max)
Phase 4: Marketplace Registration
Update .claude-plugin/marketplace.json:
a. Update the top-level description if needed to include new category
b. Add to plugins array:
{
"name": "<skill-name>",
"type": "skill",
"path": "<skill-name>",
"description": "<short-description>",
"category": "<category>",
"tags": ["tag1", "tag2", ...]
}
c. Add category to categories object if new:
"<category>": {
"name": "<Category Display Name>",
"description": "<Category description>",
"marketplace": "marketplace-<category>.json"
}
Create/update category marketplace (marketplace-<category>.json):
If file doesn't exist, create with template:
{
"name": "skills-<category>",
"version": "1.0.0",
"description": "<Category> skills for Claude Code.",
"author": "schwepps",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/schwepps/skills.git"
},
"plugins": [
{ /* skill entry */ }
]
}
If file exists, add skill to plugins array.
Phase 5: Documentation Update
Update README.md:
a. Update header description if new category added
b. Add to "What's Included" table:
| **[<skill-name>](<skill-name>/)** | <short-description> |
c. Add usage examples section if new category:
### <Category>
"Example prompt 1"
"Example prompt 2"
d. Add to "Project Structure" tree:
├── <skill-name>/
e. Add to "Browser Download" table:
| <Skill Display Name> | [Download ZIP](https://download-directory.github.io/?url=https://github.com/schwepps/skills/tree/main/<skill-name>) |
Phase 6: Verification
Verify all files updated:
Report summary:
Installed: <skill-name>
Category: <category>
Files: <count> reference files
Updated:
- .claude-plugin/marketplace.json
- .claude-plugin/marketplace-<category>.json
- README.md
Category Mappings
| Category |
Display Name |
Description |
| seo |
SEO & AI Search |
Search engine optimization and AI search visibility |
| music |
Music Creation |
AI-powered music and audio generation |
| security |
Smart Contract Security |
Blockchain and smart contract auditing |
| tooling |
Developer Tools |
Automation and development utilities |
Error Handling
- File not found: List available .skill files in dist/
- Invalid package: Check if file is valid zip archive
- Missing SKILL.md: Package is malformed, cannot install
- Missing frontmatter: Extract what's possible, ask user for missing metadata
- Category conflict: Ask user to confirm category assignment
Quick Install Command
For a straightforward installation with a known skill file:
/install-skill <skill-name>
This will:
- Unpack
dist/<skill-name>.skill
- Auto-detect metadata from SKILL.md
- Register in all marketplace files
- Update README.md
- Report completion status
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: install-skill3description: This skill should be used when the user asks to "install a skill", "add a skill to the project", "unpack a skill", or "integrate a new skill". Automates the full workflow of unpacking .skill packages from dist/ and registering them in the marketplace. Use when this capability is needed.4---56# Skill Installer78Automates the installation of new skills into the skills marketplace project. Handles unpacking, marketplace registration, and documentation updates.910## When to Use1112- User has a `.skill` file in `dist/` directory13- User asks to "install", "add", "unpack", or "integrate" a skill14- User wants to add a new skill to the marketplace1516## Installation Workflow1718### Phase 1: Discovery19201. **List available skill packages**:21 ```bash22 ls -la dist/*.skill23 ```24252. **Identify target skill**: If user specifies a skill name, use it. Otherwise, list available packages and ask which to install.26273. **Verify package**: Check the file exists and is a valid zip archive:28 ```bash29 file dist/<skill-name>.skill30 ```3132### Phase 2: Extraction33341. **Preview contents** before extracting:35 ```bash36 unzip -l dist/<skill-name>.skill37 ```38392. **Extract to project root**:40 ```bash41 unzip -o dist/<skill-name>.skill42 ```43443. **Verify extraction**:45 ```bash46 ls -la <skill-name>/47 ls -la <skill-name>/references/48 ```4950### Phase 3: Metadata Extraction51521. **Read SKILL.md frontmatter** to extract:53 - `name`: Skill identifier (kebab-case)54 - `description`: Full description for triggers55 - `metadata.category`: Category (seo, music, security, tooling, etc.)56 - `metadata.tags`: Comma-separated tags57582. **Parse the frontmatter** between `---` markers at the top of SKILL.md59603. **Generate short description** for marketplace (one line, ~60 chars max)6162### Phase 4: Marketplace Registration63641. **Update `.claude-plugin/marketplace.json`**:6566 a. Update the top-level `description` if needed to include new category6768 b. Add to `plugins` array:69 ```json70 {71 "name": "<skill-name>",72 "type": "skill",73 "path": "<skill-name>",74 "description": "<short-description>",75 "category": "<category>",76 "tags": ["tag1", "tag2", ...]77 }78 ```7980 c. Add category to `categories` object if new:81 ```json82 "<category>": {83 "name": "<Category Display Name>",84 "description": "<Category description>",85 "marketplace": "marketplace-<category>.json"86 }87 ```88892. **Create/update category marketplace** (`marketplace-<category>.json`):9091 If file doesn't exist, create with template:92 ```json93 {94 "name": "skills-<category>",95 "version": "1.0.0",96 "description": "<Category> skills for Claude Code.",97 "author": "schwepps",98 "license": "MIT",99 "repository": {100 "type": "git",101 "url": "https://github.com/schwepps/skills.git"102 },103 "plugins": [104 { /* skill entry */ }105 ]106 }107 ```108109 If file exists, add skill to `plugins` array.110111### Phase 5: Documentation Update1121131. **Update README.md**:114115 a. Update header description if new category added116117 b. Add to "What's Included" table:118 ```markdown119 | **[<skill-name>](<skill-name>/)** | <short-description> |120 ```121122 c. Add usage examples section if new category:123 ```markdown124 ### <Category>125 ```126 "Example prompt 1"127 "Example prompt 2"128 ```129 ```130131 d. Add to "Project Structure" tree:132 ```133 ├── <skill-name>/134 ```135136 e. Add to "Browser Download" table:137 ```markdown138 | <Skill Display Name> | [Download ZIP](https://download-directory.github.io/?url=https://github.com/schwepps/skills/tree/main/<skill-name>) |139 ```140141### Phase 6: Verification1421431. **Verify all files updated**:144 - [ ] Skill directory exists with SKILL.md and references/145 - [ ] marketplace.json contains skill entry146 - [ ] Category marketplace file exists and contains skill147 - [ ] README.md updated with skill info1481492. **Report summary**:150 ```151 Installed: <skill-name>152 Category: <category>153 Files: <count> reference files154155 Updated:156 - .claude-plugin/marketplace.json157 - .claude-plugin/marketplace-<category>.json158 - README.md159 ```160161## Category Mappings162163| Category | Display Name | Description |164|----------|--------------|-------------|165| seo | SEO & AI Search | Search engine optimization and AI search visibility |166| music | Music Creation | AI-powered music and audio generation |167| security | Smart Contract Security | Blockchain and smart contract auditing |168| tooling | Developer Tools | Automation and development utilities |169170## Error Handling171172- **File not found**: List available .skill files in dist/173- **Invalid package**: Check if file is valid zip archive174- **Missing SKILL.md**: Package is malformed, cannot install175- **Missing frontmatter**: Extract what's possible, ask user for missing metadata176- **Category conflict**: Ask user to confirm category assignment177178## Quick Install Command179180For a straightforward installation with a known skill file:181182```183/install-skill <skill-name>184```185186This will:1871. Unpack `dist/<skill-name>.skill`1882. Auto-detect metadata from SKILL.md1893. Register in all marketplace files1904. Update README.md1915. Report completion status192193---194> Converted and distributed by [TomeVault](https://tomevault.io/claim/schwepps) — claim your Tome and manage your conversions.195<!-- tomevault:4.0:skill_md:2026-04-11 -->