memory-audit-node-decomposition

memory-audit-node-decomposition is a skill for Claude Code from Dataojitori/nocturne_memory. It costs 34 tokens per session (1,236 once invoked), scanned A, original, MIT.

A method for splitting an oversized knowledge note into smaller notes, each focused on one independent idea. It also explains how to keep useful core information in the original note.

In plain words
What is it for?
Use it when a note contains unrelated topics, is too large, or needs different reminders for different situations. It helps decide what to separate, where to place it, and whether to keep or remove the original.
Why use it?
It prevents one broad note from being hard to find or useful only in some situations. Smaller, focused notes can be matched to the right future question.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Good fit Use it when a note contains unrelated topics, is too large, or needs different reminders for different situations. It helps decide what to separate, where to place it, and whether to keep or remove the original.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dataojitori/nocturne_memory/memory-audit-node-decomposition
About the project

Nocturne Memory is an MCP server that gives AI agents persistent, structured long-term memory across conversations, models, sessions, and tools. It is used with MCP-compatible clients to retain selected context, inspect memories, and review or roll back changes.

Dataojitori/nocturne_memory · 1,393 stars · on GitHub · misaligned.top

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.

Any agent
npx skills add Dataojitori/nocturne_memory --skill memory-audit-node-decomposition
Clone the repo
git clone --depth 1 https://github.com/Dataojitori/nocturne_memory

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for memory-audit-node-decomposition

