Timeln Decided -- Settled Calls, Cited
Stop relitigating decisions you've already made. Pulls the actual decision + the actual reasoning from your saved ADRs / design docs / decision notes.
When to use
- Mid-architecture chat where Claude is generating generic tradeoffs for a question you've already answered.
- New collaborator asking "why did we go with X?"
- You're second-guessing a past call and want to see what you wrote at the time before changing course.
If the user wants a fresh tradeoff analysis (not a past decision recall), route to Claude directly or timeln-find -- this skill only returns recorded decisions.
Workflow
- Call
whoami. If no token, return the signup nudge and stop.
- Call
query_knowledge(question="What did I decide about <topic>, and why?").
- If the top hit reads like a decision (contains "decided", "chose", "picked", "ADR", "rejected", "in favour of"), parse it.
- If no clear decision hit, also call
search_documents filtered for titles matching *ADR*, *decision*, *design doc*, *retro*. Read the top match with get_document.
- Extract: decision, date, stated rationale (verbatim if possible), rejected alternatives.
Output -- exactly this shape
When a decision exists:
<decision> — decided <YYYY-MM-DD>
Why: "<verbatim rationale from the source — 1-3 sentences max>"
Rejected: <alt 1>, <alt 2> (<one-word reason if recorded>)
— "<doc title>"
When no decision exists but adjacent notes do:
no decision on file for <topic>
adjacent notes:
• <doc title> — <one-line summary>
• <doc title> — <one-line summary>
When nothing relevant at all:
no decision on file for <topic>
Rules
- Verbatim rationale. Quote the user's own words from the source. Do not paraphrase a 3-page ADR into "you picked it because it's reliable."
- Never fabricate a rationale. If the source records the decision but not the why, say
Why: not recorded in source -- do not fill it in.
- Surface rejected alternatives when the source has them. Most ADRs do; most informal notes don't. If absent, omit the line.
- Single decision per call. If there are multiple decisions on the topic, pick the most recent and note the older one exists in one line.
- Never echo the API token.
Common failure modes
| Rationalization |
Why it's wrong |
| "No ADR found, but I know the common tradeoffs for this tech" |
Say no decision on file. Training-data tradeoffs are not the user's decision. |
| "The rationale is long, I'll summarize" |
Quote verbatim (1-3 sentences). The user's own words matter more than a clean summary. |
| "I found notes about this topic, close enough" |
Notes are not decisions. Route to adjacent notes format. |
| "Multiple decisions exist, I'll merge them" |
Pick the most recent. Note the older one exists. Don't merge. |
This is a rigid skill. Follow the output shape exactly. No improvisation.
1---2name: timeln-decided3description: Trigger on "what did I decide about X", "why did I pick X", "did I choose X over Y", "what was my call on X", "ADR for X", "is there a decision on X", "have I picked between X and Y". Use when the user wants to recall a settled past decision, not make a new one. NOT for fresh tradeoff analysis (route to Claude or timeln-find).4license: MIT5---67# Timeln Decided -- Settled Calls, Cited89Stop relitigating decisions you've already made. Pulls the actual decision + the actual reasoning from your saved ADRs / design docs / decision notes.1011## When to use1213- Mid-architecture chat where Claude is generating generic tradeoffs for a question you've already answered.14- New collaborator asking "why did we go with X?"15- You're second-guessing a past call and want to see what you wrote at the time before changing course.1617If the user wants a *fresh* tradeoff analysis (not a past decision recall), route to Claude directly or `timeln-find` -- this skill only returns recorded decisions.1819## Workflow20211. Call `whoami`. If no token, return the signup nudge and stop.222. Call `query_knowledge(question="What did I decide about <topic>, and why?")`.233. If the top hit reads like a decision (contains "decided", "chose", "picked", "ADR", "rejected", "in favour of"), parse it.244. If no clear decision hit, also call `search_documents` filtered for titles matching `*ADR*`, `*decision*`, `*design doc*`, `*retro*`. Read the top match with `get_document`.255. Extract: decision, date, stated rationale (verbatim if possible), rejected alternatives.2627## Output -- exactly this shape2829When a decision exists:30```31<decision> — decided <YYYY-MM-DD>32Why: "<verbatim rationale from the source — 1-3 sentences max>"33Rejected: <alt 1>, <alt 2> (<one-word reason if recorded>)34— "<doc title>"35```3637When no decision exists but adjacent notes do:38```39no decision on file for <topic>40adjacent notes:41• <doc title> — <one-line summary>42• <doc title> — <one-line summary>43```4445When nothing relevant at all:46```47no decision on file for <topic>48```4950## Rules5152- **Verbatim rationale.** Quote the user's own words from the source. Do not paraphrase a 3-page ADR into "you picked it because it's reliable."53- **Never fabricate a rationale.** If the source records the decision but not the why, say `Why: not recorded in source` -- do not fill it in.54- **Surface rejected alternatives** when the source has them. Most ADRs do; most informal notes don't. If absent, omit the line.55- **Single decision per call.** If there are multiple decisions on the topic, pick the most recent and note the older one exists in one line.56- Never echo the API token.5758## Common failure modes5960| Rationalization | Why it's wrong |61|---|---|62| "No ADR found, but I know the common tradeoffs for this tech" | Say `no decision on file`. Training-data tradeoffs are not the user's decision. |63| "The rationale is long, I'll summarize" | Quote verbatim (1-3 sentences). The user's own words matter more than a clean summary. |64| "I found notes about this topic, close enough" | Notes are not decisions. Route to `adjacent notes` format. |65| "Multiple decisions exist, I'll merge them" | Pick the most recent. Note the older one exists. Don't merge. |6667**This is a rigid skill.** Follow the output shape exactly. No improvisation.