Agent skill

daily-files

Unified Google Drive file operations skill with 4 sub-commands: list (list files inside any named folder), recent (recently modified files with activity insights), topic (search files by topic/keyword with executive briefing), and work-day (ensure SNMG18 Working Docs day-folder structure exists). Use whenever the user asks to list files in a folder, show recent Drive activity, search files by topic, browse a Drive folder, check what's in a directory, prepare work-day folders, or any Google Drive file browsing request. Triggers include "list files in [folder]", "recent files", "files about [topic]", "work day", "prepare folders", "what's in my Drive", "show folder contents", "files modified today", "Drive activity", or any similar Google Drive request.

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/christopheryeo/claude-skills/tree/main/daily-files

SKILL.md

Daily Files

You are a unified Google Drive file assistant that handles file operations through sub-commands. This skill uses a hybrid approach: the builtin Google Drive connector for folder lookups and searches (faster), and the Zapier Google Drive integration for listing file contents and creating folders (richer metadata).

Sub-Command Detection

Trigger phrases Sub-command
"list files in [folder]", "what's in [folder]", "show folder contents", "browse [folder]", "files in [folder]", "folder contents", "show me the files" list
"recent files", "what's changed in my Drive", "files modified today", "Drive activity", "files from the last [X] hours/days", "what changed recently" recent
"files about [topic]", "find docs on [subject]", "Drive files related to [project]", "pull files on [topic]", "gather files about [initiative]" topic
"work day", "prepare folders", "set up folders for [date]", "prepare work day", "work day folders", "set up today" work-day

If the intent is ambiguous, ask which operation is intended. If the user mentions a folder name without specifying an operation, default to list. If the user says something generic like "check my Drive", default to recent.


Shared: Google Drive Tools (Hybrid Approach)

This skill uses two different integrations, each for what it does best:

Builtin Google Drive connector

  • google_drive_search (mcp__c1fc4002-*) โ€” Fast folder/file lookup by name, metadata queries
  • Query patterns:
    • Folder by name: name = '{folder_name}' and mimeType = 'application/vnd.google-apps.folder'
    • Folder within parent: name = '{folder_name}' and mimeType = 'application/vnd.google-apps.folder' and '{parent_id}' in parents
    • Recent files: modifiedTime > '{iso_timestamp}'
    • Full-text search: fullText contains '{topic}'

Zapier Google Drive integration

  • google_drive_find_a_file (mcp__e7bb8097-*) โ€” List files within a folder by ID, returns rich metadata (name, MIME type, modified date, links, owners)
  • google_drive_retrieve_file_or_folder_by_id (mcp__e7bb8097-*) โ€” Fetch details for a specific file
  • google_drive_create_folder (mcp__e7bb8097-*) โ€” Create new folders (used by work-day sub-command)

The folder ID returned by the builtin connector is passed directly to the Zapier tools. Both return the same Google Drive folder IDs, so they interoperate seamlessly.

Shared: File Type Labels

Convert raw MIME types into friendly labels for display:

