Agent skill

Gcs Rust Download Object API

by divinevideo in divinevideo/divine-mobile

Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate.

MPL-2.0Auto-check passed

Install Gcs Rust Download Object API

skills CLI
$ npx skills add divinevideo/divine-mobile --skill gcs-rust-download-object-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install divinevideo/divine-mobile gcs-rust-download-object-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/gcs-rust-download-object-api .claude/skills/gcs-rust-download-object-api && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gcs-rust-download-object-api
GitHub stars
266
Token cost
~754 tokens
SKILL.md length
139 words
Files
1
Skills in repo
103
Repo updated
First seen
Licence
MPL-2.0

At a glance

Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate.

  • Trying to download objects from GCS using the Rust SDK
  • SKILL.md covers Problem, Context / Trigger Conditions, Solution and Verification, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Looking for a download request type in http::objects::download module

What it does

Gcs Rust Download Object API is an agent skill from divinevideo/divine-mobile. Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate. Use when: (1) Trying to download objects from GCS using the Rust SDK, (2) Looking for a download request type in http::objects::download module, (3) Compile error about missing type. The downloadobject method uses GetObjectRequest from the get module, not a separate DownloadObjectRequest type.

Its SKILL.md is about 750 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Rust and Google Cloud. The licence is MPL-2.0.

When your agent uses it

  • Trying to download objects from GCS using the Rust SDK
  • Looking for a download request type in http::objects::download module
  • Compile error about missing type

Example prompts

  • “DownloadObjectRequest not found”
  • “/gcs-rust-download-object-api”

What it can do on your machine

Read from SKILL.md and the folder at commit 6487b05. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are rust).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.rs

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gcs Rust Download Object API loads about 754 tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 139 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~101
When it runs · the whole SKILL.md, loaded when a task matches
~754

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from divinevideo/divine-mobile at commit 6487b05, republished under its MPL-2.0 licence (© divinevideo). 139 words, ~754 tokens.

