Generate Claude AI skills from documentation, GitHub repos, or PDFs using Skill Seekers
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
description: "Generate Claude AI skills from documentation, GitHub repos, or PDFs using Skill Seekers"
allowed-tools: ["Bash(pip)", "Bash(skill-seekers)", "Bash(python3)", "Bash(which)", "Bash(ls)", "Bash(mkdir)", "Read"]
author: "Claude Command and Control"
version: "1.0"
---
# Create Skill
## Purpose
Generate production-ready Claude AI skills from documentation websites, GitHub repositories, or PDF files using [Skill Seekers](https://github.com/yusufkaraaslan/Skill_Seekers). Automatically outputs to `/INTEGRATION/incoming` for seamless integration with the existing workflow.
## Features
- 🌐 **Documentation Scraping** - Convert doc sites to skills (React, FastAPI, etc.)
- 🐙 **GitHub Integration** - Extract skills from repositories with AST parsing
- 📄 **PDF Processing** - Transform technical PDFs into structured skills
- ✨ **AI Enhancement** - Optional AI-powered skill refinement (`--enhance`)
- 🔄 **Auto-Integration** - Automatically runs `/integration-scan` after creation
- 📦 **Auto-Install** - Checks for and installs `skill-seekers` if missing
## Usage
### Documentation Website
```bash
/create-skill --url https://fastapi.tiangolo.com --name fastapi
/create-skill --url https://react.dev --name react --enhance
```
### GitHub Repository
```bash
/create-skill --github facebook/react
/create-skill --github anthropics/anthropic-sdk-python --enhance
```
### PDF Document
```bash
/create-skill --pdf /path/to/manual.pdf --name api-manual
/create-skill --pdf ~/Downloads/guide.pdf --name user-guide --enhance
```
### Using Config File (Advanced)
```bash
/create-skill --config configs/react.json
/create-skill --config https://raw.githubusercontent.com/.../config.json
```
## Parameters
| Parameter | Description | Required | Example |
|-----------|-------------|----------|---------|
| `--url` | Documentation website URL | Yes* | `https://fastapi.tiangolo.com` |
| `--name` | Skill name (used with --url or --pdf) | Yes* | `fastapi` |
| `--github` | GitHub repository (owner/repo) | Yes* | `facebook/react` |
| `--pdf` | Path to PDF file | Yes* | `/path/to/doc.pdf` |
| `--config` | Config file path or URL | Yes* | `configs/react.json` |
| `--enhance` | Run AI enhancement (improves quality) | No | (flag) |
*One of: `--url + --name`, `--github`, `--pdf + --name`, or `--config` is required.
## Workflow
### 1. Dependency Check
```bash
# Check if skill-seekers is installed
!which skill-seekers || python3 -m pip show skill-seekers
```
**If not installed:**
```bash
# Auto-install skill-seekers
!pip install skill-seekers
# Verify installation
!skill-seekers --version
```
Display:
```
🔧 Installing Skill Seekers...
✅ Skill Seekers v2.2.0 installed successfully
```
### 2. Determine Source Type
Based on parameters provided:
- `--url` → Documentation scraping
- `--github` → GitHub repository
- `--pdf` → PDF extraction
- `--config` → Custom configuration
### 3. Generate Skill
**For Documentation (`--url`):**
```bash
# Generate skill to default output/ directory
!skill-seekers scrape --url [URL] --name [NAME]
# Move to integration directory
!mv output/[NAME] INTEGRATION/incoming/[NAME]
```
**For GitHub (`--github`):**
```bash
# Extract repo name from owner/repo
REPO_NAME=$(echo [OWNER/REPO] | cut -d'/' -f2)
# Generate skill
!skill-seekers github --repo [OWNER/REPO]
# Move to integration directory
!mv output/$REPO_NAME INTEGRATION/incoming/$REPO_NAME
```
**For PDF (`--pdf`):**
```bash
# Generate skill from PDF
!skill-seekers pdf --file [PDF_PATH] --name [NAME]
# Move to integration directory
!mv output/[NAME] INTEGRATION/incoming/[NAME]
```
**For Config (`--config`):** *(Recommended for best results)*
```bash
# Generate from config file (local path or URL)
!skill-seekers scrape --config [CONFIG_PATH]
# Extract skill name from config JSON
SKILL_NAME=$(python3 -c "import json; print(json.load(open('[CONFIG_PATH]'))['name'])")
# Move to integration directory
!mv output/$SKILL_NAME INTEGRATION/incoming/$SKILL_NAME
```
**Why Config Files?**
- ✅ Better content extraction (100+ pages vs 1-10 pages with basic scraping)
- ✅ Automatic categorization (getting_started, path_operations, etc.)
- ✅ Custom URL patterns (include/exclude specific paths)
- ✅ Rate limiting control
- ✅ Selector customization for specific doc sites
**Example config locations:**
- User configs: `~/.skill-seekers/configs/[framework].json`
- Project configs: `configs/[framework].json`
- Remote configs: `https://raw.githubusercontent.com/.../config.json`
Display progress:
```
🚀 Generating skill: [NAME]
📥 Source: [URL/GitHub/PDF]
📂 Default output: output/[NAME]
📂 Moving to: INTEGRATION/incoming/[NAME]
⏳ This may take 5-15 minutes depending on source size...
```
### 4. Optional Enhancement
If `--enhance` flag provided:
```bash
# Enhance in default location before moving
!skill-seekers enhance output/[NAME]
```
Display:
```
✨ Enhancing skill with AI refinement...
⏳ This may take 2-3 additional minutes...
```
### 5. Move to Integration Directory
```bash
# Move completed skill to integration directory
!mv output/[NAME] INTEGRATION/incoming/[NAME]
```
Display:
```
📦 Moving skill to integration directory...
✅ Skill moved to: INTEGRATION/incoming/[NAME]
```
### 6. Verify Output
```bash
# Check skill structure
!ls -la INTEGRATION/incoming/[NAME]/
# Verify SKILL.md exists
!test -f INTEGRATION/incoming/[NAME]/SKILL.md && echo "✅ SKILL.md found"
```
Expected structure:
```
INTEGRATION/incoming/[NAME]/
├── SKILL.md # Main skill file (required)
├── knowledge/ # Extracted documentation
│ ├── section1.md
│ └── section2.md
├── examples/ # Code samples
│ └── usage.py
└── references/ # Source materials
└── sources.txt
```
### 7. Auto-Scan Integration
Automatically run `/integration-scan` to categorize the new skill:
```bash
# Invoke integration-scan command
@.claude/commands/integration-scan.md
```
Display:
```
🔍 Auto-scanning new skill for integration...
```
### 8. Final Summary
Display completion status:
```
╔═══════════════════════════════════════════════════╗
║ SKILL CREATION COMPLETED ║
╚═══════════════════════════════════════════════════╝
SKILL: [NAME]
SOURCE: [URL/GitHub/PDF]
OUTPUT: INTEGRATION/incoming/[NAME]
ENHANCED: [Yes/No]
FILES CREATED:
• SKILL.md ✓
• knowledge/ ([X] files) ✓
• examples/ ([X] files) ✓
• references/ ([X] files) ✓
INTEGRATION STATUS:
✅ Scanned and categorized by /integration-scan
📋 Report: /INTEGRATION/logs/scan-report-[timestamp].md
NEXT STEPS:
1. Review skill: INTEGRATION/incoming/[NAME]/SKILL.md
2. Run '/integration-process' to finalize integration
3. Test skill: "Use [NAME] skill to..."
Time: [X] minutes | Size: [X] MB | Quality: ✅ Ready
```
## Error Handling
### Installation Failures
```
❌ Failed to install skill-seekers
Reason: [error message]
Please install manually:
pip install skill-seekers
Then retry: /create-skill [your-parameters]
```
### Generation Failures
```
❌ Skill generation failed
Source: [URL/GitHub/PDF]
Error: [detailed error message]
Common fixes:
• Check URL is accessible
• Verify GitHub repo exists (public access)
• Ensure PDF file path is correct
• Try without --enhance flag first
Retry with debug: skill-seekers [command] --verbose
```
### Missing Output
```
⚠️ Skill generated but SKILL.md not found
Location: INTEGRATION/incoming/[NAME]
This may indicate:
• Incomplete generation
• Unexpected directory structure
Suggested actions:
1. Check manually: ls -la INTEGRATION/incoming/[NAME]
2. Review logs: skill-seekers --help
3. Re-run with fresh output directory
```
### Integration Scan Failures
```
⚠️ Skill created but auto-scan failed
Skill location: INTEGRATION/incoming/[NAME]
You can manually run integration scan:
/integration-scan
```
## Quality Checks
During generation, Skill Seekers performs:
- ✅ URL accessibility validation
- ✅ Content extraction and parsing
- ✅ Code language detection (Python, JS, TS, C++, etc.)
- ✅ Automatic categorization by topic
- ✅ SKILL.md format compliance
- ✅ Link validation
- ✅ Metadata extraction
If `--enhance` used:
- ✅ AI-powered content refinement
- ✅ Example code optimization
- ✅ Documentation clarity improvement
- ✅ Trigger condition enhancement
## Security Considerations
- **Safe Installation**: Auto-install uses `pip install` (standard package manager)
- **Read-Only Source Access**: Only reads from URLs/GitHub/PDFs, never modifies source
- **Sandboxed Output**: All generated files go to `/INTEGRATION/incoming` (quarantine area)
- **Validation Pipeline**: Skills must pass `/integration-scan` before final integration
- **Audit Trail**: All operations logged in scan reports
## Performance
| Source Type | Typical Time | Enhancement Time | Output Size |
|-------------|--------------|------------------|-------------|
| Small docs (10-20 pages) | 5-8 min | +2 min | 1-5 MB |
| Medium docs (50-100 pages) | 10-15 min | +3 min | 5-15 MB |
| GitHub repo (small) | 8-12 min | +2 min | 2-8 MB |
| GitHub repo (large) | 15-25 min | +4 min | 10-30 MB |
| PDF (technical manual) | 5-10 min | +2 min | 1-10 MB |
## Integration with Workflow
**Complete Pipeline**:
```
/create-skill → INTEGRATION/incoming/ → /integration-scan (auto)
↓
Review scan report
↓
/integration-process → Move to skills-templates/
↓
/integration-validate → Quality checks
↓
/integration-update-docs → Update README
↓
Production-ready skill ✅
```
## Examples
### Example 1: FastAPI Documentation (Config Approach - Recommended)
```bash
# Best approach: Use pre-configured config file
/create-skill --config ~/.skill-seekers/configs/fastapi.json
```
**Result**: Comprehensive FastAPI skill with:
- 102 pages of documentation extracted
- 7 categories (getting_started, path_operations, request_data, dependencies, security, database, other)
- 456 KB SKILL.md with 10+ examples
- 720 KB total reference documentation
**Time**: ~12 minutes
**Compare to basic URL approach**:
```bash
# Basic approach: Only captures 1 page (12 KB)
/create-skill --url https://fastapi.tiangolo.com --name fastapi
```
Config files provide 100x better content extraction!
### Example 2: React from GitHub
```bash
/create-skill --github facebook/react
```
**Result**: React skill with component patterns, hooks, lifecycle methods, AST-parsed API surface, and GitHub issues/PRs context.
**Time**: ~12 minutes
### Example 3: Custom API Manual
```bash
/create-skill --pdf ~/Documents/api-reference-v3.pdf --name company-api --enhance
```
**Result**: Structured skill from PDF with endpoints, authentication, examples, and enhanced clarity.
**Time**: ~14 minutes (10 min extraction + 4 min enhancement)
## Tips & Best Practices
### Choosing --enhance
- ✅ **Use --enhance** for:
- Public skills you'll share
- Complex technical documentation
- First-time generation of critical skills
- ⚠️ **Skip --enhance** for:
- Quick prototyping
- Well-structured sources (already high quality)
- Time-sensitive needs
### Naming Conventions
- Use lowercase kebab-case: `fastapi`, `react-hooks`, `company-api`
- Be descriptive but concise: `aws-lambda` not `amazon-web-services-lambda-functions`
- Match official project names when possible
### Source Selection
- **Config files** (RECOMMENDED): Best for comprehensive extraction with 100x better results
- Check `~/.skill-seekers/configs/` for pre-configured popular frameworks
- Create custom configs for complex documentation sites
- Provides categorization, URL filtering, and rate limiting
- **Documentation sites**: Use basic --url for simple sites or when no config exists
- Works best for sites with llms.txt or simple HTML structure
- May only capture 1-10 pages without proper configuration
- **GitHub repos**: Best for understanding implementation patterns and API structure
- Requires GitHub token to avoid rate limits (60/hour without)
- Large repos may take 15-25 minutes
- **PDFs**: Best for proprietary tools, legacy systems, internal documentation
### Using Config Files
**When to create a custom config:**
1. Documentation site has >50 pages
2. Site uses JavaScript navigation (SPA)
3. Need specific categorization (tutorials, API reference, guides)
4. Want to exclude certain sections (external links, deployment docs)
**Sample config structure:**
```json
{
"name": "framework-name",
"description": "Short description",
"base_url": "https://docs.example.com/",
"start_urls": ["https://docs.example.com/tutorial/"],
"url_patterns": {
"include": ["/tutorial/", "/api/"],
"exclude": ["/blog/", "/external/"]
},
"categories": {
"getting_started": ["intro", "tutorial"],
"api": ["api", "reference"]
},
"rate_limit": 0.5,
"max_pages": 250
}
```
### Pre-Generation Checklist
- [ ] Verify source is accessible (URL loads, GitHub repo is public, PDF exists)
- [ ] Check `/INTEGRATION/incoming` has space (~50-100 MB free recommended)
- [ ] Ensure `pip` has internet access for auto-install
- [ ] Clear previous failed attempts: `rm -rf INTEGRATION/incoming/[NAME]`
## Dependencies
- **Required**: Python 3.8+, pip
- **Auto-installed**: skill-seekers package
- **Optional**: OpenAI API key (for --enhance, can use local models)
## Troubleshooting
### "skill-seekers: command not found"
```bash
# Verify Python environment
python3 --version
# Install manually
pip install skill-seekers
# Verify
skill-seekers --version
```
### "No module named 'skill_seekers'"
```bash
# Wrong Python environment - check pip location
which pip
which python3
# Reinstall with correct pip
python3 -m pip install skill-seekers
```
### Large PDFs timing out
```bash
# Use Skill Seekers directly with custom timeout
skill-seekers pdf --file huge.pdf --name huge-manual --timeout 3600
```
### Enhancement requires API key
```bash
# Set OpenAI API key (if not already set)
export OPENAI_API_KEY="sk-..."
# Or skip enhancement for now
/create-skill --url https://example.com --name example
```
## Related Commands
- **`/integration-scan`** - Categorize incoming files (auto-run by this command)
- **`/integration-process`** - Move validated skills to final location
- **`/integration-validate`** - Run comprehensive quality checks
- **`/integration-update-docs`** - Update README with new skills
## Version History
- **1.0** (2025-12-26): Initial release
- Documentation, GitHub, and PDF support
- Auto-install capability
- AI enhancement option
- Auto-scan integration
- Comprehensive error handling
---
**Last Updated**: December 26, 2025
**Dependencies**: skill-seekers package, /INTEGRATION directory structure
**Integration**: Works seamlessly with integration pipeline commands
No comments yet. Be the first to comment!