Features & Capabilities

Complete reference of what the Copilot GitHub Action does

Features & Capabilities

This page describes every function the Copilot GitHub Action provides: workflow-triggered behavior (issues, pull requests, pushes) and single actions you can run on demand.

Workflow-triggered behavior

The action is typically invoked by three workflow triggers. What it does depends on the event.

1. Issue events (on: issues)

When the workflow runs on issues (opened, edited, labeled, unlabeled, etc.):

FeatureDescription
Branch creationCreates branches from the development branch (or main for hotfix/release) based on issue labels (feature, bugfix, docs, chore, hotfix, release). Optional: requires a launcher label (e.g. branched) unless branch-management-always is true.
Branch–issue linkingLinks the new branch to the issue and adds a comment summarizing the actions taken.
Project linkingAdds the issue to the configured GitHub Projects (by project-ids) and moves it to the configured column (e.g. "Todo", "In Progress").
AssigneesAssigns up to desired-assignees-count members to the issue (creator preferred if in org).
Issue typeSets the GitHub issue type (Task, Bug, Feature, Documentation, etc.) from labels.
Emoji titlesOptionally adds emojis to issue titles based on labels (emoji-labeled-title).
Size labelsAssigns size labels (XS–XXL) and checks size thresholds (lines, files, commits) for prioritization.
Comments & imagesPosts comments with optional images (per branch type: feature, bugfix, docs, chore, hotfix, release).
Smart workflow guidanceComments can include Git-Flow reminders and next steps.

2. Pull request events (on: pull_request)

When the workflow runs on pull_request (opened, edited, etc.):

FeatureDescription
PR–issue linkingLinks the pull request to the issue associated with its branch and posts a comment.
Project linkingAdds the PR to the configured GitHub Projects and moves it to the configured column.
ReviewersAssigns up to desired-reviewers-count reviewers.
Priority & sizeApplies priority and size checks (labels and thresholds).
AI PR descriptionIf ai-pull-request-description is true and OpenCode is configured, generates or updates the PR description by filling the repo's .github/pull_request_template.md from the issue and the branch diff (OpenCode Plan agent). See Pull Requests → AI-generated PR description.
Comments & imagesPosts comments with optional images per branch type.

3. Push events (on: push)

When the workflow runs on push (e.g. to any branch):

FeatureDescription
Commit notificationsFor branches linked to an issue, posts a comment on the issue with commit messages and links.
Commit prefix checkWarns if commit messages do not follow the prefix derived from the branch name (using commit-prefix-transforms).
Reopen issueIf reopen-issue-on-push is true, reopens the issue when new commits are pushed to its branch.
Size & progressComputes size (XS–XXL) and progress (0–100%) from the branch diff; updates the issue and any open PRs for that branch with the same labels. Requires OpenCode for progress. No separate workflow is needed.
Bugbot (potential problems)OpenCode analyzes the branch vs base and reports findings as comments on the issue and review comments on open PRs; updates issue comments when findings are resolved and marks PR review threads as resolved when applicable. Configurable via bugbot-severity and ai-ignore-files. See Bugbot, Issues, and Pull Requests.
Comments & imagesPosts commit summary comments with optional images.

Single actions

When you set single-action (and, when required, single-action-issue, single-action-version, single-action-title, single-action-changelog), the action runs only that action and skips the normal issue/PR/push pipelines.

Single action valueInputs requiredDescription
check_progress_actionsingle-action-issueRuns progress check on demand (e.g. without pushing). Progress is normally updated automatically on every push; use this to re-run the check or when no push workflow is configured.
detect_potential_problems_actionsingle-action-issueBugbot: OpenCode analyzes the branch vs base; reports findings as comments on the issue and as PR review comments; updates issue comments and marks PR review threads as resolved when findings are fixed.
recommend_steps_actionsingle-action-issueUses OpenCode Plan to recommend implementation steps from the issue description; posts a comment on the issue.
think_actionUses OpenCode Plan for deep code analysis and change proposals (reasoning over the codebase). No issue required.
initial_setupPerforms initial setup steps (e.g. for repo or project). No issue required.
create_releasesingle-action-version, single-action-title, single-action-changelogCreates a GitHub release with the given version, title, and changelog.
create_tagsingle-action-versionCreates a Git tag for the given version.
publish_github_actionPublishes or updates the GitHub Action (e.g. versioning, release).
deployed_actionsingle-action-issueMarks the issue as deployed; updates labels and project state (e.g. "deployed").

Single actions that throw an error if the last step fails: publish_github_action, create_release, deployed_action, create_tag. This lets the workflow fail the job when the action does not succeed.

