When to use it
Run $ci in Codex or /ci in Claude Code after onboarding or adoption when the project should run automatic GitHub checks. CI is optional and sits outside the normal feature loop.
The mental model
| Part | Role |
|---|---|
| Verify | One local recipe made from checks the project already has |
| GitHub Actions | The worker that runs the same recipe automatically |
| GitHub ruleset | An optional remote lock that can require a green check before merge |
The CI skill configures Verify and the GitHub Actions worker. It does not change a remote ruleset.
What it detects
The skill inspects the real stack, package manager, lockfile, runtime version, default branch, configured typecheck, test and build commands, test files, existing GitHub workflows, and documented external CI. It does not assume Node.js, npm, main, or an empty .github/workflows/ folder.
What it writes
The skill:
- Creates or reuses one Verify command from configured checks, ordered as typecheck, tests, then build.
- Records the exact invocation in the
AGENTS.mdCommands section. - Creates
.github/workflows/verify.ymlwhen that path is free and no equivalent CI already exists. - Runs the exact Verify command locally as the final proof.
Missing checks are omitted. If the project has no meaningful automated check, the skill stops instead of creating a workflow that always passes.
Existing CI safety
Existing workflows and custom checks are preserved. When an equivalent workflow already exists, the skill reports it instead of adding a duplicate. When normalization would change existing CI, it shows the proposed change and waits for approval.
The default workflow runs for pull requests and pushes to the detected default branch, uses the project’s real runtime and lockfile-safe install command, grants only contents: read, and finishes by running the documented Verify command. If the default branch cannot be detected, the skill asks instead of guessing.
Relationship to tests
/ci never invents a test suite or installs a runner. Run /tests when the project needs unit testing. If Verify already exists, /tests adds the real test command to that recipe without creating or replacing CI.
After setup, /implement, /complete, and /autopilot run Verify when it is documented. /doctor diagnoses drift between the documented command, the project script, and the GitHub workflow.
Boundaries
The beginner setup does not add lint, formatting, git hooks, coverage thresholds, browser tests, security scanners, dependency audits, version matrices, or a required GitHub ruleset. Existing CI checks remain intact. The skill does not push, publish, deploy, or change repository settings.
See Testing and CI for the full relationship between test evidence, Verify, GitHub Actions, and merge rules.