with one click
answer
// Fast lookup and answer skill for schedule, people, meetings, tasks, initiatives, and general knowledge queries
// Fast lookup and answer skill for schedule, people, meetings, tasks, initiatives, and general knowledge queries
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | answer |
| description | Fast lookup and answer skill for schedule, people, meetings, tasks, initiatives, and general knowledge queries |
| triggers | ["when did I","what's my schedule","what do I know about","who is","am I free","what meetings","what's on my calendar"] |
| user-invocable | true |
| help | {"purpose":"Fast factual lookups across calendar, memory, tasks, journal, transcripts, and integrations.\nAnswers questions with source citations and confidence tiers.","use_cases":["When did I last meet Jane?","What's my schedule tomorrow?","Am I free Friday afternoon?","What do I know about the Platform Rewrite?","Who is Bob Chen?","What did we decide about the API?"],"scope":"calendar,schedule,tasks,people,context,lookup"} |
Answer questions by searching across TARS information sources in priority order. Provide answers in BLUF (Bottom Line Up Front) format with source citations.
| Priority | Source / tool | Contains | Confidence |
|---|---|---|---|
| 1 | Memory files — mcp__tars_vault__search_by_tag(tag="tars/<type>", …) + read_note | Durable facts, relationships, decisions, preferences | High |
| 2 | Tier-A FTS5 — mcp__tars_vault__fts_search(scope="memory", query=…) | Keyword/BM25 over short structured notes | High |
| 3 | Task notes — mcp__tars_vault__search_by_tag(tag="tars/task", …) + task integration (resolve_capability(capability="tasks")) | Action items, deadlines, assignments | High |
| 4 | Journal entries — mcp__tars_vault__search_by_tag(tag="tars/journal", …) + semantic | Meeting summaries, briefings, wisdom | High |
| 5 | Tier-B semantic — mcp__tars_vault__semantic_search(scope="journal|transcripts|contexts", …) | Paraphrase/quote recall over prose | Medium-High |
| 6 | Transcript archives — full-read fallback when semantic returned low scores | Verbatim quotes | High (verbatim) |
| 7 | Integration sources — resolve_capability(capability="calendar|tasks|project-tracker|…") | Schedule, live data from provider MCPs | High |
| 8 (last) | Web search | External information | Medium-Low — flag explicitly |
Key rules:
resolve_capability call returns status: "unavailable", follow the degradation messaging convention in skills/core/SKILL.md section "Degradation messaging convention".[[2026-03-10 CSI Onsite Day 1]]#chunk-14). Citations point at canonical filenames returned by retrieval; if you need to construct a link from a name (rather than reuse one returned by search), call mcp__tars_vault__format_wikilink first — see core → "Wikilink discipline".answer_delivered with source_hit_tier array covering which priorities contributed.Analyze the user's question to determine:
| Dimension | Examples |
|---|---|
| Intent type | Schedule question, person lookup, meeting history, task query, initiative status, decision recall, general knowledge |
| Entities | People, products, initiatives, vendors, competitors |
| Topics | What the query is specifically about |
| Timeframe | Today, tomorrow, this week, last meeting, a specific date, "ever" |
| Depth | Quick fact (one-liner) vs. full context (detailed history) |
| Intent | Primary source | Fallback chain |
|---|---|---|
| Schedule / "am I free" / "what's on my calendar" | Calendar integration | Journal → Memory |
| Person lookup / "who is" | Memory (tars/person) | Journal → Transcripts |
| Meeting history / "when did I meet" | Journal (tars/meeting) | Calendar → Transcripts |
| Task query / "what do I need to do" | Task integration | Journal (task extraction sections) |
| Initiative status / "how is X going" | Memory (tars/initiative) | Journal → Tasks |
| Decision recall / "what did we decide" | Memory (tars/decision) | Journal → Transcripts |
| General knowledge / "what do I know about" | Memory (all types) | Journal → Contexts → Transcripts |
Start with the calendar integration FIRST.
cap = mcp__tars_vault__resolve_capability(capability="calendar")
cap.status == "connected", call cap.tools[*] dynamically (never hard-code mcp__apple_calendar__* or mcp__microsoft_365_*).cap.status == "unavailable" and calendar is marked required: true in _system/integrations.md, state the specific connection error.YYYY-MM-DD before querying.After calendar data, enrich via:
resolve_capability(capability="tasks") for items due same day.mcp__tars_vault__search_by_tag(tag="tars/person", query="<name>", limit=5)
If no exact match, resolve through the alias registry:
mcp__tars_vault__resolve_alias(name="<name>")
Then read the full profile:
mcp__tars_vault__read_note(file="<canonical name>")
If the person has meeting history, scan recent journal entries:
mcp__tars_vault__search_by_tag(tag="tars/meeting", query="<person name>", limit=5)
mcp__tars_vault__search_by_tag(tag="tars/meeting", query="<topic or person>", limit=10)
Read matching journal entries. If the user asks about a specific detail discussed in a meeting and the journal summary lacks it, call mcp__tars_vault__semantic_search(scope="transcripts", query=…) or proceed to transcript fallback (Step 3).
cap = mcp__tars_vault__resolve_capability(capability="tasks")
# use cap.tools[*] dynamically for list/filter by owner, due date, status
For "what's overdue" on TARS-managed task notes:
mcp__tars_vault__search_by_tag(
tag="tars/task",
frontmatter={"tars-status": "open"},
limit=50
)
Filter results where tars-due < today.
mcp__tars_vault__search_by_tag(tag="tars/initiative", query="<name>", limit=5)
mcp__tars_vault__read_note(file="<initiative name>")
Cross-reference with:
mcp__tars_vault__search_by_tag(tag="tars/decision", query="<topic>", limit=10)
If not found in decisions, search journal entries:
mcp__tars_vault__search_by_tag(tag="tars/meeting", query="<topic>", limit=10)
Look for "Decisions" sections in meeting summaries.
Follow the full hierarchy:
mcp__tars_vault__fts_search(scope="memory", query="<keywords>", limit=10).resolve_capability(capability="tasks") + search_by_tag(tag="tars/task", …).mcp__tars_vault__semantic_search(scope="journal", query="<keywords>", limit=10).mcp__tars_vault__semantic_search(scope="contexts", query="<keywords>", limit=5).Before the first mcp__tars_vault__semantic_search call in a session, check whether _system/embedding-cache/ exists in the workspace. If it does not, emit this line once:
"First semantic search this session. Downloading embedding model (~80MB, one-time, takes ~30-60s)."
Cache a working-memory flag so the warning is not repeated in the same session.
When memory, journal summaries, and other sources do not have enough detail to answer the question, fall back to archived transcripts.
Find relevant journal entries by date, person, or topic:
mcp__tars_vault__search_by_tag(tag="tars/meeting", query="<criteria>", limit=5)
Read the journal entry and check for a transcript link:
mcp__tars_vault__read_note(file="<journal entry name>")
Look for the tars-transcript property in frontmatter.
If transcript exists, read it:
mcp__tars_vault__read_note(file="<transcript name>")
Search the transcript for the specific topic, quote, or detail the user is asking about.
Return with citation:
From the raw transcript of [[2026-03-21 Platform Review]]:
Jane said at 2:15pm: "The timeline is aggressive but doable if we get
the two backend hires by end of month."
If the journal entry has no tars-transcript link, or the transcript was not archived:
BLUF (Bottom Line Up Front): Lead with the direct answer, then provide supporting detail.
**[Direct answer to the question]**
[Supporting detail with context]
---
Sources:
- [[memory/people/jane-smith.md]] — person profile
- [[journal/2026-03/2026-03-21-platform-review.md]] — meeting summary
- Calendar: Mar 21 event "Platform Review" at 2:00 PM
Query: "When did I last meet Jane?"
**You last met Jane Smith on March 21, 2026** at the Platform Review meeting (2:00-3:00 PM).
Topics discussed: Q3 timeline, backend hiring, mobile team staffing.
Key outcome: Jane approved 2 backend hires for Platform Rewrite.
Next meeting: Not yet scheduled.
---
Sources:
- [[journal/2026-03/2026-03-21-platform-review.md]]
- Calendar: Mar 21, 2:00 PM "Platform Review"
Query: "What did we decide about the API?"
**Decision: REST over GraphQL for the public API**, made on March 19, 2026.
Rationale: Broader ecosystem compatibility, lower barrier for external developers,
and alignment with existing internal tooling. GraphQL will remain for internal
services only.
Decided by: [[Jane Smith]] and [[Bob Chen]] during the API Architecture Review.
---
Sources:
- [[memory/decisions/api-architecture.md]]
- [[journal/2026-03/2026-03-19-api-architecture-review.md]]
Query: "What exactly did Bob say about the migration risk?"
**Bob Chen expressed concern about Q3 timeline risk** during the Platform Review
on March 21.
From the raw transcript of [[2026-03-21 Platform Review]]:
Bob said at 2:32pm: "I'm worried about the Q3 deadline. If we don't get the
database migration done by June, we're looking at a 6-week slip minimum.
The team is already stretched thin with the API work."
---
Sources:
- [[archive/transcripts/2026-03/2026-03-21-platform-review-transcript.md]] — verbatim
- [[journal/2026-03/2026-03-21-platform-review.md]] — summary
Every piece of information in the answer must be traceable to a source. Use [[wikilinks]] for workspace files and explicit labels for integration sources.
| Source type | Citation format |
|---|---|
| Memory file | [[memory/people/jane-smith.md]] |
| Journal entry | [[journal/2026-03/2026-03-21-platform-review.md]] |
| Transcript | [[archive/transcripts/2026-03/...]] with "verbatim" label |
| Calendar | Calendar: [date] [event title] |
| Task integration | Tasks: [list name] — [task title] |
| Web search | Web: [URL or search query] — flag as external |
| LLM knowledge | Note: This is from general knowledge, not TARS memory — flag as low confidence |
If the answer cannot be found in any source:
**I don't have this information in memory, journal, or transcripts.**
Suggestions:
- Check your email for messages about [topic]
- This may have been discussed before TARS was active
- Would you like me to search the web for external information?
- If you know when this was discussed, I can check specific transcripts
Never fabricate an answer. Never hallucinate memory that doesn't exist. Never claim certainty when the source is ambiguous.
When all internal tiers return zero results and the user appears new (_system/config.md tars-user-name is empty, or memory/ has fewer than three entity files), respond with:
Your workspace is new. I don't have stored context yet.
Three quick ways to seed it:
1. Paste a meeting transcript and run `/meeting`
2. Tell me a fact to remember: `/learn Sarah is the new VP Engineering`
3. Run `/briefing` to see what's set up so far
Or run `/start` for a no-setup demo of what TARS does with a paste.
Do not present this block when the user asked an external or general-knowledge question.
If some parts of the question can be answered but others cannot:
**Partial answer**: [what is known]
**Unknown**: [what could not be found]
I checked: [list of sources searched]. The [specific detail] was not captured.
For vault searches, always use mcp__tars_vault__search_by_tag (tag + frontmatter filter) or fts_search / semantic_search — never scan folders:
mcp__tars_vault__search_by_tag(tag="tars/person", query="<name>", limit=5)
mcp__tars_vault__search_by_tag(tag="tars/meeting", frontmatter={"tars-date__gte": "2026-03-01"}, limit=10)
mcp__tars_vault__search_by_tag(tag="tars/decision", query="<topic>", limit=5)
If an entity is not found by its primary name:
mcp__tars_vault__resolve_alias(name="<name>").mcp__tars_vault__search_by_tag(tag="tars/person", query="<last name>", limit=5).Always resolve dates before querying:
| User says | Resolve to |
|---|---|
| "today" | Current date YYYY-MM-DD |
| "tomorrow" | Current date + 1 |
| "yesterday" | Current date - 1 |
| "this week" | Monday to Sunday of current week |
| "last week" | Monday to Sunday of previous week |
| "last meeting with X" | Search journal by person, sort by date desc |
| "March" | 2026-03-01 to 2026-03-31 |
Tag each piece of information with its confidence tier:
| Source | Confidence | Display |
|---|---|---|
| Memory files | High | No special label needed |
| User input (this session) | High | No special label needed |
| Calendar/task integration | High | No special label needed |
| Journal entries | High | No special label needed |
| Transcript archives | High | Label as "verbatim" |
| Web search | Medium-Low | Flag explicitly: "From web search:" |
| LLM general knowledge | Low | Flag explicitly: "Note: from general knowledge, not TARS memory" |
| Source | Limit |
|---|---|
| Memory | Search results + up to 5 targeted file reads |
| Journal | Search results + up to 3 full entry reads |
| Transcripts | Up to 2 transcript reads (only when journal insufficient) |
| Tasks | Active list by default (other lists only if explicitly needed) |
| Calendar | Target date(s) only |
| Contexts | Up to 2 reads (only for deep-detail questions) |
If any errors occur during lookup:
_system/backlog/issues/ for existing issue with same error signaturetars-occurrence-count, update tars-last-seenYYYY-MM-DD format before any query[[wikilinks]] for workspace filesmcp__tars_vault__search_by_tag (or fts_search / semantic_search) rather than folder scanning