Install
openclaw skills install one-step-evolutionUse when you need to stand up or standardize a fresh OpenClaw setup as the Fire Dragon Fruit Architecture: one strong main, one isolated rescue, layered file...
openclaw skills install one-step-evolutionThis skill installs the Fire Dragon Fruit Architecture, or 火龙果架构, onto a fresh OpenClaw setup and makes the resulting system durable for long-running work. It is optimized for a single strong main, one minimal rescue, layered memory on disk, an explicit evolution loop, project truth files, low-noise heartbeat, precise cron, and official integrations only.
Read fire-dragon-fruit-architecture.md for the positioning and distinguishing traits. Read architecture.md for the target design. Read checklist.md for the implementation runbook and acceptance criteria.
Use this skill when the user wants any of the following:
main first and remove labDo not use this skill for a tiny one-file tweak or a single prompt improvement. This skill is for system-level OpenClaw refactors.
The desired end state is the Fire Dragon Fruit Architecture:
main agent as the primary brainrescue agent for emergency continuity onlylab in the steady-state production topologymemorySearch.provider = "ollama" embeddings unless the user explicitly wants more local inferenceMEMORY.mdmemory/YYYY-MM-DD.mdmemory/topics/*.mdprojects/INDEX.mdprojects/<project>/PRD.mdprojects/<project>/PROGRESS.mdprojects/<project>/EXECUTION_PLAN.mdheartbeat for low-noise maintenance and isolated cron for scheduled work@openclaw/feishu onlyEvery successful implementation of this skill must leave these three capabilities clearly present in files and runtime behavior.
The system must have durable memory that survives sessions and can be searched, maintained, and promoted over time.
Required structure:
MEMORY.md for stable, curated truthsmemory/YYYY-MM-DD.md for daily factual logsmemory/topics/*.md for evergreen knowledgeprojects/INDEX.md plus project truth files so work context is not trapped in chat historyRequired behavior:
MEMORY.mdThe system must be able to improve itself through file updates and workflow hardening, not by vague claims that the model "learns automatically".
Required behavior:
reflect-mode or equivalent routine reviews recent daily logs, project progress, and failuresmemory/topics/*.md, MEMORY.md, or private skillsThe system must be able to keep working when the user is away.
Required behavior:
heartbeat handles low-noise health checks, stalled work detection, approval queues, and memory hygienecron handles timed visible outputs such as progress updates or morning focusisolated cron handles heavier reflection, synthesis, document cleanup, and memory promotion tasksThis skill includes a copy-ready starter workspace under assets/templates/workspace/.
Use it like this:
assets/templates/workspace/memory/topics/ from the provided topic templatesskills/*-mode/ from the provided role skill skeletonsprojects/example-project/ and rename it to the real project nameAUTOMATION.md into the target machine's real heartbeat and cron configurationrescue is missing, seed a separate minimal rescue workspace from assets/templates/rescue/Important:
Before editing anything, inspect the real installation and summarize:
Pay special attention to duplicated agents, half-removed experiments, custom sidecars, and anything that can silently override the intended topology.
If the installation is fresh, keep this step short and use it to confirm the baseline before applying the templates.
Refactor toward:
main as the only daily operating brainrescue as a separate emergency agent with minimal memory and minimal skillslab unless the user explicitly requests a research sandboxRules:
main and rescue must not depend on each other's memory filesrescue should not run routine business planning or learning loopsrescue only if that protects continuity without creating cross-talkCreate or repair the file-based memory system:
MEMORY.md for curated durable truthsmemory/YYYY-MM-DD.md for daily factual logsmemory/topics/*.md for evergreen knowledge such as users, offers, workflows, channels, and operating rulesKeep MEMORY.md small and high-signal. Do not turn it into a dumping ground.
Build a promotion path, not just storage:
memory/topics/*.mdMEMORY.mdIf projects exist, establish a file-based source of truth:
projects/INDEX.md declares active projectsPRD.md, PROGRESS.md, and EXECUTION_PLAN.mdIf these files are missing, seed them from assets/templates/workspace/projects/example-project/ and then replace placeholders with the real project data.
Prefer a single main plus role skills such as:
scout-modecloser-modeops-modereflect-modeDo not split these into separate long-lived agents unless there is a hard routing or permissions reason.
When implementing, move durable operating logic into:
skills/AGENTS.mdHEARTBEAT.mdDo not bury core operating rules inside transient chats.
If role skills are missing, seed them from assets/templates/workspace/skills/.
Use:
heartbeat for low-noise checks, stalled work detection, approval queues, and memory hygienecron for user-facing timed updatesisolated cron for higher-noise reflection, cleanup, and document maintenanceAutomation rules:
If the current install has no useful cadence, establish a default blueprint:
heartbeat: every 30 minutes during active hours for health, stalled work, and pending approvalscron: timed operational updates such as hourly progress or morning focusisolated cron: nightly reflection and memory maintenanceMake sure scheduled tasks reference the actual project files they should read and update.
If the install has no scheduling docs at all, start from assets/templates/workspace/AUTOMATION.md.
Add a recurring improvement loop so the system can get better instead of just accumulate clutter.
Minimum loop:
memory/YYYY-MM-DD.md logsmemory/topics/*.md or MEMORY.mdThe evolution loop should be visible in files. If another operator opens the workspace, they should be able to see how the system learns.
Use official pieces wherever possible:
@openclaw/feishuAvoid:
After edits:
lab by defaultrescue a shadow copy of mainWhen this skill is used well, the final output should leave the system in a state where:
main can keep operating day to dayrescue exists but stays isolated and quiet