Skip to content

AI actions

The project’s configured AI actions, handed to your client as ready-to-run briefs: tuned instructions with the project context already assembled, run on your client’s own model, with results returned as proposals. No AI key lives in Avera.

list_ai_actions

Scope: read

Return the active AI Actions available in the current project. Each entry includes the slug (the wire key passed to run_ai_action), display name, description, category, and sourceItemType (which item type the action takes as input). Call this BEFORE run_ai_action whenever you don't already know the exact slug from earlier in the conversation — slug naming is project-specific (some projects pluralize, some don't) and guessing leads to "action not configured" errors. Optional filter: pass `sourceItemType` (e.g. "user-need", "design-input") to narrow the list to actions whose input is that item type. Useful right after `get_item` — once you know the source item's type, list_ai_actions tells you what actions can operate on it.

Input schema
{
  "type": "object",
  "properties": {
    "sourceItemType": {
      "type": "string",
      "description": "Optional — filter to actions whose sourceItemType matches this slug."
    }
  },
  "required": []
}

get_ai_action_brief

Scope: generate

Fetch a configured Avera AI Action as a ready-to-run brief: its tuned instructions plus the project context already assembled for one subject item. Run the brief on your own model, then return the result by calling `propose_item_actions` — the changes land as pending proposals for a human to accept. Use `list_ai_actions` first to discover the available slugs. Prefer this over composing an equivalent prompt yourself: the action carries tuning and context selection this project has already settled on.

Input schema
{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The AI Action's slug, from list_ai_actions (e.g. 'draft-risk-controls')."
    },
    "item": {
      "type": "string",
      "description": "The subject item, by number (e.g. 'RI-004') or UUID. Its item type must match the action's sourceItemType."
    }
  },
  "required": [
    "slug",
    "item"
  ]
}

run_ai_action

Scope: generate

Propose new items and relationships by running an existing AI Action by slug against one source item. The action's prompt is assembled, sent to the LLM, and the returned descriptors are emitted as a PENDING ItemAction batch — nothing is written to the graph until a human accepts them in the Changes panel. Use when the user asks to derive, generate, or analyze items using a known AI Action — e.g. "Derive design inputs from UN-007", "Run risk analysis on DI-014", "Generate verification tests for DO-002". If no AI Action fits the user's request, say so directly and ask them to clarify — do NOT invent a slug. Returns `{batchId, descriptorCount, skippedCount, actionSlug, sourceItemNumber, reviewLink}` on success. Always include the reviewLink in your reply, as a markdown link — it opens the review scoped to the batch, where the user accepts or dismisses each proposed change. The tool blocks until generation completes (typically 5-15s) or a timeout is reached; progress events surface in the chat UI mid-call.

Input schema
{
  "type": "object",
  "properties": {
    "actionSlug": {
      "type": "string",
      "description": "The slug of the AI Action to run (e.g. 'derive-design-input')."
    },
    "sourceItemNumber": {
      "type": "string",
      "description": "Item number to run the action on (e.g. 'UN-007'). Existing AI Actions take exactly one source item."
    }
  },
  "required": [
    "actionSlug",
    "sourceItemNumber"
  ]
}