opencode-config/.opencode/skills/memory/SKILL.md
Sergey a8f9aa0bc6
feat: migrate .opencode/ config from opencode (#23)
* feat: migrate .opencode/ config from opencode

* refactor: rename repo refs and sanitize for public

* docs(handoff): add pr-7 handoff + ADR-002

* docs(handoff): fix PR number

* docs: update project map with .opencode/ structure

---------

Co-authored-by: opencode-agent <agent@slaid098.dev>
2026-07-23 22:57:39 +03:00

4.3 KiB
Raw Blame History

name description
memory Инструкция по работе с файловой памятью opencode-memory (search + save + retro).

File Memory (opencode-memory)

Графовая память (Graphiti/FalkorDB) удалена — была нестабильна и забагована. Теперь память работает через @mathew-cf/opencode-memory — файловая система с keyword + semantic search.

Инструменты

Инструмент Назначение
memory_search(query, category?) Гибридный поиск (keyword + semantic)
memory_list(category?) Список категорий / файлов
memory_save() Commit + re-index после записи/редактирования
memory_access(path) Отметить файл как прочитанный
memory_setup() Проверить статус бэкендов

Категории

preferences · repos · technical · people · workflows · snippets · notes

Как работать

  1. Перед началом работыmemory_search по теме
  2. В процессе — сохранять находки сразу (контекст свежий)
  3. В конце сессии — retrospective: что узнал → сохранить, что было в памяти → обновить, чего не хватало → создать

Когда сохранять

  • gotcha / workaround (неочевидное поведение)
  • структура репозитория, команды сборки/тестов
  • quirks инструментов
  • коренные причины багов (root cause)
  • указатели: «для X используй Y, осторожно с

Когда НЕ сохранять

  • данные, которые живой API возвращает свежими каждый раз
  • текущий статус тасок / PR / спринтов
  • копии вики-страниц и API-документации
  • то, что находится за <1 минуты из первых принципов

Структура файла

---
title: Человекочитаемый заголовок
tags: [tag1, tag2]
summary: Описание в одну строку
created: YYYY-MM-DD
updated: YYYY-MM-DD
importance: high | medium | low
source: откуда информация
source_date: YYYY-MM-DD
related: [category/file.md]
---

Путь для репозиториев

~/opencode-memory/repos/{host}/{org}/{repo}.md

Дистилляция из handoff

После merge PR memory-syncer читает docs/handoff/pr-<N>-<slug>.md и дистиллирует durable-записи в app_data/opencode-memory/repos/{host}/{org}/{repo}.md. Путь выводится из git remote get-url origin.

Формат записей

- [YYYY-MM-DD, PR#N] <суть>

Дата и PR-номер в тексте — для RAG-поиска и верификации (какой PR принёс знание).

Что дистиллировать (durable-only)

  • gotchas / workaround (неочевидное поведение)
  • паттерны, конвенции репозитория
  • указатели: «для X используй Y, осторожно с
  • коренные причины багов (root cause)

НЕ дистиллировать: статусы, «сейчас делаем», текущие таски, ephemeral контекст.

ADR — только указатель

- [date, PR#N] ADR-NN: <суть> → docs/decisions/NN-title.md

Не копируй содержание ADR — только указатель на файл.

Править вместо дублирования

Если факт уже записан — обнови запись (bump updated в frontmatter). Не создавай дубликаты.

Квитанция ставится всегда

Даже если durable-записей нет, квитанция обязательна:

- [date, PR#N] — (нет durable-записей)

Это подтверждает, что memory-sync фаза выполнена (audit trail).