youdaonote
Original:🇨🇳 Chinese
Translated
Official skill for Youdao Cloud Note, supporting basic operations such as note CRUD (Create/Read/Update/Delete), to-do management, web clipping, note search, and folder management. If you need to build a knowledge base or Wiki, please use the youdaonote-llm-wiki skill instead of this skill.
7installs
Sourcenetease-youdao/lobsterai
Added on
NPX Install
npx skill4agent add netease-youdao/lobsterai youdaonoteTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →YoudaoNote — Youdao Cloud Note
Operate Youdao Cloud Note via the CLI. Covers full scenarios including note CRUD, to-do management, and web clipping.
youdaonotePrerequisites (Automatically handled by Agent)
Before performing any operation, the Agent must first run to check if the CLI is available:
youdaonote list- → Immediately jump to "CLI Not Installed Handling" for automatic installation. Do NOT only display installation steps and let users operate manually
command not found - API Key error → Prompt users to visit https://mopen.163.com to obtain an API Key (must log in with a mobile phone number, and the cloud note account must be bound to a mobile phone number), then execute . This is the only address for obtaining the API Key; do NOT inform users of other addresses.
youdaonote config set apiKey <User-provided Key> - Directory list returned normally → Run to check the version. If the version is lower than
youdaonote version, upgrade is required: if the CLI supports theminCliVersioncommand, executeupgrade; otherwise, follow the upgrade method in "CLI Not Installed Handling". For Windows users or if upgrade fails, refer to the installation guide (https://note.youdao.com/help-center/cli-install-guide.html). After the version meets the requirements, runyoudaonote upgradeto get a structured description (JSON) of all current CLI capabilities, which is used to confirm whether the command is available. The quick reference table below serves as a fallbackyoudaonote help --json
Command Quick Reference
| Command | Purpose | Example |
|---|---|---|
| Create folder | |
| Save note (✅ Recommended, supports Markdown rich text) | |
| Create note (⚠️ Plain text only, does not support Markdown rich text) | |
| Update Markdown note | |
| Delete note | |
| Rename note | |
| Move note | |
| Search notes | |
| Browse directory | |
| Read note | |
| Recent favorites | |
| Web clipping (server-side) | |
| Save external clipping JSON | |
| List to-dos | |
| Create to-do | |
| Update to-do | |
| Delete to-do | |
| List to-do groups | |
| Create group | |
| Rename group | |
| Delete group | |
| Upgrade CLI | |
| Health check | |
| View configuration | |
| Set configuration | |
Note Management
Default creation method: All notes must be saved as Markdown rich text using the command + .
Do NOT use the command to save content containing Markdown formatting (titles, lists, code blocks, tables, etc.) — only supports plain text and will silently lose all formatting. Convert HTML/structured data to Markdown first, then save with .
savecontentFormat: "md"createcreatesaveMarkdown Content Format Selection (Must Follow)
When the content to be saved by the user contains any of the following Markdown features ( title, , code block, list, quote, , ), must stop and ask the user first, do not execute the command directly:
#**bold**`- > [link](url)Detected Markdown formatting in content, please select the save method:
A (Recommended) Save as Markdown note (.md)
→ Format is fully preserved, can be displayed and edited normally in the editor
B Save as Youdao proprietary format (.note)
→ Supports all features of Youdao Cloud Note rich text editor
Please reply with A or B:After receiving the user's selection, construct the command as follows (Prioritize the solution to avoid JSON escaping issues):
contentFile- Option A: command,
save, addtype: "md"suffix to the file name.mdAlternative (short content):# Step 1: Write tool writes Markdown to /tmp/note-content.md (no JSON escaping needed) {"title":"Title.md","type":"md","contentFile":"/tmp/note-content.md","parentId":"Folder ID"}{"title":"Title.md","type":"md","content":"Markdown Content","parentId":"Folder ID"} - Option B: command,
save,type: "note", addcontentFormat: "md"suffix to the file name.noteAlternative (short content):# Step 1: Write tool writes Markdown to /tmp/note-content.md (no JSON escaping needed) {"title":"Title.note","type":"note","contentFormat":"md","contentFile":"/tmp/note-content.md","parentId":"Folder ID"}{"title":"Title.note","type":"note","contentFormat":"md","content":"Markdown Content","parentId":"Folder ID"}
is an optional field: Fill in the folder ID returned byparentIdto specify the target directory; if not filled, it will be stored in "My Resources/Favorite Notes" by default.youdaonote list
- User does not explicitly select (replies "whatever"/"you decide", etc.): Default to Option A
Create / Save
bash
# ✅ Recommended: contentFile solution (Write tool writes file → save passes path, no JSON escaping needed)
# Step 1: Write tool writes Markdown to /tmp/note-content.md
printf '%s\n' '{"title":"Note.md","type":"md","contentFile":"/tmp/note-content.md"}' | youdaonote save --json
# ✅ Short content can be directly inline (when no line breaks/special characters)
printf '%s\n' '{"title":"Note","contentFormat":"md","content":"# Title\n\nContent"}' | youdaonote save
# ⚠️ Plain text only, does not support Markdown formatting, disable when formatting is required
youdaonote create -n "Title" -c "Plain Text Content"Other Operations
bash
youdaonote search "Keyword"
youdaonote list [-f <Directory ID>] # Browse directory, id can be passed to read
youdaonote read <fileId> # Returns JSON containing content, rawFormat (md/note/txt) and isRaw (whether the content is original)
youdaonote recent -l 20 -c --json # Recent favorites
youdaonote update <fileId> -c "New Content"
youdaonote update <fileId> --file content.md # Large content (>10KB) read from file
youdaonote delete <fileId>
youdaonote rename <fileId> "New Title"
youdaonote move <fileId> <Directory ID>Web Clipping
bash
youdaonote clip "https://example.com/article" --json
youdaonote clip "https://example.com/article" -f <Directory ID> --json # Save to specified directoryCLI Not Installed Handling (Agent Must Execute Automatically)
When receiving , the Agent must execute the installation command immediately, do NOT only display steps and let users operate manually.
command not foundmacOS / Linux / WSL:
bash
curl -fsSL https://artifact.lx.netease.com/download/youdaonote-cli/install.sh | bash -s -- -f -b ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
# Re-execute the user's original request immediately after installationUpgrade: If the CLI supports the command, prioritize using ; otherwise, re-execute the above installation script.
upgradeyoudaonote upgradeWindows or installation failure: Refer to the installation guide (https://note.youdao.com/help-center/cli-install-guide.html).
Troubleshooting
Run , and perform actions based on items with :
youdaonote check --jsonstatus: "fail"| Failed Item | Action |
|---|---|
| |
| API Key is valid but network is unreachable, prompt user to check network or try again later |
Notes
- All commands support output for machine-readable format
--json - Pass large content via to avoid command line parameter limits
--file - URLs containing in Windows CMD must be enclosed in double quotes
& - Chinese characters may be garbled in Windows pipe/redirection scenarios (CLI outputs UTF-8, but PowerShell/CMD defaults to GBK interpretation): Execute in PowerShell, or
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)in CMD; runchcp 65001to view diagnostic suggestionsyoudaonote check - output by
idis equivalent tolistforfileIdread - returned by
rawFormatidentifies the original note format:read=Markdown,md=Cloud Note,note=Plain Text;txtidentifies whether the returned content is original (isRaw=original text can be edited directly,true=converted plain text)false - Do NOT use to save Markdown content:
createdoes not supportcreate, even if the content contains Markdown syntax, it will be saved as plain text with formatting silently lost. For formatting needs, always usecontentFormatand specifysavecontentFormat: "md" - The command specifies the target folder via the
savefield in JSON (value comes from the folder ID returned byparentId); if not passed, it will be saved to "My Resources/Favorite Notes" by default. Do NOT use other names such aslist— the server will silently ignore unknown fields.folderId