Agent skill

news-articles-rename

OCR and rename news article files (PDFs and images) by extracting the article headline from the content and using it as the filename. Targets the Vivien (PA)/News/ folder. Use this skill whenever the user asks to rename news articles, organise news clippings, process newspaper PDFs, extract article titles from scanned pages, or tidy up the News folder. Also trigger when the user mentions "rename articles", "news folder", "article titles", or "news clippings".

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/christopheryeo/claude-skills/tree/main/news-articles-rename

SKILL.md

News Articles Rename

Purpose

Newspaper articles saved as PDFs or images typically arrive with unhelpful filenames like Image 2026-02-25 15-52-38.pdf. This skill extracts the main headline from each file using OCR and renames it to Article Title.pdf — making the News folder instantly browsable.

Target Folder

The default target is always:

Vivien (PA)/News/

Supported File Types

Process any file with these extensions: .pdf, .png, .jpg, .jpeg

Skip hidden files (starting with .) and any file that doesn't match these extensions.

How It Works

Run the bundled script scripts/rename_articles.py which handles the full pipeline:

bash
python3 <skill-path>/scripts/rename_articles.py "<news-folder-path>"

The script will:

  1. Scan the folder for all supported files
  2. For each file, extract the first page as an image (300 DPI)
  3. Run Tesseract OCR on the image
  4. Identify the headline using heuristics (skip metadata, collect first substantial text block)
  5. Apply common OCR corrections (e.g. "Al" → "AI")
  6. Sanitise the headline for use as a filename
  7. Rename the file, handling duplicates by appending a number
  8. Print a summary table of old → new filenames

The script also handles mounted filesystem lock issues automatically by copying files to a temp directory for OCR processing when direct reads fail.

After Running

Present the results as a clear summary table showing what was renamed:

# Original Filename New Filename Status
1 Image 2026-02-25 15-52-38.pdf Headline Goes Here.pdf ✅ Renamed
2 Image 2026-02-25 15-53-03.pdf Another Article.pdf ✅ Renamed
3 some-file.png some-file.png ⚠️ No title found

Flag any files that couldn't be processed and explain why. Note that minor OCR artefacts in headlines (e.g. misread characters) are expected from Tesseract — only flag files where no headline could be extracted at all.

Important Notes

  • Always process every file in the folder. Do not leave any file out.
  • If OCR is uncertain about a headline, prefer keeping the original name over guessing wrong.
  • The script handles both single-page and multi-page PDFs — only the first page is used for title extraction.
  • For image files (.png, .jpg, .jpeg), OCR is run directly on the image.

Expand your agent's capabilities with these related and highly-rated skills.

christopheryeo/claude-skills

daily-journals

Manages markdown journal files in a Journals/ folder — creating new journal files, adding date-stamped entries, and deleting entries. A journal is a markdown file named with reverse-month and purpose (e.g., "2026-03 Activities.md") containing chronological entries grouped under reverse-date headers. Three operations: CREATE-JOURNAL, CREATE-ENTRY, DELETE-ENTRY. Use whenever the user says "create a journal", "new journal", "journal entry", "add to journal", "delete journal entry", "remove entry", "show journals", or mentions logging thoughts, activities, notes, or reflections into a dated journal format.

0 0
Explore
christopheryeo/claude-skills

daily-work

Full workday lifecycle with three sub-commands: START (morning enablement — email triage, calendar audit, Drive activity, news snapshot, workspace prep, executive brief; replaces set-up-workday), RECAP (end-of-day cross-reference of Calendar, Gmail, Drive, and all AI workforce Plans task logs into a comprehensive activity report in the work-day folder), and MINUTES (given a meeting title, find it in Calendar, search the work-day Drive folder for minutes, fall back to Gmail for transcript, then return a direct link). Use for "set up my workday", "start my day", "kick off today", "morning brief", "daily recap", "end of day", "wrap up the day", "what did I do today", "what happened today", "find the minutes", "meeting minutes for [title]", "where are the minutes", "get me the notes from [meeting]", "meeting transcript", or any workday activity review.

0 0
Explore
christopheryeo/claude-skills

daily-plans

Manages a daily task planning system using Plans/ in whatever folder is currently selected — creating plans, adding new tasks, executing tasks one-by-one, logging completed work, checking status, deleting tasks, and carrying forward incomplete items. Works from any mounted folder. Seven operations: CREATE, NEW, EXECUTE (one task per invocation), LOG, STATUS, DELETE (with auto-renumbering), CARRY-FORWARD. Use whenever the user says "plan my day", "create a plan", "new task", "add a task", "add task [X]", "execute the plan", "next task", "log task", "log that", "plan status", "what's the plan", "where are we", "carry forward", "carry over", "delete task", "remove task", "drop task", or provides a numbered task list. Do NOT trigger for "set up my workday", "what did I do today?", meeting prep, email drafting, or calendar searches.

0 0
Explore
christopheryeo/claude-skills

daily-calendars

Unified Google Calendar skill. Includes sub-commands: search (natural-language calendar search by day/date/week, title keywords, attendees, and attendee emails/domains); available (check if a specific date/time works respecting 10am-6pm weekday availability, lunch hours 12pm-2pm, 30-minute gaps between meetings, and a maximum of 3 meetings per day); and meeting (returns/validates the default definition of a typical meeting). Use when users ask to check their calendar, find meetings, search by participant, locate events by title, retrieve calendar briefings, verify availability for a specific time slot, or check whether a meeting matches the default meeting profile.

0 0
Explore
christopheryeo/claude-skills

daily-calendars

Unified Google Calendar skill. Includes sub-commands: search (natural-language calendar search by day/date/week, title keywords, attendees, and attendee emails/domains); available (check if a specific date/time works respecting 10am-6pm weekday availability, lunch hours 12pm-2pm, 30-minute gaps between meetings, and a maximum of 3 meetings per day); and meeting (returns/validates the default definition of a typical meeting). Use when users ask to check their calendar, find meetings, search by participant, locate events by title, retrieve calendar briefings, verify availability for a specific time slot, or check whether a meeting matches the default meeting profile.

0 0
Explore
christopheryeo/claude-skills

project-pulse-brief

Curate stakeholder-ready pulse briefs that summarize project portfolio updates, risks, and next steps.

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results