Agent skill
source-management
Manages connected MCP sources for enterprise search. Detects available sources, guides users to connect new ones, handles source priority ordering, and manages rate limiting awareness.
Install this agent skill to your Project
npx add-skill https://github.com/anthropics/knowledge-work-plugins/tree/main/enterprise-search/skills/source-management
SKILL.md
Source Management
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Knows what sources are available, helps connect new ones, and manages how sources are queried.
Checking Available Sources
Determine which MCP sources are connected by checking available tools. Each source corresponds to a set of MCP tools:
| Source | Key capabilities |
|---|---|
| ~~chat | Search messages, read channels and threads |
| Search messages, read individual emails | |
| ~~cloud storage | Search files, fetch document contents |
| ~~project tracker | Search tasks, typeahead search |
| ~~CRM | Query records (accounts, contacts, opportunities) |
| ~~knowledge base | Semantic search, keyword search |
If a tool prefix is available, the source is connected and searchable.
Guiding Users to Connect Sources
When a user searches but has few or no sources connected:
You currently have [N] source(s) connected: [list].
To expand your search, you can connect additional sources in your MCP settings:
- ~~chat — messages, threads, channels
- ~~email — emails, conversations, attachments
- ~~cloud storage — docs, sheets, slides
- ~~project tracker — tasks, projects, milestones
- ~~CRM — accounts, contacts, opportunities
- ~~knowledge base — wiki pages, knowledge base articles
The more sources you connect, the more complete your search results.
When a user asks about a specific tool that is not connected:
[Tool name] isn't currently connected. To add it:
1. Open your MCP settings
2. Add the [tool] MCP server configuration
3. Authenticate when prompted
Once connected, it will be automatically included in future searches.
Source Priority Ordering
Different query types benefit from searching certain sources first. Use these priorities to weight results, not to skip sources:
By Query Type
Decision queries ("What did we decide..."):
1. ~~chat (conversations where decisions happen)
2. ~~email (decision confirmations, announcements)
3. ~~cloud storage (meeting notes, decision logs)
4. Wiki (if decisions are documented)
5. Task tracker (if decisions are captured in tasks)
Status queries ("What's the status of..."):
1. Task tracker (~~project tracker — authoritative status)
2. ~~chat (real-time discussion)
3. ~~cloud storage (status docs, reports)
4. ~~email (status update emails)
5. Wiki (project pages)
Document queries ("Where's the doc for..."):
1. ~~cloud storage (primary doc storage)
2. Wiki / ~~knowledge base (knowledge base)
3. ~~email (docs shared via email)
4. ~~chat (docs shared in channels)
5. Task tracker (docs linked to tasks)
People queries ("Who works on..." / "Who knows about..."):
1. ~~chat (message authors, channel members)
2. Task tracker (task assignees)
3. ~~cloud storage (doc authors, collaborators)
4. ~~CRM (account owners, contacts)
5. ~~email (email participants)
Factual/Policy queries ("What's our policy on..."):
1. Wiki / ~~knowledge base (official documentation)
2. ~~cloud storage (policy docs, handbooks)
3. ~~email (policy announcements)
4. ~~chat (policy discussions)
Default Priority (General Queries)
When query type is unclear:
1. ~~chat (highest volume, most real-time)
2. ~~email (formal communications)
3. ~~cloud storage (documents and files)
4. Wiki / ~~knowledge base (structured knowledge)
5. Task tracker (work items)
6. CRM (customer data)
Rate Limiting Awareness
MCP sources may have rate limits. Handle them gracefully:
Detection
Rate limit responses typically appear as:
- HTTP 429 responses
- Error messages mentioning "rate limit", "too many requests", or "quota exceeded"
- Throttled or delayed responses
Handling
When a source is rate limited:
- Do not retry immediately — respect the limit
- Continue with other sources — do not block the entire search
- Inform the user:
Note: [Source] is temporarily rate limited. Results below are from
[other sources]. You can retry in a few minutes to include [source].
- For digests — if rate limited mid-scan, note which time range was covered before the limit hit
Prevention
- Avoid unnecessary API calls — check if the source is likely to have relevant results before querying
- Use targeted queries over broad scans when possible
- For digests, batch requests where the API supports it
- Cache awareness: if a search was just run, avoid re-running the same query immediately
Source Health
Track source availability during a session:
Source Status:
~~chat: ✓ Available
~~email: ✓ Available
~~cloud storage: ✓ Available
~~project tracker: ✗ Not connected
~~CRM: ✗ Not connected
~~knowledge base: ⚠ Rate limited (retry in 2 min)
When reporting search results, include which sources were searched so the user knows the scope of the answer.
Adding Custom Sources
The enterprise search plugin works with any MCP-connected source. As new MCP servers become available, they can be added to the .mcp.json configuration. The search and digest commands will automatically detect and include new sources based on available tools.
To add a new source:
- Add the MCP server configuration to
.mcp.json - Authenticate if required
- The source will be included in subsequent searches automatically
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
view-pdf
Interactive PDF viewer. Use when the user wants to open, show, or view a PDF and collaborate on it visually — annotate, highlight, stamp, fill form fields, place signature/initials, or review markup together. Not for summarization or text extraction (use native Read instead).
signature-request
Prepare and route a document for e-signature — run a pre-signature checklist, configure signing order, and send for execution. Use when a contract is finalized and ready to sign, when verifying entity names, exhibits, and signature blocks before sending, or when setting up an envelope with sequential or parallel signers.
brief
Generate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.
legal-risk-assessment
Assess and classify legal risks using a severity-by-likelihood framework with escalation criteria. Use when evaluating contract risk, assessing deal exposure, classifying issues by severity, or determining whether a matter needs senior counsel or outside legal review.
triage-nda
Rapidly triage an incoming NDA and classify it as GREEN (standard approval), YELLOW (counsel review), or RED (full legal review). Use when a new NDA arrives from sales or business development, when screening for embedded non-solicits, non-competes, or missing carveouts, or when deciding whether an NDA can be signed under standard delegation.
compliance-check
Run a compliance check on a proposed action, product feature, or business initiative, surfacing applicable regulations, required approvals, and risk areas. Use when launching a feature that touches personal data, when marketing or product proposes something with regulatory implications, or when you need to know which approvals and jurisdictional requirements apply before proceeding.
Didn't find tool you were looking for?