Install
$ agentstack add skill-dustinvk-wherefore-resolve ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →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
- 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.
- 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.
- Update the question file (
wherefore/questions/Q-NNN-short-slug.md). Edit the frontmatter in place:
- Set
status: resolved - Fill in
resolutionwith 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_slugto the source discussion slug, or leave blank if
standalone
- 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)
- Report back. Show:
- The question text and its ID
- The answer recorded
- Which files were touched
- Whether any related questions still
openshare 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
- Source: DustinVK/wherefore
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.