3.2 KiB
3.2 KiB
name, aliases, description
| name | aliases | description | |
|---|---|---|---|
| project |
|
Project management — long-running things with notes, next-steps, and status. Use when user mentions "project". |
Project
File-backed project store in projects/. Each project is one markdown file
with YAML frontmatter (status, priority, created, slug) and a free-form
body for notes and next-steps.
Backend
skills/project/scripts/project.py — deterministic CRUD for frontmatter and
basic operations. Agent handles all body edits via edit_file / apply_patch.
Commands
project add <název> — create
- Run:
uv run skills/project/scripts/project.py add "<název>" [--priority high|medium|low] - Default priority is
medium. - Echo:
Created project '<slug>' (priority: <priority>)
project list — list active
- Run:
uv run skills/project/scripts/project.py list - Echo JSON output. Format as:
Active projects: - <slug> (priority: high) — <first line of body / project name> - If empty → "No active projects."
project show <slug> — display
- Run:
uv run skills/project/scripts/project.py show <slug> - Echo the full markdown file.
project status <slug> <active|paused|done> — change status
- Run:
uv run skills/project/scripts/project.py status <slug> <status> - Echo:
Project '<slug>' is now <status>.
project next <slug> <text> — set next step
- Read the project file.
- Use
edit_fileto replace the content under## Další krokwith the new text. - If the section does not exist, add it before the end of the file.
- Echo:
Next step for '<slug>' updated.
project note <slug> <text> — add a note
- Read the project file.
- Use
edit_fileto append a bullet under## Poznámky:- <today>: <text> - If
## Poznámkydoes not exist, add it after the first heading. - Echo:
Note added to '<slug>'.
project switch <slug> — session context
- Run
my(action="set", key="project_context", value="<slug>"). - Echo:
Switched to project '<slug>'. Next project commands without slug will use this context. - If a command is missing a slug and
project_contextis set, use it automatically.
Rules
- Slug = kebab-case from first 4 words of the name. Used as filename (
<slug>.md). - Frontmatter is read-only for the agent — never edit it directly in the file.
Use
project.py statusto change status. - Body edits (notes, next-step, structure changes) are always done by the agent
via
edit_file/apply_patch. - No database — pure markdown files. Git-friendly, one commit per change.
- Session context (
project switch) lives only inmyscratchpad and is lost on restart. Re-runproject switchafter restart if needed. - Priority =
high|medium|low.listsorts by priority (high first). - Status =
active|paused|done.listshows onlyactive.
Edge cases
project addwith existing slug → error, do not overwrite.project show/project status/project next/project notewith missing slug → "Project '' not found."- Missing
## Poznámkyor## Další krok→ agent creates the section. - Empty
projects/→listreturns empty array.