Skip to content

Prompt field reference

These are the names you can use in a prompt, either as ${name} or as {{ name }} (see Writing prompts). Run curupira validate to check that the names you use exist.

Every value is text (see Every value is text). Numbers, booleans (true/false), and lists are shown in the Type column for what they mean; a list is JSON text, for example ["bug","security"], that you open with | fromjson.

Every automation

Field Type Meaning
repository text The GitHub repository owner/name of the automation's checkout (from the Git remote)
automation text The automation name, [automations.<name>]

Cron prompts receive only these two.

Issues (github-issues)

Field Type Meaning
repo text The repository owner/name the issue belongs to
id, title, url text Issue number, title, and web URL (same as the issue_* fields)
issue_number number Issue number
issue_title text Title
issue_body text Description (empty if none)
issue_url text Web URL
issue_state text OPEN or CLOSED
issue_state_reason text COMPLETED, NOT_PLANNED, REOPENED, or empty
issue_author text Login of the author
issue_labels list Label names
issue_assignees list Assignee logins
issue_milestone text Milestone title, or empty
issue_created_at text ISO timestamp, for example 2026-10-01T12:00:00Z

Pull requests (github-pull-requests)

Field Type Meaning
repo text The repository owner/name the pull request belongs to
id, title, url text Pull request number, title, and web URL (same as the pull_request_* fields)
pull_request_number number Pull request number
pull_request_title, pull_request_body, pull_request_url text Title, description, web URL
pull_request_author text Login of the author, for example app/dependabot
pull_request_labels list Label names
pull_request_assignees list Assignee logins
pull_request_milestone text Milestone title, or empty
pull_request_created_at text ISO timestamp
pull_request_head_ref, pull_request_base_ref text Source and target branch names
pull_request_head_sha text Commit id of the head
pull_request_is_draft boolean Draft pull request
pull_request_mergeable text MERGEABLE, CONFLICTING, or UNKNOWN
pull_request_merge_state_status text CLEAN, BLOCKED, BEHIND, DIRTY, DRAFT, HAS_HOOKS, UNSTABLE, UNKNOWN
pull_request_changed_files, pull_request_additions, pull_request_deletions number Size of the change
pull_request_closing_issues list URLs of the issues the pull request closes

Project items (github-project-items)

Issues and pull requests share the item_* names, so one prompt works for both.

Field Type Meaning
repo text The repository owner/name the item belongs to
id, title, url text owner/name#number, the title, and the web URL
item_type text issue or pull_request
item_number, item_title, item_body, item_url, item_state text or number Same meaning as for issues
item_author text Login of the author
item_labels, item_assignees list Label names and assignee logins
item_milestone text Milestone title, or empty
item_created_at text ISO timestamp
project_title, project_url text The board
project_column text The column (value of status_field) the item was found in
project_fields text (JSON) All field values of the card, for example {"Status": "Ready", "Priority": "P1"}. Use project_fields \| fromjson
pull_request_head_ref, pull_request_base_ref, pull_request_head_sha text Only for pull requests, empty otherwise
pull_request_is_draft boolean Only meaningful for pull requests

Left out on purpose

Comments, update time, CI and review state, linked pull requests, and requested reviewers are not fields. The host hashes every field a trigger returns into the task identity (Deduplication), so a value that changes by itself, or because the agent worked on the item, would start the same issue again. Ask the agent to read what it needs, for example gh issue view ${issue_number} --comments or gh pr checks ${pull_request_number}. The CI and review state can still be used to select pull requests with the ci_status and review filters.

Optional values

A field that has no value for the item is empty text (for example the milestone of an issue without one), so {{ issue_milestone or "none" }} works. A field that does not apply to the item at all (for example pull_request_head_ref for an issue in a project) is empty as well.