Pular para conteúdo

Formato Capability Card (Spec Aberto v1) - PT-BR

Cada capability card é uma entrada em capabilities.yaml. Descreve uma ferramenta, MCP, plugin, command ou skill que o agente pode usar.

Campos obrigatórios

Campo Tipo Descrição
id string (snake_case) Slug único global. Padrão: ^[a-z][a-z0-9_]*$
name string Nome legível
category string Uma das 35 categorias canônicas (categories.md)
action_verb string Frase curta da ação: "captura imagem de página web", "manda mensagem Telegram"
triggers list[string] Palavras ou intents que devem surfa esta capability (multilíngue OK)
description string Um parágrafo conciso (formato EasyTool)
params_required list[string] Parâmetros obrigatórios
params_optional list[string] Parâmetros opcionais
example string Exemplo concreto de uso
schema_version string Versão da ferramenta/MCP descrita
source string Um de: mcp, skill, plugin, command, project, service, os, manual

Campos opcionais

Campo Default Notas
namespace "global" Escopo multi-tenant (Fase 2)
success_count / failure_count 0 Atualizado pelo hook PostToolUse (>= 0)
last_used null Timestamp ISO-8601
decay_score 1.0 Reduzido pela consolidação noturna se não usado (Fase 2; em [0.0, 1.0])

Exemplo

- id: telegram_send
  name: Telegram Send Message
  category: comms
  action_verb: "sends a message to a Telegram chat"
  triggers: [telegram, manda mensagem, notifica, alerta]
  description: MCP Telegram plugin. Sends text to a chat_id.
  params_required: [chat_id, text]
  params_optional: [parse_mode]
  example: 'Call: telegram.send(chat_id="12345678", text="deploy ok")'
  schema_version: "1"
  source: mcp

Validação

O schema é validado no load por mneme.schema.CapabilityCard. As restrições aparecem no JSON Schema (CapabilityCard.model_json_schema()), então editores YAML e IDE plugins conseguem validar cards inline.