Ask [Company]
Template for a company-specific knowledge assistant. Searches internal tools to answer questions about people, processes, ownership, architecture, and history.
Configuration
Customize these values for your organization before use:
company_name: "YourCompany" # Replace with your company name
trigger_phrase: "ask yourcompany" # Replace with your trigger
# MCP tools available (uncomment what you have connected)
sources:
- confluence # Wiki, specs, runbooks
- jira # Issues, epics, project tracking
- slack # Channel history, decisions
# - github # Repos, PRs, code search
# - gmail # Email threads
# - notion # Pages and databases
# - linear # Issues and projects
# Team structure (optional, improves routing)
teams:
# - name: "Platform"
# keywords: ["infra", "deployment", "CI/CD", "kubernetes"]
# - name: "Product"
# keywords: ["PRD", "roadmap", "feature", "user research"]
# - name: "Data"
# keywords: ["analytics", "pipeline", "BigQuery", "metrics"]
When to Activate
- User says "ask {company_name}", "who owns X", "which team handles X"
- User asks "how does X work here?", "what's our policy on X"
- User needs to find the right person, team, or document for something
Input
A natural language question about the company. Examples:
- "Who owns the billing system?"
- "How does our deploy process work?"
- "What's the policy on on-call rotations?"
- "Which team should I talk to about search ranking?"
Execution
Step 1: Classify the Question
Determine the question type to optimize search strategy:
| Type |
Examples |
Primary Sources |
| Ownership |
"Who owns X?", "Which team?" |
Confluence, Jira (component owners) |
| Process |
"How does X work?" |
Confluence (runbooks, docs), Slack (recent discussions) |
| History |
"Why did we decide X?" |
Slack (threads), Confluence (RFCs, ADRs) |
| Status |
"Where is X at?" |
Jira (epics, issues), GitHub (PRs) |
| People |
"Who knows about X?" |
Jira (assignees), Confluence (authors), Slack (active in topic) |
Step 2: Expand Search Terms
Generate 3-5 search variations. Internal tools often use different terminology:
- Abbreviations and acronyms
- Project codenames vs official names
- Technical terms vs business terms
Step 3: Parallel Search (Fan-Out)
Search all configured sources in parallel using expanded terms.
| Source |
Method |
What to Extract |
| Confluence |
CQL search |
Relevant pages, runbooks, architecture docs |
| Jira |
JQL search |
Related epics, issues, component ownership |
| Slack |
Message search |
Recent discussions, decisions, announcements |
| GitHub |
Code/issue search |
Implementation details, READMEs |
Step 4: Synthesize Answer
Combine findings into a direct answer. Prioritize:
- Official documentation (Confluence) over informal (Slack)
- Recent information over old
- Authoritative sources (owners, leads) over general mentions
Output Format
## {Restated question as heading}
{Direct answer in 2-4 sentences}
### Key People
- **{Name}**: {Role in this context} ({source})
### Relevant Documents
- [{Document title}]({link}): {1-line description}
### Recent Activity
- {Date}: {What happened} ({source})
### Sources Searched
{List sources checked, including those that returned no results}
Rules
- Answer first: Lead with the direct answer, then supporting evidence.
- Cite sources: Every fact links back to where it was found.
- Admit gaps: If the answer is incomplete, say what's missing and suggest who to ask.
- Stay current: Prefer recent sources. Flag if the best source is older than 6 months.
- No guessing: If you cannot find the answer, say so and suggest next steps (who to Slack, which channel to check).
- Respect access: Only surface information from tools the user has access to.
Fallback
If the answer cannot be found:
- State clearly: "I could not find a definitive answer."
- List what was searched and what was found (even partial matches).
- Suggest: "Try asking in #{relevant-channel}" or "Check with {likely owner}."
1---2name: ask-company3description: Enterprise knowledge assistant template. Searches Confluence, Jira, Slack, and internal docs to answer questions about your company. Users customize the company name, MCP sources, and team structure. Triggers on: "ask [company]", "who owns", "which team", "how does [thing] work".4---56# Ask [Company]78Template for a company-specific knowledge assistant. Searches internal tools to answer questions about people, processes, ownership, architecture, and history.910## Configuration1112Customize these values for your organization before use:1314```yaml15company_name: "YourCompany" # Replace with your company name16trigger_phrase: "ask yourcompany" # Replace with your trigger1718# MCP tools available (uncomment what you have connected)19sources:20 - confluence # Wiki, specs, runbooks21 - jira # Issues, epics, project tracking22 - slack # Channel history, decisions23 # - github # Repos, PRs, code search24 # - gmail # Email threads25 # - notion # Pages and databases26 # - linear # Issues and projects2728# Team structure (optional, improves routing)29teams:30 # - name: "Platform"31 # keywords: ["infra", "deployment", "CI/CD", "kubernetes"]32 # - name: "Product"33 # keywords: ["PRD", "roadmap", "feature", "user research"]34 # - name: "Data"35 # keywords: ["analytics", "pipeline", "BigQuery", "metrics"]36```3738## When to Activate3940- User says "ask {company_name}", "who owns X", "which team handles X"41- User asks "how does X work here?", "what's our policy on X"42- User needs to find the right person, team, or document for something4344## Input4546A natural language question about the company. Examples:47- "Who owns the billing system?"48- "How does our deploy process work?"49- "What's the policy on on-call rotations?"50- "Which team should I talk to about search ranking?"5152## Execution5354### Step 1: Classify the Question5556Determine the question type to optimize search strategy:5758| Type | Examples | Primary Sources |59|:-----|:---------|:---------------|60| **Ownership** | "Who owns X?", "Which team?" | Confluence, Jira (component owners) |61| **Process** | "How does X work?" | Confluence (runbooks, docs), Slack (recent discussions) |62| **History** | "Why did we decide X?" | Slack (threads), Confluence (RFCs, ADRs) |63| **Status** | "Where is X at?" | Jira (epics, issues), GitHub (PRs) |64| **People** | "Who knows about X?" | Jira (assignees), Confluence (authors), Slack (active in topic) |6566### Step 2: Expand Search Terms6768Generate 3-5 search variations. Internal tools often use different terminology:69- Abbreviations and acronyms70- Project codenames vs official names71- Technical terms vs business terms7273### Step 3: Parallel Search (Fan-Out)7475Search all configured sources in parallel using expanded terms.7677| Source | Method | What to Extract |78|:-------|:-------|:----------------|79| Confluence | CQL search | Relevant pages, runbooks, architecture docs |80| Jira | JQL search | Related epics, issues, component ownership |81| Slack | Message search | Recent discussions, decisions, announcements |82| GitHub | Code/issue search | Implementation details, READMEs |8384### Step 4: Synthesize Answer8586Combine findings into a direct answer. Prioritize:871. Official documentation (Confluence) over informal (Slack)882. Recent information over old893. Authoritative sources (owners, leads) over general mentions9091## Output Format9293```markdown94## {Restated question as heading}9596{Direct answer in 2-4 sentences}9798### Key People99- **{Name}**: {Role in this context} ({source})100101### Relevant Documents102- [{Document title}]({link}): {1-line description}103104### Recent Activity105- {Date}: {What happened} ({source})106107### Sources Searched108{List sources checked, including those that returned no results}109```110111## Rules112113- **Answer first**: Lead with the direct answer, then supporting evidence.114- **Cite sources**: Every fact links back to where it was found.115- **Admit gaps**: If the answer is incomplete, say what's missing and suggest who to ask.116- **Stay current**: Prefer recent sources. Flag if the best source is older than 6 months.117- **No guessing**: If you cannot find the answer, say so and suggest next steps (who to Slack, which channel to check).118- **Respect access**: Only surface information from tools the user has access to.119120## Fallback121122If the answer cannot be found:1231. State clearly: "I could not find a definitive answer."1242. List what was searched and what was found (even partial matches).1253. Suggest: "Try asking in #{relevant-channel}" or "Check with {likely owner}."