asklisted
Install: claude install-skill DustinVK/wherefore
# Wherefore: ask
Answer a question by finding the relevant past discussions and summarizing what
they actually say. The cardinal rule: **ground every answer in entries that
exist.** If the wherefore has nothing on the topic, say so: a confident answer
assembled from nothing is worse than "I didn't find anything about that."
## Storage layout
The wherefore lives under a repo-relative `wherefore/` directory:
```
wherefore/
├── topics.md # controlled topic vocabulary
├── questions/
│ └── Q-NNN-short-slug.md # one file per question (ID prefix + scannable slug)
└── log/
└── YYYY-MM-DD-short-slug.md # one file per discussion
```
The frontmatter of the entry and question files
is the single source of truth; you derive what you need at read time. If
`wherefore/` or `wherefore/log/` does not exist, or `log/` holds no `*.md`
entries, tell the user the wherefore is empty or not set up yet; do not
fabricate an answer.
## Workflow
1. **Parse the question onto the right facet.** Decide whether it's about a
feature slice (an **area**: "the price calculator", "international shipping",
"the order process") or a cross-cutting concern (a **topic**: auth, postgres,
performance), or both. Most "why did we build X this way" questions name a
feature, so map those onto `areas` first. Also pull any ticket/story IDs and
key nouns. Glance at `topics.md` (which lists both Areas and Topics) to map
the user's wording onto the canonical tags: they m