Zalohovani vsech podstatnych souboru

This commit is contained in:
lachtan
2026-06-10 06:39:52 +02:00
parent 1e10891945
commit 67e29c8b88
69 changed files with 9115 additions and 0 deletions

96
skills/plan/SKILL.md Normal file
View File

@@ -0,0 +1,96 @@
---
name: plan
description: >
Plan mode — explore read-only, write a plan to workspace/plans/, get approval,
execute only after the user explicitly says so (now or later). Mirrors Claude
Code plan mode.
Use when user says "/plan X", "plan mode", "first plan then do X".
---
# Plan
Explore the task read-only, design an approach, write it to a plan file, and
**stop for approval**. Mutate nothing until the user explicitly approves
execution — which can happen now or much later. Plan now, execute whenever.
Four phases, run linearly. Emit a short status line between phases so the user
(especially on Telegram, where there is no thinking stream) sees progress.
## 1. Explore (read-only)
1. Restate the task in one sentence to confirm scope.
2. Investigate the relevant files and state: `read_file`, `ssh … cat` / `rsync`
for server files, `--help`, the official wiki. Look for existing code,
skills, or patterns to reuse instead of proposing new ones.
3. **No mutations.** Reading only.
Default: explore **linearly, yourself**. Planning is iterative — what you find
decides where you look next — and that does not split cleanly up front.
Use `spawn` **only** when the task is large and breaks into genuinely
independent parts (e.g. "explore three separate subsystems"). Then spawn one
subagent per part and wait for their results before phase 2. `spawn` is async
(results arrive via the message bus, not inline), so reach for it only at real
divisible scale — never routinely.
## 2. Design
Design the approach: what changes, where, and how it will be verified. Reuse
what you found in phase 1. If the request is genuinely ambiguous, ask now;
otherwise proceed.
## 3. Write the plan
1. Pick a kebab-case slug from the topic.
2. Write the plan to `/home/nanobot/.nanobot/workspace/plans/<slug>.md` (create
the `plans/` directory if missing). This file write is the **only** write
allowed before approval.
3. Plan structure:
```
# <Title>
## Kontext
Why this change — the problem, what prompted it, the intended outcome.
## Postup
Numbered steps. Name the files to touch. Reference reusable code found
in phase 1 with its path.
## Ověření
How to test the change end-to-end (run it, run tests, check behavior).
```
4. Also print a short version of the plan into the chat.
## 4. Approval (replaces ExitPlanMode — over chat)
Stop and ask: `Plán uložen do workspace/plans/<slug>.md. Schvaluješ? Mám ho
vykonat teď?` Then wait. Mutate nothing on your own.
- Approved + execute now → drop the read-only discipline and execute the plan in
this conversation.
- Approved but **not now** → planning is done. The plan stays in
`workspace/plans/<slug>.md` for later; the user can run it anytime by pointing
at the file.
- Wants changes → rewrite the plan file (still read-only otherwise) and ask again.
## Edge cases
- `/plan` with no task → ask "What should I plan?".
- Tiny one-step task (typo fix, single-line change) → say a full plan is
overkill and offer to just do it; don't force the ceremony.
- User already approved earlier and now says "execute the plan" → read the plan
file and execute; no need to re-plan.
## Rules
- **Read-only through phases 13.** Do not write or edit files (except the plan
file in phase 3), run mutating commands, change config, or restart services.
- Execute only after explicit approval to execute now. Approval to "save the
plan" is not approval to run it.
- Reuse before inventing — prefer existing code, skills, and patterns found
in phase 1.
- Respond in the user's language (the model localizes status and questions
itself); keep the plan-file body and structure as above.
- Keep status lines to one short sentence. No filler, no emojis.