README.md
[![agentmods](https://agentmods.dev/badge/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition/github.svg)](https://agentmods.dev/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition)
Your own site
<a href="https://agentmods.dev/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition"><img src="https://agentmods.dev/badge/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for memory-audit-node-decomposition

Your own site · 80×15
<a href="https://agentmods.dev/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition"><img src="https://agentmods.dev/badge/skills/dataojitori/nocturne_memory/memory-audit-node-decomposition.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 34 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,236 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.1 $0.00034 $0.01236
Opus 5.5 $0.00014 $0.00494
Sonnet 5.5 $0.00007 $0.00247
Haiku 4.5 $0.00003 $0.00124

Measured 26d ago against content hash 77af5c93f995, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

memory-audit-node-decomposition 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 26d 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.

docs/skills/memory-audit-node-decomposition/SKILL.md · 53 lines

What it actually says

节点分解 (Node Decomposition)

你面前有一条记忆,它不是死数据——里面装的东西确实有用——但它把多个独立概念塞进了同一个节点,导致无论你怎么写 disclosure 都无法精准覆盖全部内容。这是 memory-audit-pattern-extraction(合并上提)的逆运算:把一个臃肿的杂烩拆分成多个聚焦的独立节点。


诊断信号

以下任一条件成立,就该拆分:

  • 体积信号:单篇记忆体积 > 800 Tokens,且不是因为功能本身需要这个体量(如用户的完整档案),而是把多个主题塞进了同一个节点、或平铺了未经提炼的经验。
  • disclosure 失焦:你写了一个 disclosure,但读完发现它只能触发这条记忆一半的内容。另一半在完全不同的场景下才有用。一条 disclosure 无法服务两个独立概念——这说明它们不该住在一起。
  • 阅读时的跳读冲动:当你读这条记忆时,你本能地跳过某些段落去找你需要的那部分。被跳过的部分和被读的部分属于不同的概念。

拆分流程

1. 识别概念边界。 通读全文,标出独立的概念单元。判断标准:如果这两段话分别出现在两条不同的记忆里,它们的 disclosure 会完全不同吗?会→它们是独立概念,该拆。不会→它们是同一概念的不同侧面,不拆。

2. 为每个概念确定归属。 拆出来的概念不一定都留在原父节点下。问自己:未来的我在什么场景下需要想起这段话?那个场景对应的父节点是什么?按 memory-audit-discoverability 中的注意力狙击原则放置。

3. 为每个新节点写独立的 disclosure。 每条 disclosure 必须只对应一个概念。如果你发现一条 disclosure 仍然需要用"以及"、"同时"来连接两个触发场景——你没有拆干净。

4. 处理原节点。 当你把具体概念剥离成子节点后,原节点只剩下两种归宿:

  • 所有内容都已拆空 → 删除原节点。
  • 保留一个最核心的通用主张 → 用 update_memory 瘦身,让它成为新层级的父节点。

多层过滤器原则(绝対禁止纯索引): 此原则适用于所有充当父节点的记忆——无论是被瘦身后保留的原节点,还是在拆分过程中新建的分组父节点。 绝不能让任何父节点沦为一个只写着"本话题包含以下几个方面,请查阅子节点"的目录页。你的 read_memory 机会极其有限,且每次下钻继续阅读子节点的几率都会衰减。如果花了一次检索机会,只读回来一个路标,这次检索就浪费了。 记忆层级不是分类抽屉,而是层层递进的认知支架。 每一层父节点自身应携带足以应对一般情况的核心认知;子节点只在遇到特定复杂情境、父节点的理解不够用时,才通过独立的 disclosure 引导继续深挖。

空心节点词汇黑名单(硬性拦截): 在你写完一个父节点的内容后,立刻扫描你刚写的文字。如果出现以下任何一种句式,判定为废稿,强制重写:

  • "这里存放……"、"这里包含……"、"本目录存放……"
  • "包含以下几个方面"、"分为以下几类"
  • "详见子节点"、"请查阅子节点"
  • 任何只描述子节点分类而自身不携带可执行认知的内容

父节点的正确写法:以明确的第一人称视点,写下我对该领域当前最核心、可独立使用的认识。教训领域保留关键经历、反思与当前态度;事实资料领域保留重要观察、出处和判断基线。不把这些内容改写成无主语的“铁律”或“禁令”。读完父节点,即使暂时不点开子节点,我也应能处理该领域的一般情况。

5. 质检。 拆分后的所有节点(包括子节点和父节点)必须通过以下两项测试:

  • 冷启动质检:一个刚开机的全新实例,能独立看懂这条记忆吗?(同 memory-audit-dead-data-purge 标准)
  • 父节点压力测试(仅父节点):假设删掉该父节点下所有的子节点,只看父节点自身的正文——如果它变成了一句正确但无用的废话(如"这里是技术规范"),这个父节点不合格,必须回到步骤 4 重写。
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. 26d ago Changed 77af5c93f995
  2. 1mo ago First seen · 53 lines · 34 tokens per session scan A 776448aab67b

Subscribe to this mod's changes

memory-audit-node-decomposition is a skill published in the GitHub repository Dataojitori/nocturne_memory (1,393 stars, last pushed 26d ago), licensed MIT. It adds 34 tokens to every session and 1,236 once invoked, about $0.0001 per session on Opus 5.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

lesson

Store a lesson learned from the current conversation. Triggered by /lesson command. Use when Master signals that the recent conversation contains a pitfall, fix, or key insight that should be persisted to long-term memory.

cablate/memory-lancedb-mcp · 45 tokens

ccs-align

Run the CCS Align seat's hourly breathing cycle — prove the local claude-mem worker is healthy, pull needle observations through search → timeline → getobservations, land them in a seat-owned middle cache via atomic grab → append → filter exclude-marks → replace, manage exclude marks, and walk house → project → seat…

thedotmack/claude-mem · 136 tokens

weekly-digests

Generate a serial week-by-week narrative digest of a project's full claude-mem timeline. Splits the timeline into per-ISO-week files, then runs one consecutive subagent per week — each receiving the prior week's carry-forward block — to produce one chapter per ISO week of data. Use when asked for "weekly digests"…

thedotmack/claude-mem · 93 tokens

handoff

Generate a HANDOFF.md that captures goal, current state, files touched, failed attempts, and next steps — so a fresh Claude session can continue exactly where this one left off. Use when sessions are getting long, Claude keeps retrying the same broken solution, or the user wants to step away and resume later.

thedotmack/claude-mem · 66 tokens

cloud-sync

Set up or check claude-mem cloud sync with cmem.ai Pro. Use when the user says "set up cloud sync", "sync my memories", "cmem pro", "cloud backup", "sync status", or wants their memory database backed up or synced to their cmem.ai account.

thedotmack/claude-mem · 64 tokens

screenpipe

Search screen and audio history recorded by Screenpipe and optionally save selected context into claude-mem. Use when the user asks to recall desktop activity, a meeting, or something seen in another app through Screenpipe.

thedotmack/claude-mem · 46 tokens