pulse-path — скилл
Три скилла и MCP-сервер ведут память и документацию проекта как связный список: без битых ссылок после правок и переносов
- 91 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Скрипты читают файлы памяти и документы проекта, а `curator.py` и `project_registry.py` могут писать указатели и данные.
Установка
- Работает в
В терминале, через 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-сервер памяти для кодинг-агентов: хранит проблемы, попытки, фиксы и решения и предупреждает о повторе неудачного подхода
Скиллы ведут память проекта в папке docs/ai: короткие файлы с лимитом размера, одна страница передачи дел и проверка установки
Локальная память для агентов: хранит переписку и файлы проекта дословно и находит нужное семантическим поиском через MCP
Личная вики на LLM: граф знаний, RAG с цитатами и память, а MCP-сервер отдает их Claude Code, Claude Desktop и Cursor
MCP-сервер долговременной памяти для ИИ-агентов: факты стареют по кривой забывания, связанные записи сжимаются в сводку
CLI на Python без зависимостей: один каталог MCP-серверов и скиллов для всех агентов, в контекст попадает краткий индекс
Коротко о 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 索引层(每轮/每次可见,简短) = 指针条目:一句话"内容在哪" ↓ 指向