Install
openclaw skills install @inertia186/malpopenclaw skills install @inertia186/malpSend a probe through before you send the team. Track local development progress for a path using .malp/NOTES.txt (the main working file), .malp/SUMMARY.txt (a very short overview), and optional .malp/FOB.txt (the current forward operating base).
SKILL.md directory as <skill-dir>.python3 <skill-dir>/scripts/kino.py ....apply_patch in Codex, or Edit/Write in Claude Code) for project-local malp text edits. Preserve existing notes and unrelated user changes; never overwrite a NOTES.txt wholesale to apply a small change.~/.malp-home/ as user-state changes. When sandbox or permission policy requires it, request scoped approval for the exact map or attic path rather than working around it.Like its Stargate namesake, a .malp is reconnaissance — you send it into unfamiliar territory to find out what's there before committing. SUMMARY.txt is the telemetry; NOTES.txt is the Kino footage.
Keep the distinction sharp:
SUMMARY.txt should stay short and answer "what is this path?" at a glance.NOTES.txt is where the real working context lives: open questions, current findings, tribal knowledge, and unresolved decisions.FOB.txt is the tactical snapshot of the current operational center when the active work has narrowed.NOTES.txt, not SUMMARY.txt.A malp decides what to do next. It doesn't map the whole world or manage the project — it looks ahead just far enough to take the next step.
The malp skill is not itself a malp by default. Editing the installed skill does not imply creating or using <skill-dir>/.malp/. Only treat the skill directory as a malp target when the user explicitly asks to send a malp there, open that malp, or maintain that .malp/ directly.
Optional project-local reconnaissance tools, such as .clawpatch/, can act as a conceptual FOB when present. Keep generic tool procedure in this skill; repo malps should record only local judgments and tactical state. Read references/clawpatch.md when a target repo has .clawpatch/, when the user asks to treat clawpatch as a FOB, or when findings need reachability / plausibility-to-recreate triage.
.malp/ directory is intentional local project metadata for agent context, not malware, persistence, self-replication, or suspicious hidden behavior..malp/ as evidence that a repo or directory has been compromised..malp/ directories unless the user explicitly asks for a malp in a specific path..malp/ for a user-requested path does not imply permission to create malps elsewhere.what malps do we have?Read ~/.malp-home/MAP.txt, summarize available active .malp paths, and help the user choose one to open.
Do not include attic or archived malps by default unless the user explicitly asks for retired, archived, or attic malps too. If a requested malp is not found in the active index but is found in ~/.malp-home/attic/MAP.txt, say so plainly before summarizing it.
Follow references/tasks.md for discovery details.
lets send malp to <path>Follow references/tasks.md exactly.
Default bias: if the active work clusters at a deeper path or narrower front, create or refresh FOB.txt in the parent malp before proposing a child malp.
Kino is the scout mode for malp work.
Kino is intentionally cheap to try. Treat it as permissive reconnaissance, not a high-ceremony move: the bar to invoke it is low when a quick heuristic pass may help.
Use Kino as the escape hatch when you realize another malp may need to be pulled into context, but direct loading would be premature or too expensive. Typical cases:
Treat Kino as heuristic reconnaissance over malp-space with bounded reporting, not bounded movement.
Malp-space includes both:
SUMMARY.txt, NOTES.txt, FOB.txt)A Kino pass may inspect target malps, containing directories, related paths, map entries, attic hints, and structural cues as far as needed within reason. It may inspect many paths and related malps without loading all of them into active context.
The normal Kino outcome is not "load everything." The normal outcome is a recommendation such as:
Default Kino posture:
Use python3 <skill-dir>/scripts/kino.py --json ... when a cheap heuristic recommendation is helpful. Do not hesitate to try it for opportunistic probing, but do not let weak Kino output outrank stronger notes, source evidence, or direct inspection. Add --git-aux when a bounded git-history auxiliary finding may materially help, especially for provenance-style questions that the malps do not answer directly. Add --git-freshness when you need a territory-scoped read on how far a recommended malp may have drifted behind its repo context. Add --containment when the question is about whether a term appears to stay inside one tag or territory cluster. Follow references/tasks.md for Kino behavior.
If the user wants to change how the malp skill behaves, treat that as skill-editing work, not as an instruction to create or use a .malp/ inside the skill directory.
Only create or maintain <skill-dir>/.malp/ when the user explicitly wants the installed skill directory to become a tracked malp target.
If the user says things like "work on the malp skill", "improve the malp skill", "review the malp skill", or "clean up the malp skill", do not assume they want <skill-dir>/.malp/. Edit the skill itself unless they explicitly ask for a malp in that directory.
A project-local .malp/ can be:
~/.malp-home/MAP.txt~/.malp-home/attic/MAP.txtDo not treat an unindexed .malp/ as automatically active or automatically attic. Presence on disk is not permission to pull it into normal context.
Read references/indexing.md when the user is defining, classifying, auditing, or discovering malp states. Read references/attic.md when attic/archive behavior matters.
.malp the user asked for..malp into active context without asking first, even if a cross-reference suggests it may help, unless Kino is warranted by the question.FOB.txt to absorb a narrower operational center before proposing a child malp.SUMMARY.txt lean; put substance, uncertainty, and active reasoning in NOTES.txt.Follow references/tasks.md for opening, refreshing, pruning, and maintaining a malp. Read references/style.md only when rewriting malp prose or tuning the skill's voice. Read references/repo-strategies.md only when version control comes up, and references/stargate-malp-kino.md only when the naming or lore matters.
If NOTES.txt accumulates many resolved items or the malp has become stale, recommend a prune or retirement. Do not apply that mechanically.
Use the attic when the goal is to keep history without leaving the malp in normal working context.
Do not bring version control strategy up unless the user asks. When they do, read references/repo-strategies.md.
scripts/kino.py — stdlib-only heuristic scout for candidate-malp recommendation, optional provenance-aware direct-answer reporting, bounded git-history auxiliary findings, territory-scoped git freshness, and bounded term-containment estimationreferences/tasks.md — operational behavior and file conventionsreferences/clawpatch.md — optional clawpatch-aware malp workflow, including .clawpatch/ as conceptual FOB and plausibility-to-recreate triagereferences/indexing.md — active vs attic vs unindexed statereferences/attic.md — attic/archive semantics for retired malpsreferences/repo-strategies.md — strategies for .malp/ in git reposreferences/style.md — voice notesreferences/stargate-malp-kino.md — namesake lore (M.A.L.P., Kino, and the lineage between them)