Google Keep Skill
/install google-keep-skill
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-stableon 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
-
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. -
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 loginChrome 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. -
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 5Or 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 anupdateto 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. SimulatesEnterbetween 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
listnote yet. Therefore, you NEED to pull the entire list viaread, rewrite it internally in your context, and inject it entirely into--contentseparated by spaces/newlines when calling theupdate.
- WARNING: You CANNOT ask the command to edit just 1 checkbox of a
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:
- Never dump raw JSON to the user. Always interpret the
datapayload and format it in Markdown. - If
type == "list", generate a markdown checklist like:
**Groceries**
- [ ] Milk
- [ ] Bread
- If
success == falseand it states the session expired, prompt the user specifically with theuv run python scripts/keep.py logincommand 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/withchmod 700restricted 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.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install google-keep-skill - 安装完成后,直接呼叫该 Skill 的名称或使用
/google-keep-skill触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Google Keep Skill 是什么?
Integration with Google Keep via nodriver (undetectable Chrome). Creates, reads, updates, and deletes notes. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 436 次。
如何安装 Google Keep Skill?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install google-keep-skill」即可一键安装,无需额外配置。
Google Keep Skill 是免费的吗?
是的,Google Keep Skill 完全免费(开源免费),可自由下载、安装和使用。
Google Keep Skill 支持哪些平台?
Google Keep Skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Google Keep Skill?
由 RicardoReichert(@ricardoreichert)开发并维护,当前版本 v1.0.1。