url-dump
The url-dump skill automatically captures URLs into a knowledge base by extracting page content, generating metadata like read time and key headings, and categorizing entries into knowledge booklets. Use this skill when users want to save links for later reference, bookmark web resources, or quickly add articles and web pages to their personal knowledge system without manual formatting or organization.
git clone --depth 1 https://github.com/huytieu/COG-second-brain /tmp/url-dump && cp -r /tmp/url-dump/.claude/skills/url-dump ~/.claude/skills/url-dumpSKILL.md
# COG URL Dump Skill ## Purpose Transform raw URLs into structured, insightful knowledge entries through intelligent content extraction, categorization, and integration with the user's knowledge base. Quick capture with automatic insight generation. ## When to Invoke - User shares a URL they want to save - User says "save this link", "bookmark this", "url dump", or "save for later" - User pastes a URL and wants to capture it - User wants to organize web resources into their knowledge base ## Agent Mode Awareness **Check `agent_mode` in `00-inbox/MY-PROFILE.md` frontmatter:** - If `agent_mode: team` — delegate content extraction, analysis, and categorization to a sub-agent while handling user interaction directly. The sub-agent fetches URL content, generates insights, and returns structured results for filing. - If `agent_mode: solo` (default) — handle everything directly in the conversation. No delegation. ## Pre-Flight Check **Before executing, check for user profile:** 1. Look for `00-inbox/MY-PROFILE.md` in the vault 2. If NOT found: ``` Welcome to COG! It looks like this is your first time. Before we start, let's quickly set up your profile (takes 2 minutes). Would you like to run onboarding first, or should I proceed with default settings? ``` 3. If found: - Read the profile to get user's interests and projects - Use interests to help with auto-categorization - Check for existing booklet categories in `05-knowledge/booklets/` ## Process Flow ### 1. User Interaction & Input Collection - Accept URL(s) from the user (single URL or batch) - Optionally accept user's quick note about why they're saving this - Accept any format: bare URL, markdown link, or with notes **Prompt:** ``` What URL(s) would you like to save? (You can paste one or more URLs, optionally with a note about why you're saving it) ``` ### 2. URL Validation & Fetch - Validate URL format - Check if URL is accessible - Detect duplicate URLs in existing knowledge base - Fetch the web page content #### Content Extraction Extract from the page: - **Page Title:** [extracted-title] - **Meta Description:** [if available] - **Author:** [if detected] - **Published Date:** [if detected] - **Word Count:** [estimated] - **Read Time:** [X minutes] - **Main Content:** [extracted body text] - **Key Headings:** [list of H1/H2s] ### 3. Category Selection **Default Categories:** - **Articles & Blogs:** Long-form content, tutorials, opinion pieces - **Tools & Resources:** Software, utilities, services, APIs - **Reference:** Documentation, specs, standards - **Research:** Papers, studies, academic content - **Inspiration:** Design, ideas, creative references - **Videos & Media:** YouTube, podcasts, multimedia - **News & Updates:** Industry news, announcements - **Project-Specific:** Related to a specific project (offer project list from MY-PROFILE.md) - **To Review:** Unsure, save for later categorization **Custom Categories:** - Check `05-knowledge/booklets/` for existing custom categories - Offer to create new category if needed **Auto-suggestion:** Based on content analysis, suggest the most likely category but let user confirm or change. ### 4. Content Analysis and Processing #### Phase 1: Content Classification Determine: - **Content Category:** [article|tool|reference|research|video|news|etc] - **Primary Topics:** [topic1, topic2, topic3] - **Tone:** [informative|opinion|tutorial|news|etc] - **Quality Assessment:** [high|medium|low] - **Credibility Indicators:** [author credentials, citations, etc] #### Phase 2: Insight Extraction Generate: - **Executive Summary:** [2-3 sentences] - **Key Insights:** 1. [Insight 1 with context] 2. [Insight 2 with context] 3. [Insight 3 with context] - **Notable Quotes:** [if any stand out] - **Action Items:** [practical takeaways] #### Phase 3: Relevance Assessment Analyze: - **User Interest Match:** [high|medium|low] - [which interests from profile] - **Project Relevance:** [project-name] - [why relevant] - **Knowledge Gap:** [yes|no] - [what gap it fills] - **Timeliness:** [evergreen|current|dated] - **Uniqueness:** [novel|common|duplicate-adjacent] #### Phase 4: Cross-Reference Identify connections to: - **Related Bookmarks:** [existing similar saves] - **Related Braindumps:** [if content connects] - **Related Projects:** [if applicable] - **Suggested Tags:** [tag1, tag2, tag3] ### 5. Generate Structured Output Create bookmark file with this structure: ```markdown --- type: "url-bookmark" category: "[category-name]" domain: "[source-domain.com]" date_saved: "YYYY-MM-DD" date_accessed: "YYYY-MM-DD HH:MM" url: "[original-url]" title: "[page-title]" author: "[author-if-available]" published: "[publish-date-if-available]" tags: ["#bookmark", "#category-tag", "#topic-tags"] relevance: "[high|medium|low]" status: "unread" related_projects: ["project1", "project2"] confidence: "[high|medium|low]" --- # [Title] ## Quick Summary [2-3 sentence summary of the content] ## Key Insights - **Insight 1:** [description with context] - **Insight 2:** [description with context] - **Insight 3:** [description with context] ## Why This Matters [Connection to user's interests/projects. What makes this worth saving?] ## User Note [Original user note if provided, otherwise omit section] ## Content Highlights [Key excerpts or quotes from the content - 200-400 words max] ## Practical Takeaways - [ ] [Action item 1 if applicable] 📅 [YYYY-MM-DD = date +1 week from today] - [ ] [Action item 2 if applicable] 📅 [YYYY-MM-DD = date +1 week from today] ## Related Knowledge - **Similar Bookmarks:** [[bookmark1]], [[bookmark2]] - **Connected Projects:** [[project1]] - **Related Notes:** [[note1]], [[note2]] ## Source Details | Field | Value | |-------|-------| | Domain | [domain] | | Author | [author or "Unknown"] | | Published | [date or "Unknown"] | | Word Count | [~X words] | | Read Time | [~X minutes] | ## Processing Notes - **Extracted:** [timestamp] - **Category
Update people profiles in 05-knowledge/people/ with new information from brief data, meetings, or Slack
Collect data from GitHub, Slack, Jira, Linear, or file system. Structured extraction only — no synthesis.
Execute pre-approved mutations — Jira transitions, Linear updates, API calls, build commands.
Read, write, and organize vault files. Metadata updates, file moves, profile updates.
Execute publishing operations — Slack, Confluence, Notion, webhooks. Receives final content and posts it.
Web research agent. Searches, fetches URLs, extracts facts and evidence. No synthesis — just structured findings.
Deep strategic research engine — decomposes questions into parallel research threads, spawns multiple agents, and synthesizes into actionable strategic analysis
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction