# URL Research to Documents

Download web articles and automatically create research documents in Mission Control.

## When to Use

Use this skill when:
- User provides a URL and wants it researched/summarized
- Task description contains a URL to research
- Creating research notes from web articles
- Building a knowledge base in Mission Control Documents

## Workflow

### Step 1: Extract Article Content

Use Tavily via mcporter to extract the full article:

```bash
mcporter call tavily.tavily_extract 'urls=["URL_HERE"]' extract_depth=advanced format=markdown
```

### Step 2: Create Document in Mission Control

Create a markdown document at:
**Location:** `/Users/mattbruce/Documents/Projects/OpenClaw/Web/mission-control/app/documents/page.tsx`

**Document Format:**
```markdown
# [Article Title from extracted content]

**URL:** [original URL]
**Source:** [domain name]
**Date Researched:** [YYYY-MM-DD]
**Tags:** [auto-generated based on content]

---

## Summary
[2-3 paragraph overview of the article content]

## Key Takeaways
- [Bullet point 1]
- [Bullet point 2]
- [Bullet point 3]

## Notable Quotes
> [Direct quote from article]

## Related Tasks
- [Link to Gantt task if this came from a task]

## Action Items
- [ ] [Any follow-up actions]
```

### Step 3: Save to Mission Control

The document is automatically saved via the Documents page's LocalStorage system.

## Folder Organization

**Default Folder:** `Research/`

**Sub-folders (auto-detect):**
- `Research/AI & Agents/` — AI, ML, OpenClaw, automation content
- `Research/iOS Development/` — Swift, Xcode, Apple content
- `Research/Business & Marketing/` — SaaS, indie hacking, growth
- `Research/Tools & Tech/` — Development tools, frameworks

**Auto-detection based on:**
- URL domain (twitter.com → social, github.com → code)
- Article content keywords
- Title analysis

## Examples

### Example 1: Research from User Request

**User:** "Research this: https://x.com/Voxyz_ai/status/2019914775061270747"

**Action:**
```bash
mcporter call tavily.tavily_extract 'urls=["https://x.com/Voxyz_ai/status/2019914775061270747"]' extract_depth=advanced
```

**Create Document:**
- **Title:** "I Built an AI Company with OpenClaw + Vercel + Supabase — Two Weeks Later, They Run It Themselves"
- **Folder:** Research/AI Agents/
- **Tags:** #ai #agents #openclaw #automation #voxyz

### Example 2: Research from Task Description

**Task:** "Research implementation details: https://github.com/openclaw/docs"

**Action:**
1. Extract content with Tavily
2. Create document in Research/Tools & Tech/
3. Update task with link to document
4. Move task to "review"

### Example 3: Batch Research

**User:** "Research these 3 articles about AI coding"

**Action:**
1. Extract all 3 URLs
2. Create 3 separate documents
3. Create summary index document linking all 3
4. Tag with #ai-coding-collection

## Document Naming Convention

**Use article title exactly as published:**
- ✅ "I Built an AI Company with OpenClaw..."
- ✅ "Swift 6.2: What's New for Developers"
- ✅ "The Ultimate Guide to CoreML"

**Do NOT modify titles** (as per user preference)

## Tags (Auto-Generated)

**Common tags to apply:**
- `#ai` — Artificial intelligence content
- `#agents` — AI agents, automation
- `#openclaw` — OpenClaw-related
- `#ios` — iOS development
- `#swift` — Swift programming
- `#business` — SaaS, entrepreneurship
- `#research` — All research documents
- `#article` — Web articles

**Detection keywords:**
- "agent", "automation", "workflow" → #agents
- "OpenClaw", "Claude", "AI" → #ai #openclaw
- "Swift", "iOS", "Xcode", "Apple" → #ios #swift
- "SaaS", "startup", "revenue" → #business

## Integration with Gantt Tasks

When research comes from a task:

1. Create the document
2. Add task link to document: `Task: https://gantt-board.twisteddevices.com/tasks/{task-id}`
3. Optionally update task description with document link
4. Move task to "review" status

## Error Handling

**If Tavily extraction fails:**
- Try `extract_depth=basic` instead of `advanced`
- Report failure to user with error details
- Suggest manual copy-paste as fallback

**If document creation fails:**
- Save to `/tmp/research-{timestamp}.md` as backup
- Report error to user
- Provide file path for manual recovery

## Rate Limits

- Tavily: ~1 request per second
- If rate limited, wait 10-15 seconds and retry
- Batch multiple URLs with 15-second delays between each

## Related Skills

- **tavily-web-research** — General Tavily usage guide
- Use together: This skill for document creation, tavily-web-research for extraction commands
