architect-manage-procedures

Installation
SKILL.md

Manage agent procedures reliably (list / get / create / edit / publish)

Procedures are their own data, not part of the agent config. There is no agent-config path for them and no way to reach them by patching conversation_config. Everything here is branch-scoped and goes through the ConvAI REST API (host https://api.elevenlabs.io, header xi-api-key: $API_KEY). You need $AGENT_ID and the branch id $BRANCH_ID you are working on.

For the craft of writing a good trigger and clear steps, see the architect-structured-procedures skill and the procedure-authoring guidance. This skill is about calling the endpoints correctly.

1. Read current state first

Before creating or editing anything, read what exists:

  • List every procedure on the branch: GET /v1/convai/agents/$AGENT_ID/branches/$BRANCH_ID/procedures. Each entry carries procedure_id, version_id, name, type (free_form or deterministic), trigger, and has_draft. It does NOT include content — the list is an index, not a way to read bodies. Do not measure a procedure's content length from this response; an absent content field will read as empty for every procedure and look like data loss when nothing is wrong. You cannot edit a procedure without its procedure_id from here.
  • Read one procedure's body with GET /v1/convai/agents/$AGENT_ID/branches/$BRANCH_ID/procedures/$PROCEDURE_ID. This is the only way to get content, and you need it before an edit so you do not blow away the rest. If a draft exists for that procedure, this GET returns the DRAFT content, not the published content.
  • This GET returns 404 for a procedure whose content has never been published, even when the id is correct and the procedure appears in the list. That is the expected state right after a create (see section 2), not a wrong id. Use the list to confirm the procedure exists and check has_draft.
  • Confirm the branch you are on with GET /v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID, since procedures are per-branch.

If the user asked to edit "the X procedure", match X against the name values from the list and confirm the exact procedure_id before writing. Do not assume an id.

2. Create vs edit: the draft then publish model

Installs
1
GitHub Stars
4
First Seen
Sep 27, 2026