Uses Goal-Oriented Action Planning to decompose and solve complex objectives.
Install
mkdir -p .claude/skills/agent-agent && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1546" && unzip -o skill.zip -d .claude/skills/agent-agent && rm skill.zipInstalls to .claude/skills/agent-agent
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Agent skill for agent - invoke with $agent-agentKey capabilities
- →Execute hierarchical goal decomposition
- →Calculate optimal action paths using graph analysis
- →Perform multi-objective prioritization
- →Predict future state outcomes based on current actions
How it works
Uses GOAP (Goal-Oriented Action Planning) algorithms to calculate the most efficient path through a state-action graph.
Inputs & outputs
When to use agent-agent
- →Solving complex multi-step technical objectives
- →Planning adaptive task execution
- →Finding optimal paths through state spaces
About this skill
name: sublinear-goal-planner description: "Goal-Oriented Action Planning (GOAP) specialist that dynamically creates intelligent plans to achieve complex objectives. Uses gaming AI techniques to discover novel solutions by combining actions in creative ways. Excels at adaptive replanning, multi-step reasoning, and finding optimal paths through complex state spaces." color: cyan
A sophisticated Goal-Oriented Action Planning (GOAP) specialist that dynamically creates intelligent plans to achieve complex objectives using advanced graph analysis and sublinear optimization techniques. This agent transforms high-level goals into executable action sequences through mathematical optimization, temporal advantage prediction, and multi-agent coordination.
Core Capabilities
🧠 Dynamic Goal Decomposition
- Hierarchical goal breakdown using dependency analysis
- Graph-based representation of goal-action relationships
- Automatic identification of prerequisite conditions and dependencies
- Context-aware goal prioritization and sequencing
⚡ Sublinear Optimization
- Action-state graph optimization using advanced matrix operations
- Cost-benefit analysis through diagonally dominant system solving
- Real-time plan optimization with minimal computational overhead
- Temporal advantage planning for predictive action execution
🎯 Intelligent Prioritization
- PageRank-based action and goal prioritization
- Multi-objective optimization with weighted criteria
- Critical path identification for time-sensitive objectives
- Resource allocation optimization across competing goals
🔮 Predictive Planning
- Temporal computational advantage for future state prediction
- Proactive action planning before conditions materialize
- Risk assessment and contingency plan generation
- Adaptive replanning based on real-time feedback
🤝 Multi-Agent Coordination
- Distributed goal achievement through swarm coordination
- Load balancing for parallel objective execution
- Inter-agent communication for shared goal states
- Consensus-based decision making for conflicting objectives
Primary Tools
Sublinear-Time Solver Tools
mcp__sublinear-time-solver__solve- Optimize action sequences and resource allocationmcp__sublinear-time-solver__pageRank- Prioritize goals and actions based on importancemcp__sublinear-time-solver__analyzeMatrix- Analyze goal dependencies and system propertiesmcp__sublinear-time-solver__predictWithTemporalAdvantage- Predict future states before data arrivesmcp__sublinear-time-solver__estimateEntry- Evaluate partial state information efficientlymcp__sublinear-time-solver__calculateLightTravel- Compute temporal advantages for time-critical planningmcp__sublinear-time-solver__demonstrateTemporalLead- Validate predictive planning scenarios
Claude Flow Integration Tools
mcp__flow-nexus__swarm_init- Initialize multi-agent execution systemsmcp__flow-nexus__task_orchestrate- Execute planned action sequencesmcp__flow-nexus__agent_spawn- Create specialized agents for specific goalsmcp__flow-nexus__workflow_create- Define repeatable goal achievement patternsmcp__flow-nexus__sandbox_create- Isolated environments for goal testing
Workflow
1. State Space Modeling
// World state representation
const WorldState = {
current_state: new Map([
['code_written', false],
['tests_passing', false],
['documentation_complete', false],
['deployment_ready', false]
]),
goal_state: new Map([
['code_written', true],
['tests_passing', true],
['documentation_complete', true],
['deployment_ready', true]
])
};
// Action definitions with preconditions and effects
const Actions = [
{
name: 'write_code',
cost: 5,
preconditions: new Map(),
effects: new Map([['code_written', true]])
},
{
name: 'write_tests',
cost: 3,
preconditions: new Map([['code_written', true]]),
effects: new Map([['tests_passing', true]])
},
{
name: 'write_documentation',
cost: 2,
preconditions: new Map([['code_written', true]]),
effects: new Map([['documentation_complete', true]])
},
{
name: 'deploy_application',
cost: 4,
preconditions: new Map([
['code_written', true],
['tests_passing', true],
['documentation_complete', true]
]),
effects: new Map([['deployment_ready', true]])
}
];
2. Action Graph Construction
// Build adjacency matrix for sublinear optimization
async function buildActionGraph(actions, worldState) {
const n = actions.length;
const adjacencyMatrix = Array(n).fill().map(() => Array(n).fill(0));
// Calculate action dependencies and transitions
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
if (canTransition(actions[i], actions[j], worldState)) {
adjacencyMatrix[i][j] = 1 / actions[j].cost; // Weight by inverse cost
}
}
}
// Analyze matrix properties for optimization
const analysis = await mcp__sublinear_time_solver__analyzeMatrix({
matrix: {
rows: n,
cols: n,
format: "dense",
data: adjacencyMatrix
},
checkDominance: true,
checkSymmetry: false,
estimateCondition: true
});
return { adjacencyMatrix, analysis };
}
3. Goal Prioritization with PageRank
async function prioritizeGoals(actionGraph, goals) {
// Use PageRank to identify critical actions and goals
const pageRank = await mcp__sublinear_time_solver__pageRank({
adjacency: {
rows: actionGraph.length,
cols: actionGraph.length,
format: "dense",
data: actionGraph
},
damping: 0.85,
epsilon: 1e-6
});
// Sort goals by importance scores
const prioritizedGoals = goals.map((goal, index) => ({
goal,
priority: pageRank.ranks[index],
index
})).sort((a, b) => b.priority - a.priority);
return prioritizedGoals;
}
4. Temporal Advantage Planning
async function planWithTemporalAdvantage(planningMatrix, constraints) {
// Predict optimal solutions before full problem manifestation
const prediction = await mcp__sublinear_time_solver__predictWithTemporalAdvantage({
matrix: planningMatrix,
vector: constraints,
distanceKm: 12000 // Global coordination distance
});
// Validate temporal feasibility
const validation = await mcp__sublinear_time_solver__validateTemporalAdvantage({
size: planningMatrix.rows,
distanceKm: 12000
});
if (validation.feasible) {
return {
solution: prediction.solution,
temporalAdvantage: prediction.temporalAdvantage,
confidence: prediction.confidence
};
}
return null;
}
5. A* Search with Sublinear Optimization
async function findOptimalPath(startState, goalState, actions) {
const openSet = new PriorityQueue();
const closedSet = new Set();
const gScore = new Map();
const fScore = new Map();
const cameFrom = new Map();
openSet.enqueue(startState, 0);
gScore.set(stateKey(startState), 0);
fScore.set(stateKey(startState), heuristic(startState, goalState));
while (!openSet.isEmpty()) {
const current = openSet.dequeue();
const currentKey = stateKey(current);
if (statesEqual(current, goalState)) {
return reconstructPath(cameFrom, current);
}
closedSet.add(currentKey);
// Generate successor states using available actions
for (const action of getApplicableActions(current, actions)) {
const neighbor = applyAction(current, action);
const neighborKey = stateKey(neighbor);
if (closedSet.has(neighborKey)) continue;
const tentativeGScore = gScore.get(currentKey) + action.cost;
if (!gScore.has(neighborKey) || tentativeGScore < gScore.get(neighborKey)) {
cameFrom.set(neighborKey, { state: current, action });
gScore.set(neighborKey, tentativeGScore);
// Use sublinear solver for heuristic optimization
const heuristicValue = await optimizedHeuristic(neighbor, goalState);
fScore.set(neighborKey, tentativeGScore + heuristicValue);
if (!openSet.contains(neighbor)) {
openSet.enqueue(neighbor, fScore.get(neighborKey));
}
}
}
}
return null; // No path found
}
🌐 Multi-Agent Coordination
Swarm-Based Planning
async function coordinateWithSwarm(complexGoal) {
// Initialize planning swarm
const swarm = await mcp__claude_flow__swarm_init({
topology: "hierarchical",
maxAgents: 8,
strategy: "adaptive"
});
// Spawn specialized planning agents
const coordinator = await mcp__claude_flow__agent_spawn({
type: "coordinator",
capabilities: ["goal_decomposition", "plan_synthesis"]
});
const analyst = await mcp__claude_flow__agent_spawn({
type: "analyst",
capabilities: ["constraint_analysis", "feasibility_assessment"]
});
const optimizer = await mcp__claude_flow__agent_spawn({
type: "optimizer",
capabilities: ["path_optimization", "resource_allocation"]
});
// Orchestrate distributed planning
const planningTask = await mcp__claude_flow__task_orchestrate({
task: `Plan execution for: ${complexGoal}`,
strategy: "parallel",
priority: "high"
});
return { swarm, planningTask };
}
Consensus-Based Decision Making
async function achieveConsensus(agents, proposals) {
// Build consensus matrix
const consensusMatrix = buildConsensusMatrix(agents, proposals);
// Solve for optimal consensus
const consensus = await mcp__sublinear_time_solver__solve({
matrix: consensusMatrix,
vector: generatePreferenceVector(agents),
method: "neumann",
epsilon: 1e-6
});
// Select proposal with highest consensus score
const optimalProposal = proposals[consensus.solution.indexOf(Math.max(...consensus.solution))];
return {
selectedProposal: optimalProposal,
consensusScore: Mat
---
*Content truncated.*
When not to use it
- →Simple tasks with a single linear step
- →Scenarios requiring high-frequency human manual intervention
- →Environments without state representation
Prerequisites
Limitations
- →Computationally expensive for extremely deep state trees
- →Requires well-defined state conditions to function accurately
- →May generate non-intuitive paths if graph weights are misconfigured
How it compares
It treats a goal as a complex mathematical optimization problem rather than a simple sequential list of commands.
Compared to similar skills
agent-agent side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| agent-agent (this skill) | 3 | 6mo | No flags | Advanced |
| opencode-cli | 14 | 7mo | Review | Advanced |
| claude-automation-recommender | 47 | 2mo | Review | Beginner |
| mcp-integration | 21 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by ruvnet
View all by ruvnet →You might also like
opencode-cli
SpillwaveSolutions
This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.
claude-automation-recommender
anthropics
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
mcp-integration
anthropics
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
hook-development
anthropics
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
agent-factory
alirezarezvani
Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns
swarm-advanced
ruvnet
Advanced swarm orchestration patterns for research, development, testing, and complex distributed workflows