Magic Need
by @guim4dev
Capture tool and data needs from AI agents during task execution. When an agent identifies it needs a tool, API, or data source that doesn't exist, this skil...
clawhub install magic-needπ About This Skill
name: magic-need description: Capture tool and data needs from AI agents during task execution. When an agent identifies it needs a tool, API, or data source that doesn't exist, this skill provides a CLI to register that need. Needs are categorized automatically and can be reviewed periodically to build an integration roadmap. Use when the agent realizes it needs something that isn't available β e.g., "I would need X API to do this properly", "If I had access to Y logs I could investigate", "A tool that does Z would be useful here".
magic-need
Capture what your AI agent wishes it had. Let your agent spec your product for you.
Overview
When an AI agent is executing a task and hits a wall because it lacks data or tools, instead of just failing or working around it, this skill lets the agent register exactly what it's missing. Over time, this builds a prioritized roadmap of integrations and features.
Inspired by Sonarly's magic_fetch concept β give the agent a "tool that does nothing" and let it tell you what it actually needs.
Usage
As an Agent (During Task Execution)
When you realize you need something you don't have:
# Option 1: Use the CLI directly
node ~/.openclaw/skills/magic-need/scripts/cli.js "API for recent deploys of service X"Option 2: Use via shell exec
exec({
command: 'node ~/.openclaw/skills/magic-need/scripts/cli.js "CPU metrics for upstream service"'
})
The CLI will:
1. Save the need to ~/.magic-need/needs.json
2. Auto-categorize it (integration, observability, devops, auth, database, storage)
3. Return a confirmation with the need ID
As a Human (Reviewing Needs)
# List all needs
node scripts/cli.js listGenerate a report (grouped by category)
node scripts/cli.js reportArchive resolved needs
node scripts/cli.js clear
Auto-Categorization
Needs are automatically categorized based on description keywords:
| Category | Keywords | Example Need |
|----------|----------|--------------|
| integration | api, endpoint | "API for fetching user data" |
| observability | metric, log, monitor | "Error logs from last hour" |
| devops | deploy, pipeline, ci | "Recent deployments of service X" |
| auth | user, auth, login, permission | "Auth tokens for service Y" |
| database | database, db, query, schema | "Query to get active users" |
| storage | file, storage, upload, s3 | "Upload files to cloud storage" |
| general | (default) | Other needs |
Data Format
Needs are stored as JSON in ~/.magic-need/needs.json:
[
{
"id": "j8ldlr",
"description": "API for recent deploys",
"createdAt": "2026-03-07T18:09:18.123Z",
"status": "pending",
"category": "integration"
}
]
Report Format
The report command outputs a formatted summary:
πͺ Magic Need Report β 4 pendingπ INTEGRATION (2)
β’ API for recent deploys of auth-service
β’ Feature flags toggled recently
π OBSERVABILITY (1)
β’ CPU metrics for upstream database
π GENERAL (1)
β’ Tool to visualize data flow
Best Practices
Good Need Descriptions
Be specific about what you need:
Bad Need Descriptions
Avoid vague descriptions:
Integration Roadmap
Periodically review the generated reports to: 1. Identify patterns (which categories have the most needs?) 2. Prioritize integrations (which needs block the most tasks?) 3. Build the most impactful tools first
CLI Reference
See scripts/cli.js for the full implementation.
Commands
| Command | Description |
|---------|-------------|
| cli.js "description" | Register a new need |
| cli.js list | List all needs |
| cli.js report | Generate formatted report |
| cli.js clear | Archive pending needs |
Cron Integration
To receive daily reports, set up a cronjob:
# Daily at 10 PM
0 22 * * * node ~/.openclaw/skills/magic-need/scripts/cli.js report | your-notification-script
Or use OpenClaw's cron system to send reports to a Discord channel.
π‘ Examples
As an Agent (During Task Execution)
When you realize you need something you don't have:
# Option 1: Use the CLI directly
node ~/.openclaw/skills/magic-need/scripts/cli.js "API for recent deploys of service X"Option 2: Use via shell exec
exec({
command: 'node ~/.openclaw/skills/magic-need/scripts/cli.js "CPU metrics for upstream service"'
})
The CLI will:
1. Save the need to ~/.magic-need/needs.json
2. Auto-categorize it (integration, observability, devops, auth, database, storage)
3. Return a confirmation with the need ID
As a Human (Reviewing Needs)
# List all needs
node scripts/cli.js listGenerate a report (grouped by category)
node scripts/cli.js reportArchive resolved needs
node scripts/cli.js clear
π Tips & Best Practices
Good Need Descriptions
Be specific about what you need:
Bad Need Descriptions
Avoid vague descriptions:
Integration Roadmap
Periodically review the generated reports to: 1. Identify patterns (which categories have the most needs?) 2. Prioritize integrations (which needs block the most tasks?) 3. Build the most impactful tools first