Let users directly connect, diagnose, and upgrade the CLI within the current AI, as well as save, find, and organize their own Dedao Brain content. This Skill understands user intent, loads the corresponding domain reference, and hands it to the official getnote CLI to perform real operations.
Capabilities and External Impact
- This Skill executes
getnotecommands as requested by the user, and reads or modifies data of the currently authorized account through the official Dedao Brain API. - Login opens a browser authorization page, and the CLI saves the authorization information in its local configuration directory; the Skill does not read, display, or forward complete credentials.
- Saving, updating, archiving, sharing, and deleting will modify remote note data, and follow the confirmation rules below.
- Only execute
getnote updatewhen the user explicitly requests an upgrade; it will not run npm on its own, install other software, download and overwrite this Skill, or modify other Skill files. getnoteWhen missing, use the official installation process provided by the platform according to the frontmatterinstalldeclaration; when the platform requires confirmation, request this confirmation only once, and do not look for or runscripts/install.sh。
Capability Overview
| What the user wants to do | Typical phrasing | What should be returned after completion |
|---|---|---|
| Save content | "Take a note" "Save this link" "Store this image" | Real title, string note ID, openable note link; asynchronous content must wait for generation to complete |
| Find content | "What did I note recently" "Help me find customer feedback" | Real titles, summaries, and links sorted by relevance or time |
| In-depth reading | "Open this note" "Show the recording transcript" "What meeting to-dos are there" | The detail view named by the user, without replacing the original text with a summary |
| Organize knowledge | "Put it in the competitor folder for product research" | Real knowledge base, directory, and archiving results; read back after writing to verify |
| Manage content | "Add tags" "Update the body" "Share or delete" | Final state; confirm dangerous operations first |
| Connection and troubleshooting | "Log in to Dedao Brain" "Check why it doesn't work" "Update to the latest version" | Actual check results for the CLI, authorization, and API, and next steps |
Do not ask users to memorize commands. Users can express their goals in natural language.
First connection
Book identity lookup, citation source filtering, and complete pagination require official CLI 1.7.1 or later; file upload, highlights, sprout reports, and chapter timelines require CLI 1.6.0 or later. When commands are missing, tell the user to upgrade, and do not substitute other data.
Exception: when the user has already authorized cloud MCP and only needs to upload files locally, after installing the CLI only execute getnote upload, do not run setup、auth login or require a second identity authorization. Follow references/kb.md the direct upload flow is complete; when no file needs to be uploaded, continue using the cloud MCP.
- Run
command -v getnote. If the CLI does not exist, invoke theinstallinstallation flow provided by the platform according to the frontmatter@getnote/clideclaration; do not let the user choose an installation method, and do not look for a local installation script. - Run
getnote setup, letting the CLI detect local AI, sync the five domain Skills, and guide authorization. The current standalone Skill is still managed by the platform, and the CLI does not overwrite it. - When not yet authorized, run
getnote auth loginand have the user confirm only in the browser; do not ask for an API Key, Cookie, or Authorization. - Run
getnote doctor -o json. Only when the command exit code is 0,diagnostics_completed=trueandready=true, can you say it is connected; whenstatus=degraded, continue explaining and handling non-blocking warnings. - First run
getnote notes --limit 1 -o jsonfor write-free acceptance. Save the test note only when the user agrees, and it counts as complete only if it returns the real title, the string note ID, and an openablenote_url.
Execution loop for each task
- Understand the goal: identify the object, action, and target location the user wants to handle; if references such as "this note" or "this blogger" are unclear, clarify first.
- Load domain reference: read only the
references/*.mdinvolved in this task; do not guess commands, parameters, or return fields from memory. - Confirm the real object: first read the real string ID of the note, knowledge base, folder, or tag. If names are duplicated, let the user choose.
- Execute the official CLI: for machine calls, add
-o json; for long content, use the file or standard input method specified by the domain reference. - Judge the result: check the exit code,
successand domain result fields at the same time. Poll asynchronous tasks until the final state; do not describe "submitted" as "completed". - Re-read when necessary: for operations such as archiving, updating, and deleting tags, re-read the result according to the domain reference to confirm the final server-side state.
- Reply to the user: give the conclusion first, then the title, link, or necessary summary; on failure, explain the reason, whether it can be retried, the next step, and
request_id。
Routing
After matching the user's intent, you must read and follow the corresponding domain reference:
- Login, connection, quota, diagnostics, and updates:
references/auth.md - Saving, viewing, modifying, sharing, and deep content:
references/note.md - Look up notes by book title or book author: first read
references/kb.md, distinguish book title query from author author, choose filters according to whether the user wants all notes or highlights, and read according to complete pagination. - Find highlights by course name, transcript title, instructor, or comment: first read
references/search.mdcourse location flow; when there is an exact source ID/article link, readreferences/note.md. A search miss cannot skip the supplementary search within the same source scope. - Find candidate notes by fuzzy topic or natural language:
references/search.md - Knowledge base, file upload, folders, blogger subscriptions, and live streaming:
references/kb.md - View, add, and delete tags:
references/tag.md
When a task involves multiple domains, read the corresponding references in order according to the actual steps. For example, for "find the most recent customer feedback and put it into the customer file", first read search, then read knowledge base.
Result presentation standards
- Saved successfully: Reply with the title, the string
note_idand the realnote_url. Keep waiting while a link or image is still being generated; if it times out, clearly say it is still being processed and do not fake completion. - Note list and search: Prefer displaying display_title and the real link; summary/preview are for locating and must not impersonate the full text. Deduplicate multiple search snippets with the same note_id; Top-K does not represent the full set; the full set is determined by the traversal completion evidence in the domain reference.
- Note details: Display the title, summary, original text, audio transcription, attachments, timeline, quick notes, or meeting to-dos according to the view the user names, and do not impersonate them with other fields.
- Knowledge base and directory: Display the real name, Scope, and string ID; after archiving is complete, explain which knowledge base and directory the note entered.
- Update, share, and delete: Clearly state the final status and scope of impact. Cancellation or insufficient permissions must not be reported as success.
- Empty results: Explain that nothing was found and the actual search scope; you may suggest changing keywords, time, or knowledge base, but must not fabricate candidates.
- Failure: Explain in words the user can understand, and retain the error code and
request_idfor troubleshooting; sensitive credentials must not appear in the reply.
Unified rules
- All real operations are performed by the official
getnoteCLI; when parameters are uncertain, read the corresponding command--help, and machine calls uniformly add-o json。 - A non-zero exit code is always a failure. For successful results, read
success=trueand thedatafields specified by the domain Skill; for failed results, readerror.code/message/reason/retryableand the optionalrequest_id, and do not guess success from natural language. - IDs are always passed through as strings exactly as they are; links use only real return values, and do not concatenate domains yourself.
- When the result of a write operation is uncertain, first query the original task or the most recent result; do not blindly repeat creation.
- Deletion, overwriting, replacing all tags, public sharing, and batch removal must be confirmed first.
- In group chats or shared sessions, do not proactively expand private full text; first confirm the requester and display scope.
- On failure, explain the real reason, whether it can be retried, and the next step, and retain
request_id; do not fake success.
Common recovery methods
unauthorizedor authorization expired: readreferences/auth.md, guide the browser to reauthorize, and do not ask for credentials.forbidden: Explain that the current account or team role does not have permission; do not bypass permissions or guess by changing IDs.not_found: Re-resolve the real note, knowledge base, or directory ID; links and IDs from different environments must not be mixed.conflict: First read the current version or existing directory to avoid overwriting and duplicate creation.rate_limited: Wait according to the returned retry hint, and do not call in a high-frequency loop.- Network interruption or uncertain result: only perform query verification, and do not automatically repeat writes.
User requests an update
When the user says "update to get the brain," this already constitutes complete update authorization; do not make the user choose internal components:
- According to
references/auth.md, executegetnote update, upgrade the CLI, sync the five domain Skills bundled with the CLI, and complete diagnostics. - Use the ClawHub/OpenClaw host process to check and update the current standalone Skill; when the platform requires user confirmation, provide only the single necessary confirmation action.
- This Skill does not overwrite its own files through the CLI, npm, or download scripts.