Agent skill
add-url
Add source URLs to workdesk/sources.md one-by-one with validation and duplication checking. Use when user provides links to add to the journal. Does NOT generate summaries.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/add-url
SKILL.md
Add URL to Gen AI Journal
This skill validates and adds URLs to workdesk/sources.md one-by-one. It performs duplication checking but does NOT generate summaries. Use the summarize-source skill separately for summary generation.
When to Use This Skill
Use this skill when the user:
- Provides URLs to add to the journal
- Says "add this link" or "add these URLs"
- Mentions "add to sources" or "gather these links"
- Provides article links for the weekly journal
Workflow Per URL
CRITICAL: Always ensure you're in the repository root directory before executing any commands.
cd /Users/shootani/Dropbox/github/gen-ai-journal
For each URL provided, execute these steps in sequence:
1. Validate and Check for Duplicates
uv run scripts/check_link.py "URL_HERE"
This script:
- Validates and sanitizes the URL (removes tracking parameters)
- Checks for duplicates in:
workdesk/sources.mdworkdesk/summaries/directory- Published journals (
journals/*/sources/*.md)
- Returns the sanitized URL if unique
If duplicate found: Report which file contains it and skip to next URL
If unique: Note the sanitized URL and proceed to step 2
2. Add to sources.md (Unchecked)
- Read
workdesk/sources.mdto determine the next available ID - Add the sanitized URL under "## Main List" section with unchecked checkbox:
markdown
- [ ] XXX. https://sanitized-url-here.com - Use Edit tool to insert the new entry
- IDs should be zero-padded 3-digit numbers (001, 002, etc.)
3. Report Progress
After processing each URL, report:
- Success: "✓ Added as ID XXX (unchecked, ready for summarization)"
- Duplicate: "✗ Skipped - duplicate found in [location]"
- Error: "✗ Failed - [error message]"
Batch Processing Strategy
When given multiple URLs:
- Process each URL completely before moving to next
- Create TodoWrite entries to track progress (e.g., "Add URLs 1-5", "Add URLs 6-10")
- Provide running count: "Added 3/10 URLs so far..."
- At the end, provide summary:
- Total URLs processed
- Successfully added (with ID range)
- Duplicates skipped
- Any errors
What This Skill Does NOT Do
- ❌ Does NOT generate summaries
- ❌ Does NOT mark URLs as checked/processed
- ❌ Does NOT call call-gemini.py or batch_summarize.py
Use the summarize-source skill after adding URLs to generate summaries.
Key Responsibilities
- URL Validation: Use check_link.py to validate and sanitize URLs
- Duplication Checking: Prevent adding duplicate URLs
- ID Management: Maintain sequential ID numbering
- File Organization: Add URLs under "## Main List" section with consistent formatting
- Progress Tracking: Use TodoWrite for batch operations
- Error Handling: Report failures clearly, continue with remaining URLs
Project Standards
- Use absolute paths when referencing files
- Maintain 2-space indentation for Markdown lists
- IDs must be zero-padded 3-digit numbers (001, 002, 003, etc.)
- All new entries start as unchecked
- [ ] - Documentation in English, journal content in Japanese
File Locations
- Sources list:
workdesk/sources.md - Validation script:
scripts/check_link.py - Workflow docs:
workflow/STEP_01_GATHER_SOURCES.md
Error Handling
- If URL validation fails, report the error and skip to next URL
- If duplicate found, report which file contains it
- If Edit operation fails, report and continue with remaining URLs
- Always complete the workflow for valid, unique URLs
Examples
User provides URLs:
Add these to the journal:
- https://example.com/ai-news
- https://github.com/blog/copilot
Skill activates and:
- ✓ Validates both URLs using check_link.py
- ✓ Checks for duplicates (none found)
- ✓ Adds to sources.md as 089 and 090 (unchecked)
- ✓ Reports: "Added 2 URLs (089-090). Use summarize-source skill to generate summaries."
Next step (separate):
User or skill invokes summarize-source skill to generate summaries for the unchecked URLs.
Programmatic Usage
For batch URL addition without interactive mode:
# NOT RECOMMENDED - Use the skill for one-by-one addition
# For bulk operations, manually edit sources.md or use the skill in a loop
This skill is optimized for interactive, one-by-one URL addition with immediate validation feedback.
Relationship to Other Skills
- After add-url: Use
summarize-sourceskill to generate summaries - Before add-url: URLs are typically gathered from various sources (RSS, newsletters, manual curation)
You are detail-oriented and systematic, ensuring each URL is validated and added with proper ID sequencing. You proactively identify duplicates and broken links, preventing issues downstream.
Didn't find tool you were looking for?