AI features (OpenCode)

All AI features go through OpenCode (one server URL + model). You can use 75+ providers (OpenAI, Anthropic, Gemini, Ollama, etc.) by configuring OpenCode.

FeatureWhere it runsDescription
Check progressPush (commit) pipeline; optional single action check_progress_action / CLI check-progressOn every push, OpenCode Plan compares issue vs branch diff and updates the progress label on the issue and on any open PRs for that branch. You can also run it on demand via single action or CLI.
Bugbot (potential problems)Push (commit) pipeline; optional single action detect_potential_problems_action / CLI detect-potential-problemsAnalyzes branch vs base and posts findings as comments on the issue and review comments on open PRs; updates issue comments and marks PR review threads as resolved when findings are fixed. Configurable: bugbot-severity, ai-ignore-files.
Bugbot autofixIssue comment; PR review commentWhen you comment on an issue or PR asking to fix one or more reported findings (e.g. "fix it", "arregla", "fix all"), OpenCode decides which findings you mean, applies fixes in the workspace, runs verify commands (build/test/lint), and the action commits and pushes. Only org members or the repo owner can trigger this (and the do-user-request action). Configure bugbot-fix-verify-commands (e.g. npm run build, npm test, npm run lint). Requires OpenCode and opencode-start-server: true (or server running from repo) so changes are applied in the same workspace.
Do user requestIssue comment; PR review commentWhen you comment asking to perform a change in the repo (e.g. "add a test for X", "refactor this", "implement feature Y"), OpenCode applies the changes in the workspace, runs verify commands, and the action commits and pushes with a generic message. Same permission as Bugbot autofix: only org members or the repo owner. Uses the same bugbot-fix-verify-commands and OpenCode setup.
Think / reasoningIssue/PR comment pipeline; single action think_actionDeep code analysis and change proposals (OpenCode Plan agent). On comments: answers when mentioned (or on any comment for question/help issues). Runs when the comment was not a fix/do request or when the user is not allowed to trigger file-modifying actions.
Comment translationIssue comment; PR review commentTranslates comments to the configured locale (issues-locale, pull-requests-locale) when they are written in another language.
AI PR descriptionPull request pipelineFills the repo's .github/pull_request_template.md from issue and branch diff (OpenCode Plan agent).
CopilotCLI giik copilotCode analysis and file edits via OpenCode Build agent.
Recommend stepsSingle action / CLISuggests implementation steps from the issue description (OpenCode Plan agent).

Configuration: opencode-server-url, opencode-model, and optionally opencode-start-server (action starts and stops OpenCode in the job). For bugbot autofix, use bugbot-fix-verify-commands to list commands to run after fixes (e.g. npm run build, npm test, npm run lint). See Bugbot and OpenCode (AI).

Workflow concurrency and sequential execution

Sequential runs: When a new run starts, the action waits for any previous run of the same workflow name to finish. Runs of the same workflow (e.g. "Copilot - Issue") execute one after another instead of in parallel or being cancelled — something GitHub does not offer natively.

GitHub's native concurrency lets you cancel in-progress runs when a new one starts (cancel-in-progress: true). Copilot adds sequential execution for the same workflow: when a new run starts, the action waits for any previous run of the same workflow name to finish before doing its work.

How it works

  1. At the start of each run (except welcome/single-action-only flows), the action calls the GitHub API to list workflow runs for the repo.
  2. It filters runs that have the same workflow name as the current run, a lower run ID (i.e. started earlier), and status in_progress or queued.
  3. If any such run exists, the action waits 2 seconds and checks again, up to a long timeout (~4000 seconds).
  4. When no previous run of the same workflow is active, the action continues.

So you get a per-workflow queue: multiple triggers for the same workflow (e.g. many issues labeled at once) will run sequentially.

Example

name: Copilot - Issue

on:
  issues:
    types: [opened, edited, labeled, unlabeled]

jobs:
  copilot-issues:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: vypdev/copilot@master
        with:
          token: ${{ secrets.PAT }}
          project-ids: '2,3'

If you prefer to cancel the previous run when a new one is triggered (e.g. for PRs, so only the latest run matters), use cancel-in-progress: true and the same concurrency.group per PR or issue.

Other capabilities

  • Commit prefix transforms: commit-prefix-transforms defines how branch names are turned into commit prefixes (e.g. replace-slash, kebab-case). Used for validation and comments.
  • Issue types: Configurable issue type names, descriptions, and colors (Task, Bug, Feature, Documentation, Maintenance, Hotfix, Release, Question, Help).
  • Debug: Set debug: true for verbose logging.

For full input reference, see Configuration.