Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Fipa 00023 Agent Management

ASecurity

FIPA standard for agent platform management including lifecycle, directory, and communication services

2 stars
0 votes
0 copies
0 views
Added 9/24/2026
businessgo

Works with

cli

Security Analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned 9/24/2026

$npx -y skills add curiositech/port-daddy --skill fipa-00023-agent-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fipa 00023 Agent Management?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Fipa 00023 Agent Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/curiositech-fipa-00023-agent-management-port-daddy/badge)](https://www.skillsdirectory.com/skills/curiositech-fipa-00023-agent-management-port-daddy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
license: Apache-2.0
name: fipa-00023-agent-management
description: FIPA standard for agent platform management including lifecycle, directory, and communication services
category: Research & Academic
tags:
  - fipa
  - agents
  - standards
  - agent-management
  - interoperability
---

# SKILL.md — FIPA Agent Management: Multi-Agent Infrastructure Patterns

```yaml
metadata:
  name: fipa-agent-management
  version: XC00023H
  description: >
    Canonical patterns for naming, registering, lifecycling, and managing
    autonomous agents in multi-agent systems. Derived from the FIPA Agent
    Management Specification — the normative standard for interoperable
    agent infrastructure.
  activation_triggers:
    - designing multi-agent orchestration systems
    - implementing agent discovery or capability routing
    - building skill registries or service directories
    - handling agent failures or retry logic in distributed systems
    - designing agent identity, addressing, or transport layers
    - modeling agent state or lifecycle transitions
    - building federated or hierarchical agent platforms
```

## Decision Points

### Core Architecture Choice
```
IF building single-organization agent platform (< 50 agents):
  ├─ Use single AMS + single DF
  ├─ Direct resolution of AIDs to transport addresses
  └─ Flat capability search across all agents

ELSE IF building multi-organization/federated system:
  ├─ Use federated DF architecture
  ├─ Each organization runs own AMS/DF pair
  ├─ DFs register with parent/peer DFs
  └─ Search propagates with max-depth bounds
```

### Agent Discovery Strategy
```
IF agent needs specific capability:
  ├─ Query local DF first with service description
  ├─ IF no results AND federated topology exists:
  │   └─ Propagate search to federated DFs (depth ≤ 3)
  └─ ELSE IF no results in flat topology:
      └─ Return "capability not available" (don't retry)

IF agent joins platform:
  ├─ Register with AMS first (establish identity + lifecycle state)
  ├─ THEN register capabilities with DF
  └─ Registration order matters: existence before capabilities
```

See `references/agent-discovery-without-omniscience.md` for why a single central registry eventually fails under real-world dynamic conditions.

### Failure Recovery Logic
```
IF receive typed FIPA exception:
  ├─ unsupported/unrecognised → route to different agent type
  ├─ missing/malformed → fix request parameters, retry once
  ├─ unauthorised → escalate to platform admin
  ├─ not-registered → agent reference stale, re-discover via DF
  ├─ already-registered → idempotent operation, continue
  └─ internal-error → exponential backoff retry (max 3 attempts)

ELSE IF receive non-FIPA error or timeout:
  ├─ Mark agent as Unknown in AMS
  ├─ Trigger platform-level health check
  └─ Do not retry until health restored
```

### Lifecycle State Transitions
```
IF need to send request to agent:
  ├─ Query AMS for current lifecycle state
  ├─ IF state = Active: send immediately
  ├─ IF state = Waiting: send with acknowledgment protocol
  ├─ IF state = Suspended: queue or route to alternative
  └─ IF state = Unknown/Transit: wait for state resolution

IF agent reports failure/becomes unresponsive:
  ├─ AMS transitions agent to Unknown state
  ├─ DF keeps capability registrations (for recovery)
  ├─ Platform stops routing new requests to agent
  └─ Initiate recovery protocol (restart/reregister)
```

See `references/lifecycle-states-as-coordination-contracts.md` for when each unavailability state demands a different orchestrator response.

## Failure Modes

### 🚫 **Endpoint Conflation** 
**Symptoms**: Direct calls to `http://agent.host:8080`, hard-coded URLs in routing logic, broken references when agents move  
**Detection Rule**: If you store transport addresses as permanent identifiers, you have this anti-pattern  
**Fix**: Store AIDs only; resolve transport addresses via AMS at invocation time — see `references/fipa-identity-vs-location-separation.md` for the formal AID model

### 🚫 **Registry Collapse**
**Symptoms**: Single table/store tracking both agent existence and capabilities, lifecycle changes break service discovery  
**Detection Rule**: If updating agent state requires touching capability records, you've collapsed the registries  
**Fix**: Separate AMS (white pages) from DF (yellow pages); independent update operations — see `references/fipa-two-registry-architecture.md` for the canonical separation argument

### 🚫 **Blind Retry Loops**
**Symptoms**: Generic error handling that retries all failures identically, no differentiation between temporary vs permanent failures  
**Detection Rule**: If your retry logic doesn't branch on failure type, you're in blind retry  
**Fix**: Parse FIPA exception types; different recovery strategies per exception class — see `references/fipa-exception-taxonomy-as-reasoning-tool.md` for the complete taxonomy

### 🚫 **State-Blind Invocation**
**Symptoms**: Sending requests without checking agent lifecycle state, timeouts on suspended agents  
**Detection Rule**: If you invoke agents without AMS state check, you're state-blind  
**Fix**: Query lifecycle state before invocation; handle each state appropriately

### 🚫 **Discovery Bottleneck**
**Symptoms**: Single central DF handling all capability queries, search latency increases with agent count  
**Detection Rule**: If all capability searches hit the same registry, you have a bottleneck  
**Fix**: Implement federated DF architecture with bounded search propagation

## Worked Examples

### Example 1: Federated Discovery Across Organizations

**Scenario**: Agent in Organization A needs text-translation capability, which exists in Organization B's platform.

**Step-by-step execution**:
1. Agent queries local DF: `QUERY-REF(service-type=translation, input-lang=en, output-lang=es)`
2. Local DF returns empty result set
3. Local DF has federated peer registered → propagate search with max-depth=2
4. Organization B's DF receives federated query, matches against registered translator agent
5. Result propagates back: `AID=translator@orgb.com, service-description=...`
6. Agent A resolves AID via Organization B's AMS → gets transport address
7. Agent A sends translation request with REQUEST performative

**Novice mistakes**: Querying Organization B directly, storing B's transport address permanently, not using AID resolution  
**Expert insights**: Federated search is bounded (prevents query storms), AID resolution happens at invocation time (handles agent migration), performative choice signals intent clearly

### Example 2: Agent Failure and Re-registration

**Scenario**: Active translation agent crashes mid-task, client needs to detect failure and recover.

**Step-by-step execution**:
1. Client sends REQUEST to translator agent → receives timeout (no response)
2. Client queries AMS for agent lifecycle state → returns "Active" (stale)
3. Platform health monitor detects agent unresponsive → AMS transitions to "Unknown"
4. Client retries request → receives `not-registered` exception from message transport
5. Client re-queries DF for translation capability → finds replacement agent
6. Original agent restarts, re-registers with AMS (Initiated → Active transition)
7. Original agent re-registers capabilities with DF
8. Subsequent capability queries return both translator agents

**Novice mistakes**: Infinite retry without state checking, assuming agent death means capability unavailable  
**Expert insights**: AMS state change is separate from DF re-registration, multiple agents can offer same capability, exception type determines recovery strategy

### Example 3: Multi-Protocol AID Update

**Scenario**: Agent platform adds MQTT transport alongside existing HTTP, agent needs to be reachable via both protocols.

**Step-by-step execution**:
1. Agent updates AMS registration: `AID=agent@platform.com, addresses=[http://host:8080/agent, mqtt://broker:1883/agent]`
2. AMS validates both transport addresses are reachable
3. Clients continue using same AID for agent reference
4. When client resolves AID → AMS returns both addresses, client chooses transport based on capability
5. HTTP clients continue working unchanged
6. New MQTT clients can connect using same agent identity

**Novice mistakes**: Creating separate agent identities per protocol, forcing all clients to update references  
**Expert insights**: Identity stability across transport changes, AID supports multiple addresses natively, transport choice happens at resolution time

## Quality Gates

- [ ] Agent identities are symbolic AIDs, not transport addresses
- [ ] AMS (white pages) and DF (yellow pages) are separate registration systems
- [ ] All agent-to-agent communication checks lifecycle state before invocation
- [ ] Error responses use FIPA exception taxonomy, not generic success/failure flags
- [ ] Capability searches support both local and federated discovery modes
- [ ] Agent registration follows correct sequence: AMS first, then DF
- [ ] Federation topology has explicit max-depth bounds on search propagation
- [ ] Lifecycle state transitions respect authority rules (AMS vs agent-initiated)
- [ ] Message performatives match communication intent (REQUEST vs INFORM vs QUERY)
- [ ] Recovery protocols distinguish between agent failure and capability unavailability

## Bundled Assets

- **Diagrams** — [`diagrams/INDEX.md`](diagrams/INDEX.md): lifecycle state machine, discovery/registration sequence, and agent addressing decision tree
- **References** — [`references/INDEX.md`](references/INDEX.md): deep-dives on AMS/DF separation, AID identity model, exception taxonomy, federated discovery, capability search, lifecycle contracts, registry authorization, message performatives, and platform interoperability

## Not-For Boundaries

**Do NOT use this skill for:**
- Individual agent reasoning or decision-making → Use [agent-cognition-patterns] instead
- Task decomposition within single agent → Use [task-planning-protocols] instead  
- Agent learning or adaptation strategies → Use [agent-learning-frameworks] instead
- User interface design for agent interactions → Use [human-agent-interaction] instead
- Business logic or domain-specific agent behaviors → Use domain-specific skills instead

**This skill covers infrastructure-level coordination only**: how agents find each other, communicate, and manage shared platform resources. For everything that happens *inside* an individual agent, delegate to other skills.

Attribution

curiositechcuriositech
View sourceSee grades on GitHubMore from curiositech →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Email Composer

Draft professional emails for various contexts including business, technical, and customer communication. Use when the user needs help writing emails or composing professional messages.

304952 votes

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes
View all in business →