{"slug":"restore-exocortex","title":"restore-exocortex","summary":"Restore IWE memory from an exocortex backup on a new device or after data loss — NL wrapper around restore-from-exocortex.sh.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-27T16:56:19.784251Z","repo":{"url":"https://github.com/TserenTserenov/FMT-exocortex-template","stars":60,"forks":152,"license":"MIT","updatedAt":"2026-09-24T08:59:39Z"},"bodyHtml":"<hr>\n<h1>see DP.SC.153 (родительский), #125</h1>\n<h2>name: restore-exocortex\ndescription: \"Restore IWE memory from an exocortex backup on a new device or after data loss — NL wrapper around restore-from-exocortex.sh.\"\nversion: 1.0.0\nlayer: L1\nstatus: active\ntriggers:\nslash: [/restore-exocortex]\nphrases: [\"восстанови экзокортекс\", \"восстанови память\", \"восстановить exocortex\", \"restore exocortex\", \"подними память на новом устройстве\"]\nowner_role: R6\nannotations:\ndestructive: true\ninteractive: true\nrelated: [\"#125\"]</h2>\n<h1>/restore-exocortex — Восстановление памяти из exocortex</h1>\n<blockquote>\n<p><strong>Роль:</strong> R6 Кодировщик\n<strong>Триггер:</strong> «восстанови экзокортекс / память», новое устройство, потеря/повреждение <code>memory/</code>\n<strong>Service Clause:</strong> DP.SC.153 (родительский, скиллы); реализация #125</p>\n</blockquote>\n<h2>Обещание (контракт)</h2>\n<p><strong>Вход:</strong> (опц.) путь к governance-репо. По умолчанию <code>$WORKSPACE_DIR/$GOVERNANCE_REPO</code> (<code>~/IWE/DS-strategy</code>).\n<strong>Выход:</strong> восстановленные <code>memory/</code> + <code>extensions/</code> + <code>CLAUDE.md</code> + симлинк <code>memory/</code>; отчёт + напоминание перезапустить Claude Code.\n<strong>Инвариант:</strong> НЕ перезаписывает населённую <code>memory/</code> или <code>extensions/</code> без явного подтверждения пользователя.</p>\n<blockquote>\n<p><strong>Оркестрация, не реализация.</strong> Скилл судит (свежее устройство vs существующая инсталляция, резолв пути, подтверждение) и зовёт детерминированный примитив <code>scripts/restore-from-exocortex.sh</code>. Сам file-ops не делает. На голом терминале без агента используется скрипт напрямую — это bootstrap-путь (см. SETUP-GUIDE).</p>\n</blockquote>\n<h2>Алгоритм</h2>\n<h3>Шаг 1. Резолв скрипта и пути</h3>\n<ul>\n<li>Скрипт: <code>$IWE_SCRIPTS/restore-from-exocortex.sh</code> → fallback <code>$WORKSPACE_DIR/FMT-exocortex-template/scripts/restore-from-exocortex.sh</code>. Нет файла → см. Режим отказа.</li>\n<li>Governance-репо: аргумент пользователя, иначе <code>$WORKSPACE_DIR/${GOVERNANCE_REPO:-DS-strategy}</code>. Убедиться, что <code>&lt;gov&gt;/exocortex/</code> существует.</li>\n</ul>\n<h3>Шаг 2. Pre-flight (judgment — здесь LLM уместен)</h3>\n<ul>\n<li>Определить целевую auto-memory: <code>~/.claude/projects/$(echo \"$HOME\" | tr '/_.' '-')-IWE/memory</code> (Claude Code слугифицирует <code>/</code>, <code>_</code>, <code>.</code> → <code>-</code>; <code>tr '/' '-'</code> промахнётся при <code>_</code> в username).</li>\n<li><strong>Пусто/нет</strong> → свежее устройство, восстановление без <code>--force</code>.</li>\n<li><strong>Населена</strong> → существующая инсталляция. Это destructive: показать <code>--dry-run</code> и <strong>спросить подтверждение</strong> перед <code>--force</code> (Правило 7, исключение «необратимое»).</li>\n</ul>\n<h3>Шаг 3. Превью → восстановление</h3>\n<ol>\n<li>Всегда сначала <code>restore-from-exocortex.sh &lt;gov&gt; --dry-run</code> — показать пользователю, что будет сделано.</li>\n<li>После согласия (или сразу, если memory пуста) — запуск без <code>--dry-run</code> (с <code>--force</code>, если memory населена и пользователь подтвердил).</li>\n</ol>\n<h3>Шаг 4. Отчёт</h3>\n<ul>\n<li>Сколько memory-файлов восстановлено, восстановлен ли <code>CLAUDE.md</code>, создан ли симлинк.</li>\n<li><strong>Напомнить: перезапустить Claude Code</strong> — память грузится при старте сессии.</li>\n</ul>\n<h2>Режим отказа</h2>\n<table>\n<thead>\n<tr>\n<th>Сценарий</th>\n<th>Поведение</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>exocortex/</code> не найден</td>\n<td>Стоп: backup отсутствует/не запушен. Подсказать <code>git pull</code> governance-репо или проверить путь</td>\n</tr>\n<tr>\n<td>Скрипт не найден</td>\n<td>До мержа #151 — взять из ветки: <code>git checkout feat/exocortex-sync-restore -- scripts/restore-from-exocortex.sh</code>; иначе bug-report</td>\n</tr>\n<tr>\n<td>memory населена, нет подтверждения</td>\n<td>НЕ перезаписывать. Показать dry-run, ждать явного «да»/<code>--force</code></td>\n</tr>\n<tr>\n<td>Агент ещё не настроен (голое устройство)</td>\n<td>Скилл недоступен → инструктировать запуск скрипта из терминала (bootstrap-путь, SETUP-GUIDE)</td>\n</tr>\n</tbody>\n</table>\n\n\n","files":[{"path":"SKILL.md","sizeBytes":4895,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-08T11:56:46.39792Z","sha256":"6FCDC046797D5B49F689181457AB8E9513947F08C1C09C223239716D5FD62221","sizeBytes":2223},"review":null,"source":{"repositoryUrl":"https://github.com/TserenTserenov/FMT-exocortex-template","path":".claude/skills/restore-exocortex","license":"MIT","commit":"4d7b8f2e95161240a02a028ae5a8b9d2914b7939","subtreeSha":"9B3C30AEBE5FA41B6996DC8D760BBA8C582D5B58FC3040DD560338CBD96C9392","lastSyncedAt":"2026-09-25T07:36:52.516704Z"},"reviewedAt":"2026-09-08T12:06:22.69708Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/TserenTserenov/FMT-exocortex-template/tree/main/.claude/skills/restore-exocortex"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tserentserenov-fmt-exocortex-template@llmmart"},{"target":"git","command":"git clone https://github.com/TserenTserenov/FMT-exocortex-template.git"}]}