Skip to content

Commit 66d22d7

Browse files
Kasper JungeKasper Junge
authored andcommitted
add execute-tasks
1 parent bc31b25 commit 66d22d7

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

ralphs/execute-tasks/RALPH.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
agent: claude -p --dangerously-skip-permissions
3+
commands:
4+
- name: pending-tasks
5+
run: find tasks -maxdepth 1 -type f -name *.md -not -name README.md
6+
- name: git-log
7+
run: git log --oneline -5
8+
---
9+
10+
# Prompt
11+
12+
You are an autonomous coding agent running in a loop. Each iteration
13+
starts with a fresh context.
14+
15+
## Pending tasks
16+
17+
The following `.md` files in `tasks/` are pending (one task per file,
18+
sorted by filename):
19+
20+
{{ commands.pending-tasks }}
21+
22+
## Recent commits
23+
24+
{{ commands.git-log }}
25+
26+
## What to do
27+
28+
1. If the pending tasks list above is **empty**, print exactly
29+
`no tasks remaining` and stop — do nothing else this iteration.
30+
2. Otherwise, pick the **first** file from the pending tasks list
31+
(lowest filename when sorted alphabetically).
32+
3. Read that task file in full. It describes one unit of work.
33+
4. Implement the task completely. No placeholder code, no TODO
34+
comments, no partial implementations.
35+
5. Once the work is done and committed, move the task file from
36+
`tasks/` to `tasks/done/` using `git mv` (create `tasks/done/`
37+
if it does not already exist). The move should be part of the
38+
same commit as the implementation, or a follow-up commit —
39+
whichever keeps history cleaner.
40+
41+
## Rules
42+
43+
- **One task per iteration.** Do not attempt a second task even if
44+
the first was small.
45+
- Always work on the first pending task — do not skip ahead.
46+
- Commit with a descriptive message like `feat: add X` or
47+
`fix: resolve Y`. Reference the task filename in the commit body
48+
if it helps future readers.
49+
- Never delete a task file — always move it to `tasks/done/` so the
50+
history is preserved.
51+
- If a task is unclear or blocked, add a note to the task file
52+
explaining what's blocking it and leave it in `tasks/` for a
53+
human to resolve. Then print `blocked: <filename>` and stop the
54+
iteration without moving the file.

0 commit comments

Comments
 (0)