Theory
Traditional CI handles binary checks well: tests pass or fail, builds succeed or break. But many engineering tasks need judgment rather than rules. Triaging issues, syncing docs with code, investigating CI failures, these are not things you can express in a regex or a YAML condition.
Continuous AI fills that gap. Instead of encoding logic in YAML, you describe what you want in plain English and an AI agent reasons over the repository to get it done. It runs on the same triggers as CI (pushes, PRs, schedules) but handles work that is too fuzzy for deterministic automation.
GitHub Agentic Workflows (currently in technical preview) make this concrete. You write a Markdown file with a natural-language instruction plus some frontmatter for permissions, triggers, and allowed outputs, then compile it and GitHub Actions handles the rest. The agent can investigate CI failures and propose fixes, open PRs to keep docs in sync with code, triage and label issues, write missing tests, or generate daily status reports. You can also use actions/ai-inference@v1 to call GitHub Models directly inside a standard workflow for lighter use cases.
Safety is built in by design. Agents run read-only by default, and write operations like opening a PR must be explicitly declared as safe outputs. Humans always review before anything merges.
Practice
Run this in a repository you already know, not a toy project. The point is to feel where the practice helps and where it gets in the way on code that has history.
Pick a real repo you work on and add your first agentic workflow that auto-investigates CI failures.
- Install the gh-aw CLI extension:
gh extension install github/gh-aw - Create
.github/workflows/ci-failure-investigator.mdwith this content:
---
on:
workflow_run:
workflows: ["CI"]
types: [completed]
permissions:
contents: read
actions: read
safe-outputs:
create-issue:
title-prefix: "[ci-failure] "
labels: [bug, ci]
---
When the CI workflow fails, analyze the logs and suggest the likely root cause. Open an issue with a summary of what broke and a proposed fix if possible.
- Compile it:
gh aw compile ci-failure-investigator - Push both generated files, trigger a failing build, and watch the agent open an issue.
If you want something simpler to start, use actions/ai-inference@v1 with GitHub Models to auto-label new bug reports. It takes about 10 lines of YAML and only needs models: read added to your permissions block. Both approaches give you a real taste of Continuous AI without overhauling your existing pipelines.