Search protocol
Defines how to search across information sources for answering queries, analysis, or communication.
Information hierarchy
| Priority |
Source |
Contains |
| 1 (first) |
Memory (memory/) |
Quick facts, relationships, decisions |
| 2 |
Tasks (via task integration) |
Action items, deadlines, assignments |
| 3 |
Journal (journal/) |
Meeting summaries, briefings |
| 4 |
Contexts (contexts/) |
Deep reference material, full docs |
| 5 |
MCP tools |
project tracker, documentation, additional integrations |
| 6 (last) |
Web |
External, current information |
Index-first pattern (MANDATORY)
Every search reads an _index.md BEFORE opening individual files. This is the most important scalability rule.
memory/_index.md routes to the correct subfolder
memory/{category}/_index.md maps aliases to filenames
journal/YYYY-MM/_index.md lists entries by date, type, participants, initiatives
Never scan all files in a folder. Always use the index.
When to search each source
Memory
People, initiatives, products, vendors, competitors, past decisions.
Tasks
What needs to be done, deadlines, assignments, follow-ups.
Journal
Recent discussions, who said what, decisions from meetings, prior briefings.
- Optimization: For "last week" queries, read only current month's
_index.md
- Optimization: For "find all meetings about X", check recent
_index.md files first
- Optimization: For "what did we decide about X", check
memory/decisions/ first
Contexts
Deep detail beyond memory: full product docs, schemas, org charts, specs.
Calendar (via MCP or legacy integration)
Priority flow:
- Check
<mcp_servers> context for calendar MCP server (preferred)
- If found, use MCP tools (
list_events, get_event, create_event)
- If not found, check
reference/integrations.md for legacy provider (eventlink)
- If legacy configured, execute HTTP API calls
- If neither exists, note unavailable and suggest: "Run /welcome to configure calendar integration"
Always resolve dates to YYYY-MM-DD before querying.
Tasks (via MCP or legacy integration)
Priority flow:
- Check
<mcp_servers> context for reminders/tasks MCP server (preferred)
- If found, use MCP tools (
list_reminders, create_reminder, complete_reminder)
- If not found, check
reference/integrations.md for legacy provider (remindctl)
- If legacy configured, execute CLI commands
- If neither exists, fall back to workspace file data (Active/Delegated/Backlog folders)
MCP tools
- ~~project tracker: Issue status, sprint data, initiative metrics
- ~~documentation: Documentation, policies, technical specs
Web
Market information, competitor news, regulatory updates, current events. External only.
Search procedure
Step 1: Parse the query
Identify:
- Entities: People, products, initiatives, vendors, competitors
- Topics: What the query is about
- Timeframes: Dates, deadlines, recency
- Depth: Summary or full detail needed?
Step 2: Check aliases
Entities may have alternate names. Check _index.md alias columns.
Step 3: Search memory (index-first)
- Read relevant
_index.md to find target file
- Read the specific file
- Follow
[[Entity]] wikilinks for related context
Step 4: Check tasks (if applicable)
Execute the task integration list operation for configured lists (default: Active, Delegated, Backlog). Filter by owner (from notes field), due date, or initiative.
Step 5: Check journal (if applicable)
- Read
journal/YYYY-MM/_index.md for recent months
- Open specific entries matching the query
- Expand backward in time only if needed
Step 6: Check deep contexts (if needed)
Look in contexts/ for full documentation, product specs, schemas.
Step 7: Cite sources
When using information from searches, cite the source:
[From memory/people/jane-smith.md]
Jane prefers data-driven summaries and email over Slack.
[From journal/2026-01/2026-01-18-planning-session.md]
Discussed moving the deadline to end of February.
Quick answer mode
For fast factual lookups:
Scheduling queries (calendar, agenda, meetings, availability, "am I free")
Start with the calendar integration FIRST. Read reference/integrations.md Calendar section for provider details, resolve the target date to YYYY-MM-DD format, then execute the list_events operation. TARS has calendar access via configured integration. Never respond that calendar access is unavailable without checking integration status. If the calendar integration is unreachable, state the specific connection error. Then check memory for people context, then task integration for related tasks.
All other queries
Follow standard hierarchy: memory -> tasks -> journal -> contexts -> MCP -> web.
Gap closure
After searching, apply clarification protocol if critical context is still missing.
Context budget
- Memory: Read
_index.md + up to 5 targeted files
- Journal: Current month
_index.md + up to 3 entries
- Tasks: Execute task integration
list operation for Active only (unless other lists explicitly needed)
Source attribution
When answering, tag each piece of information with its confidence tier:
| Source |
Confidence |
| Memory files, user input |
High |
| Native tools (calendar, tasks) |
High |
| MCP tools (project tracker, docs) |
Medium-High |
| Web search |
Medium-Low |
| LLM knowledge (no source) |
Low -- flag explicitly |
Absolute constraints
Universal constraints from the core skill apply (date resolution, integration constraints, index-first pattern, wikilink mandate). Additionally:
- NEVER answer internal questions from web search alone
- NEVER hallucinate memory that doesn't exist
- NEVER skip context search when deep detail is clearly needed
- NEVER claim calendar access is unavailable. TARS has calendar access via configured integration. If integration fails, report the specific error.
- ALWAYS query calendar integration for any question about schedule, agenda, meetings, availability, or "am I free"
- ALWAYS check aliases when entity not found by primary name
1---2name: answer3description: Calendar queries, schedule questions, meeting history, task queries, people profiles, initiative status, and organizational context. Handles "When did I meet X?", "What's my schedule?", "Am I free?", "What do I know about X?" Fast lookups with index-first pattern.4---56# Search protocol78Defines how to search across information sources for answering queries, analysis, or communication.910---1112## Information hierarchy1314| Priority | Source | Contains |15|----------|--------|----------|16| 1 (first) | **Memory** (`memory/`) | Quick facts, relationships, decisions |17| 2 | **Tasks** (via task integration) | Action items, deadlines, assignments |18| 3 | **Journal** (`journal/`) | Meeting summaries, briefings |19| 4 | **Contexts** (`contexts/`) | Deep reference material, full docs |20| 5 | **MCP tools** | project tracker, documentation, additional integrations |21| 6 (last) | **Web** | External, current information |2223---2425## Index-first pattern (MANDATORY)2627Every search reads an `_index.md` BEFORE opening individual files. This is the most important scalability rule.2829- `memory/_index.md` routes to the correct subfolder30- `memory/{category}/_index.md` maps aliases to filenames31- `journal/YYYY-MM/_index.md` lists entries by date, type, participants, initiatives3233Never scan all files in a folder. Always use the index.3435---3637## When to search each source3839### Memory40People, initiatives, products, vendors, competitors, past decisions.4142### Tasks43What needs to be done, deadlines, assignments, follow-ups.4445### Journal46Recent discussions, who said what, decisions from meetings, prior briefings.47- **Optimization:** For "last week" queries, read only current month's `_index.md`48- **Optimization:** For "find all meetings about X", check recent `_index.md` files first49- **Optimization:** For "what did we decide about X", check `memory/decisions/` first5051### Contexts52Deep detail beyond memory: full product docs, schemas, org charts, specs.5354### Calendar (via MCP or legacy integration)5556**Priority flow**:571. Check `<mcp_servers>` context for calendar MCP server (preferred)582. If found, use MCP tools (`list_events`, `get_event`, `create_event`)593. If not found, check `reference/integrations.md` for legacy provider (eventlink)604. If legacy configured, execute HTTP API calls615. If neither exists, note unavailable and suggest: "Run /welcome to configure calendar integration"6263Always resolve dates to YYYY-MM-DD before querying.6465### Tasks (via MCP or legacy integration)6667**Priority flow**:681. Check `<mcp_servers>` context for reminders/tasks MCP server (preferred)692. If found, use MCP tools (`list_reminders`, `create_reminder`, `complete_reminder`)703. If not found, check `reference/integrations.md` for legacy provider (remindctl)714. If legacy configured, execute CLI commands725. If neither exists, fall back to workspace file data (Active/Delegated/Backlog folders)7374### MCP tools75- **~~project tracker:** Issue status, sprint data, initiative metrics76- **~~documentation:** Documentation, policies, technical specs7778### Web79Market information, competitor news, regulatory updates, current events. External only.8081---8283## Search procedure8485### Step 1: Parse the query8687Identify:88- **Entities:** People, products, initiatives, vendors, competitors89- **Topics:** What the query is about90- **Timeframes:** Dates, deadlines, recency91- **Depth:** Summary or full detail needed?9293### Step 2: Check aliases9495Entities may have alternate names. Check `_index.md` alias columns.9697### Step 3: Search memory (index-first)98991. Read relevant `_index.md` to find target file1002. Read the specific file1013. Follow `[[Entity]]` wikilinks for related context102103### Step 4: Check tasks (if applicable)104105Execute the task integration `list` operation for configured lists (default: Active, Delegated, Backlog). Filter by owner (from notes field), due date, or initiative.106107### Step 5: Check journal (if applicable)1081091. Read `journal/YYYY-MM/_index.md` for recent months1102. Open specific entries matching the query1113. Expand backward in time only if needed112113### Step 6: Check deep contexts (if needed)114115Look in `contexts/` for full documentation, product specs, schemas.116117### Step 7: Cite sources118119When using information from searches, cite the source:120```121[From memory/people/jane-smith.md]122Jane prefers data-driven summaries and email over Slack.123124[From journal/2026-01/2026-01-18-planning-session.md]125Discussed moving the deadline to end of February.126```127128---129130## Quick answer mode131132For fast factual lookups:133134### Scheduling queries (calendar, agenda, meetings, availability, "am I free")135Start with the calendar integration FIRST. Read `reference/integrations.md` Calendar section for provider details, resolve the target date to `YYYY-MM-DD` format, then execute the `list_events` operation. TARS has calendar access via configured integration. Never respond that calendar access is unavailable without checking integration status. If the calendar integration is unreachable, state the specific connection error. Then check memory for people context, then task integration for related tasks.136137### All other queries138Follow standard hierarchy: memory -> tasks -> journal -> contexts -> MCP -> web.139140### Gap closure141After searching, apply clarification protocol if critical context is still missing.142143---144145## Context budget146- Memory: Read `_index.md` + up to 5 targeted files147- Journal: Current month `_index.md` + up to 3 entries148- Tasks: Execute task integration `list` operation for Active only (unless other lists explicitly needed)149150---151152## Source attribution153154When answering, tag each piece of information with its confidence tier:155156| Source | Confidence |157|--------|------------|158| Memory files, user input | High |159| Native tools (calendar, tasks) | High |160| MCP tools (project tracker, docs) | Medium-High |161| Web search | Medium-Low |162| LLM knowledge (no source) | Low -- flag explicitly |163164---165166## Absolute constraints167168Universal constraints from the core skill apply (date resolution, integration constraints, index-first pattern, wikilink mandate). Additionally:169170- NEVER answer internal questions from web search alone171- NEVER hallucinate memory that doesn't exist172- NEVER skip context search when deep detail is clearly needed173- NEVER claim calendar access is unavailable. TARS has calendar access via configured integration. If integration fails, report the specific error.174- ALWAYS query calendar integration for any question about schedule, agenda, meetings, availability, or "am I free"175- ALWAYS check aliases when entity not found by primary name