Agent Skills: Daily Files

>

UncategorizedID: christopheryeo/claude-skills/daily-files

Install this agent skill to your local

pnpm dlx add-skill https://github.com/christopheryeo/claude-skills/tree/HEAD/daily-files

Skill Files

Browse the full folder contents for daily-files.

Download Skill

Loading file tree…

daily-files/SKILL.md

Skill Metadata

Name
daily-files
Description
>

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

# 📁 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

# 📁 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

# 📂 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:

# 📅 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):

# 📁 FOLDER CONTENTS
**Folder:** {folder name} | **Files:** 0

No files found in this folder.

If the folder itself is not found:

⚠️ 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 ✅.