Opt-in assisted onboarding
onboard, config, and connect are optional assisted-engagement skills, not
part of ordinary skills discovery, native plugins, or the CodeRabbit CLI's
default skill release archive. Install only a skill the user explicitly asks
for, using its exact repository path and --skill name. See the repository's
distribution guide for installation commands.
CLI prerequisite
Use an engagement-approved CLI candidate that implements the human
coderabbit config flow, human-driven --detailed mode, and configuration
protocol v2 through --agent. Record the candidate version and build provenance; do not assume
the latest public release supports these operations.
coderabbit config --version
coderabbit config --help
coderabbit config --agent
coderabbit config apply --help
coderabbit config validate --help
On an existing YAML fixture, coderabbit config --agent must report
protocolVersion: 2, operation: inspect, and a base hash. On a new repository,
it must report authority: none, writable: true, and baseHash: none.
Missing capabilities are a candidate blocker, not permission for a fallback
editor. Both skill lanes run without a PTY, keep proposals temporary, and save
through the CLI only after approval. Only the human-driven lanes need a terminal.
Four acceptance lanes
Skill invocations below use $name notation, such as $config. If your agent
uses slash commands instead, select the installed config skill through its
skill picker. These are agent invocations, not shell commands; the CLI entry
point remains coderabbit config.
Use disposable repositories and the approved candidate. Exercise each lane with both a new repository and an existing sparse YAML file containing comments, an explicit parent/inheritance setting, and an unrelated non-default setting. Do not submit reviews, install host skills, authorize integrations, or modify product settings as part of these checks.
| Lane | Entry point | Required observation |
|---|---|---|
Standard $config |
Invoke $config and choose Standard. |
Discusses review style and calls coderabbit config --agent --generate. Uses the CLI's exact proposal, hash-checked validating dry-run, one approval, apply, and re-inspection. No PTY or repository write before approval, including a new file. Preserves unrelated settings and inheritance. |
Detailed $config |
Invoke $config and choose Detailed. Supply a few explicit preferences upfront. |
Inventories the complete live schema, discovers guideline files and real path matches, and discusses every area without re-asking settled choices. Accounts for each field as Configure/Keep/Skip or an explicitly deferred decision; asks only material unknowns, at most three together. Uses --agent inspection → temporary proposal → hash-checked validating dry-run → one approval → exact apply → re-inspection. |
| Human-driven Standard | Run coderabbit config directly. |
Completes the quick guided flow and preview without agent-authored YAML. Existing parent/inheritance behavior is preserved unless explicitly changed. |
| Human-driven Detailed | Run coderabbit config --detailed directly. |
The human drives the CLI's core-settings wizard. This is not the agent's schema-wide Detailed discovery workflow. |
For new repositories, both skill lanes use the same proposal-and-save workflow
with --base none; the CLI creates the initial file after one final approval.
No central lookup or terminal handoff is performed. For existing YAML, preserve
comments, unrelated settings, and sparse inheritance; never materialize defaults
or a resolved configuration.
Additional failure cases:
- Detailed coverage: use a mixed-language fixture with nonstandard guidelines, overlapping paths, an existing tool override, and an explicit preference outside profile/path settings. Confirm the agent reads the full live schema, checks nested fields, finds real source/target matches, discusses unknown requirements, and preserves unrelated values. Add a minimal repository case to verify it can keep/skip settings without inventing rules or integrations.
- No-change Standard or Detailed: the validating dry-run and re-inspection confirm an unchanged hash; no redundant proposal approval or save.
- Unavailable/truncated schema, or a deferred conversation: report incomplete coverage rather than claiming every configuration area was handled.
- Valid YAML with a schema-invalid value:
/onboardmust run validation and reportNeeds action, even when inspection returnsok: true. - Install only
/connect, then request repository integration settings with no local YAML: use--agentinspection, a sparse temporary proposal, validating dry-run with--base none, one approval, CLI apply, and re-inspection. - Change the repository YAML after a Detailed dry-run: the old-hash apply must fail without replacing the changed file. Re-inspect, rebase, and obtain fresh approval for the revised proposal.
- Create a YAML file after a
baseHash: nonepreview: save must fail without replacing the new file. Repeat the same inspection-and-approval flow. - TypeScript, delegated, symlinked, or ambiguous authority: no local apply.
- No supported connection-status response:
/connectreportsUnknownorConfigured, verification pending, not a completed live connection.
Record the candidate version/build, fixture, lane, exact commands, observed exit codes, before/after diff, and pass/fail or blocker. A passing packaging check below does not establish that these configuration lanes passed.
Repeatable packaging checks
From the repository root:
node --test solutions/tests/distribution.test.mjs
git diff --check
The test checks the current default source directory and the committed HEAD
archive used by release packaging. Re-run after committing packaging changes.
It does not install skills or call the network.
With an already available Skills CLI, use local listing only:
DISABLE_TELEMETRY=1 skills add . --list
DISABLE_TELEMETRY=1 skills add . --all --list
DISABLE_TELEMETRY=1 skills add ./solutions/onboard --skill onboard --list
DISABLE_TELEMETRY=1 skills add ./solutions/config --skill config --list
DISABLE_TELEMETRY=1 skills add ./solutions/connect --skill connect --list
The first two must expose only autofix and code-review; each direct path
must expose only its named skill. If no Skills CLI is already available, record
that limitation rather than installing it on the host just for this check.