google-drive

작성자: openai

연결된 Google Drive를 Drive, Docs, Sheets, Slides 작업의 단일 진입점으로 사용합니다. 사용자가 파일을 찾거나, 가져오거나, 정리하거나, 공유하거나, 내보내기를 원할 때 사용합니다.…

npx skills add https://github.com/openai/plugins --skill google-drive

Google Drive

Use this as the top-level router for Google file work inside the unified Google Drive plugin. Do not route the user toward separate Google Docs, Google Sheets, or Google Slides plugins.

Start with Google Drive for file discovery and file lifecycle tasks, then route to narrower sibling skills only when the task becomes specific to Docs, Sheets, or Slides.

Workflow

  1. Ground the target file first.
  • If the user did not provide an exact file URL or ID, use Google Drive search, recent files, folder listing, or metadata reads to identify the right file.
  • If the request starts as "find X and then update it," do the Drive discovery step first instead of guessing the target.
  1. Stay in the base Google Drive workflow for Drive-native tasks.
  • Use the base workflow for search, fetch, recent files, folders, sharing, copying, deleting, exporting, revision history, file moves, and other file-lifecycle work that is not primarily about editing Docs, Sheets, or Slides content.
  • For version-history requests, including "previous version," "revision history," "what changed since the last version," or "compare to the prior revision," ground the file, fetch the current content, use list_file_revisions, fetch the immediately previous revision or the user-named revision with fetch_file_revision, then compare the fetched revision against the current content. Do not say previous versions are unsupported until you have checked whether revision tools are available for the target file.
  • For file move requests, ground the source file and target folder, read the file metadata including its current parents, then use update_file with addParents for the target folder and removeParents for only the verified source parent or parents that should no longer contain it. Preserve unrelated parents, and verify the move by reading metadata or listing the target folder before the final response.
  • Before any export or raw-file fetch, read or reuse Drive metadata so the MIME type and Google Drive URL are known. Use export_file only to convert a native Google Doc, Sheet, or Slide into an explicitly requested format; it returns an authenticated file reference, not inline bytes or base64. Google limits files.export responses to 10 MB; oversized exports fail rather than returning truncated content. For a larger native PDF, use download_file(id=file_id, mime_type="application/pdf") when the streaming action is available. It calls Google's files.download API and returns a top-level materializable file_uri. Once download_file is unavailable and canonical fetch uses that streamed download path, use fetch(url=google_drive_url, download_raw_file=True, raw_export_mime_type="application/pdf") instead. A native-file fetch that still uses files.export cannot bypass the 10 MB limit. For PDFs, images, ZIPs, Office files, recordings, and other stored, non-native files, use fetch(url=google_drive_url, download_raw_file=True). Use only the authenticated top-level file_uri or materialized workspace_path; never request inline base64 unless an existing caller explicitly opts into bounded legacy compatibility. Use fetch without download_raw_file for bounded, best-effort readable text. Do not retry export_file after metadata shows a non-native MIME type.
  1. Route to the narrowest sibling skill that matches the file type and job.
  • Drive, Docs, Sheets, or Slides comment creation, comment replies, comment resolution, or review-by-comments: use google-drive-comments.
  • Google Docs net-new creation, content summary, revision planning, prose rewriting, or section edits: use google-docs.
  • Google Sheets creation, local spreadsheet import, range inspection, table cleanup, data restructuring, formula design or repair, chart creation or repair, or batch updates: use google-sheets.
  • Google Slides deck summary, content edits, new deck creation, local presentation import, visual cleanup, structural repair, or template migration: use google-slides.

