{"id":48838409,"url":"https://github.com/reshinto/gemini-skill","last_synced_at":"2026-04-15T01:00:37.252Z","repository":{"id":350905751,"uuid":"1208698967","full_name":"reshinto/gemini-skill","owner":"reshinto","description":"Claude Code skill for broad Gemini REST API access — text, multimodal, image/video/music gen, embeddings, caching, batch, search, and more.","archived":false,"fork":false,"pushed_at":"2026-04-12T17:43:50.000Z","size":147,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T19:11:09.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reshinto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-12T16:25:22.000Z","updated_at":"2026-04-12T16:25:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/reshinto/gemini-skill","commit_stats":null,"previous_names":["reshinto/gemini-skill"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/reshinto/gemini-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reshinto%2Fgemini-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reshinto%2Fgemini-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reshinto%2Fgemini-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reshinto%2Fgemini-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reshinto","download_url":"https://codeload.github.com/reshinto/gemini-skill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reshinto%2Fgemini-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31821685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-15T01:00:28.024Z","updated_at":"2026-04-15T01:00:37.226Z","avatar_url":"https://github.com/reshinto.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/reshinto/gemini-skill/actions/workflows/ci.yml/badge.svg)](https://github.com/reshinto/gemini-skill/actions/workflows/ci.yml)\n\n# gemini-skill\n\n`gemini-skill` is a Gemini API front end that works in two modes:\n\n- as a Claude Code skill via `/gemini ...`\n- as a direct CLI via `python3 scripts/gemini_run.py ...`\n\nIt exposes the same command surface in both modes: text, multimodal analysis, structured output, embeddings, Files API, image/video/music generation, file search, deep research, and iterative plan review.\n\n## Quick Start\n\n### Install for Claude Code\n\nRecommended:\n\n```bash\nuvx gemini-skill-install\n```\n\nFallback:\n\n```bash\nuvx --python 3.13 gemini-skill-install\n```\n\nOr from a clone:\n\n```bash\ngit clone https://github.com/reshinto/gemini-skill.git\ncd gemini-skill\npython3 setup/install.py\n```\n\nThe installer copies the runtime payload into `~/.claude/skills/gemini/`, creates or reuses `~/.claude/skills/gemini/.venv`, installs the pinned `google-genai` SDK, and writes the canonical env block into `~/.claude/settings.json`.\n\n### Configure credentials\nCreate a Gemini API key in Google AI Studio:\n\n- Google AI Studio: https://aistudio.google.com/\n- API key guide: https://ai.google.dev/gemini-api/docs/api-key\n\nThe Gemini API is not an unlimited flat-rate service. Google offers a free tier for getting started and a paid pay-as-you-go tier for higher-volume or production use. If you enable the paid tier, prompts and responses can incur usage-based charges depending on the model and features you use.\n\nThe launcher resolves canonical Gemini env keys from the current working directory first, then Claude settings files, then existing process env:\n\n1. `./.env`\n2. `./.claude/settings.local.json`\n3. `./.claude/settings.json`\n4. `~/.claude/settings.json`\n5. existing process env\n\nSupported keys:\n\n```text\nGEMINI_API_KEY\nGEMINI_IS_SDK_PRIORITY\nGEMINI_IS_RAWHTTP_PRIORITY\nGEMINI_LIVE_TESTS\n```\n\nFor repo-local CLI use:\n\n```bash\ncp .env.example .env\n```\n\n`GEMINI_API_KEY` is the only supported secret name. `GOOGLE_API_KEY` is ignored.\n\n### Use it from Claude Code\n\nThe skill manifest sets `disable-model-invocation: true`, so Claude Code will not start this skill on its own. Invoke it explicitly first.\n\n```text\n/gemini text \"Explain quantum computing in three sentences\"\n/gemini plan_review \"Review this implementation plan for gaps and rollout risks\"\n```\n\n### Use it as a direct CLI\n\nFrom a checkout:\n\n```bash\npython3 scripts/gemini_run.py text \"hi\"\npython3 scripts/gemini_run.py plan_review \"Review this migration plan\"\npython3 scripts/gemini_run.py plan_review\n```\n\nThe last command starts the interactive `plan_review` REPL when stdin is a TTY.\n\n## Core Workflows\n\n- `text` for one-shot prompts and multi-turn sessions\n- `plan_review` for iterative plan review, either one-turn or REPL\n- `multimodal` for PDFs, images, audio, video, and URLs\n- `structured` for schema-constrained JSON output\n- `embed`, `token_count`, `files`, `cache`, `batch`, and `file_search`\n- `image_gen`, `imagen`, `video_gen`, and `music_gen`\n- `search`, `maps`, `computer_use`, `deep_research`, and `live`\n\n## Documentation\n\n- [docs/install.md](docs/install.md) — install paths, env precedence, troubleshooting\n- [docs/usage.md](docs/usage.md) — Claude Code skill usage and direct CLI usage\n- [docs/usage-tour.md](docs/usage-tour.md) — end-to-end examples\n- [docs/commands.md](docs/commands.md) — command index by capability family\n- [reference/index.md](reference/index.md) — per-command reference pages\n- [docs/security.md](docs/security.md) — secrets handling, local data storage, privacy notes\n- [docs/how-it-works.md](docs/how-it-works.md) — launcher, dispatch, transport, and output flow\n- [docs/README.md](docs/README.md) — documentation hub\n\n## Backend Routing\n\nThe launcher and adapters are backend-agnostic. The transport coordinator chooses the SDK or raw HTTP backend from the two routing flags:\n\n- `GEMINI_IS_SDK_PRIORITY=true`\n- `GEMINI_IS_RAWHTTP_PRIORITY=false`\n\nBoth backends produce the same normalized response shape for callers.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freshinto%2Fgemini-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freshinto%2Fgemini-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freshinto%2Fgemini-skill/lists"}