# swarm_pheromone_update

Record a normalized per-agent task outcome for a running pheromone-adaptive swarm. Use when a static agent pool is wrong because repeated task evidence should update role-aware EMA fitness and produce a bounded keep/suspend/reactivate decision; native Task has no persistent swarm eligibility gate.

Agent View of the PolicyLayer registry record for `swarm_pheromone_update`. HTML page: https://policylayer.com/tools/io-github-ruvnet-claude-flow/swarm-pheromone-update

## Facts

- Tool: `swarm_pheromone_update`
- Server: Claude Flow (`claude-flow`) — https://policylayer.com/tools/io-github-ruvnet-claude-flow.md
- Install: `npx -y claude-flow`
- Homepage: https://github.com/ruvnet/claude-flow
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "swarm_pheromone_update",
    "arguments": {}
  }
}
```

## Why swarm_pheromone_update is rated Medium

This tool writes to swarm agent state and fitness metrics, causing state mutations that affect which agents are active. It updates EMA (exponential moving average) fitness scores and produces membership decisions (keep/suspend/reactivate), making it a Write operation. It is not Destructive because fitness updates and role suspensions are conceptually reversible or can be overridden by subsequent updates.

From the tool's own definition: "Tool description: 'Record a normalized per-agent task outcome... should update role-aware EMA fitness and produce a bounded keep/suspend/reactivate decision.' The verb 'update' and 'record' indicate modification of persistent state (agent fitness metrics,…"

## Use case

AI agents use swarm_pheromone_update to create or update resources in Claude Flow, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Claude Flow environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Claude Flow:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "swarm_pheromone_update": {
      "limits": [
        {
          "counter": "swarm_pheromone_update_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Claude Flow (495)

- `agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-terminate.md
- `agentdb_batch` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-batch.md
- `agentdb_causal-edge-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-edge-delete.md
- `agentdb_causal-node-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-node-delete.md
- `agentdb_hierarchical-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-hierarchical-delete.md
- `agenticow_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agenticow-rollback.md
- `autopilot_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/autopilot-reset.md
- `config_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/config-reset.md
- `federation_wg_keyrotate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/federation-wg-keyrotate.md
- `hooks_codemod` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-codemod.md
- `hooks_intelligence-reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-intelligence-reset.md
- `hooks_worker-cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-worker-cancel.md
- `iot_device_remove` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-device-remove.md
- `iot_firmware_rollout_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-firmware-rollout-rollback.md
- `iot_fleet_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-delete.md
- `iot_fleet_remove_device` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-remove-device.md
- `managed_agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/managed-agent-terminate.md
- `memory_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/memory-delete.md
- `policy_revoke` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/policy-revoke.md
- `ruvector_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/ruvector-delete.md
- `session_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/session-delete.md
- `system_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/system-reset.md
- `task_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/task-cancel.md
- `teammate_cleanup` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/teammate-cleanup.md
- `wasm_agent_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-agent-reset.md
- `wasm_gallery_remove_custom` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-gallery-remove-custom.md
- `workflow_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-cancel.md
- `workflow_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-delete.md
- `agent_pool` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-pool.md
- `agent_spawn` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-spawn.md
- …and 465 more: https://policylayer.com/tools/io-github-ruvnet-claude-flow.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-ruvnet-claude-flow · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-ruvnet-claude-flow
