pulse-path — скилл

Три скилла и MCP-сервер ведут память и документацию проекта как связный список: без битых ссылок после правок и переносов

  • 91 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

Почему такой уровень

  • Скрипты читают файлы памяти и документы проекта, а `curator.py` и `project_registry.py` могут писать указатели и данные.
Все причины и проверки

inspired-by-atmosphere/pulse-path

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/pulse-path

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скрипты читают файлы памяти и документы проекта, а `curator.py` и `project_registry.py` могут писать указатели и данные.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

pulse-path рассматривает знания большого проекта как связный список: каждая запись памяти служит узлом, каждая ссылка «см. также» указателем, а после правки не должно остаться висячих указателей. Пять законов: при удалении перевязать ссылки, при изменении проверить входящие и исходящие связи, при добавлении указать хотя бы одну исходящую ссылку, после наведения порядка проверять согласованность и обращаться одинаково с памятью, фактами, скиллами, `AGENTS.md` и документами. Набор состоит из трех скиллов: `pulse-path` (методика и сканеры ссылок), `memory-pointer-system` (как писать и проверять указатели) и `memory-governance` (слои, понижение и конвейер записи). Скрипты на стандартной библиотеке Python: `scan_links.py` находит ссылки на несуществующие пути, `mem_guard.py` проверяет форму указателей, `pp_index.py` строит локальный индекс FTS5 для поиска нужного документа без сети и эмбеддингов. Весь офлайн-набор проверок запускает `python scripts/run_checks.py`. MCP-сервер `pulse_path_mcp.py` работает по stdio на стандартной библиотеке и отдает проверку указателей, сканирование ссылок, покрытие уровня L2, поиск секретов и `pp_search`.

Для кого. Командам с длинной историей проекта, где десятки документов, скиллов и файлов памяти устаревают после каждого переименования.

Подходит, если

  • После переименования или удаления файла нужно найти все документы, которые на него ссылались
  • Файл памяти агента растет, и надо понять, какие указатели битые, а какие записи дублируются
  • Агенту нужен короткий индекс указателей и поиск нужного документа без эмбеддингов и сети
  • Перед публикацией репозитория требуется проверить его на секреты нулевой зависимостью: скрипт `check_secrets.py`
  • Несколько авторов правят документацию, и нужны единые правила, где какая информация живет

Не подходит, если

  • Нужна семантическая память с векторным поиском: проект намеренно этого не делает и отдает такие вопросы внешнему сервису через `store://`
  • Проект маленький, и в нем пара заметок: накладные расходы на указатели и проверки не окупятся
  • Нужны только тексты на русском: документация, примеры и часть скиллов написаны по-китайски

Пример запроса к агенту

Я удаляю файл docs/old-api.md. Используй pulse-path: найди все документы, которые на него ссылаются, и предложи перевязать указатели.

Ограничения

Нужен только Python 3, зависимостей нет, но скрипты пишутся под устройство каталога памяти с файлом `MEMORY.md` и правилами `mem_rules.json`, и в чужой проект их приходится подгонять. Подробные тексты скиллов на китайском, а проверка поиска и примеры включают китайские запросы. Смысловой поиск проект не реализует: для него предусмотрен вызов внешнего MCP-сервиса, недоступный сервис помечается знаком вопроса и не считается битой ссылкой. Команда `--check` только сообщает о проблемах, а скрипты `curator.py` и `project_registry.py` пишут данные и по умолчанию работают в сухом режиме. Автор рекомендует брать в большинстве случаев `pulse-path` с `scan_links.py`.

Как отключить. Удалите папки трех скиллов из каталога скиллов агента и запись MCP-сервера из конфигурации клиента. Созданные индексы и файлы указателей остаются в проекте.

Частые вопросы

Как поставить pulse-path?

Команды установки нет: три скилла копируют в `.claude/skills/` или любой каталог, где агент читает файлы `SKILL.md`. Они работают независимо, большинству хватает `pulse-path` и скрипта `scan_links.py`.

Что делает `scan_links.py`?

Проверяет, что каждая ссылка на путь или скилл в документах все еще ведет на существующий объект. Код выхода 0 означает чисто, 1 сообщает о висячих ссылках.

Нужны ли внешние зависимости и сеть?

Нет. Все скрипты и MCP-сервер используют только стандартную библиотеку Python, поиск `pp_index.py` идет по локальному индексу SQLite FTS5 без эмбеддингов и ключей.

Что отдает MCP-сервер?

Проверку указателей, сканирование ссылок, покрытие уровня L2, поиск секретов и `pp_search`. Работает по stdio и написан на стандартной библиотеке.

Где проверить, что все работает?

Команда `python scripts/run_checks.py` запускает все офлайн-проверки репозитория, это же выполняет его CI. Тест протокола MCP содержит 76 проверок.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Официальный

Локальный MCP-сервер памяти для кодинг-агентов: хранит проблемы, попытки, фиксы и решения и предупреждает о повторе неудачного подхода

MCP-серверРасширенный доступ880Звезды репозитория

Скиллы ведут память проекта в папке docs/ai: короткие файлы с лимитом размера, одна страница передачи дел и проверка установки

СкиллРасширенный доступ492Звезды репозитория
Официальный

Локальная память для агентов: хранит переписку и файлы проекта дословно и находит нужное семантическим поиском через MCP

MCP-серверРасширенный доступ60,5 тыс.Звезды репозитория

Личная вики на LLM: граф знаний, RAG с цитатами и память, а MCP-сервер отдает их Claude Code, Claude Desktop и Cursor

MCP-серверРасширенный доступ276Звезды репозитория

MCP-сервер долговременной памяти для ИИ-агентов: факты стареют по кривой забывания, связанные записи сжимаются в сводку

MCP-серверРасширенный доступ272Звезды репозитория

CLI на Python без зависимостей: один каталог MCP-серверов и скиллов для всех агентов, в контекст попадает краткий индекс

CLIШирокий доступ429Звезды репозитория

Коротко о README

В README изложены пять законов связного списка, послойная активация знаний, устройство репозитория с тремя скиллами и движками, таблица скриптов и кодов выхода, быстрый старт за минуту и подключение внешней памяти.

Бейдж для README

Исходный 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 索引层(每轮/每次可见,简短)  = 指针条目:一句话"内容在哪"
   ↓ 指向

Сообщить о проблеме