files

Installation
SKILL.md

Google Drive Files

Use this managed skill when the user wants to create folders, upload files, inspect file metadata, or share files created or uploaded through Shift in Google Drive.

This skill uses Shift's local Skill Router. Do not ask the user to paste Google credentials into chat.

Invocation

Base URL:

SHIFT_LOCAL_GATEWAY

Endpoint:

POST /skill-router/invoke

Request body to list files created or uploaded through Shift:

{
  "skillProvider": "google-drive",
  "skill": "files",
  "action": "list",
  "input": {
    "query": "mimeType = 'application/vnd.google-apps.folder'",
    "pageSize": 10,
    "orderBy": "modifiedTime desc"
  }
}

Request body to get file details for a Shift-created or Shift-uploaded file:

{
  "skillProvider": "google-drive",
  "skill": "files",
  "action": "get",
  "input": {
    "fileId": "1AbCdEfGhIjKlMnOp"
  }
}

Request body to create a folder:

{
  "skillProvider": "google-drive",
  "skill": "files",
  "action": "create-folder",
  "input": {
    "name": "Launch assets",
    "parentIds": ["1AbCdEfGhIjKlMnOp"]
  }
}

Request body to upload a local file:

{
  "skillProvider": "google-drive",
  "skill": "files",
  "action": "upload",
  "input": {
    "filePath": "/tmp/launch.html",
    "name": "launch.html",
    "mimeType": "text/html",
    "parentIds": ["1AbCdEfGhIjKlMnOp"],
    "description": "Launch page draft"
  }
}

Precompiled code-skill helper for uploading raw content:

node dist/index.js '{
  "operation": "upload-content",
  "name": "launch.html",
  "mimeType": "text/html",
  "content": "<html><body><h1>Launch</h1></body></html>",
  "parentIds": ["1AbCdEfGhIjKlMnOp"]
}'

Precompiled code-skill helper for converting uploaded content into a Google Doc:

node dist/index.js '{
  "operation": "upload-content",
  "name": "launch.html",
  "mimeType": "text/html",
  "targetMimeType": "application/vnd.google-apps.document",
  "content": "<html><body><h1>Launch</h1></body></html>",
  "parentIds": ["1AbCdEfGhIjKlMnOp"]
}'

Request body to share a Shift-created or Shift-uploaded file:

{
  "skillProvider": "google-drive",
  "skill": "files",
  "action": "share",
  "input": {
    "fileId": "1AbCdEfGhIjKlMnOp",
    "type": "user",
    "role": "writer",
    "emailAddress": "teammate@example.com"
  }
}

Authentication

This skill requires a Google Drive connection configured in Shift. It is intended for files created or uploaded through Shift.

Agent behavior

  1. Use list before get when the user has not provided a file id.
  2. Use upload when the user already has a local file path available on the runtime machine.
  3. Use node dist/index.js '<json payload>' for direct content uploads or Google Doc conversion.
  4. This skill is for files created or uploaded through Shift, not for browsing an entire existing Drive.
  5. Use share only when the user clearly names the recipient and required role.
Related skills

More from tryshift-sh/skills-store

Installs
18
First Seen
Mar 12, 2026