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
- If legacy configured, execute provider-specific 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
- If legacy configured, execute provider-specific 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, index-first pattern, integration constraints). 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---5
6# Search protocol
7
8Defines how to search across information sources for answering queries, analysis, or communication.
9
10---
11
12## Information hierarchy
13
14| 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 |
22
23---
24
25## Index-first pattern (MANDATORY)
26
27Every search reads an `_index.md` BEFORE opening individual files. This is the most important scalability rule.
28
29- `memory/_index.md` routes to the correct subfolder
30- `memory/{category}/_index.md` maps aliases to filenames
31- `journal/YYYY-MM/_index.md` lists entries by date, type, participants, initiatives
32
33Never scan all files in a folder. Always use the index.
34
35---
36
37## When to search each source
38
39### Memory
40People, initiatives, products, vendors, competitors, past decisions.
41
42### Tasks
43What needs to be done, deadlines, assignments, follow-ups.
44
45### Journal
46Recent 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 first
49- **Optimization:** For "what did we decide about X", check `memory/decisions/` first
50
51### Contexts
52Deep detail beyond memory: full product docs, schemas, org charts, specs.
53
54### Calendar (via MCP or legacy integration)
55
56**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
604. If legacy configured, execute provider-specific calls
615. If neither exists, note unavailable and suggest: "Run /welcome to configure calendar integration"
62
63Always resolve dates to YYYY-MM-DD before querying.
64
65### Tasks (via MCP or legacy integration)
66
67**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
714. If legacy configured, execute provider-specific commands
725. If neither exists, fall back to workspace file data (Active/Delegated/Backlog folders)
73
74### MCP tools
75- **~~project tracker:** Issue status, sprint data, initiative metrics
76- **~~documentation:** Documentation, policies, technical specs
77
78### Web
79Market information, competitor news, regulatory updates, current events. External only.
80
81---
82
83## Search procedure
84
85### Step 1: Parse the query
86
87Identify:
88- **Entities:** People, products, initiatives, vendors, competitors
89- **Topics:** What the query is about
90- **Timeframes:** Dates, deadlines, recency
91- **Depth:** Summary or full detail needed?
92
93### Step 2: Check aliases
94
95Entities may have alternate names. Check `_index.md` alias columns.
96
97### Step 3: Search memory (index-first)
98
991. Read relevant `_index.md` to find target file
1002. Read the specific file
1013. Follow `[[Entity]]` wikilinks for related context
102
103### Step 4: Check tasks (if applicable)
104
105Execute the task integration `list` operation for configured lists (default: Active, Delegated, Backlog). Filter by owner (from notes field), due date, or initiative.
106
107### Step 5: Check journal (if applicable)
108
1091. Read `journal/YYYY-MM/_index.md` for recent months
1102. Open specific entries matching the query
1113. Expand backward in time only if needed
112
113### Step 6: Check deep contexts (if needed)
114
115Look in `contexts/` for full documentation, product specs, schemas.
116
117### Step 7: Cite sources
118
119When using information from searches, cite the source:
120```
121[From memory/people/jane-smith.md]
122Jane prefers data-driven summaries and email over Slack.
123
124[From journal/2026-01/2026-01-18-planning-session.md]
125Discussed moving the deadline to end of February.
126```
127
128---
129
130## Quick answer mode
131
132For fast factual lookups:
133
134### 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.
136
137### All other queries
138Follow standard hierarchy: memory -> tasks -> journal -> contexts -> MCP -> web.
139
140### Gap closure
141After searching, apply clarification protocol if critical context is still missing.
142
143---
144
145## Context budget
146- Memory: Read `_index.md` + up to 5 targeted files
147- Journal: Current month `_index.md` + up to 3 entries
148- Tasks: Execute task integration `list` operation for Active only (unless other lists explicitly needed)
149
150---
151
152## Source attribution
153
154When answering, tag each piece of information with its confidence tier:
155
156| 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 |
163
164---
165
166## Absolute constraints
167
168Universal constraints from the core skill apply (date resolution, index-first pattern, integration constraints). Additionally:
169
170- NEVER answer internal questions from web search alone
171- NEVER hallucinate memory that doesn't exist
172- NEVER skip context search when deep detail is clearly needed
173- 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