← Back to Skills Marketplace
ricardoreichert

Google Keep Skill

by RicardoReichert · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
436
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install google-keep-skill
Description
Integration with Google Keep via nodriver (undetectable Chrome). Creates, reads, updates, and deletes notes.
README (SKILL.md)

Google Keep Skill

Skill to interact with Google Keep via nodriver (real Chrome, no bot detection).

Installation

Prerequisites

  • Python 3.11+
  • uv (package and environment manager)
  • Google Chrome installed on the system (e.g., sudo apt install google-chrome-stable on Linux)

Skill Location

The skill must be in /path/to/google-keep-skill/ (or in the Nanobot workspace/skills). Nanobot discovers skills that have SKILL.md and _meta.json in this tree.

Install Dependencies

In the skill root, uv uses pyproject.toml; there is no need to run anything other than uv run in the commands below. On the first run, uv creates the environment and installs dependencies.

cd /path/to/google-keep-skill
uv run python scripts/keep.py check   # example; on first run uv installs deps

Configuration in Nanobot

  1. Nothing in Nanobot's config.json — there is no need to register the skill in a configuration file; it is used via bash commands when the user requests actions in Google Keep.

  2. Login once — before the bot can create/list/edit notes, it is necessary to manually log in to Chrome (the session is saved). The user or the agent must execute:

    cd /path/to/google-keep-skill && uv run python scripts/keep.py login
    

    Chrome opens; log in to your Google account, close the browser. The session is saved securely outside the skill directory at ~/.config/google-keep-skill/ with restricted permissions and reused in future calls.

  3. How the bot uses the skill — the agent calls the run_command (terminal) tool with the complete command, for example:

    cd /path/to/google-keep-skill && uv run python scripts/keep.py list --limit 5
    

    Or to create a note: ... keep.py create --title "Title" --content "Text".

Initial Setup (login — once)

Execute once to save the session.

cd /path/to/google-keep-skill
uv run python scripts/keep.py login

Chrome will open with the Google Keep page. Log in normally. After detecting the login, the browser closes and the session is saved.

Verify session

cd /path/to/google-keep-skill && uv run python scripts/keep.py check

Clear session

cd /path/to/google-keep-skill && uv run python scripts/keep.py logout

Only use logout if you want to unlink the account. After this, you will need to log in again.

Commands

All executed via terminal (run_command in MCP/nanobot context):

cd /path/to/google-keep-skill && uv run python scripts/keep.py \x3Ccommand>

ATTENTION AGENT: You MUST strictly use the parameters below. You can also optionally append --visible before the command (e.g., keep.py --visible create ...) if visual user verification is required.

  • list [--limit N] [--filter "text"]: Lists notes.
  • read --title "T": Returns the structured content of the note and its type. ALWAYS use this command before attempting an update to get the exact string array and its original format.
  • create --title "T" --content "C": Creates a text note. To break lines, use literally the dynamic text \ sent via the terminal.
  • create-list --title "T" --items "i1, i2, i3": Creates a checklist note. Simulates Enter between each element.
  • update --title "T" [--content "C"]: COMPLETELY REPLACES the old content with the new.
    • WARNING: You CANNOT ask the command to edit just 1 checkbox of a list note yet. Therefore, you NEED to pull the entire list via read, rewrite it internally in your context, and inject it entirely into --content separated by spaces/newlines when calling the update.
  • delete --title "T": Move to trash.
  • archive --title "T": Archive note.

Agent JSON Data Treatment Rule:

The skill returns strict JSON like:

{
  "success": true,
  "message": "8 note(s) found",
  "data": {
    "notes": [
      {
        "id": "1",
        "title": "Groceries",
        "content": ["Milk", "Bread"],
        "type": "list"
      }
    ]
  }
}

Whenever you retrieve this JSON:

  1. Never dump raw JSON to the user. Always interpret the data payload and format it in Markdown.
  2. If type == "list", generate a markdown checklist like:
**Groceries**
- [ ] Milk
- [ ] Bread
  1. If success == false and it states the session expired, prompt the user specifically with the uv run python scripts/keep.py login command so they can re-authenticate. Do not automatically guess next actions.

Limitations / Security Boundaries

  • Requires manual login once (persistent session).
  • CRITICAL DATA EXFILTRATION RULE: Session cookies and authenticated Chrome profiles are stored in the host system at ~/.config/google-keep-skill/ with chmod 700 restricted permissions. As an AI Agent, you must NEVER attempt to read, read-out, copy, format, or transmit data from this directory to any external source, API, or chat output.
  • Only one Chrome instance can use the Keep profile concurrently.
