Awesome-omni-skill canifi-skill-generator
Self-evolving skill that enables Canifi to create, install, and manage new skills autonomously
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/canifi-skill-generator" ~/.claude/skills/diegosouzapw-awesome-omni-skill-canifi-skill-generator && rm -rf "$T"
skills/development/canifi-skill-generator/SKILL.mdCanifi Skill Generator
Overview
The Skill Generator is a meta-skill that enables Canifi to create new skills for itself and automatically install them to the global skills directory. This transforms Canifi from a static assistant into a self-evolving system that can expand its own capabilities on demand.
Why This Skill is Required:
- Enables Canifi to learn new workflows without manual skill creation
- Allows real-time capability expansion during conversations
- Creates a feedback loop where Canifi improves itself over time
- Reduces dependency on pre-built skills for niche use cases
Privacy & Authentication
Your credentials, your choice. Canifi LifeOS respects your privacy.
Option 1: Manual Browser Login (Recommended)
If you prefer not to share credentials with Claude Code:
- Complete the Browser Automation Setup using CDP mode
- Login to the service manually in the Playwright-controlled Chrome window
- Claude will use your authenticated session without ever seeing your password
Option 2: Environment Variables
If you're comfortable sharing credentials, you can store them locally:
canifi-env set SERVICE_EMAIL "your-email" canifi-env set SERVICE_PASSWORD "your-password"
Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
Global Skills Directory
Skills are installed to:
~/.claude/skills/
Each skill lives in its own directory:
~/.claude/skills/ ├── canifi/ │ └── SKILL.md ├── canifi-skill-generator/ │ └── SKILL.md ├── my-new-skill/ │ └── SKILL.md └── ...
Capabilities
1. Create New Skills on Demand
When a user requests a capability that doesn't exist, or when Canifi identifies a repeated pattern that could be automated:
User: "I need to interact with Airtable regularly" Canifi: "I don't have an Airtable skill yet. Would you like me to create one?" User: "Yes, please" Canifi: [Creates and installs airtable skill]
2. Auto-Generate Skills from Patterns
When Canifi notices it's performing the same complex workflow repeatedly:
Canifi: "I've noticed we've done this Slack → Notion workflow 5 times. Should I create a skill for this so it's faster next time?"
3. Modify Existing Skills
Update skills based on user feedback or changed requirements:
User: "The github skill should also support GitLab" Canifi: [Updates the skill to support both platforms]
4. Research-Driven Skill Creation
For unfamiliar services, Canifi can:
- Research the service's API/documentation
- Identify common use cases
- Generate a comprehensive skill
- Test basic functionality
- Install and activate
Skill Template
When generating a new skill, use this template structure:
--- name: {skill-id} description: {One-line description} category: {category} version: 1.0.0 author: Canifi LifeOS (Auto-Generated) --- # {Skill Name} ## Overview {2-3 sentence description of what this skill does and why it's useful} --- ## Privacy & Authentication **Your credentials, your choice.** Canifi LifeOS respects your privacy. ### Option 1: Manual Browser Login (Recommended) If you prefer not to share credentials with Claude Code: 1. Complete the [Browser Automation Setup](/setup/automation) using CDP mode 2. Login to {SERVICE_NAME} manually in the Playwright-controlled Chrome window 3. Claude will use your authenticated session without ever seeing your password ### Option 2: Environment Variables If you're comfortable sharing credentials: ```bash canifi-env set {SERVICE}_EMAIL "your-email" canifi-env set {SERVICE}_PASSWORD "your-password" # OR for API-based services: canifi-env set {SERVICE}_API_KEY "your-api-key"
Note: Credentials stored in canifi-env are only accessible locally on your machine.
Setup
{Required setup steps, environment variables, API keys, etc.}
Capabilities
{List of what this skill enables}
Usage Examples
{Common use case examples}
Workflow
{Step-by-step workflow when using this skill}
Troubleshooting
{Common issues and solutions}
--- ## Skill Generation Workflow ### Step 1: Identify Need Triggers for skill creation: - User explicitly requests a new capability - User asks about a service Canifi doesn't have a skill for - Canifi identifies a repeated manual workflow - User shares API documentation or service details ### Step 2: Research (if needed) For unfamiliar services: 1. Use Gemini Deep Research via Playwright MCP 2. Find official API documentation 3. Identify authentication methods 4. Discover common use cases 5. Note any rate limits or restrictions ### Step 3: Generate Skill Content Create the SKILL.md file with: - Accurate metadata (name, description, category) - Clear setup instructions - Privacy & Authentication section (REQUIRED) - Comprehensive capabilities list - Practical usage examples - Troubleshooting guidance ### Step 4: Install Skill ```bash # Create skill directory mkdir -p ~/.claude/skills/{skill-id} # Write SKILL.md cat > ~/.claude/skills/{skill-id}/SKILL.md << 'EOF' {skill content} EOF
Step 5: Verify Installation
# Check skill exists ls -la ~/.claude/skills/{skill-id}/ # Verify content cat ~/.claude/skills/{skill-id}/SKILL.md
Step 6: Confirm to User
Skill "{skill-name}" has been created and installed. Location: ~/.claude/skills/{skill-id}/SKILL.md Category: {category} You can now use this skill by {activation instructions}. Would you like me to demonstrate it?
Category Reference
Use these categories when generating skills:
| Category | Description | Examples |
|---|---|---|
| Task management, notes, organization | Notion, Todoist, Obsidian |
| Messaging, email, social | Slack, Discord, Gmail |
| Code, CI/CD, repositories | GitHub, GitLab, Vercel |
| Workflows, integrations | Zapier, Make, n8n |
| Databases, analytics, storage | Airtable, Supabase, S3 |
| AI services, ML platforms | OpenAI, Anthropic, HuggingFace |
| Banking, payments, crypto | Stripe, Plaid, Coinbase |
| Images, video, audio | Figma, YouTube, Spotify |
| Fitness, wellness, medical | Apple Health, Oura, Whoop |
| IoT, home automation | HomeKit, SmartThings, IFTTT |
| Booking, maps, transport | Google Maps, Uber, Airbnb |
| Learning, courses, research | Coursera, Anki, Zotero |
| E-commerce, deals, inventory | Amazon, Shopify, eBay |
| Games, streaming, communities | Steam, Twitch, Discord |
| Auth, passwords, privacy | 1Password, Authy, VPNs |
Auto-Generation Triggers
Canifi should proactively offer to create skills when:
Explicit Requests
- "Can you help me with [Service]?"
- "I need to integrate [Platform]"
- "How do I automate [Workflow]?"
Implicit Patterns
- User mentions a service 3+ times in conversation
- User describes a multi-step workflow manually
- User asks "Is there a skill for...?"
Capability Gaps
- When Canifi says "I don't have direct access to..."
- When a task requires manual user intervention
- When existing skills don't cover a use case
Example: Creating a Skill
User Request
"I want Canifi to help me manage my Todoist tasks"
Canifi Response
I don't have a Todoist skill yet. Let me create one for you. [Researching Todoist API and best practices...] [Generating skill content...] [Installing to ~/.claude/skills/todoist/] Done! I've created and installed the Todoist skill. **Capabilities:** - List tasks and projects - Create new tasks with due dates - Complete/uncomplete tasks - Organize tasks into projects - Set priorities and labels **Setup Required:** You'll need to get a Todoist API token from: https://todoist.com/app/settings/integrations/developer Then set it with: ```bash canifi-env set TODOIST_API_KEY "your-token-here"
Would you like me to demonstrate by listing your current tasks?
--- ## Skill Quality Guidelines When generating skills, ensure: ### 1. Completeness - All sections from template are included - Privacy & Authentication section is ALWAYS present - Setup steps are clear and actionable - Examples cover common use cases ### 2. Accuracy - API endpoints and methods are correct - Authentication flows match service requirements - Rate limits and restrictions are noted - Error handling is addressed ### 3. Usability - Instructions are beginner-friendly - Commands can be copy-pasted - Examples show expected outputs - Troubleshooting covers common issues ### 4. Safety - Never hardcode credentials - Always use environment variables - Include privacy warnings where appropriate - Note any data handling considerations --- ## Managing Installed Skills ### List All Skills ```bash ls ~/.claude/skills/
View Skill Content
cat ~/.claude/skills/{skill-id}/SKILL.md
Update a Skill
# Edit directly or regenerate cat > ~/.claude/skills/{skill-id}/SKILL.md << 'EOF' {updated content} EOF
Remove a Skill
rm -rf ~/.claude/skills/{skill-id}
Troubleshooting
Skill Not Recognized
- Verify the skill directory exists:
ls ~/.claude/skills/{skill-id}/ - Check SKILL.md has correct frontmatter with
fieldname - Restart Claude Code to reload skills
Permission Errors
- Ensure write access:
chmod -R u+w ~/.claude/skills/ - Check directory ownership:
ls -la ~/.claude/
Skill Not Working
- Verify all required environment variables are set
- Check service API is accessible
- Review troubleshooting section of the specific skill
Universal Rules for Generated Skills
- Privacy First - Always include Privacy & Authentication section
- Never Hardcode - All credentials use environment variables
- Clear Setup - Users should be able to follow setup without confusion
- Practical Examples - Show real use cases, not abstract concepts
- Error Guidance - Include troubleshooting for common issues
- Version Track - Include version in metadata for updates
- Attribution - Mark auto-generated skills with
author: Canifi LifeOS (Auto-Generated)