From idyllo-skills
Bridge for storing Claude skills in Google Drive for a team. Pulls skills from a Drive folder and installs them locally as a Claude Code plugin called `g-drive-skills`. Invoke when the SessionStart hook injects a sync reminder, or when the user asks to refresh, sync, or install skills from Google Drive.
How this skill is triggered — by the user, by Claude, or both
Slash command
/idyllo-skills:sync-skill-from-gdriveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pull skills from a Google Drive folder and install them locally as a Claude Code plugin called `g-drive-skills`. This skill bridges Drive (the team's shared storage) and the user's local Claude installation. Follow these steps exactly.
Pull skills from a Google Drive folder and install them locally as a Claude Code plugin called g-drive-skills. This skill bridges Drive (the team's shared storage) and the user's local Claude installation. Follow these steps exactly.
Read ~/.claude/idyllo-skills-sync.json. It may contain { "folderName": "...", "lastSyncAt": "..." }.
folderName is set, use it as the Drive source folder name.folderName is empty/missing, ask the user: "Which Google Drive folder contains the team skills?" Then store the answer by writing (or updating) ~/.claude/idyllo-skills-sync.json with { "folderName": "<answer>" } before continuing.Attempt the Drive operation in Step 3 first. Only run the authentication flow if you get an auth/permission error:
mcp__claude_ai_Google_Drive__authenticatemcp__claude_ai_Google_Drive__complete_authenticationUse the Google Drive MCP to search for a folder whose name matches folderName. Then list all direct children of that folder.
The plugin staging directory is ~/.claude/g-drive-skills/.
4a. Write the plugin manifest at ~/.claude/g-drive-skills/.claude-plugin/plugin.json.
Use the current UTC timestamp (seconds since epoch) as the patch version so the plugin is always recognised as updated on reinstall:
{
"name": "g-drive-skills",
"version": "1.0.<unix-timestamp>",
"description": "Team skills synced from Google Drive"
}
Get the timestamp via Bash: date +%s
4b. Write each skill from the Drive folder. Identify skills by this rule:
SKILL.md → skill name is the folder name; fetch SKILL.md (and any other files in the folder)..md file with YAML frontmatter containing a name: field → skill name is the name value from frontmatter.For each skill:
~/.claude/g-drive-skills/skills/<skill-name>/SKILL.md. Drive is the source of truth — overwrite any existing file.references/ subdirectory) under ~/.claude/g-drive-skills/skills/<skill-name>/.Run this command via Bash:
claude plugin install --force ~/.claude/g-drive-skills
The --force flag reinstalls cleanly when the plugin is already present. If --force is not a valid flag, run claude plugin uninstall g-drive-skills first (ignoring errors if it wasn't installed), then claude plugin install ~/.claude/g-drive-skills.
Write (or update) ~/.claude/idyllo-skills-sync.json:
{
"folderName": "<resolved folder name>",
"lastSyncAt": "<ISO 8601 timestamp of now>"
}
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub idyllohomes/idyllo-skills --plugin idyllo-skills