supersedelisted
Install: claude install-skill DustinVK/wherefore
# Wherefore: supersede
Retire an existing wherefore entry by marking it `superseded` (with a pointer to its
replacement) or `obsolete` (context gone, no replacement). Updates the entry
file and adds a visible banner, so neither the `ask` skill nor a human skimming
raw files is left guessing. The entry's frontmatter is the single source of
truth.
## Workflow
1. **Find the target entry.** Locate `wherefore/log/<slug>.md` directly. If you only
have a date or partial name, dump the entry frontmatter to find the slug:
```bash
for f in wherefore/log/*.md; do
awk -v F="$f" 'BEGIN{print "=== " F " ==="}
/^---[[:space:]]*$/ { n++; if (n==2) exit; next }
n==1 { print }' "$f"
done
```
If not found, say so clearly. If already `superseded` or `obsolete`, show the
current state and ask the user before overwriting; don't silently re-supersede.
2. **Determine the operation.**
- *Superseded by*: the user names a replacement slug (an existing entry) or
a replacement description (a discussion not yet logged). If the replacement
isn't logged yet, note it and proceed; the link will be a placeholder.
- *Obsolete*: no replacement. The decision was abandoned or its context no
longer exists.
3. **Edit the target entry's frontmatter:**
Superseded:
```yaml
status: superseded
superseded_by: <new-slug>
superseded_date: YYYY-MM-DD
```
Obsolete:
```yaml
status: obsolete
superseded_date: YYYY-MM-DD
```
4. *