execlisted
Install: claude install-skill vzhukovs/podman-desktop-kit
One `pd-implementer` per task, fresh context each time. Fresh context is not
tidiness: a worker that has already failed twice carries both failures into the
third attempt, and that is where drift starts.
## Preconditions
`pdkit state <issue>` says `plan-approved`. Implementing an unapproved plan
means the requirements can still move under the code.
## Once, before the first task
```
pdkit task sync --issue <n>
```
Reads the `Owns` sets out of the task files into the state record, which is
what the pre-write hook enforces. Skip it and the hook has nothing to enforce:
it allows every write and says so, which is a worse failure than a refusal
because it looks like nothing happened.
## Per task
1. `pdkit task start --issue <n> --task T1` in the working tree the task runs
in. From here until `task stop`, writes outside `T1`'s files are refused and
completing the task requires its receipt.
2. Give the worker the task, its `Owns` list, its `Done when` command, and the
frozen interfaces. Nothing else — not the whole plan, not the issue thread.
3. The worker touches **only** the files in `Owns`. Anything else is a
planning error to report, not a boundary to cross.
4. `pdkit receipt write --issue <n> --task T1` runs the `Done when` command and
records what it printed.
5. Commit: conventional subject, one `Signed-off-by`. Squash with
`git reset --soft <base> && git commit`, never `rebase -i`.
6. `pdkit task stop`.
Tasks that share no files may run in parallel.