slicelisted
Install: claude install-skill vzhukovs/podman-desktop-kit
Via `pd-slicer`, in fresh context, working from the finished diff.
A slice is a **base plus a set of files**, not a set of commits. Verification
runs before any branch exists, so the only thing there is to build with is the
diff restricted to those files — and the same diff is what materializing a
slice applies back.
## Preconditions
`pdkit state <issue>` says `audited`. Slicing a diff nobody has audited means
cutting up work that may not match its plan.
## 1. The facts
```
pdkit slice suggest --issue <n> --json
```
Every changed file already mapped to its package, its layer, the task that owns
it and the R-IDs that task satisfies, plus a draft grouped by layer. The draft
is arithmetic and says so: grouping by layer is mechanical, and whether a slice
justifies itself alone is not.
Do not re-derive that mapping by reading the diff. That is the set arithmetic
this command exists to do.
## 2. The cut
Write a proposal — one JSON file, one entry per slice:
```json
{ "strategy": "prefer-independent",
"slices": [
{ "slug": "extension-api-run-options", "title": "add RunOptions",
"files": ["packages/extension-api/src/extension-api.d.ts"],
"baseSlice": null,
"whySeparate": "public API contract; different reviewers",
"selfJustifying": "yes — an optional field, no dead code" }
] }
```
`baseSlice` is the **index** of another slice — `1`, not its slug. `null` means
it branches from `main`. Prefer `null`. A stack is fragile — after #1 merges,
#2 ne