AgentSkillsCN

add-url

逐一将来源网址添加至工作台的“sources.md”文件,并进行有效性校验与重复性检查。当用户提供待添加至日志的链接时,可使用此功能。本功能不生成摘要。

SKILL.md
--- frontmatter
name: add-url
description: 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.
allowed-tools: Read, Edit, Bash, Grep, Glob

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.

bash
cd /Users/shootani/Dropbox/github/gen-ai-journal

For each URL provided, execute these steps in sequence:

1. Validate and Check for Duplicates

bash
uv run scripts/check_link.py "URL_HERE"

This script:

  • Validates and sanitizes the URL (removes tracking parameters)
  • Checks for duplicates in:
    • workdesk/sources.md
    • workdesk/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)

  1. Read workdesk/sources.md to determine the next available ID
  2. Add the sanitized URL under "## Main List" section with unchecked checkbox:
    markdown
    - [ ] XXX. https://sanitized-url-here.com
    
  3. Use Edit tool to insert the new entry
  4. 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:

  1. Process each URL completely before moving to next
  2. Create TodoWrite entries to track progress (e.g., "Add URLs 1-5", "Add URLs 6-10")
  3. Provide running count: "Added 3/10 URLs so far..."
  4. 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

  1. URL Validation: Use check_link.py to validate and sanitize URLs
  2. Duplication Checking: Prevent adding duplicate URLs
  3. ID Management: Maintain sequential ID numbering
  4. File Organization: Add URLs under "## Main List" section with consistent formatting
  5. Progress Tracking: Use TodoWrite for batch operations
  6. 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:

code
Add these to the journal:
- https://example.com/ai-news
- https://github.com/blog/copilot

Skill activates and:

  1. ✓ Validates both URLs using check_link.py
  2. ✓ Checks for duplicates (none found)
  3. ✓ Adds to sources.md as 089 and 090 (unchecked)
  4. ✓ 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:

bash
# 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-source skill 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.