Google Photos Manager for OpenClaw

ReviewAudited by ClawScan on May 10, 2026.

Overview

This appears to be a straightforward Google Photos helper, but it needs Google OAuth access and can add photos or albums, so users should review permissions and protect the local token.

Install only if you are comfortable connecting a local script to Google Photos. Use your own credentials, review the OAuth scopes, upload only files you intend to send to Google, keep credentials.json and token.pickle private, avoid untrusted token files, and revoke the app's Google access when you are done.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Authorizing the skill gives the local script permission to act on parts of the user's Google Photos account until the token is revoked.

Why it was flagged

The script requests Google Photos OAuth permissions, including append, app-created read, and sharing-related access. This is expected for a Photos manager, but it is account authority users should review.

Skill content
SCOPES = ['https://www.googleapis.com/auth/photoslibrary.appendonly', 'https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata', 'https://www.googleapis.com/auth/photoslibrary.sharing']
Recommendation

Review the Google consent screen, use your own OAuth client credentials, keep the token private, and remove the sharing scope if you do not need sharing-related behavior.

What this means

If run with the wrong arguments, it could create unwanted albums or upload the wrong photo to Google Photos.

Why it was flagged

The script can create albums and upload local files to the Google Photos API. These are disclosed, purpose-aligned operations, but they modify a third-party account.

Skill content
requests.post('https://photoslibrary.googleapis.com/v1/albums' ...); requests.post('https://photoslibrary.googleapis.com/v1/uploads' ... data=f)
Recommendation

Run create/upload commands only after confirming the requested action, album title, album ID, and local photo path.

What this means

Using a token.pickle file from an untrusted source could run local code, not just load credentials.

Why it was flagged

The token file is deserialized with Python pickle, which can execute code if the pickle file is malicious or tampered with. The normal path is locally generated by this script, so this is a handling caution.

Skill content
with open(token_path, 'rb') as token:
            creds = pickle.load(token)
Recommendation

Let the script create its own token file, store it in a protected location, and do not reuse token pickle files received from other people or unknown sources.

What this means

The command may fail or run under an unexpected local Python environment if that path exists.

Why it was flagged

The script's executable shebang points to a developer-specific virtual environment path instead of a portable interpreter, which creates setup/provenance ambiguity.

Skill content
#!/home/jorge/.openclaw/workspace/skills/google-photos/venv/bin/python3
Recommendation

Run it with a known Python interpreter or update the shebang, and install dependencies from trusted sources in a user-controlled virtual environment.