用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/FerroxLabs/ferrox-factory --skill ferrox-mempalace-recall命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Something was built and you want tests covering what it promised to do
A step involves building an AI system and you want its design and evals pinned down first
You want issues found, classified, fixed, tested and committed without steering each one
基于 SOC 职业分类
正在显示 SKILL.md
| name | ferrox-mempalace-recall |
| description | Before planning, recall what was decided, what worked and what surprised you last time |
| argument-hint | [phase-slug] |
| allowed-tools | ["Read","Write","Bash"] |
STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.
Before ANY tool calls, display this banner:
Ferrox > MEMPALACE RECALL
Then proceed to Step 1.
Check whether the MemPalace capability is enabled by reading .planning/config.json directly with the Read tool.
DO NOT use ferrox-tools config-get -- it hard-exits on missing keys unless --default is passed.
.planning/config.json with the Read tool.config.mempalace && config.mempalace.enabled === true and config.mempalace.recall_on_plan !== false. Otherwise display the disabled message and STOP (recall_on_plan: false turns plan-time recall off while leaving the rest of the capability enabled).Disabled message:
Ferrox > MEMPALACE RECALL
MemPalace memory is disabled. To activate:
node <runtime-home>/ferrox-core/bin/ferrox-tools.cjs config-set mempalace.enabled true
Recall is opt-in; the loop proceeds normally without it.
This step is onError: skip at plan:pre -- recall never blocks planning.
config.mempalace.wing if non-empty; otherwise derive from config.project_code; otherwise fall back to the repository directory name.config.mempalace.memory_mode (augment | kg_backend | replace, default augment). It sets how authoritative the palace is during recall:
augment — the palace is an additional layer; read native memory (.planning/graphs/, STATE) too and treat the palace as supplementary.kg_backend — for knowledge-graph facts, query the palace's temporal KG first, as the primary source; fall back to .planning/graphs/ when the palace is unreachable. Non-KG drawer recall stays additive.replace — resolve recall through the palace as the source of truth; consult native artifacts only as a fallback when the palace is unreachable.
In every mode an unreachable palace degrades to native memory — recall never blocks (onError: skip).mempalace_*) in interactive runs when your MemPalace MCP server is registered and your runtime permits those tools. Otherwise — headless/cron/autonomous runs, or runtimes that don't grant the MemPalace MCP tools — use the CLI (mempalace wake-up, mempalace search), which this skill's Bash allow-tool always covers. If neither is reachable, go to Step 4.CONTEXT.md (the consumed artifact). Derive a short search query from its title, goal, and key decisions.All calls in this step are side-effect-free. On any error or timeout, stop retrieving and write whatever was gathered (or the stub) -- never raise. This skill reads only the palace; Ferrox's planner reads native memory (.planning/graphs/, STATE) regardless. So under kg_backend/replace an unreachable palace falls back to that native memory automatically — reflect that in the stub (Step 4) rather than implying memory is gone.
mempalace_search.mempalace wake-up --wing <wing>.mempalace_search(query=<topic>, wing=<wing>).mempalace search "<topic>" --wing <wing>.config.mempalace.mirror_kg is true): mempalace_kg_query / mempalace_kg_timeline for decisions relevant to the topic and their validity windows. Under augment the palace KG supplements Ferrox's native .planning/graphs/ — combine both, do not treat the palace as the sole source. Under kg_backend or replace the palace KG is the primary graph source — query it first and use .planning/graphs/ only as a fallback when the palace is unreachable. That native .planning/graphs/ KG is the Phase-7 bi-temporal fact store: consult it via ferrox-tools query memory.recall --subject <topic> --now-ts <ms>, which returns the valid-now prior decisions/patterns for the subject (half-open validity windows, bounded by memory.recall_limit) — the native backend behind this recall seam.Write MEMORY-RECALL.md in the current phase directory. The planner consumes it.
When recall succeeded, structure it as:
# Memory Recall (MemPalace)
_Wing: <wing> · Mode: <mode> · Transport: <mcp|cli>_
## Prior decisions
- <decision> — <provenance: drawer id / kg fact, valid_from>
## Patterns
- <pattern> — <provenance>
## Surprises / gotchas
- <surprise> — <provenance>
When MemPalace is unreachable, write the stub and continue. Under kg_backend/replace, name the native fallback so the planner knows memory is not gone — only un-augmented by the palace this run:
# Memory Recall (MemPalace)
_MemPalace unavailable at recall time — falling back to Ferrox native memory (`.planning/graphs/`, STATE). No palace recall this run._
onError: skip.