Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/iswalle/getnote-cli/getnote-notenpx skills add iswalle/getnote-cli --skill getnote-notegit clone --depth 1 https://github.com/iswalle/getnote-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00054 | $0.02133 |
| Opus 5 | $0.00027 | $0.01066 |
| Sonnet 5 | $0.00011 | $0.00427 |
| Haiku 4.5 | $0.00005 | $0.00213 |
Grade A, and why
getnote-note scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
得到大脑笔记
通过官方 getnote CLI 完成真实操作。不要自己拼 OpenAPI 请求、ID 或笔记链接;机器调用优先使用 -o json,以退出码和下述结果契约判断结果。
统一结果判定
所有 API 命令的 JSON 结果先看下面这层结构,再读取每条命令规定的 data 字段:
{
"success": true,
"data": {},
"request_id": "可选"
}
失败结果为 success=false 或命令退出码非 0,读取 error.code、error.message、error.reason、error.retryable 和可选 request_id。HTTP 成功、上传完成、出现任务 ID 或拿到空笔记链接,都不能替代最终成功结果。
意图路由
| 意图 | 命令入口 |
|---|---|
| 保存文字、链接或本地图片 | getnote save |
| 查询异步保存任务 | getnote task |
| 查看最近笔记 | getnote notes |
| 查看详情或字段 | getnote note |
| 链接/文字原文 | getnote note original |
| 录音、会议或课堂转写 | getnote note transcript |
| 图片、音频和文件附件 | getnote note attachments |
| 录音或会议时间线 | getnote note timeline |
| 录音快捷笔记 | gnote note quick,旧版回退 getnote note quick-note |
| 会议总结中的派生待办 | getnote note todos |
| 修改笔记 | getnote note update |
| 删除笔记 | getnote note delete |
| 公开分享 | getnote note share |
不确定参数时先运行目标命令 --help。
保存流程
文字与长文
- 保留用户原意,不擅自扩写;未指定时不添加知识库、父笔记、标签或公开分享。
- 短文本可作为参数传入。长文本、Markdown、含复杂引号或换行的内容必须使用
--content-file或--stdin,避免截断和转义损坏。 - 重试同一次创建时复用同一个
--idempotency-key。 - 只有命令退出码为 0,且最终结构中存在非空字符串
data.note.note_id、data.note.title、data.note.note_url,才回复保存成功。
链接
- 以
http://或https://开头且用户表达保存意图时按链接保存,不当作普通文字。 - CLI 会轮询异步任务。处理中可以告诉用户“正在抓取并生成笔记”,但不能提前给出成功结论。
- 最终成功必须满足文字保存的三项字段,并且
data.note已能读取;不要自行拼接链接。
图片
- 使用本轮用户明确给出的本地图片路径,不把文件名保存成文字,也不带上历史图片。
- CLI 会校验真实文件格式、上传图片并轮询识别任务。
- 只有最终笔记详情返回有效
note_id/title/note_url才算成功;“图片已上传”不是“笔记已生成”。
异步超时与安全重试
getnote save ... -o json正常会等待最终结果;若退出码非 0 且输出含task_id、status=pending|processing,操作结果仍不确定。- 结果不确定时使用
getnote task <task_id> -o json查询原任务。done|success且有有效note_id后再读取笔记;failed时展示error_msg或msg。 - 超时、断流或网络错误后禁止直接再次保存;先查询原任务或最近笔记。只有 CLI/API 明确
retryable=true且已确认原操作没有成功时才重试。
查询和深层读取
- “最近、列表、有哪些”使用
getnote notes;“找、搜、关于某主题”交给搜索 Skill。 - 用户给出 ID 时直接读取详情;雪花 ID 全程按字符串原样传递。“这条笔记”只复用当前会话中已经由 CLI 返回并验证过的字符串 ID。当前 CLI 若不能直接接收某种私有链接,就先请用户提供 ID,不能自行截取、猜测或转成数字。
- 列表先展示标题、字符串 ID 和真实
note_url,用户选择后再读取全文。 - 不确定笔记类型时先读
getnote note <id> -o json:- 链接/文字原文:
original; - 录音、会议、课堂逐字稿:
transcript; - 图片、音频、文件:
attachments; - 时间点与会议过程:
timeline; - 用户现场快捷记录:
quick-note; - 会议待办:
todos,必须保留source,不得把规则解析结果说成上游原生待办。
- 链接/文字原文:
- 不拿
content中的 AI 摘要冒充原文。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 114 lines · 54 tokens per session scan A b6fef4e585ca
getnote-note is a skill published in the GitHub repository iswalle/getnote-cli (175 stars, last pushed 8d ago), licensed MIT. It adds 54 tokens to every session and 2,133 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apple-notes
Manage Apple Notes via memo CLI: create, search, edit.
design-mcp-server
Design the tool surface, resources, and service layer for a new MCP server. Use when starting a new server, planning a major feature expansion, or when the user describes a domain/API they want to expose via MCP. Produces a design doc at docs/design.md that drives implementation.
add-tool
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
api-context
Canonical reference for the unified Context object passed to every tool and resource handler in @cyanheads/mcp-ts-core. Covers the full interface, its RequestContext base, all sub-APIs (ctx.log, ctx.state, ctx.requestInput, ctx.inputs, ctx.enrich, ctx.content), and when to use each.
api-canvas
DataCanvas primitive reference — a Tier 3 SQL/analytical workspace for tabular MCP servers, backed by DuckDB. Use when registering tables from upstream APIs, running ad-hoc SQL across them, and exporting results. Covers the acquire → register → query → export flow, per-table TTL, the token-sharing pattern for…