Directory: launch-agent-skills/README.md

January 29, 2026 Β· View on GitHub

Launch Agent Skills

Learn Claude Skills: Teach AI to Follow Your Playbooks

πŸ“Ή YouTube Tutorial: Agent Skills Explained with Real Examples

πŸš€ X Post: Link
πŸ’» Related Repos: launch-rag | launch-agentic-rag | launch-mcp-demo
β˜•οΈ Buy me a coffee: Cafe Latte
πŸ€– Discord: Join our community


🎬 Video Story: What You'll Learn

This tutorial teaches you Claude Skills - a way to create reusable AI playbooks so you never have to re-explain the same instructions again.

The Journey

Part 1: The Problem (WhatsApp Example) You export a WhatsApp chat and want to:

  • Parse it into structured data
  • Get a summary of key decisions
  • Extract all action items

Without skills, you'd need to explain the format, edge cases, and expected output every single time.

Part 2: The Solution (Skills) Define the knowledge once in skill.md files, and Claude references them whenever needed.

We'll build:

  1. WhatsApp Parser - Extract messages into structured JSON
  2. Chat Summarizer - Generate executive summaries with key topics
  3. Action Extractor - Find all TODOs and action items

Part 3: Real-World Application (RAG Backend) Then we'll use skills to set up a production-ready FastAPI backend:

  • RAG Setup Skill - Clone and configure launch-rag or launch-agentic-rag
  • Database Skill - Set up Supabase with pgvector for vector search
  • Tools Skill - (Optional) Add Google Calendar/Gmail integration

From simple chat parsing to full AI backend - all using the same skill pattern.


🧠 Core Concepts

What Are Skills?

Skills are markdown files that teach Claude domain-specific knowledge. They follow a "progressive disclosure" pattern:

ComponentWhen LoadedPurpose
MetadataAlwaysName, description, trigger keywords
BodyOn demandDetailed instructions, step-by-step guide
ResourcesReferencedScripts, templates, examples

Skills vs MCP vs Subagents

ConceptWhat It DoesAnalogy
SkillsTeaches Claude HOW to do somethingA playbook or recipe
MCPConnects Claude to external data/toolsA key to the library
SubagentsSpawns specialized workers for subtasksA team of specialists

Key insight:

  • MCP = Access (can I read this file?)
  • Skills = Knowledge (how do I parse this format?)
  • Subagents = Orchestration (who handles what part?)

πŸ’‘ Note: This tutorial focuses on Skills. Subagents are typically implemented at the framework level (LangGraph, CrewAI) or through Claude's natural task decomposition. Skills provide the "playbooks" that any agent (main or sub) can use.


πŸ“ Repository Structure

launch-agent-skills/
β”œβ”€β”€ CLAUDE.md                          # Project instructions for Claude Code
β”œβ”€β”€ README.md                          # This file
β”‚
β”œβ”€β”€ skills/                            # 🎯 The Skills (main content)
β”‚   β”‚
β”‚   β”œβ”€β”€ whatsapp-parser/               # Part 1: WhatsApp Skills
β”‚   β”‚   └── skill.md                   # Parse WhatsApp chat exports
β”‚   β”œβ”€β”€ whatsapp-summarizer/
β”‚   β”‚   └── skill.md                   # Summarize conversations
β”‚   β”œβ”€β”€ whatsapp-action-extractor/
β”‚   β”‚   └── skill.md                   # Extract TODOs and action items
β”‚   β”‚
β”‚   β”œβ”€β”€ rag-setup/                     # Part 2: RAG Backend Skills
β”‚   β”‚   └── skill.md                   # FastAPI project setup (launch-rag/agentic-rag)
β”‚   β”œβ”€β”€ rag-database/
β”‚   β”‚   └── skill.md                   # Supabase + pgvector setup
β”‚   └── rag-tools/
β”‚       └── skill.md                   # Google Calendar/Gmail (optional)
β”‚
β”œβ”€β”€ examples/                          # Test data
β”‚   β”œβ”€β”€ sample-whatsapp-chat.txt       # Synthetic WhatsApp conversation
β”‚   └── expected-output.json           # Reference output
β”‚
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ export_to_google_docs.py       # Export analysis to Google Docs
β”‚   β”œβ”€β”€ requirements.txt               # Script dependencies
β”‚   └── README.md                      # Script setup and usage
β”‚
└── docs/
    β”œβ”€β”€ skill-anatomy.md               # Deep dive on skill structure
    └── mcp-vs-skills.md               # MCP vs Skills comparison

