# Resolve

> >

- **Type:** Skill
- **Install:** `agentstack add skill-dustinvk-wherefore-resolve`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [DustinVK](https://agentstack.voostack.com/s/dustinvk)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [DustinVK](https://github.com/DustinVK)
- **Source:** https://github.com/DustinVK/wherefore/tree/main/plugins/wherefore/skills/resolve

## Install

```sh
agentstack add skill-dustinvk-wherefore-resolve
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Wherefore: resolve

Close out an open question by updating its individual file in
`wherefore/questions/`, recording what was decided, why, and which discussion (if
any) contains the full context. There is no question index to maintain; the file's
frontmatter is the single source of truth.

## Frontmatter safety

When you fill `resolution`, emit it as a double-quoted, single-line string, escaping
embedded `"` as `\"` and `\` as `\\`. An unquoted value containing `: ` (colon-space)
or a leading `-`, `#`, `[`, `{`, or `"` makes YAML misparse and crashes the dashboard
viewer. If the answer will not fit on one line, keep `resolution` to a one-line
summary and move detail into a `## Resolution` body section. `status` and
`resolution_slug` need no quotes.

## Workflow

1. **Find the question.** Files are named `Q-NNN-short-slug.md` (ID prefix plus a
   scannable slug), so glob by the ID rather than assuming the exact name:
   `ls wherefore/questions/Q-042-*.md wherefore/questions/Q-042.md 2>/dev/null`
   (the second path catches any legacy file still named `Q-NNN.md`). Expect exactly
   one match; open it. If nothing matches, say so clearly. To list what is open,
   dump the question frontmatter and filter `status: open`:
   ```bash
   for f in wherefore/questions/Q-*.md; do
     awk -v F="$f" 'BEGIN{print "=== " F " ==="}
       /^---[[:space:]]*$/ { n++; if (n==2) exit; next }
       n==1 { print }' "$f"
   done
   ```
   Confirm the target's current `status`. If `status: resolved`, tell the user and
   show the existing resolution; don't overwrite it.

2. **Get the resolution.** Ask the user (or extract from context if they already
   provided it):
   - **Answer:** what was decided, in one sentence.
   - **Why:** the rationale or constraint that drove it, in one or two sentences. This
     is the part that matters months later; don't skip it.
   - **Source discussion (optional):** a discussion slug if the answer came out of
     a logged discussion. The user can name it, or you can check whether they just
     ran the `capture` skill and a fresh entry exists. If no wherefore entry captures
     it, the resolution is standalone.

3. **Update the question file** (`wherefore/questions/Q-NNN-short-slug.md`). Edit the frontmatter in place:
   - Set `status: resolved`
   - Fill in `resolution` with a one-sentence answer (and the why, if concise
     enough to fit; otherwise put it in a `## Resolution` body section below the
     frontmatter). Quote it per Frontmatter safety.
   - Set `resolution_slug` to the source discussion slug, or leave blank if
     standalone

4. **Update the source wherefore entry (if applicable).** If the resolution came from
   a specific wherefore entry, open `wherefore/log/.md` and add a note in its
   "Open questions / follow-ups" section next to the relevant item:
   `- Q-042:  (resolved, see wherefore/questions/Q-042-.md)`

5. **Report back.** Show:
   - The question text and its ID
   - The answer recorded
   - Which files were touched
   - Whether any related questions still `open` share the same areas (dump the
     question frontmatter to check), as a nudge; don't resolve them automatically

## Examples

**Example 1: resolution from a new discussion**
User: "Mark Q-001 resolved: we decided to use zero-rated VAT for EU digital goods.
We discussed it in the entry we just logged, 2026-07-01-eu-vat-strategy."
Action: find the file (`ls wherefore/questions/Q-001-*.md`) and edit it (status ->
resolved, resolution filled, resolution_slug set), update that wherefore entry to
note the question is resolved. Report both files touched.

**Example 2: standalone resolution**
User: "Close Q-007. We're not doing offline sync this quarter, pushed to Q3."
Action: edit the Q-007 file (`wherefore/questions/Q-007-*.md`) (status -> resolved,
resolution filled, resolution_slug left blank). No wherefore entry to update. Report
the file touched.

**Example 3: question not found**
User: "Resolve Q-099"
Action: no `wherefore/questions/Q-099-*.md` matches. Respond: "Q-099 wasn't found
in wherefore/questions/. Check the ID; I can list the open questions if that helps."

**Example 4: already resolved**
User: "Mark Q-002 resolved"
Action: open the Q-002 file (`wherefore/questions/Q-002-*.md`); status is already resolved. Show the
recorded resolution date and text and make no changes, e.g. "Q-002 was resolved on
2026-06-24: zero-rated VAT for EU digital goods. No changes made."

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [DustinVK](https://github.com/DustinVK)
- **Source:** [DustinVK/wherefore](https://github.com/DustinVK/wherefore)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-dustinvk-wherefore-resolve
- Seller: https://agentstack.voostack.com/s/dustinvk
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