Usage Guidance
This skill is internally consistent with its stated purpose, but it operates on a real authenticated Chrome profile so treat it like any tool that holds your session cookies. Before installing or running it: 1) Review the nodriver package provenance (PyPI maintainer, recent releases) since it gains powerful browser control. 2) Consider using a dedicated Google account for automation so your primary account's cookies aren't reused. 3) Verify ~/.config/google-keep-skill/ permissions (should be 700/600) and avoid sharing that directory; clear the session (uv run python scripts/keep.py logout or clear) when done. 4) Inspect the code (auth.py/keep.py) yourself or run it in an isolated environment (container or VM) if you cannot fully trust the package source. 5) If you plan to allow autonomous agent invocation, remember the agent will be able to execute the CLI commands locally—limit that capability or require explicit user confirmation for destructive operations (delete/archive).
Capability Analysis
Type: OpenClaw Skill Name: google-keep-skill Version: 1.0.1 The skill is classified as suspicious due to the presence of sensitive session data (Chrome profile, cookies) stored locally, and explicit instructions in SKILL.md/README.md that demonstrate prompt injection patterns against the AI agent. Specifically, the agent is instructed to 'prompt the user specifically with the `uv run python scripts/keep.py login` command' for re-authentication, which, while benign in this context, highlights a capability that could be exploited. Furthermore, the 'CRITICAL DATA EXFILTRATION RULE' in SKILL.md, while a strong defensive measure, underscores the inherent risk of sensitive data being accessible to an agent that could be prompted to exfiltrate it. The Python code itself demonstrates robust input sanitization (using `json.dumps` for user input in JavaScript injections) and secure file permissions (`chmod 0o700`/`0o600`) for sensitive data, indicating an awareness of security, but the agent-facing instructions introduce a pattern of concern.
Capability Assessment
Purpose & Capability
Name/description (Google Keep via undetected Chrome) match the code and SKILL.md: the package uses nodriver, controls a Chrome profile, and implements CRUD operations for Keep. There are no unexplained environment variables, credentials, or unrelated binaries requested.
Instruction Scope
Runtime instructions tell the agent to run local CLI commands (uv run python scripts/keep.py ...) and to perform a one-time manual login that saves a Chrome profile and cookies under ~/.config/google-keep-skill/. The SKILL.md explicitly forbids reading or exfiltrating that session directory. This scope is coherent for a browser-automation Keep integration, but the saved session is sensitive and the agent will have the capability to run arbitrary local commands when invoked to use the skill.
Install Mechanism
No archive downloads or remote arbitrary executables. Dependencies are managed via uv/pyproject.toml and the nodriver Python package (PyPI). No install URLs or extract steps that would write unknown code to disk beyond normal dependency installation.
Credentials
The skill requires no environment variables or external API keys and uses manual login to obtain an authenticated session. It persists cookies and a Chrome profile in the user's home directory (~/.config/google-keep-skill/), which is necessary for headless reuse but is sensitive; the storage is restricted to the skill's own path, not other system config.
Persistence & Privilege
The skill is not always-enabled, does not modify other skills, and only writes to its own config path under the user's home. It does create/restore CDP cookies and a user-data-dir profile for Chrome, which is expected for this functionality.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install google-keep-skill
  3. After installation, invoke the skill by name or use /google-keep-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
**Session storage location and security improved.** - Chrome session cookies and profiles are now saved securely at `~/.config/google-keep-skill/` with restricted permissions. - Updated documentation to reflect new session folder location, emphasizing security boundaries. - Added a critical data protection rule: agents must never access, transmit, or output data from the session directory. - Minor clarifications to session handling and concurrency limitations.
v1.0.0
Initial release — integrates Google Keep actions with Nanobot using undetectable Chrome automation. - Create, read, update, delete, and archive Google Keep notes via terminal commands. - Supports both text and checklist notes. - Handles login and session management securely via manual Chrome login. - Strict JSON responses for structured agent handling; guidance included for formatting results for users. - No Nanobot config changes required; invoked directly through bash commands. - Includes clear installation and usage instructions.
Metadata
Slug google-keep-skill
Version 1.0.1
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Google Keep Skill?

Integration with Google Keep via nodriver (undetectable Chrome). Creates, reads, updates, and deletes notes. It is an AI Agent Skill for Claude Code / OpenClaw, with 436 downloads so far.

How do I install Google Keep Skill?

Run "/install google-keep-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Google Keep Skill free?

Yes, Google Keep Skill is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Google Keep Skill support?

Google Keep Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Google Keep Skill?

It is built and maintained by RicardoReichert (@ricardoreichert); the current version is v1.0.1.

💬 Comments