Download SKILL.mdSave it as .claude/skills/gcs-rust-download-object-api/SKILL.md (or your agent's skills folder).
name
gcs-rust-download-object-api
description
Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate. Use when: (1) Trying to download objects from GCS using the Rust SDK, (2) Looking for a download request type in http::objects::download module, (3) Compile error about missing type. The download_object method uses GetObjectRequest from the get module, not a separate DownloadObjectRequest type.
author
Claude Code
version
1.0.0
date
2026-01-27

GCS Rust SDK Download Object API

Problem

When using the google-cloud-storage Rust crate to download objects, developers often look for a DownloadObjectRequest type in the download module, expecting it to mirror the upload pattern. This type doesn't exist, causing confusing compile errors.

Context / Trigger Conditions

  • Using google-cloud-storage crate in Rust
  • Trying to call client.download_object()
  • Error: unresolved import google_cloud_storage::http::objects::download::DownloadObjectRequest
  • Looking in http::objects::download module for request types

Solution

The download_object method uses GetObjectRequest from the get module, combined with Range from the download module:

rust
use google_cloud_storage::http::objects::{
    download::Range as DownloadRange,
    get::GetObjectRequest,
};

// Download full object
let data = client.download_object(
    &GetObjectRequest {
        bucket: "my-bucket".to_string(),
        object: "path/to/object".to_string(),
        ..Default::default()
    },
    &DownloadRange::default(),
).await?;

// Download partial object (bytes 0-1023)
let partial = client.download_object(
    &GetObjectRequest {
        bucket: "my-bucket".to_string(),
        object: "path/to/object".to_string(),
        ..Default::default()
    },
    &DownloadRange::Bounded(0, 1023),
).await?;

Verification

Code compiles and download_object returns Vec<u8> with the object contents.

Example

rust
use google_cloud_storage::{
    client::{Client as GcsClient, ClientConfig},
    http::objects::{
        download::Range as DownloadRange,
        get::GetObjectRequest,
        upload::{Media, UploadObjectRequest, UploadType},
    },
};

async fn download_from_gcs(client: &GcsClient, bucket: &str, key: &str) -> Result<Vec<u8>> {
    let data = client.download_object(
        &GetObjectRequest {
            bucket: bucket.to_string(),
            object: key.to_string(),
            ..Default::default()
        },
        &DownloadRange::default(),
    ).await?;

    Ok(data)
}

Notes

  • The Range type is aliased as DownloadRange to avoid conflicts with std::ops::Range
  • DownloadRange::default() downloads the entire object
  • For checking if an object exists without downloading, use get_object with GetObjectRequest
  • The Media.content_type field is Cow<'static, str>, use .into() for string conversion

References

© divinevideo, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/gcs-rust-download-object-api of divinevideo/divine-mobile.

Open the folder on GitHubat commit 6487b05

Compare with similar skills

Gcs Rust Download Object API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gcs Rust Download Object API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gcs Rust Download Object API this skilldivinevideo/divine-mobile266—~754Automated safety check: PassMPL-2.0
Update V8 Versionopeninterpreter/openinterpreter69k2 repos~845Automated safety check: PassApache-2.0
Firecrawl Page Scrape Integrationfirecrawl/firecrawl190k1 repos~944Automated safety check: PassISC
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0
Rust TDD Workflowrtk-ai/rtk83k—~753Automated safety check: NotesApache-2.0
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0

Similar skills

  • Update V8 Version

    openinterpreter/openinterpreter

    Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.

    69k GitHub starsUsed in 2 repos~845 tokens
    DevOps & CloudAuto-check passed
  • Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.

    190k GitHub starsUsed in 1 repo~944 tokens
    Data & AnalyticsAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.

    83k GitHub stars~753 tokensUpdated today
    Testing & QAAuto-check: notes
  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed

More from divinevideo/divine-mobile

All 103 skills in this repo
  • Fix ArgoCD ExternalSecret deployment failing with "namespace X is not permitted in project Y".

    266 GitHub stars~931 tokensUpdated today
    Auto-check passed
  • Art Direct

    divinevideo/divine-mobile

    Art direction for any content — reads text, PDF, Word, HTML, PPT, then proposes 2-3 creative directions with photography style, mood, and visual language.

    266 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Async Await Null Race Condition

    divinevideo/divine-mobile

    Fix "Null check operator used on a null value" errors when an object is set to null during an async await.

    266 GitHub stars~881 tokensUpdated today
    Auto-check passed
  • AWS V4 Signing Custom Headers Gcs

    divinevideo/divine-mobile

    Add custom metadata headers (x-amz-meta-) to AWS v4 signed requests for GCS S3-compatible API.

    266 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Bash Herestring Newline Secrets

    divinevideo/divine-mobile

    Fix password/secret authentication failures caused by trailing newlines when creating Google Cloud secrets (or similar) with bash here-strings.

    266 GitHub stars~791 tokensUpdated today
    Auto-check passed
  • Fix silent video/media processing failures caused by URL extraction code that filters on file extensions (.mp4, .webm, .webp).

    266 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Questions about Gcs Rust Download Object API

What does Gcs Rust Download Object API do?

Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate. Gcs Rust Download Object API is an agent skill from divinevideo/divine-mobile. Fix "DownloadObjectRequest not found" error in google-cloud-storage Rust crate.

When should I use Gcs Rust Download Object API?

Gcs Rust Download Object API fits situations like: trying to download objects from GCS using the Rust SDK; looking for a download request type in http::objects::download module; compile error about missing type.

How do I install Gcs Rust Download Object API in Claude Code?

Run `npx skills add divinevideo/divine-mobile --skill gcs-rust-download-object-api -a claude-code`. Or copy the skill folder (.agents/skills/gcs-rust-download-object-api in divinevideo/divine-mobile) into .claude/skills/gcs-rust-download-object-api in your project. Claude Code loads it when a task matches its description.

How do I install Gcs Rust Download Object API in Codex?

Run `npx skills add divinevideo/divine-mobile --skill gcs-rust-download-object-api -a codex`. Or copy the skill folder (.agents/skills/gcs-rust-download-object-api in divinevideo/divine-mobile) into .agents/skills/gcs-rust-download-object-api in your project. Codex loads it when a task matches its description.

Can I use Gcs Rust Download Object API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add divinevideo/divine-mobile --skill gcs-rust-download-object-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gcs-rust-download-object-api, .gemini/skills/gcs-rust-download-object-api, .github/skills/gcs-rust-download-object-api and .opencode/skills/gcs-rust-download-object-api in your project.

What does Gcs Rust Download Object API need to run?

SKILL.md names no scripts, command-line tools or credentials: Gcs Rust Download Object API is instructions for the agent only.

Does Gcs Rust Download Object API access the network?

SKILL.md names 1 domain. As links in the text: docs.rs. This is read from the text; nothing was executed.

Is Gcs Rust Download Object API safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gcs Rust Download Object API use?

Gcs Rust Download Object API is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gcs Rust Download Object API use?

About 754 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gcs Rust Download Object API?

Skills that share tags, products or a category with Gcs Rust Download Object API: Update V8 Version (openinterpreter/openinterpreter, 69k stars), Firecrawl Page Scrape Integration (firecrawl/firecrawl, 190k stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars) and Rust TDD Workflow (rtk-ai/rtk, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gcs Rust Download Object API?

divinevideo (a GitHub organization) maintains it in divinevideo/divine-mobile, which has 266 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 9, 2026.

Source: divinevideo/divine-mobile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.