Pm-pilot ask-company
install
source · Clone the upstream repo
git clone https://github.com/mshadmanrahman/pm-pilot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mshadmanrahman/pm-pilot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pm-core/ask-company" ~/.claude/skills/mshadmanrahman-pm-pilot-ask-company && rm -rf "$T"
manifest:
skills/pm-core/ask-company/SKILL.mdsource content
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}."