Deep Context Skill
Cross-channel research agent that searches ALL connected systems for everything known about a topic, then synthesizes a comprehensive briefing. Searches beyond Atlassian to include Obsidian, Gmail, Slack, GitHub, and Granola.
When to Activate
- User says "deep context", "tell me everything about X", "research X"
- User says "what do we know about X?", "full context on X"
- User says "brief me on X", "context dump for X"
- Before writing a spec, RFC, or making a strategic decision
- When onboarding someone to a topic
How It Differs from Simple Search
|
/simple-search |
/deep-context |
| Sources |
Confluence, Jira, Slack, local context files |
ALL of those + Obsidian vault + Gmail + GitHub + Granola |
| Depth |
Quick answers, 1-3 sources |
Comprehensive briefing, all sources |
| Speed |
Fast (seconds) |
Thorough (30-60 seconds) |
| Output |
Direct answer with citations |
Structured briefing document |
| Use case |
"Who owns search?" |
"Give me the full history of our search relevancy work" |
Use /simple-search for quick factual questions. Use /deep-context for comprehensive research.
Input
Required:
- Topic: The subject to research (e.g., "ESP corridors", "MatchMaker redesign", "lead quality")
Optional:
- Time range: Defaults to "all time". User can specify "last 3 months", "Q1 2026", etc.
- Focus: "decisions", "status", "history", "people" - narrows the synthesis
- Output: "conversation" (default), "file", "confluence"
Execution
Step 0: Expand Search Terms
Use domain terminology expansion:
- Input "ESP" → also search "Explore Similar Programs", "multiplier", "loop yield"
- Input "search" → also search "Elasticsearch", "SERP", "relevancy", "RRF"
- Input "ads" → also search "Kevel", "Featured Listings", "sponsored"
For general topics, generate 2-3 synonym expansions.
Step 1: Parallel Data Gathering (Fan-Out)
Launch ALL searches in parallel using Agent tool or direct MCP calls:
| Source |
Tool |
Query Pattern |
| Obsidian vault |
Obsidian vault skill or direct file search |
Grep for topic + expansions across vault |
| Granola MCP |
query_granola_meetings |
Topic keywords in meeting transcripts |
| Jira MCP |
searchJiraIssuesUsingJql |
text ~ "{topic}" ORDER BY updated DESC (max 20) |
| Confluence MCP |
searchConfluenceUsingCql |
text ~ "{topic}" ORDER BY lastModified DESC (max 10) |
| Slack MCP |
slack_search_public_and_private |
Topic keywords, sorted by recency |
| Gmail MCP |
gmail_search_messages |
Topic keywords in email threads |
| GitHub MCP |
search_issues + search_pull_requests + search_code |
Topic in issues, PRs, and code |
| Local context |
Read domain-search reference files |
Check master and tech context docs |
Step 2: Deduplicate and Rank
- Same item across sources (e.g., Jira ticket mentioned in Slack) = merge, cite both
- Rank by: recency first, then richness of content
- Group by theme/subtopic if the topic is broad
Step 3: Synthesize Briefing
Build the structured output from merged results.
Output Format
# Deep Context: {Topic}
**Generated:** {timestamp}
**Sources searched:** {list of sources that returned results}
**Total items found:** {count across all sources}
---
## Executive Summary
{3-5 sentences: What is this topic, what's its current status, and what matters most right now}
## Timeline
| Date | Event | Source |
|:-----|:------|:-------|
| {date} | {What happened} | {Jira/Confluence/Slack/etc.} |
| {date} | {What happened} | {source} |
| {date} | {What happened} | {source} |
## Current Status
- **State:** {Active / Completed / Paused / Blocked}
- **Owner:** {Person or squad}
- **Last activity:** {date} in {source}
- {Key metrics or status indicators if available}
## Key Decisions
1. **{Decision}** ({date}): {What was decided and why}
- Source: {link or reference}
2. **{Decision}** ({date}): {What was decided and why}
- Source: {link or reference}
## Open Questions / Unresolved
- {Question or thread that hasn't been resolved}
- {Blocked item or pending decision}
## Key People
| Person | Role in This Topic | Recent Activity |
|:-------|:-------------------|:----------------|
| {name} | {their involvement} | {what they did recently} |
## All Sources
### Jira
- [{TICKET}] {title} - {status} ([link])
### Confluence
- {Page title} - last updated {date} ([link])
### Slack
- #{channel}: {thread summary} ({date})
### Obsidian
- {Note title} ({date}): {relevant excerpt}
### Gmail
- {Subject line} from {sender} ({date})
### GitHub
- {PR/Issue title} - {status} ([link])
---
*Generated by /deep-context*
Rules
- Exhaustive then concise: Search everything, but synthesize tightly. The briefing should be readable in 3-5 minutes.
- Source everything: Every claim must have a source citation.
- Conflict surfacing: If sources disagree, call it out explicitly (same pattern as domain-search).
- Recency weighting: More recent items get more prominence, but don't omit history.
- No speculation: If something is unclear, say "unclear" not "probably".
- Privacy: Don't include others' private Slack DMs. Only include threads where the user is a participant or in public channels.
Optimization
For very broad topics that return too many results:
- Cap each source at 15-20 items
- Prioritize last 90 days unless user specified otherwise
- Group by subtopic and summarize groups rather than listing every item
- Offer to "go deeper" on any subtopic
Fallback
If MCP tools are unavailable:
- Always search Obsidian vault (local, always available)
- Always check domain-search local context files
- Note which sources were unreachable
- Produce partial briefing with available data
- Suggest: "Re-run when {source} is available for a complete picture"
Examples
User: "deep context ESP corridors"
→ Searches all sources for ESP, Explore Similar Programs, multiplier, corridor, loop yield
→ Produces full briefing with Q1 OKR data, Jira tickets, meeting decisions, Slack threads
User: "tell me everything about the MatchMaker redesign"
→ Searches all sources for MatchMaker, recommendation form, wizard, lead capture
→ Produces timeline from initial design to current implementation status
User: "deep context INS-1959"
→ Searches for the specific bug across Jira, Slack, GitHub PRs, meeting notes
→ Produces lifecycle view: reported → triaged → discussed → current state
User: "brief me on lead quality, focus on decisions, last 3 months"
→ Narrows time range, emphasizes Key Decisions section
→ Produces decision-focused briefing
1---2name: deep-context-23description: Cross-channel research on any topic. Searches Obsidian, Jira, Confluence, Slack, Gmail, and GitHub in parallel, then synthesizes a comprehensive briefing with timeline, status, stakeholders, and sources. Spans ALL connected systems including personal notes and email. Triggers on: "deep context", "tell me everything about", "research X", "what do we know about", "full context on", "brief me on", "context dump", "/deep-context".4---56# Deep Context Skill78Cross-channel research agent that searches ALL connected systems for everything known about a topic, then synthesizes a comprehensive briefing. Searches beyond Atlassian to include Obsidian, Gmail, Slack, GitHub, and Granola.910## When to Activate1112- User says "deep context", "tell me everything about X", "research X"13- User says "what do we know about X?", "full context on X"14- User says "brief me on X", "context dump for X"15- Before writing a spec, RFC, or making a strategic decision16- When onboarding someone to a topic1718## How It Differs from Simple Search1920| | /simple-search | /deep-context |21|:--|:-------------|:--------------|22| **Sources** | Confluence, Jira, Slack, local context files | ALL of those + Obsidian vault + Gmail + GitHub + Granola |23| **Depth** | Quick answers, 1-3 sources | Comprehensive briefing, all sources |24| **Speed** | Fast (seconds) | Thorough (30-60 seconds) |25| **Output** | Direct answer with citations | Structured briefing document |26| **Use case** | "Who owns search?" | "Give me the full history of our search relevancy work" |2728Use `/simple-search` for quick factual questions. Use `/deep-context` for comprehensive research.2930## Input3132Required:33- **Topic**: The subject to research (e.g., "ESP corridors", "MatchMaker redesign", "lead quality")3435Optional:36- **Time range**: Defaults to "all time". User can specify "last 3 months", "Q1 2026", etc.37- **Focus**: "decisions", "status", "history", "people" - narrows the synthesis38- **Output**: "conversation" (default), "file", "confluence"3940## Execution4142### Step 0: Expand Search Terms4344Use domain terminology expansion:45- Input "ESP" → also search "Explore Similar Programs", "multiplier", "loop yield"46- Input "search" → also search "Elasticsearch", "SERP", "relevancy", "RRF"47- Input "ads" → also search "Kevel", "Featured Listings", "sponsored"4849For general topics, generate 2-3 synonym expansions.5051### Step 1: Parallel Data Gathering (Fan-Out)5253Launch ALL searches in parallel using Agent tool or direct MCP calls:5455| Source | Tool | Query Pattern |56|:-------|:-----|:-------------|57| **Obsidian vault** | Obsidian vault skill or direct file search | Grep for topic + expansions across vault |58| **Granola MCP** | `query_granola_meetings` | Topic keywords in meeting transcripts |59| **Jira MCP** | `searchJiraIssuesUsingJql` | `text ~ "{topic}" ORDER BY updated DESC` (max 20) |60| **Confluence MCP** | `searchConfluenceUsingCql` | `text ~ "{topic}" ORDER BY lastModified DESC` (max 10) |61| **Slack MCP** | `slack_search_public_and_private` | Topic keywords, sorted by recency |62| **Gmail MCP** | `gmail_search_messages` | Topic keywords in email threads |63| **GitHub MCP** | `search_issues` + `search_pull_requests` + `search_code` | Topic in issues, PRs, and code |64| **Local context** | Read domain-search reference files | Check master and tech context docs |6566### Step 2: Deduplicate and Rank6768- Same item across sources (e.g., Jira ticket mentioned in Slack) = merge, cite both69- Rank by: recency first, then richness of content70- Group by theme/subtopic if the topic is broad7172### Step 3: Synthesize Briefing7374Build the structured output from merged results.7576## Output Format7778```markdown79# Deep Context: {Topic}8081**Generated:** {timestamp}82**Sources searched:** {list of sources that returned results}83**Total items found:** {count across all sources}8485---8687## Executive Summary88{3-5 sentences: What is this topic, what's its current status, and what matters most right now}8990## Timeline91| Date | Event | Source |92|:-----|:------|:-------|93| {date} | {What happened} | {Jira/Confluence/Slack/etc.} |94| {date} | {What happened} | {source} |95| {date} | {What happened} | {source} |9697## Current Status98- **State:** {Active / Completed / Paused / Blocked}99- **Owner:** {Person or squad}100- **Last activity:** {date} in {source}101- {Key metrics or status indicators if available}102103## Key Decisions1041. **{Decision}** ({date}): {What was decided and why}105 - Source: {link or reference}1062. **{Decision}** ({date}): {What was decided and why}107 - Source: {link or reference}108109## Open Questions / Unresolved110- {Question or thread that hasn't been resolved}111- {Blocked item or pending decision}112113## Key People114| Person | Role in This Topic | Recent Activity |115|:-------|:-------------------|:----------------|116| {name} | {their involvement} | {what they did recently} |117118## All Sources119### Jira120- [{TICKET}] {title} - {status} ([link])121122### Confluence123- {Page title} - last updated {date} ([link])124125### Slack126- #{channel}: {thread summary} ({date})127128### Obsidian129- {Note title} ({date}): {relevant excerpt}130131### Gmail132- {Subject line} from {sender} ({date})133134### GitHub135- {PR/Issue title} - {status} ([link])136137---138*Generated by /deep-context*139```140141## Rules142143- **Exhaustive then concise**: Search everything, but synthesize tightly. The briefing should be readable in 3-5 minutes.144- **Source everything**: Every claim must have a source citation.145- **Conflict surfacing**: If sources disagree, call it out explicitly (same pattern as domain-search).146- **Recency weighting**: More recent items get more prominence, but don't omit history.147- **No speculation**: If something is unclear, say "unclear" not "probably".148- **Privacy**: Don't include others' private Slack DMs. Only include threads where the user is a participant or in public channels.149150## Optimization151152For very broad topics that return too many results:1531. Cap each source at 15-20 items1542. Prioritize last 90 days unless user specified otherwise1553. Group by subtopic and summarize groups rather than listing every item1564. Offer to "go deeper" on any subtopic157158## Fallback159160If MCP tools are unavailable:1611. Always search Obsidian vault (local, always available)1622. Always check domain-search local context files1633. Note which sources were unreachable1644. Produce partial briefing with available data1655. Suggest: "Re-run when {source} is available for a complete picture"166167## Examples168169```170User: "deep context ESP corridors"171→ Searches all sources for ESP, Explore Similar Programs, multiplier, corridor, loop yield172→ Produces full briefing with Q1 OKR data, Jira tickets, meeting decisions, Slack threads173174User: "tell me everything about the MatchMaker redesign"175→ Searches all sources for MatchMaker, recommendation form, wizard, lead capture176→ Produces timeline from initial design to current implementation status177178User: "deep context INS-1959"179→ Searches for the specific bug across Jira, Slack, GitHub PRs, meeting notes180→ Produces lifecycle view: reported → triaged → discussed → current state181182User: "brief me on lead quality, focus on decisions, last 3 months"183→ Narrows time range, emphasizes Key Decisions section184→ Produces decision-focused briefing185```