This skill answers targeted project-history questions from Lode's local decision memory. It is a thin wrapper around the deterministic decision replay helper: the script narrows evidence, and the host agent writes the final answer.
Use query when the current task touches an existing decision, architecture
boundary, rejected option, long-running risk, or product tradeoff. Use recall
for session-start orientation; use query for a specific follow-up question.
Scope
- Intra-project by default.
- Raw entries remain the source of truth.
{vault}/raw/decisions/{project-slug}.jsonis a derived retrieval index.- The helper may rebuild an in-memory index from raw entries when no saved index exists, but this skill does not write new memory.
- Do not use git history, external docs, or model assumptions to fill missing decision evidence.
Workflow
- Identify the user's decision question.
- Pick the mode:
| Mode | Use when the user asks |
|---|---|
why |
why a path was chosen, why something works this way |
alternatives |
what was rejected, abandoned, deferred, or not chosen |
revisit |
what open questions or deferred choices should be reconsidered |
impact |
what downstream effects a decision had |
free |
anything that doesn't fit the other 4 modes — status checks, "did we discuss X?", "what's the history of Y?" |
Free-Form Mode
When the user asks a natural-language question that doesn't clearly map to
why / alternatives / revisit / impact, use free mode. The agent
tries multiple modes sequentially and returns the first result with
answerable=true.
Fallback order: why → revisit → impact. Stop at the first
answerable=true result. Do not try alternatives in the fallback chain —
it answers a different question shape.
If all three modes return answerable=false, say the vault does not contain
enough evidence for this question. Suggest capturing the context with
/lode:capture if the user can clarify the decision.
Free-form queries still pass a concrete --mode to the helper on each
attempt. The agent handles the multi-mode orchestration; the helper script is
not modified.
- Run the helper:
python <this-skill>/scripts/decision_graph.py query "<question>" --cwd "$PWD" --mode why --limit 5
Use --mode alternatives, --mode revisit, --mode impact, or follow the
free-form fallback order when the question calls for it. If the user names a
project slug, pass --slug <slug>. If the user or config provides a vault
path, pass --vault <path>.
- Read the JSON evidence pack.
- Answer from the evidence pack only.
Output Contract
Return a concise answer with:
- A direct answer when
answerable=true. - The matched decision node ids and source timestamps.
matched_terms,evidence_strength, andanswerability_reason.source_entry_refsfor every cited decision.- Rejected alternatives when relevant.
- Open questions when relevant.
confidenceandinference_noteswhen a node is inferred.- Suggested repo-local docs from
suggested_docs, if any.
If answerable=false, say the current Lode records do not contain enough
evidence. Include missing_evidence and suggest capturing the decision with
/lode:capture after the user clarifies it. Do not invent an answer.
Evidence Rules
- Treat
confidence=explicitas directly recorded raw-entry evidence. - Treat
confidence=inferredas useful navigation, not a proven fact. - Treat
evidence_strength=weakas a prompt to hedge or ask for more evidence even whenanswerable=true. - Preserve uncertainty in the wording when
inference_notesare present. - Do not quote or cite a decision without its
source_entry_refs. - Edges and supporting nodes are context expansion, not standalone proof.
Storage
This skill reads:
{vault}/raw/decisions/{project-slug}.jsonwhen present{vault}/raw/weeks/{YYYY-WNN}/{project-slug}.jsonas rebuild fallback{vault}/raw/artifacts/{project-slug}.jsonas optional navigation metadata
This skill writes no files.