getnote-tag

A guide for managing tags on notes in the GetNote app, including viewing tags, adding one, and safely removing one.

In plain words
What is it for?
Use it to list a note’s tags, add a tag without replacing existing ones, or identify and remove a specific removable tag.
Why use it?
It prevents deleting the wrong tag by requiring the real tag ID and protects system tags from removal.

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-tag
Any agent
npx skills add iswalle/getnote-cli --skill getnote-tag
Clone the repo
git clone --depth 1 https://github.com/iswalle/getnote-cli

Made for: Claude Code, Codex.

Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 811 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.00038 $0.00811
Opus 5 $0.00019 $0.00405
Sonnet 5 $0.00008 $0.00162
Haiku 4.5 $0.00004 $0.00081

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

Security

Grade A, and why

getnote-tag 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-tag/SKILL.md · 62 lines

What it actually says

得到大脑标签

通过官方 getnote CLI 管理真实标签。不要自己构造标签 ID,也不要把标签名误当成删除参数。机器调用统一使用 -o json;退出码为 0 但 success=false 仍是失败。

路由与安全边界

用户意图 命令 不能做什么
“这条笔记有哪些标签” getnote tag list <note_id> 不自动添加或删除。
“给这条笔记加上产品优化” getnote tag add <note_id> <tag> 只新增指定标签,不覆盖原标签。
“删掉这个标签” tag list,再 getnote tag remove <note_id> <tag_id> 不能把标签名称直接当作 tag_id
“替换为这些标签” 先读取当前标签,再交给 getnote note update --help 属于覆盖性操作,必须先确认。

笔记 ID、标签 ID 及任何雪花 ID 始终作为字符串原样传递。系统标签不可删除;权限不足、标签不存在或笔记不存在时不能说“已经删掉”。

命令结果与用户呈现

查看标签

getnote tag list <note_id> -o json

成功 JSON:

字段 含义 回复规则
success=true 标签读取成功 才能展示列表。
data.note_id 实际读取的笔记 必须与目标笔记一致。
data.tags[].id 标签真实 ID 仅用于后续删除,不必在普通回复中暴露。
data.tags[].name 标签名称 展示给用户。
data.tags[].type 普通/系统等标签类型 系统类型明确不能删除。

tags=[],回复“这条笔记目前没有标签”,这是成功结果。

添加标签

getnote tag add <note_id> "产品优化" -o json

成功 JSON 必须有 success=truedata.note_id 与更新后的 data.tags[]。回复“已添加「产品优化」”,并在用户要求时列出当前全部标签;不要说“已替换标签”。如果结果没有新的标签集合,先再执行一次 tag list 核验,再向用户确认。

删除标签

getnote tag remove <note_id> <tag_id> -o json

删除前必须从当前 tag list 结果中拿到真实 tag_id,并确认该条不是系统标签。成功返回 success=true 才能回复“已删除「标签名」”;如果用户需要看剩余标签,再执行 tag list,不能猜测剩余集合。

失败与恢复

  • 失败时展示实际 error.message / error.reason、是否可重试和 request_id;不要把“标签不存在”“系统标签”“无权限”归为通用网络错误。
  • 不能确定用户要删除哪一个同名标签时,先列出名称和类型让用户确认;不要按第一个结果擅自删除。
  • 在群聊中仅展示用户当前要求的标签信息;不通过标签列表推断或泄露笔记其他正文。
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 · 62 lines · 38 tokens per session scan A ae87ee6d9b59

Subscribe to this mod's changes

getnote-tag is a skill published in the GitHub repository iswalle/getnote-cli (175 stars, last pushed 8d ago), licensed MIT. It adds 38 tokens to every session and 811 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-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-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-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