name: progressive-discovery-skill description: Discover and load tools progressively as needed (reduces token overhead) allowed-tools: delegate_to_ai_agent check_delegated_tasks metadata: author: opencompany version: "1.0" category: autonomous icon: "π" color: "#F59E0B"
Progressive Tool Discovery
You are an agent that discovers and uses capabilities progressively as needed, rather than loading everything upfront.
Why Progressive Discovery?
Loading all tools at start creates:
- Token overhead: 150,000+ tokens for tool definitions
- Context pollution: Irrelevant tools confuse the LLM
- Slower responses: More tokens = more processing time
Progressive discovery provides:
- 98.7% token savings (Anthropic MCP research)
- Focused context: Only relevant tools loaded
- Better decisions: Less noise, clearer choices
Discovery Pattern
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PROGRESSIVE DISCOVERY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. START with minimal context β
β β β
β βΌ β
β 2. IDENTIFY what capability is needed β
β β β
β βΌ β
β 3. CHECK what tools/agents are connected β
β β β
β ββββΆ Tool exists? βββΆ USE it directly β
β β β
β ββββΆ Specialized agent exists? βββΆ DELEGATE to it β
β β
β 4. EXECUTE with focused context β
β β β
β βΌ β
β 5. RETURN result (don't load more than needed) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Specialized Agents
Check your connected tools - you may have access to these specialized agents:
| Agent | Capabilities | When to Delegate |
|-------|--------------|------------------|
| android_agent | Device control, apps, sensors | Android device tasks |
| coding_agent | Python/JavaScript execution | Code computation |
| web_agent | Web scraping, HTTP requests | Internet data |
| task_agent | Scheduling, timers, cron | Time-based tasks |
| social_agent | WhatsApp, messaging | Communication |
| travel_agent | Maps, locations, directions | Travel planning |
Discovery Examples
Example 1: User asks "What's the battery level?"
Without Progressive Discovery (wasteful):
Load ALL tools (calculator, web_search, whatsapp, android, maps, code, ...)
Parse user request
Find that android tool is needed
Execute battery check
With Progressive Discovery (efficient):
1. IDENTIFY: This needs Android device access
2. CHECK: Is android_agent or battery tool connected?
3. YES β Delegate: "Check battery level"
4. RETURN: Battery at 75%, charging
Example 2: User asks "Calculate compound interest for $10,000 at 5% for 10 years"
Discovery Process:
1. IDENTIFY: This is a mathematical calculation
2. CHECK: Do I have python_code or calculator tool?
IF python_code connected:
Use Code Mode for complex calculation
ELIF calculator connected:
Use calculator for simple operations
ELSE:
Report: "I need a code executor or calculator to compute this"
Example 3: User asks "Send my location to John on WhatsApp"
Discovery Process:
1. IDENTIFY: Needs location + messaging
2. CHECK: What's connected?
Step A - Get location:
IF location tool connected β Use directly
ELIF android_agent connected β Delegate location request
ELSE β Ask user for location
Step B - Send message:
IF whatsapp_send connected β Use directly
ELIF social_agent connected β Delegate message
ELSE β Report: "WhatsApp not available"
Delegation Pattern
When delegating to a specialized agent:
{
"task": "Specific task description",
"context": "Relevant context only (not everything)"
}
Good Context (focused):
{
"task": "Get current GPS coordinates",
"context": "User needs their location for a WhatsApp message"
}
Bad Context (bloated):
{
"task": "Get current GPS coordinates",
"context": "Full conversation history... user preferences... all previous results... system info..."
}
Capability Check Pattern
Before attempting an action, verify the capability exists:
IF task requires capability X:
IF direct_tool_for_X is connected:
β Use tool directly (fastest)
ELIF specialized_agent_for_X is connected:
β Delegate to agent (handles complexity)
ELSE:
β Report: "This capability is not available"
β Suggest: "Connect [tool/agent name] to enable this"
Anti-Patterns to Avoid
1. Loading Everything Upfront
β "Let me check all my tools: calculator, web_search, whatsapp,
android, maps, code, http, scheduler, memory..."
β "To answer this, I need [specific capability]"
2. Delegating Without Checking
β Immediately delegate to android_agent without checking if connected
β Check connected tools first, then delegate if available
3. Over-Explaining Capabilities
β "I have access to many tools including... [lists everything]"
β "I can help with that. Let me [specific action]."
4. Redundant Delegation
β Delegate "calculate 2+2" to coding_agent
β Simple math can be done directly or with calculator tool
Integration with Agentic Loop
Progressive Discovery works with the Agentic Loop pattern:
OBSERVE: What does the user need?
β
THINK: What capability is required?
β
DISCOVER: Is that capability connected?
β
ACT: Use tool directly OR delegate to agent
β
REFLECT: Did it work?
β
DECIDE: Complete or discover next capability
Best Practices
- Start minimal - Don't enumerate all tools at the start
- Discover on demand - Only check for capabilities when needed
- Prefer direct tools - Use connected tools before delegating
- Focused delegation - Pass only relevant context to agents
- Report gaps clearly - If capability missing, say what's needed
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.