AI Skill Generator
Generate comprehensive SKILL.md files from multiple web sources
Transform any topic into a comprehensive learning guide by automatically discovering, scraping, and synthesizing content from documentation, GitHub, StackOverflow, and blogs.
Quick Start
CLI
praisonai recipe run ai-skill-generator \
--var topic="react hooks"Python
from praisonai import recipe
result = recipe.run(
"ai-skill-generator",
input={"topic": "kubernetes pods"}
)
print(result.output)How It Works
- Source Discovery
AI-powered search finds 8 relevant URLs: – 2 documentation sources – 2 GitHub repositories – 2 StackOverflow Q&As – 2 blog tutorials
- Parallel Scraping
All 8 sources scraped simultaneously with type-specific extraction: – Docs → API references, examples – GitHub → Code patterns, implementations – StackOverflow → Problems, solutions – Blogs → Tutorials, explanations
- AI Synthesis
Content combined into SKILL.md format: – Quick Start – Core Concepts – Essential Patterns – Common Pitfalls
Source Types
Agents
Tool: identify_sources
Discovers 8 high-quality URLs
ScraperTool: scrape_source
Extracts content in parallel
SynthesizerModel: GPT-4o-mini
Creates SKILL.md output
Output Format
The generated SKILL-{topic}.md follows Anthropic’s format:
Quick Start
Get up and running in minutes with installation commands and basic examples.
Core Concepts
Essential knowledge everyone needs to understand the topic.
Essential Patterns
Common usage patterns with working code examples.
Common Pitfalls
Mistakes to avoid and how to fix them.
Configuration
stringThe topic to generate a skill guide for.
Examples: "react hooks", "kubernetes pods", "python decorators"
integerNumber of sources to find per type (docs, github, stackoverflow, blog).
integerMaximum parallel scraping workers.
Requirements
Environment Variables
export OPENAI_API_KEY="sk-..."Dependencies
The recipe uses built-in tools from praisonaiagents: – search_web – Multi-provider search – web_crawl – Content extraction
No additional packages required.
Example Output
Running with topic="react hooks" produces:
# React Hooks
> A comprehensive skill guide for React Hooks
---
## Quick Start
```bash
npm install reactimport { useState, useEffect } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}Core Concepts
Hooks let you use state and other React features without writing a class…
Essential Patterns
useState Pattern
const [state, setState] = useState(initialValue);useEffect Pattern
useEffect(() => {
// Side effect
return () => { /* cleanup */ };
}, [dependencies]);Common Pitfalls
❌ Don’t call hooks conditionally
// Wrong
if (condition) {
const [state, setState] = useState();
}✅ Always call at top level
// Correct
const [state, setState] = useState();
if (condition) {
// use state here
}Pipeline Details
| Stage | Agent | Tool | Output |
|---|---|---|---|
| Discover | source_finder | identify_sources | 8 URLs |
| Scrape | scraper (×8) | scrape_source | Content |
| Synthesize | synthesizer | — | SKILL.md |
Custom Tools
The recipe includes these custom tools in tools.py:
| Tool | Signature | Description |
|---|---|---|
identify_sources | (topic: str) -> List[Dict] | Find 8 URLs (2 per source type) |
scrape_source | (url: str, source_type: str) -> Dict | Scrape with type-specific extraction |
format_skill_md | (content: Dict) -> str | Format as SKILL.md |