πŸ§ͺ Testing the Skills

πŸ“‹ See TESTING.md for detailed step-by-step testing guide with exact prompts and expected outcomes.

Quick Start

# Clone the repo
git clone https://github.com/ShenSeanChen/launch-agent-skills.git
cd launch-agent-skills

# Open in Claude Code
claude .

Sample Test Prompts

Try these prompts in Claude Code:

Part 1: WhatsApp Skills

1. Parse WhatsApp Export

Parse the WhatsApp chat in examples/sample-whatsapp-chat.txt

Expected: Structured JSON with participants, message count, and messages array.

2. Summarize Conversation

Summarize the WhatsApp chat in examples/sample-whatsapp-chat.txt

Expected: Executive summary, key topics discussed, decisions made, participant stats.

3. Extract Action Items

Extract all action items and TODOs from examples/sample-whatsapp-chat.txt

Expected: List of action items with assignees, deadlines, and priority levels.

4. Chain All WhatsApp Skills

Parse the sample WhatsApp chat, summarize it, and extract all action items

Expected: Claude uses all 3 skills in sequence for comprehensive analysis.

Part 2: RAG Backend Skills

5. Set Up FastAPI RAG Backend

Set up a FastAPI backend for my new AI agent project using launch-rag

Expected: Claude clones repo, sets up environment, installs dependencies, configures .env.

6. Configure Supabase Database

Set up Supabase with pgvector for my RAG application

Expected: Automated CLI setup with project creation, API keys, SQL migrations.

7. Add Agent Tools (Optional)

Set up Google Calendar and Gmail tools for my agentic RAG agent

Expected: Service account setup, API enablement, credentials configuration.

Sample Data Explanation

The examples/sample-whatsapp-chat.txt contains a synthetic B2B sales conversation (no real data) between:

  • Marcus Chen - Sales rep at DataFlow Analytics (SaaS analytics platform)
  • Jennifer Wu - Buyer at TechRetail (VP of Sales, potential customer)

The conversation includes:

  • Prospecting - LinkedIn connection, discovery of pain points
  • Needs analysis - Scaling from 12β†’40 reps, forecast accuracy problems
  • Solution pitch - Real-time analytics, AI forecasting ($3,500/month)
  • Multi-threading - Looping in Raj (Head of Sales Ops) for technical buy-in
  • Demo scheduling - Thursday 2pm PST with specific requirements
  • Objection handling - Security concerns (SOC 2, GDPR compliance)
  • Trial close - 30-day trial, board meeting alignment (Feb 20th)
  • Expansion discovery - Additional needs uncovered (SDR tracking)
  • Multiple action items: prepare security docs, custom demo, trial setup

Perfect for automanus.io use cases:

  • B2B sales teams managing deals over WhatsApp
  • Sales conversation tracking and action item extraction
  • Multi-stakeholder coordination and next steps
  • Discovery question analysis and pain point identification
  • Demo/meeting scheduling and follow-up tracking
  • Deal progression and timeline management

This gives you realistic B2B sales patterns to test all skills without any privacy concerns!


πŸ€– AI + Automation: How It Works Together

Claude (AI Skills) handles the smart stuff:

  • 🧠 Parsing WhatsApp chats with context understanding
  • πŸ’‘ Extracting action items intelligently (not just regex)
  • πŸ“Š Summarizing with business insights
  • 🎯 Identifying decision makers and buying signals
  • πŸ” Detecting sentiment and deal risk

Scripts (Automation) handle the integration:

  • πŸ“„ Exporting to Google Docs, Notion, PDFs
  • πŸ”— Syncing to CRMs (Salesforce, HubSpot)
  • πŸ“… Creating calendar reminders
  • πŸ’¬ Posting to Slack/Teams
  • πŸ”„ Batch processing and workflows

Example workflow:

# 1. Ask Claude to analyze (AI does the thinking)
"Analyze examples/sample-whatsapp-chat.txt and save as JSON"

# 2. Export to Google Docs (automation distributes results)
python scripts/export_to_google_docs.py examples/chat_analysis.json

# 3. Share with team
# Google Doc link β†’ ready to collaborate!

See scripts/README.md for setup instructions.


πŸ“ Skill File Anatomy

Every skill follows this structure:

---
name: Skill Name
description: One-line description
triggers:
  - keyword1
  - keyword2
---

# Skill Title

