Skip to content

Proposal: Capability Manifest for 600+ tools — declare what agents CAN do before invocation #642

Description

@vystartasv

Problem

ACI hooks up 600+ tools to AI agents — impressive surface area. But there's no standard way to declare what an agent CAN do before you give it a task. Every tool call is a discovery-at-runtime process: trial, error, guess.

For production deployments, this is backwards. You need to know an agent's capabilities BEFORE you hand it work.

Proposed Solution

Capability Manifest (L3) from Works With Agents (CC BY 4.0): a signed, discoverable declaration of agent capabilities.

from aci import ACIAgent
from works_with_agents import CapabilityManifest

agent = ACIAgent(tools=["browser", "search_engine", "code_interpreter"])

manifest = CapabilityManifest.create(
    agent_id=agent.id,
    tools=[
        {"name": "browser", "version": "1.0", "requires_network": True},
        {"name": "search_engine", "version": "2.1", "rate_limit": "100/hr"},
        {"name": "code_interpreter", "version": "3.0", "sandboxed": True},
    ],
    sign_with=agent.identity_key  # Ed25519
)

# Other agents can now discover capabilities:
discovery = CapabilityManifest.discover("agent-123")
# → Returns signed manifest of exactly what this agent can do

Why ACI:

  • 600+ tools = the most extreme version of the capability discovery problem
  • A manifest makes tool discovery declarative, not trial-and-error
  • Signed manifests enable trust: "this agent claims to have these tools, and I can verify"

Resources:

Would a PR adding Capability Manifest support to ACI be welcome?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions