getnote-search

A skill for searching GetNote, a note-taking system, with ordinary language such as “find my notes about payments.” It searches all notes or a selected knowledge base and returns real note titles, summaries, IDs, and links when available.

In plain words
What is it for?
Use it to find earlier notes by topic, search within a chosen knowledge base, and show results that the user can open.
Why use it?
It avoids guessing note IDs or links and separates semantic searching from simply listing recent notes. It also handles duplicate matches and reports when fewer notes are found than requested.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/iswalle/getnote-cli/getnote-search
Any agent
npx skills add iswalle/getnote-cli --skill getnote-search
Clone the repo
git clone --depth 1 https://github.com/iswalle/getnote-cli

Made for: Claude Code, Codex.

Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,093 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00041 $0.01093
Opus 5 $0.00020 $0.00547
Sonnet 5 $0.00008 $0.00219
Haiku 4.5 $0.00004 $0.00109

Measured 2d ago against content hash 9df65ed9c04e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

getnote-search 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.

skills/getnote-search/SKILL.md · 64 lines

What it actually says

得到大脑搜索

通过官方 getnote CLI 搜索真实笔记。不要自己拼 OpenAPI 请求、笔记 ID 或访问链接。机器调用使用 -o json;只有退出码为 0 且 JSON 的 success=true 才是业务成功。

何时使用

  • “找找、搜一下、关于某主题、我之前记过什么”:使用 getnote search
  • “最近有哪些笔记、按保存时间列出来”:交给笔记 Skill 的 getnote notes,不要把列表误当语义搜索。
  • 用户选中某一条后,再交给笔记 Skill 用 getnote note <note_id> 读取详情;搜索阶段不自动修改、移动、分享或创建笔记。

执行步骤

  1. 用户没有指定知识库时,直接执行 getnote search <query> --limit <1-10> -o json。默认上限是 10,不能自行放大。
  2. 用户指定知识库名称时,先执行 getnote kbs -o json,用返回的真实 topic_idscope 匹配;同名、多个团队知识库或意图不明确时必须让用户选择。
  3. 已确认知识库后执行 getnote search <query> --kb <topic_id> --limit <1-10> -o json
  4. 只从返回值读取标题、摘要、字符串 note_id 和真实 note_url。没有 note_id/note_url 的非笔记结果可以展示内容,但不能伪造“打开笔记”链接。
  5. 同一篇笔记可能因命中多个片段出现多次。面向用户列“几篇笔记”时必须按字符串 note_id 去重;若去重后不足用户要求的数量,可在上限 10 内增大 --limit 重搜,仍不足时如实返回实际数量。

命令结果与用户呈现

搜索

getnote search "支付流程" --limit 10 -o json
getnote search "客户反馈" --kb <topic_id> --limit 5 -o json

成功 JSON 的稳定字段:

字段 含义 Agent 如何使用
success 业务是否成功 只有 true 才继续呈现结果。
data.results[] 搜索结果 空数组是一次成功的“未找到”,不是失败。
data.results[].title 笔记标题 列表主标题;为空时如实显示“未命名笔记”。
data.results[].note_id 笔记雪花 ID 始终作为字符串原样传入后续 note 命令。
data.results[].note_url 真实笔记链接 只有非空时才给用户“打开笔记”。
data.results[].content 命中摘要或正文片段 只摘取与问题相关的短片段,不能冒充全文。
data.results[].score 相关性分数 仅用于内部排序,不向用户虚构“准确率”。

成功时按相关性给出编号列表,例如:

找到 3 条相关笔记:
1. 《支付流程优化想法》——“用户等待时增加进度提示…”
   打开:<真实 note_url>
2. 《客户支付反馈》——“…”
   打开:<真实 note_url>
你想看哪一条的详情或原文?

data.results=[],回复“没有找到相关笔记;可以换关键词、时间范围或指定知识库再试”,不要说“接口失败”,也不要自动扩大检索范围、创建笔记或调用模型编造结果。

失败、隐私与后续动作

  • success=false 或退出码非 0:回复失败步骤、error.message / error.reason、是否 retryable 和可选 request_id;不要将 HTTP 成功或空输出说成搜索成功。
  • 若 CLI 提示“搜索服务响应超时”,这是检索未完成,不是“没有结果”。建议稍后重试,或缩小关键词、指定知识库后再试;不要伪造空列表。
  • 检索结果可能包含私密正文。群聊或共享会话默认只展示标题、必要摘要和真实链接;用户明确要求后再展开全文。
  • 用户选中结果后,复用返回的字符串 note_id,再读取 getnote note <note_id> -o json;不要从 URL 截取或转换为数字。
Changes

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.

  1. 2d ago First seen · 64 lines · 41 tokens per session scan A 9df65ed9c04e

Subscribe to this mod's changes

getnote-search is a skill published in the GitHub repository iswalle/getnote-cli (175 stars, last pushed 8d ago), licensed MIT. It adds 41 tokens to every session and 1,093 once invoked, about $0.0002 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.

Related

Other skills, from other repositories

apple-notes

Manage Apple Notes via memo CLI: create, search, edit.

mateaix/mateclaw · 17 tokens

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.

cyanheads/obsidian-mcp-server · 62 tokens

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.

cyanheads/obsidian-mcp-server · 35 tokens

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.

cyanheads/obsidian-mcp-server · 86 tokens

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.

cyanheads/obsidian-mcp-server · 79 tokens

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…

cyanheads/obsidian-mcp-server · 85 tokens