## Purpose
What this skill accomplishes.

## Instructions
Step-by-step guide for Claude to follow.

## Example
Input/output examples.

## Edge Cases
How to handle unusual situations.

## Related Skills
Links to complementary skills.

How Claude Discovers Skills

  1. Trigger keywords in metadata match user query
  2. CLAUDE.md project file tells Claude which skills exist
  3. Claude loads the relevant skill body on demand
  4. If multiple skills apply, Claude chains them

🎨 Visual Guide (Diagram Ideas)

Use these ASCII diagrams as references for creating Excalidraw visuals.

Diagram 1: Skills Progressive Disclosure

Shows how Claude loads skill components on-demand:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Progressive Disclosure                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                       β”‚
β”‚   β”‚    METADATA     β”‚ ◄── Always loaded (lightweight)       β”‚
β”‚   β”‚   - name        β”‚     Claude scans these to find        β”‚
β”‚   β”‚   - description β”‚     relevant skills                   β”‚
β”‚   β”‚   - triggers    β”‚                                       β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                       β”‚
β”‚            β”‚                                                β”‚
β”‚            β–Ό  (user query matches trigger keyword)          β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                       β”‚
β”‚   β”‚      BODY       β”‚ ◄── Loaded on demand (detailed)       β”‚
β”‚   β”‚  - instructions β”‚     Full step-by-step guide           β”‚
β”‚   β”‚  - examples     β”‚     loaded only when needed           β”‚
β”‚   β”‚  - edge cases   β”‚                                       β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                       β”‚
β”‚            β”‚                                                β”‚
β”‚            β–Ό  (if implementation needed)                    β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                       β”‚
β”‚   β”‚    RESOURCES    β”‚ ◄── Referenced (external files)       β”‚
β”‚   β”‚  - scripts      β”‚     Helper code, templates            β”‚
β”‚   β”‚  - templates    β”‚     loaded as needed                  β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                       β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Diagram 2: MCP vs Skills vs Subagents

Visual comparison showing what each concept provides:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               MCP vs Skills vs Subagents                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚      MCP      β”‚  β”‚    SKILLS     β”‚  β”‚   SUBAGENTS   β”‚   β”‚
β”‚  β”‚   (ACCESS)    β”‚  β”‚  (KNOWLEDGE)  β”‚  β”‚   (WORKERS)   β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚               β”‚  β”‚               β”‚  β”‚               β”‚   β”‚
β”‚  β”‚  "Can I read  β”‚  β”‚  "How do I    β”‚  β”‚  "Who does    β”‚   β”‚
β”‚  β”‚  this file?"  β”‚  β”‚  parse it?"   β”‚  β”‚  what task?"  β”‚   β”‚
β”‚  β”‚               β”‚  β”‚               β”‚  β”‚               β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚ β€’ File system β”‚  β”‚ β€’ skill.md    β”‚  β”‚ β€’ LangGraph   β”‚   β”‚
β”‚  β”‚ β€’ Supabase    β”‚  β”‚   files       β”‚  β”‚ β€’ CrewAI      β”‚   β”‚
β”‚  β”‚ β€’ Stripe API  β”‚  β”‚ β€’ Domain      β”‚  β”‚ β€’ Claude task β”‚   β”‚
β”‚  β”‚ β€’ GitHub      β”‚  β”‚   knowledge   β”‚  β”‚   breakdown   β”‚   β”‚
β”‚  β”‚ β€’ Notion      β”‚  β”‚ β€’ Playbooks   β”‚  β”‚               β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚          β”‚                  β”‚                  β”‚           β”‚
β”‚          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                             β”‚                              β”‚
β”‚                      β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”                       β”‚
β”‚                      β”‚   POWERFUL  β”‚                       β”‚
β”‚                      β”‚    AGENT    β”‚                       β”‚
β”‚                      β”‚             β”‚                       β”‚
β”‚                      β”‚ Access +    β”‚                       β”‚
β”‚                      β”‚ Knowledge + β”‚                       β”‚
β”‚                      β”‚ Workers     β”‚                       β”‚
β”‚                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Diagram 3: WhatsApp Analyzer Skill Chaining

