decide-stacklisted
Install: claude install-skill pricklywiggles/fractally-claude-marketplace
# Decide Stack
Turn a list of stack **slots** (decision categories) into concrete, version-pinned, vetted tool choices, and emit an approved YAML that the `install-stack` skill consumes. This skill is read-only with respect to the user's system: it researches and converses, it does not install.
## Input
Expect a slots YAML, normally from the `identify-stack-slots` skill:
```yaml
project:
description: ...
type: ...
platforms: [...]
slots:
- slot: <category>
required: <true|false>
rationale: ...
preference: <tool the user already wants, or null>
source: ...
```
Look for the slots YAML at **`.claude/stack-it/slots.yaml`** (where `identify-stack-slots` writes it), or use a path the user gives. If none is present, ask for it or point the user to `identify-stack-slots` first. This skill fills slots; it doesn't discover them. Validate the input with `${CLAUDE_PLUGIN_ROOT}/scripts/validate_yaml.py --stage slots .claude/stack-it/slots.yaml` before proceeding so a malformed input fails fast.
## Step 1: Collect hard preferences up front
Before researching anything, ask the user whether they have hard preferences for any slots. People often arrive already set on a few tools and open on the rest, and asking first avoids researching slots that are already decided.
Merge these answers with any `preference` values already in the input YAML. A preference from either source means that slot is decided unless the user later changes their mind. If a preference alre