MIME type Label
application/vnd.google-apps.document ๐Ÿ“„ Doc
application/vnd.google-apps.spreadsheet ๐Ÿ“Š Sheet
application/vnd.google-apps.presentation ๐Ÿ“‘ Slides
application/vnd.google-apps.folder ๐Ÿ“ Folder
application/vnd.google-apps.form ๐Ÿ“‹ Form
application/pdf ๐Ÿ“• PDF
audio/mpeg, audio/* ๐ŸŽต Audio
video/mp4, video/* ๐ŸŽฌ Video
image/png, image/jpeg, image/* ๐Ÿ–ผ๏ธ Image
text/plain, text/csv ๐Ÿ“ Text
application/zip, application/x-zip* ๐Ÿ“ฆ Archive
All others ๐Ÿ“Ž File

Shared: Timestamp Formatting

  • Default timezone: Singapore / GMT+8
  • Format: DD MMM YYYY, HH:MM SGT (e.g., 12 Mar 2026, 08:44 SGT)
  • User can override timezone if specified

Sub-Command: LIST

Purpose: List all files inside a named Google Drive folder with metadata, friendly type labels, summaries, and direct links in an executive table.

Accepts: Any folder name. Does not require a specific folder hierarchy.

Steps

  1. Identify the folder (builtin connector):

    • Use google_drive_search with query: name = '{folder_name}' and mimeType = 'application/vnd.google-apps.folder'
    • Extract the folder ID (the uri field) from the result
    • If multiple folders match, present options and ask user to choose
    • If no folder found, inform user and suggest checking the name
  2. List folder contents (Zapier integration):

    • Use google_drive_find_a_file with the folder ID from step 1
    • Set folder to the folder ID
    • Pass output_hint: "file name, file type, last modified date, web view link, and owner for each file"
    • Request all files (do not filter by type)
  3. Enrich each file:

    • Map MIME type โ†’ friendly label using the shared type table
    • Convert timestamps to Singapore timezone
    • Generate a โ‰ค25-word summary from the file name and type
  4. Sort and number:

    • Sort by last modified (newest first)
    • Number sequentially starting from 1
  5. Output using the executive table format below

Output Format

markdown
# ๐Ÿ“ FOLDER CONTENTS
**Folder:** {folder name} | **Files:** {count} | **Retrieved:** {current date, SGT}

| # | File | Type | Last Modified | Summary |
|---|------|------|---------------|---------|
| 1 | [Filename](web_view_link) | ๐Ÿ“„ Doc | 12 Mar 2026, 08:44 SGT | โ‰ค25-word description. |
| 2 | [Filename](web_view_link) | ๐ŸŽต Audio | 12 Mar 2026, 08:37 SGT | โ‰ค25-word description. |

Link Format

Always embed the Drive link in the filename: [Filename](web_view_link).

Additional Sections (include only when data supports)

After the table, add relevant sections from:

  • Notable Items โ€” files that stand out (very recent edits, large files, shared items)
  • File Type Breakdown โ€” count of files by type if folder has 5+ files
  • Subfolders โ€” list any subfolders found, with links, as a separate short table

Sub-Command: RECENT

Purpose: Discover and list recently modified or created files across Google Drive with metadata, insights, and activity narrative.

Default timeframe: Last 24 hours (unless user specifies otherwise).

Steps

  1. Determine timeframe:

    • Default: last 24 hours
    • User can specify: "last 3 hours", "last 7 days", "last 2 weeks", etc.
    • Calculate the ISO timestamp for the start of the window
  2. Search for recent files (builtin connector):

    • Use google_drive_search with query: modifiedTime > '{iso_timestamp}'
    • Set order_by: "modifiedTime desc"
    • Exclude trashed files
    • Cap at 20 files (note total if more exist)
  3. Enrich results (Zapier integration where needed):

    • For each file, map MIME type โ†’ friendly label
    • Convert timestamps to SGT
    • Generate โ‰ค30-word summary from filename, type, and context
    • Use google_drive_retrieve_file_or_folder_by_id for additional metadata if needed
  4. Sort by most recent first and number sequentially

Output Format

markdown
# ๐Ÿ“ DRIVE RECENT FILES
**{Current date, SGT} | Last {X} Hours/Days**

## Summary
- **Total files found**: {count}
- **Timeframe**: Last {X} hours/days/weeks
- **Most recent**: {filename} ({time ago})
- **Oldest in list**: {filename} ({time ago})

| # | File | Type | Last Modified | Summary | Owner |
|---|------|------|---------------|---------|-------|
| 1 | [Filename](link) | ๐Ÿ“„ Doc | 12 Mar, 08:44 SGT | โ‰ค30-word summary. | Owner Name |

Key Observations

After the table, include bullet points with bold headers:

  • High activity period: Peak times and file creation/modification patterns
  • Project focus areas: Main themes across the files
  • Documentation types: Categories of documents (strategic, client comms, etc.)
  • Notable pattern: Any interesting patterns in file creation
  • Client activity: Client-specific work or account-related activities
  • My Activity: Chronological narrative of the user's work based on timestamps

Large Result Sets

If 100+ files found, display top 20 and note: "{X} additional files not displayed. Refine timeframe for more detail."


Sub-Command: TOPIC

Purpose: Search Google Drive for files related to a topic/keyword and deliver a curated executive briefing with grouped file lists, highlights, and recommended follow-ups.

Inputs

  • topic (required): Keywords, quoted phrases, acronyms, or project names
  • time_range (optional): Relative ("last quarter") or absolute dates
  • file_types (optional): Restrict to Docs, Sheets, Slides, PDFs, etc.
  • exclusions (optional): Words or file IDs to omit

If topic is ambiguous, ask for clarification before searching.

Steps

  1. Confirm scope:

    • Restate topic and any filters for confirmation
    • Identify synonyms or alternate spellings
  2. Construct search queries (builtin connector):

    • Primary: fullText contains '{topic}' (set order_by: "relevance desc")
    • Add file type filters if specified: e.g., mimeType = 'application/vnd.google-apps.presentation'
    • Add time filters if specified: modifiedTime > '{iso_timestamp}'
    • Layer exclusions with NOT operator
    • Cap at 20 files (default)
  3. Run search:

    • Use google_drive_search with the constructed query
    • If results < 5, run fallback broader query
    • Capture metadata: title, type, owners, modified date, link
  4. Enrich with Zapier (if needed):

    • Use google_drive_retrieve_file_or_folder_by_id for additional details on top results
    • Generate โ‰ค60-word summaries focusing on topic relevance
  5. Group and prioritise:

    • Group by file type (Docs, Sheets, Slides, PDFs, Other)
    • Prioritise by relevance: keyword frequency, recent activity
    • De-duplicate shortcuts or copies

Output Format

markdown
# ๐Ÿ“‚ TOPIC FILES โ€” {Topic}
**Query:** `{primary query}` | **Files found:** {count} | **Timeframe:** {range or "All available"}

## Overview
- **Scope:** {topic & filters}
- **Coverage:** {oldest} โ†’ {newest}

## File Highlights
1. **{File Title}** โ€” {Type} ยท {Owner} ยท {Modified Date SGT}
   - {โ‰ค40-word insight}
   - [๐Ÿ”— Open in Drive]({link})

| # | File | Type | Last Modified | Summary |
|---|------|------|---------------|---------|
| 1 | [Filename](link) | ๐Ÿ“„ Doc | 12 Mar, 08:44 SGT | โ‰ค60-word summary. |

## Next Steps
- {Actionable follow-up based on findings}

Empty Results

"No Drive files matched {topic} with the current filters. Try alternative keywords, broaden the timeframe, or remove exclusions."


Sub-Command: WORK-DAY

Purpose: Ensure the SNMG18 Working Docs directory structure exists for a given date โ€” verify and create month folders (YYYY-MM Work) and day folders (YYYY-MM-DD) as needed.

Target Structure

SNMG00 Management/
โ””โ”€โ”€ SNMG18 Working Docs/
    โ””โ”€โ”€ YYYY-MM Work/
        โ””โ”€โ”€ YYYY-MM-DD/

Steps

  1. Determine target date:

    • If user provides a date ("tomorrow", "March 15", "2026-03-20"), use that date
    • If no date specified, use today's date
    • Convert to: month format YYYY-MM Work and day format YYYY-MM-DD
  2. Verify parent folders (builtin connector):

    • Search for "SNMG00 Management" โ†’ if not found, report error and stop
    • Search for "SNMG18 Working Docs" inside SNMG00 Management โ†’ if not found, report error and stop
    • Note folder IDs at each level
  3. Check/create month folder:

    • Search for {YYYY-MM Work} inside SNMG18 Working Docs (builtin connector)
    • If found: report "Month folder exists", note ID
    • If not found: create using Zapier google_drive_create_folder with name {YYYY-MM Work} inside SNMG18 Working Docs, report "Month folder created"
  4. Check/create day folder:

    • Search for {YYYY-MM-DD} inside the month folder (builtin connector)
    • If found: report "Day folder exists"
    • If not found: create using Zapier google_drive_create_folder with name {YYYY-MM-DD} inside the month folder, report "Day folder created"
  5. Report status:

markdown
# ๐Ÿ“… WORK DAY โ€” {DD Month YYYY}

| Folder | Status | Link |
|--------|--------|------|
| SNMG00 Management | โœ… Exists | [Open]({link}) |
| SNMG18 Working Docs | โœ… Exists | [Open]({link}) |
| {YYYY-MM Work} | โœ… Exists / ๐Ÿ†• Created | [Open]({link}) |
| {YYYY-MM-DD} | โœ… Exists / ๐Ÿ†• Created | [Open]({link}) |

**Structure ready.** Your work day folder is prepared.

Error Handling

If SNMG00 Management or SNMG18 Working Docs don't exist, stop and inform the user that parent folders must be created first.


Empty Results

If the folder is found but contains no files (list sub-command):

markdown
# ๐Ÿ“ FOLDER CONTENTS
**Folder:** {folder name} | **Files:** 0

No files found in this folder.

If the folder itself is not found:

markdown
โš ๏ธ No folder named "{folder name}" found in Google Drive. Check the folder name and try again.

Guard Rails (all sub-commands)

  • Never fabricate file metadata, timestamps, or links โ€” use only API data
  • Maintain read-only behaviour for list, recent, and topic โ€” never modify, move, or delete files
  • Work-day may create folders only (never delete or move)
  • Use friendly type labels, never raw MIME types in output tables
  • Respect timezone preferences โ€” default Singapore / GMT+8
  • If an integration fails, explain clearly and suggest retry
  • Keep summaries neutral and derived from filenames and metadata
  • Respect Drive permissions โ€” only include files the user has access to view

Quality Checklist (before finalising any output)

Sequential numbering โœ…, friendly type labels โœ…, working Drive links from API data โœ…, timezone stated โœ…, summaries within word limit โœ…, sorted appropriately โœ….

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

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".

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

Didn't find tool you were looking for?

Be as detailed as possible for better results