Customization
Before executing, check for user customizations at:
~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Parser/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the Parser skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **Parser** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
Parser
Parse any content into structured JSON with entity extraction and collision detection.
Workflow Routing
When executing a workflow, output this notification:
Running the **WorkflowName** workflow in the **Parser** skill to ACTION...
| Workflow |
Trigger |
File |
| ParseContent |
"parse this", "extract from URL" |
Workflows/ParseContent.md |
| BatchEntityExtractionGemini3 |
"batch extract", "Gemini extraction" |
Workflows/BatchEntityExtractionGemini3.md |
| CollisionDetection |
"check duplicates", "entity collision" |
Workflows/CollisionDetection.md |
| DetectContentType |
"what type is this", "auto-detect" |
Workflows/DetectContentType.md |
Content Type Workflows
| Workflow |
Trigger |
File |
| ExtractNewsletter |
"parse newsletter" |
Workflows/ExtractNewsletter.md |
| ExtractTwitter |
"parse tweet", "X thread" |
Workflows/ExtractTwitter.md |
| ExtractArticle |
"parse article", "web page" |
Workflows/ExtractArticle.md |
| ExtractYoutube |
"parse YouTube", "video transcript" |
Workflows/ExtractYoutube.md |
| ExtractPdf |
"parse PDF", "document" |
Workflows/ExtractPdf.md |
Security Workflows
| Workflow |
Trigger |
File |
| ExtractBrowserExtension |
"analyze extension", "browser extension security" |
Workflows/ExtractBrowserExtension.md |
Context Files
- EntitySystem.md - Entity extraction, GUIDs, collision detection reference
Core Paths
- Schema:
Schema/content-schema.json
- Entity Index:
entity-index.json
- Output:
Output/
Examples
Example 1: Parse YouTube video
User: "parse this YouTube video for the newsletter"
--> Invokes Youtube workflow
--> Extracts transcript via YouTube API
--> Identifies people, companies, topics mentioned
--> Returns structured JSON with entities and key insights
Example 2: Batch parse article URLs
User: "parse these 5 URLs into JSON for the database"
--> Invokes ParseContent workflow for each
--> Detects content type for each URL
--> Extracts entities with collision detection
--> Assigns GUIDs, checks for duplicates
--> Returns validated JSON per schema
Example 3: Check for duplicate content
User: "have I already parsed this article?"
--> Invokes CollisionDetection workflow
--> Checks URL against entity index
--> Returns existing content ID if found
--> Skips re-parsing, saves time
Quick Reference
- Schema Version: 1.0.0
- Output Format: JSON validated against
Schema/content-schema.json
- Entity Types: people, companies, links, sources, topics
- Deduplication: Via entity-index.json with UUID v4 GUIDs
1---2name: parser3description: Extract structured JSON from URLs, files, videos, PDFs with entity extraction and batch support. USE WHEN parse, extract, URL, transcript, entities, JSON, batch, content, YouTube, PDF, article, newsletter, Twitter, browser extension, collision detection, detect content type, extract article, extract newsletter, extract YouTube, extract PDF, parse content.4---56## Customization78**Before executing, check for user customizations at:**9`~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Parser/`1011If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.121314## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)1516**You MUST send this notification BEFORE doing anything else when this skill is invoked.**17181. **Send voice notification**:19 ```bash20 curl -s -X POST http://localhost:8888/notify \21 -H "Content-Type: application/json" \22 -d '{"message": "Running the WORKFLOWNAME workflow in the Parser skill to ACTION"}' \23 > /dev/null 2>&1 &24 ```25262. **Output text notification**:27 ```28 Running the **WorkflowName** workflow in the **Parser** skill to ACTION...29 ```3031**This is not optional. Execute this curl command immediately upon skill invocation.**3233# Parser3435Parse any content into structured JSON with entity extraction and collision detection.3637---383940## Workflow Routing4142**When executing a workflow, output this notification:**4344```45Running the **WorkflowName** workflow in the **Parser** skill to ACTION...46```4748| Workflow | Trigger | File |49|----------|---------|------|50| **ParseContent** | "parse this", "extract from URL" | `Workflows/ParseContent.md` |51| **BatchEntityExtractionGemini3** | "batch extract", "Gemini extraction" | `Workflows/BatchEntityExtractionGemini3.md` |52| **CollisionDetection** | "check duplicates", "entity collision" | `Workflows/CollisionDetection.md` |53| **DetectContentType** | "what type is this", "auto-detect" | `Workflows/DetectContentType.md` |5455### Content Type Workflows5657| Workflow | Trigger | File |58|----------|---------|------|59| **ExtractNewsletter** | "parse newsletter" | `Workflows/ExtractNewsletter.md` |60| **ExtractTwitter** | "parse tweet", "X thread" | `Workflows/ExtractTwitter.md` |61| **ExtractArticle** | "parse article", "web page" | `Workflows/ExtractArticle.md` |62| **ExtractYoutube** | "parse YouTube", "video transcript" | `Workflows/ExtractYoutube.md` |63| **ExtractPdf** | "parse PDF", "document" | `Workflows/ExtractPdf.md` |6465### Security Workflows6667| Workflow | Trigger | File |68|----------|---------|------|69| **ExtractBrowserExtension** | "analyze extension", "browser extension security" | `Workflows/ExtractBrowserExtension.md` |7071---7273## Context Files7475- **EntitySystem.md** - Entity extraction, GUIDs, collision detection reference7677---7879## Core Paths8081- **Schema:** `Schema/content-schema.json`82- **Entity Index:** `entity-index.json`83- **Output:** `Output/`8485---8687## Examples8889**Example 1: Parse YouTube video**90```91User: "parse this YouTube video for the newsletter"92--> Invokes Youtube workflow93--> Extracts transcript via YouTube API94--> Identifies people, companies, topics mentioned95--> Returns structured JSON with entities and key insights96```9798**Example 2: Batch parse article URLs**99```100User: "parse these 5 URLs into JSON for the database"101--> Invokes ParseContent workflow for each102--> Detects content type for each URL103--> Extracts entities with collision detection104--> Assigns GUIDs, checks for duplicates105--> Returns validated JSON per schema106```107108**Example 3: Check for duplicate content**109```110User: "have I already parsed this article?"111--> Invokes CollisionDetection workflow112--> Checks URL against entity index113--> Returns existing content ID if found114--> Skips re-parsing, saves time115```116117---118119## Quick Reference120121- **Schema Version:** 1.0.0122- **Output Format:** JSON validated against `Schema/content-schema.json`123- **Entity Types:** people, companies, links, sources, topics124- **Deduplication:** Via entity-index.json with UUID v4 GUIDs