Skip to content

CI

Skillset CI provides branch-aware readiness checks, bounded output repair, reports, and a workflow scaffold.

Updated

Feature Feature status claude codex cursor
workflows implemented not_applicable not_applicable not_applicable

Registry feature: workflows

Support vocabulary: Feature Reference

skillset check --ci adds Git-baseline change coverage, package Changesets awareness, and a stable report to the ordinary source and generated-output readiness check.

Run the Check

skillset check --ci
skillset check --ci --since origin/main
skillset check --ci --report skillset-ci-report.md
skillset check --ci --fix

The continuous-integration guide owns setup and branch workflow. The generated check reference owns exact flags.

The report separates source lint, workspace change coverage, package Changesets, build errors, and generated-output drift. Terminal, Markdown, and JSON results carry the same recovery action, reason, path/ref/scope, and applicable commands. Markdown starts with <!-- skillset-ci-report --> so a workflow can update one PR comment.

Know What --fix Can Write

Without --fix, the check is read-only except for the explicitly requested report file. With --fix, Skillset rebuilds only when source-driven output drift is the sole blocking condition and managed files still match their recorded hashes.

--fix refuses to overwrite target-side edits, repair lint or change-entry failures, resolve a missing Git baseline, create a package Changeset, or apply a provider-format migration. Use update for provider-format migrations and reconciliation when a managed output edit should become source.

Generated changelog edits also remain source-side decisions. Use change reason before release, change amend for applied source-change wording, or release amend for release-event notes.

Exit Behavior

State Exit
Everything is ready Zero
Drift remains and --fix was not passed Nonzero
Drift was the only problem and --fix repaired it Zero
Any lint, change, Changesets, build, baseline, or unsafe-output problem remains Nonzero

A shallow clone with no resolvable comparison baseline is reported as CI infrastructure failure, not as a missing change entry.

Scaffold the Workflow

skillset init --include ci
skillset init --include ci --yes

A new workspace can include the same scaffold with skillset create <name> --include ci --yes.

The plan previews .github/workflows/skillset-ci.yml; --yes writes it once. The workflow is user-owned afterward and is never overwritten by a later init.

The scaffold uses --fix for same-repository pull requests, stays read-only for forks and pushes to main, writes the report to the job summary, and can commit a safe mechanical rebuild back to a same-repository PR branch. Forks cannot receive default-token pushes or comments, so they receive the failing check and job summary only. It checks out full history so the baseline is resolvable. The scaffolded step passes no --since, so the check selects its baselines automatically: source-change coverage starts from the committed skillset.lock and release state when they exist and otherwise falls back to the merge base with origin/main, then main; package Changesets compare against the merge base with origin/HEAD, then origin/main, then main. If none of those refs exist, the Changesets comparison falls back to HEAD and sees no package changes, so make sure CI fetches the trunk.

Errors and Recovery

Problem Recovery
No Git baseline Fetch full history or pass a resolvable --since ref
Source or config diagnostic Fix the first source-positioned error
Missing change coverage Add or refresh a change reason
Missing package Changeset Add the package-facing Changeset when required
Provider-format drift Preview skillset update
Managed output edit Choose reconcile --use source or a safe --use output plan
Mixed blockers Resolve each named blocker; --fix remains disabled

CI reports classify generated-path reconciliation but never choose source-wins or output-wins and never perform future CI source writeback.

Provenance

The check creates no new source authority and never publishes, installs, trusts, activates, or mutates runtime configuration. A safe --fix updates ordinary generated files and locks; --report writes only its selected report path. Core’s source-readiness result remains independent of Git and CLI policy in packages/core/src/source-readiness.ts.

Type to search…

↑↓ navigate↵ selectEsc close