Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Fix Drive Errors

ASecurity

Use when Google Drive reports sync errors, a symlink or generated directory exists under ~/My Drive, or a Google Docs pointer fails to upload from the synced personal-account root.

12 stars
0 votes
0 copies
0 views
Added 9/20/2026
toolsrustgonodegitdatabase

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add benthamite/dotfiles --skill fix-drive-errors --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fix Drive Errors?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Fix Drive Errors
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/benthamite-fix-drive-errors-dotfiles/badge)](https://www.skillsdirectory.com/skills/benthamite-fix-drive-errors-dotfiles)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: fix-drive-errors
description: Use when Google Drive reports sync errors, a symlink or generated directory exists under ~/My Drive, or a Google Docs pointer fails to upload from the synced personal-account root.
---

# Fix Google Drive sync errors

## Scope and evidence

An audit, inventory, or diagnosis request is read-only: inspecting the panel may
open/close its error window, but does not authorize file repairs or restarting
Drive. For a fix request, repair only evidenced causes within the requested
scope. Moving or trashing synced files can propagate to the cloud and other
devices; confirm that the exact action is authorized before doing it.

Treat the current, fully paginated panel as evidence of what Drive reports, not
proof of a file's identity or cause. Rows may survive after an offender disappears.
Establish the displayed Drive account and its configured sync root before
attributing rows or a clean panel to that root. The helper does not bind these
identities itself. Preserve duplicate rows and their order.

## Read and inventory

Start with the error panel and basename candidates:

    ~/My\ Drive/dotfiles/bin/drive-errors list

`list` opens the error summary's View button and reads every page. The currently
supported exact reason strings are `Can’t upload some Google files` and
`Can’t upload some files`. They are categories, not diagnoses: investigate
corrupt/unsupported Google-native pointers, account mismatches, symlinks, or
other causes using the actual evidence. A traversal failure, changed count,
unknown category, inaccessible panel, or unsupported UI is incomplete evidence,
never a clean result. Inspect the native panel directly if the reader refuses;
do not weaken its checks to obtain a zero count.

Check the helper environment. `DRIVE_ERRORS_PANEL_FIXTURE` selects simulated
input and cannot verify live Drive; use a live invocation without that override.
`DRIVE_ERRORS_DRIVE_ROOT` selects the candidate-search root only, not the UI
account. Record the root actually searched and any unreadable/unavailable
subtrees. The reader currently recognizes the English `Up to date` clean marker;
a different locale or layout needs direct inspection.

Use `drive-errors locate` when a broader filesystem inventory is in scope
(the default command runs both modes). It walks the selected root without
following directory symlinks. It lists symlinks and directories matching seven
generated-state names: `node_modules`, `__pycache__`, `.pytest_cache`, `.venv`,
`venv`, `.next`, and `.ruff_cache`. This is a heuristic, not exhaustive
generated-state detection or proof of disposability. Archive directories are
walked; archive-file contents are not inspected.

A basename match is only a candidate, not `LIVE`/`STALE` proof. Resolve its exact
path, file type, contents, account, and creation workflow before any mutation.
Zero matches means none were found in the traversed scope, not that the row is
stale. Active repositories belong under `~/repos`; dotfiles remains the sole
repository under Drive, which also contains notes, archives, and retained git
metadata. Do not treat the whole root as disposable development state.

## Repair the evidenced cause

Before each change, inspect the exact source and destination, preserve unrelated
or concurrent changes, and identify consumers. Keep enough recoverable evidence
outside Drive to restore the affected state. Do not copy secret-bearing or
private external content into a synced/public location while materializing a
link; follow the secrets context before handling credentials.

- For an offending symlink, inspect the link itself and its resolved target
  separately. Materialize only bounded, small, static data whose contents and
  destination are appropriate; do not recursively follow unknown links. Move
  required dependencies/build state outside Drive and update every affected
  consumer. Do not replace the link with another Drive-hosted symlink.
- For generated directories, verify what created them and whether they contain
  unique state. Keep dependencies, environments, caches, builds, and worktrees
  outside Drive. Preserve required contents and metadata during relocation,
  then run the actual consumer against its new location. Trash only an inspected
  exact target with deletion authority; trashing a symlink must not trash its
  target. A familiar basename alone never authorizes removal.
- For a rejected Google-native pointer, inspect its metadata without rewriting
  it. `doc_id` and `email` are clues, not proof of document type, ownership, or
  current account access. Use the mapped Google tools and explicit account from
  `claude/context/service-access.md` and `claude/context/google-services.md`
  to verify the original document and cause. Read the secrets context first if
  credential handling becomes necessary. Do not treat every Google-file error
  as an Epoch `.gdoc`.

### Epoch Google Docs pointer replacement

Use this route only for a verified Google Docs document intended to open in
Epoch and an authorized replacement of its rejected personal-root pointer.
It does not support Sheets, Slides, or another account.

1. Preserve the exact document ID and original pointer bytes/identity. Inspect
   the destination and existing trusted `epoch-doc:` handler/profile route;
   do not install/rebind handlers, alter Chrome aliases, change sharing, or
   duplicate the cloud document as an implicit repair.
2. Run `epoch-doc-link create DOC_ID PATH.url` with literal, quoted arguments.
   It creates a regular Internet Shortcut containing
   `epoch-doc:///document/DOC_ID`, not a plain HTTPS shortcut. An identical
   existing file is reusable; a conflicting destination must be preserved.
3. Verify the actual saved `.url` opening route through the OS handler into the
   configured Epoch Chrome profile, and observe the correct document and
   account. `epoch-doc-link open` takes the custom URI, not the file path;
   invoking it directly bypasses the file/handler route. A zero exit status,
   login page, or profile label alone does not prove successful document access.
   Use `end-to-end` for this live acceptance, within the authorized scope.
4. Only after that check, recheck that the original pointer is unchanged and
   trash it if deletion was authorized. Preserve it if verification is blocked
   or it changed. Verify the replacement syncs if cloud availability is part
   of the requirement; local creation alone does not establish that.

Google documents pointer corruption and unsupported desktop copying as other
possible causes; its generic recovery actions do not override this skill's
preservation and authorization limits. See
[Google's troubleshooting guide](https://support.google.com/drive/answer/2565956?co=GENIE.Platform%3DDesktop&hl=en).

## Clear and verify

After authorized repairs, allow a bounded settling period and inspect current
transfers and unsynced state. Do not wait indefinitely for `Sync completed` or
require an error-free state before refreshing stale errors. If a normal restart
is needed and within repair scope, first establish that interrupting transfers
is safe, then quit via Drive's menu and relaunch normally. Do not force-kill it.
If it cannot settle or quit safely, report that boundary without restart loops.

Rerun a live `drive-errors list`, re-establish the same account/root, and verify
the complete current panel plus the repaired consumer/document behavior.
A lower count, basename inventory, or fixture run is insufficient. Diagnose any
remaining exact rows; if there is no identified candidate, keep the name and
reason unresolved rather than mutating an unrelated file. Report only what was
observed, including any material live-verification gap.

## Hard limits

1. Never disconnect/reconnect the account or remove/re-add the sync root. A past
   reconnection re-uploaded thousands of files into the wrong cloud folder.
2. Never write, delete, or rename DriveFS internal databases under
   `~/Library/Application Support/Google/DriveFS`. Read-only diagnosis is fine.
3. Never create a symlink, dependency tree, cache, virtual environment, build
   output, or worktree under `~/My Drive`.

Attribution

benthamitebenthamite
View sourceMore from benthamite →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805541 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1023330 votes
View all in tools →