Routing Rules

  • If the request is ambiguous between Drive and a file-type surface, use the artifact itself as the tie-breaker:
    • Doc -> Docs skill
    • Sheet -> Sheets skill
    • Deck -> Slides skill
  • If the user wants to find a file and then edit it, do both in one flow: Drive for discovery, then the file-type skill for the edit.
  • If the user wants a Google Workspace outcome but has not named a file type yet, start with Drive discovery instead of asking them to choose among separate Google plugins.
  • If the user asks to create a new Google Doc, route to the Docs skill; it owns the mandatory local .docx -> native Google Docs import workflow and the explicit-user-override boundary. Do not create a blank Google Doc directly from this router.
  • If the user asks to import a local .docx into Google Docs, route to the Docs skill and use its native conversion workflow. Preserve the source file type only when the user explicitly asks for that.
  • If the user asks to create a new Google Sheet, route to the Sheets skill. The Sheets skill should prefer the [@spreadsheets](plugin://spreadsheets@openai-primary-runtime) plugin or $Excel skill to create a local .xlsx, then import it as native Google Sheets.
  • If the user asks to import a local .xlsx, .xls, .ods, .csv, or .tsv into Google Sheets, route to the Sheets skill and use native Google Sheets conversion by default. Preserve the source file type only when the user explicitly asks for that.
  • If the user asks to create a new Google Slides deck, route to the Slides skill; it owns the mandatory local .pptx -> native Google Slides import workflow and the explicit-user-override boundary. Do not create a blank Google Slides deck directly from this router.
  • If the user asks to import a local .ppt, .pptx, or .odp into Google Slides, route to the Slides skill and use its native conversion workflow. Preserve the source file type only when the user explicitly asks for that.
  • If the user asks to export or download an existing Drive file, choose the action from metadata: native Google Docs, Sheets, and Slides files use export_file for explicit conversions within Google's 10 MB limit. For a larger native PDF, prefer the currently available streaming download_file(id=file_id, mime_type="application/pdf"); after canonical fetch adopts the same streamed download path and download_file is removed, use fetch(url=google_drive_url, download_raw_file=True, raw_export_mime_type="application/pdf"). Stored, non-native PDFs, images, ZIPs, CSVs, Office files, audio, and video use fetch(url=google_drive_url, download_raw_file=True). Use the returned top-level file_uri or its authenticated, materialized workspace_path; do not expose inline binary, base64, or a bearer URL. Base64 is available only when an existing compatibility caller explicitly requests the bounded legacy behavior.

Write Safety

  • Preserve the user's existing file organization, sharing state, and target artifact unless the request clearly asks to change them.
  • When a task can be satisfied by a file-level Drive operation alone, do not load heavier Docs, Sheets, or Slides skills.
  • For write-heavy Sheets or Slides work, read the specialized skill before the first large update so request shapes stay grounded.
  • For any file import or explicit direct create that returns a user-facing Google Workspace link, wait for the write action to complete and verify the created file with connector readback or Drive metadata readback before returning the URL. Use only a URL or id observed from the completed connector result or readback; never synthesize or predict the URL.

Related Skills

openai의 다른 스킬

release
openai
커밋된 버전을 올리고, 이를 반영하고, 병합된 커밋에 태그를 단 후, Burrito 릴리스 워크플로우를 검증하여 Symphony 릴리스를 진행합니다. 다음과 같이 요청받았을 때 사용합니다…
signing-entitlements
openai
macOS 앱의 서명, 자격, 강화된 런타임 및 Gatekeeper 문제를 검사합니다. 코드 서명 실패, 누락된 자격 등을 진단하라는 요청을 받을 때 사용하세요.
building-ai-agent-on-cloudflare
openai
Cloudflare에서 Agents SDK를 사용하여 상태 관리, 실시간 WebSockets, 예약 작업, 도구 통합, 채팅을 통해 AI 에이전트를 구축합니다…
epigraphdb-skill
openai
온톨로지, 문헌, MR, 유전자-약물 및 지원 경로 증거에 대한 간결한 EpiGraphDB API 요청을 제출합니다. 사용자가 간결한 EpiGraphDB 요약을 원할 때 사용하세요.
runtime-behavior-probe
openai
런타임 동작 조사를 계획하고 실행하며, 임시 프로브 스크립트, 검증 매트릭스, 상태 제어, 결과 우선 보고서를 사용합니다. 다음 경우에만 사용하세요…
deep-security-scan
openai
사용자가 심층적이고, 철저하며, 다중 패스 또는 변동성을 줄이는 저장소 전체 또는 범위가 지정된 경로의 Codex Security 스캔을 요청할 때 사용합니다. 반복적으로 독립적인…
define-security-policy
openai
저장소 또는 구성 요소에 대한 SECURITY.md 지침을 정의, 검토 또는 업데이트합니다. 사용자가 Codex Security가 검토해야 할 대상과 범위를 벗어나는 항목을 명확히 하려 할 때 사용합니다…
validation
openai
Codex가 보안 스캔의 검증 단계에 이미 있거나 사용자가 하나 이상의 후보 보안 결과를 판별하도록 명시적으로 요청할 때 사용합니다…