Shows how multiple skills work together:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            WhatsApp Analyzer - Skill Chaining                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                              β”‚
β”‚  β”‚   User    β”‚  "Parse, summarize, and extract actions      β”‚
β”‚  β”‚   Query   β”‚   from my WhatsApp chat"                     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                                              β”‚
β”‚        β”‚                                                    β”‚
β”‚        β–Ό                                                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  WhatsApp   │──▢│    Chat     │──▢│   Action    β”‚       β”‚
β”‚  β”‚   Parser    β”‚   β”‚ Summarizer  β”‚   β”‚  Extractor  β”‚       β”‚
β”‚  β”‚   Skill     β”‚   β”‚   Skill     β”‚   β”‚   Skill     β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚         β”‚                 β”‚                 β”‚              β”‚
β”‚         β–Ό                 β–Ό                 β–Ό              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  Parsed   β”‚     β”‚  Summary  β”‚     β”‚  Action   β”‚        β”‚
β”‚  β”‚   JSON    β”‚     β”‚  Report   β”‚     β”‚   Items   β”‚        β”‚
β”‚  β”‚           β”‚     β”‚           β”‚     β”‚           β”‚        β”‚
β”‚  β”‚ β€’ 42 msgs β”‚     β”‚ β€’ Topics  β”‚     β”‚ β€’ 6 TODOs β”‚        β”‚
β”‚  β”‚ β€’ 3 users β”‚     β”‚ β€’ Decisionsβ”‚    β”‚ β€’ 2 high  β”‚        β”‚
β”‚  β”‚ β€’ 1 media β”‚     β”‚ β€’ Sentimentβ”‚    β”‚ β€’ owners  β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Diagram 4: Skill File Structure

Simple breakdown of a skill.md file:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     skill.md Structure                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  --- (YAML frontmatter) ─────────────────────┐              β”‚
β”‚  β”‚  name: WhatsApp Parser                    β”‚ METADATA     β”‚
β”‚  β”‚  description: Parse chat exports          β”‚ (always      β”‚
β”‚  β”‚  triggers:                                β”‚  loaded)     β”‚
β”‚  β”‚    - whatsapp                             β”‚              β”‚
β”‚  β”‚    - chat export                          β”‚              β”‚
β”‚  ---  β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
β”‚                                                             β”‚
β”‚  # WhatsApp Parser  ─────────────────────────┐              β”‚
β”‚                                              β”‚              β”‚
β”‚  ## Purpose                                  β”‚              β”‚
β”‚  Parse WhatsApp exports into JSON.           β”‚ BODY         β”‚
β”‚                                              β”‚ (loaded      β”‚
β”‚  ## Instructions                             β”‚  on demand)  β”‚
β”‚  1. Read the file                            β”‚              β”‚
β”‚  2. Parse with regex                         β”‚              β”‚
β”‚  3. Extract metadata                         β”‚              β”‚
β”‚                                              β”‚              β”‚
β”‚  ## Example                                  β”‚              β”‚
β”‚  Input: [28/01/2026, 09:15] Alice: Hi        β”‚              β”‚
β”‚  Output: { "sender": "Alice", ... }          β”‚              β”‚
β”‚                                              β”‚              β”‚
β”‚  ## Edge Cases                               β”‚              β”‚
β”‚  - Multi-line messages                       β”‚              β”‚
β”‚  - Media placeholders                        β”‚              β”‚
β”‚  β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Excalidraw Tips

When creating these in Excalidraw:

  • Use boxes with rounded corners for components
  • Use arrows to show flow/relationships
  • Use color coding:
    • 🟒 Green for Skills
    • πŸ”΅ Blue for MCP
    • 🟑 Yellow for User input
    • 🟣 Purple for Output
  • Keep text minimal - diagrams should be glanceable
  • Add icons where possible (πŸ“ files, πŸ”§ tools, πŸ‘€ user)

πŸ›  Creating Your Own Skills

Step 1: Create the folder

mkdir -p skills/my-skill
touch skills/my-skill/skill.md

Step 2: Write the skill

---
name: My Custom Skill
description: Does something specific
triggers:
  - my trigger
  - related keyword
---

# My Custom Skill

## Purpose
Explain what this skill does.

## Instructions
1. First, do this
2. Then, do that
3. Finally, return this format

## Example
Input: ...
Output: ...

Step 3: Update CLAUDE.md

Add your skill to the project instructions so Claude knows it exists.

Best Practices

DoDon't
Be specific about formatsLeave instructions vague
Include input/output examplesAssume Claude will figure it out
Handle edge cases explicitlyIgnore error scenarios
One skill = one capabilityCram everything into one skill


πŸ‘€ Connect


πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ for the developer community

Define once, use forever. That's the power of Agent Skills.