pulse-path skill

Three skills and an MCP server that keep project memory and docs as a linked list: no dangling references after edits and moves

  • 91 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • Scripts read project memory files and documents, and `curator.py` and `project_registry.py` can write pointers and data.
All reasons and checks

inspired-by-atmosphere/pulse-path

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/pulse-path

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Scripts read project memory files and documents, and `curator.py` and `project_registry.py` can write pointers and data.

This is third-party code. Review the repository files before installing.

What it does

pulse-path treats the knowledge of a large project as a linked list: every memory entry is a node, every see-also is a pointer and an edit must leave no dangling pointers. Five laws: relink on delete, check inbound and outbound links on modify, declare at least one outbound link on add, verify consistency after reorganizing and treat memory, facts, skills, `AGENTS.md` and docs alike. The set has three skills: `pulse-path` (methodology and link scanners), `memory-pointer-system` (how to write and verify pointers) and `memory-governance` (layers, demotion and the write pipeline). Scripts use the Python standard library: `scan_links.py` finds references to paths that do not exist, `mem_guard.py` checks pointer shape and `pp_index.py` builds a local FTS5 index to find the right document with no network or embeddings. `python scripts/run_checks.py` runs the whole offline check set. The `pulse_path_mcp.py` MCP server runs over stdio on the standard library and exposes the pointer guard, link scan, L2 coverage, secret scan and `pp_search`.

Who it is for. Teams with a long project history where dozens of documents, skills and memory files go stale after every rename.

Good fit when

  • After renaming or deleting a file you need to find every document that referenced it
  • An agent memory file keeps growing and you need to see which pointers are broken and which entries duplicate each other
  • An agent needs a short pointer index and a way to find the right document with no embeddings or network
  • Before publishing a repository you need a dependency-free secret check: the `check_secrets.py` script
  • Several authors edit documentation and need shared rules for where each kind of information lives

Not a fit when

  • You need semantic memory with vector search: the project deliberately skips it and hands such questions to an external service through `store://`
  • The project is small with a couple of notes: the overhead of pointers and checks will not pay off
  • You need Russian-only text: documentation, examples and some skills are written in Chinese

Example request

I am deleting docs/old-api.md. Use pulse-path to find every document that references it and propose relinking the pointers.

Limitations

Only Python 3 is needed and there are no dependencies, but the scripts assume a memory directory layout with a `MEMORY.md` file and `mem_rules.json` rules, so they have to be adapted to another project. Detailed skill texts are in Chinese and search checks and examples include Chinese queries. The project does not implement semantic search: it calls an external MCP service for that, and an unavailable service is marked with a question mark and not counted as a broken link. `--check` only reports problems, while `curator.py` and `project_registry.py` write data and default to a dry run. The author suggests most teams take `pulse-path` with `scan_links.py`.

How to disable. Delete the three skill folders from the agent skills directory and the MCP server entry from the client configuration. Created indexes and pointer files stay in the project.

FAQ

How do I install pulse-path?

There is no install command: copy the three skills into `.claude/skills/` or any directory where the agent reads `SKILL.md` files. They work independently and most teams need only `pulse-path` and the `scan_links.py` script.

What does `scan_links.py` do?

It checks that every path or skill reference in documents still resolves. Exit code 0 means clean and 1 reports dangling references.

Are external dependencies or network needed?

No. All scripts and the MCP server use only the Python standard library, and `pp_index.py` searches a local SQLite FTS5 index with no embeddings or keys.

What does the MCP server expose?

The pointer guard, link scan, L2 coverage, secret scan and `pp_search`. It runs over stdio and is built on the standard library.

How do I check that everything works?

`python scripts/run_checks.py` runs every offline check in the repository and is what its CI runs. The MCP protocol test has 76 assertions.

Discussion

No questions or reviews yet.

Skills
Official

A local memory MCP server for coding agents: records issues, attempts, fixes and decisions and warns before repeating a failed approach

MCP serverExtended access881Repository stars

Skills keep project memory in a docs/ai folder: short size-capped files, a one-page handoff and a verifier for the install

SkillExtended access492Repository stars
Official

Local memory for agents: stores conversations and project files verbatim and retrieves them with semantic search over MCP

MCP serverExtended access60.5KRepository stars

A personal LLM wiki with a knowledge graph, cited RAG and memory, served to Claude Code and Cursor by an MCP server

MCP serverExtended access276Repository stars

A long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary

MCP serverExtended access272Repository stars

A zero-dependency Python CLI: one catalog of MCP servers and skills for every agent, with only a compact index in context

CLIBroad access429Repository stars

README in short

The README lays out the five linked-list laws, layered activation of knowledge, the repository layout with three skills and engines, a table of scripts and exit codes, a one-minute quick start and external memory hookup.

README badge

Original SKILL.md

---
name: pulse-path
description: Use when 改记忆/指针/知识节点/引用/任务卡/看板/进度/删除或整理任何项目知识(含建库/新系统/记忆整理/指针迁移);改知识节点前必挂。
---

# 链表式知识记忆管理(Linked-List Memory)

大型项目(多协作者/多文档/多技能/长期演进)的知识资产按**链表**组织与维护,保证知识联系不被改动打散。

## 适用场景

- **大项目启动 = 默认启用**:建库/新系统/大规模重构等工程开工即挂本技能,避免"只建库不挂链"
- **记忆容量管理**:内置记忆到达水位线(如 80%)即触发整理(压缩/外挂/重接链;实战可降 30-40 个百分点)
- 管理大型项目的记忆体系(内置记忆 / fact_store / 技能 / 文档引用)
- **改动任何"知识节点"之前**:删条目、删文件、改文档、改技能、重组目录
- 项目知识整理/重组后的完整性验收
- 新会话/新参与者需要可靠激活项目知识的场景(激活链设计)

## 核心模型

| 概念 | 定义 | 实例 |
|---|---|---|
| **节点** | 知识单元:memory 条目、fact 事实、技能、文档、文件 | memory 里"某项目数据资产"条目 |
| **指针** | 节点间的引用关系:"详见 X"、"路径引用"、"引用技能"、"关联事实" | 技能里的 `<DATA_DIR>/dataset` 路径 |
| **链** | 从入口(L1 索引)到内容(L2 载体)的通路 | memory 条目 → fact → 技能 → 文档 |
| **悬空指针** | 指向已删/已移目标且未重接的引用 = 链断裂 | 技能还引用已删除的打包产物 |

## 链表五律(操作铁律)

1. **删除 = 重接链**:删除任何节点前,先找出所有指向它的指针(grep 技能库/文档/其他条目),重定向到继承者或同步删除。**禁止留下悬空指针**。
2. **修改 = 查前后指针**:改完检查入链(谁引用我,语义还成立吗)+ 出链(我引用的对象还可达吗)。
3. **新增 = 声明去向**:新节点必须带至少一条出链指向内容层,禁止"无来源无去向"的孤岛节点。
4. **整理后必检**:跑一致性扫描(引用路径真实存在、同一事实多源表述一致、技能名/文件名引用可解析)。
5. **一视同仁**:内置记忆 / fact_store / 技能 / AGENTS.md / 项目文档同等适用。

## 分层落地模式(大型项目标配)

```
L1 索引层(每轮/每次可见,简短)  = 指针条目:一句话"内容在哪"
   ↓ 指向

Report a problem