Skip to content

Promote the Two-Channel Skills Report to Main - #1760

Merged
ptr727 merged 1 commit into
mainfrom
develop
Sep 24, 2026
Merged

ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Promotes one change. skills_install.py --report now answers the Codex and opencode snapshot and the live Claude Code checkout separately, so a merge-and-release run that finishes correctly no longer reports the machine stale.

Closes #1739

What reaches main

  • --report: it prints a snapshot and a live object.
    • Snapshot: says which commit the copy was taken from and whether that is the intended revision. The default intended revision is origin/main as last fetched, then a local main. On a bootstrapped tarball tree it is the commit the loader resolved, and --intended <rev> overrides the default.
    • Live: gives the branch, commit, and dirty state of the checkout the marketplace registers, read from claude plugin marketplace list --json, and says when that checkout is missing.
    • Exit code: the snapshot's verdict alone. A missing or bad stamp still reports live, and each git and claude child the report runs has a 60-second deadline.
  • merge-and-release step 7: states the split between the two channels.
  • Refresh cadence: re-install from a freshly fetched main after a promotion. This is stated in docs/host-setup.md and in fleet-conformance-check.
  • Other surfaces: README.md, scripts/README.md, skill-lifecycle, docs/fleet-map.md, and the install-skills help text now describe the two channels.

Review state

🤖 Generated with Claude Code

Implements the maintainer's decision on #1739. Live loading stays. The
skill doc states the split between the two channels, and `--report`
answers each channel by name.

## Why

The Codex and opencode copy is a snapshot. The Claude Code marketplace
is a directory source that loads the hub checkout in place. `--report`
compared the stamp with the checkout's HEAD, so a `merge-and-release`
run that finished correctly reported the machine stale once step 8 put
the clone back on `develop`.

## What changes

- **`--report` output.** It now has a `snapshot` object and a `live`
object.
- `snapshot` says which commit the copy was taken from and whether that
is the intended revision. The default intended revision is `origin/main`
as last fetched, then a local `main`. On a tarball bootstrap it is the
`SKILLS_SOURCE_COMMIT` the loader resolved. `--intended <rev>` overrides
the default.
- `live` gives the branch, commit, and dirty state of the checkout the
marketplace registers, read from `claude plugin marketplace list
--json`. That can be a different checkout from the one running the
report.
- **Exit code.** It is the snapshot's verdict alone. The maintainer
chose this in-session, along with `origin/main` as the default.
- **`merge-and-release` step 7** states the split.
- **Refresh cadence** (`docs/host-setup.md`, `fleet-conformance-check`):
refresh from a freshly fetched `main` after a promotion, because a copy
taken from `develop` never matches the promoted revision.
- **Other surfaces** that described `--report` in the old terms are
updated: `README.md`, `skill-lifecycle`, `docs/fleet-map.md`, and the
`install-skills` help text.

On this machine, with the clone on `develop` after the 2.0.660 release,
`--report` now reads `snapshot.current: true` and exits 0, with `live`
naming `develop`.

## Local review

Two strict passes are recorded.
- **Pass 1:** 6 findings.
- Fixed: a tarball-host regression, the cadence contradiction, doc
drift, and a typo.
- Filed: the Windows `claude.cmd` shim as #1754. It can't be verified
here.
- Declined: `AGENTS.md`'s "whether this machine is current", because the
exit code is still exactly that verdict.
- **Pass 2:** 2 findings, both resting on the premise that Claude Code
serves the frozen plugin cache. Disproved: this session's skill base
directory is the checkout, and the `repo-worktree` text it loaded
carries `develop`-only content that the cache at c556d2f lacks.

Part of #1739. The closing reference goes on the promotion PR.

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Improvements**
* Skills status reports now show what each install channel contains: the
copied skills snapshot and the checkout loaded by Claude Code.
* Snapshot currency is checked against promoted `main` by default, with
an option to compare against a specified revision. Reports identify the
relevant branch and commit, and indicate when the snapshot is not
current.
* Setup guidance now clarifies when to refresh skills and how the two
install channels track revisions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 24, 2026 15:23
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 16 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 9da0f73a-c8a1-4899-ba33-824b7f7c8092

📥 Commits

Reviewing files that changed from the base of the PR and between dc87c29 and d0874fc.

⛔ Files ignored due to path filters (9)
  • .claude-plugin/fleet-skills/.source-digests/fleet-conformance-check is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/merge-and-release is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/skill-lifecycle is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/fleet-conformance-check/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/skill-lifecycle/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .github/skills/fleet-conformance-check/SKILL.md is excluded by !.github/skills/**
  • .github/skills/merge-and-release/SKILL.md is excluded by !.github/skills/**
  • .github/skills/skill-lifecycle/SKILL.md is excluded by !.github/skills/**
📒 Files selected for processing (11)
  • .agents/skills/fleet-conformance-check/SKILL.md
  • .agents/skills/merge-and-release/SKILL.md
  • .agents/skills/skill-lifecycle/SKILL.md
  • README.md
  • docs/fleet-map.md
  • docs/host-setup.md
  • host-setup/linux/install-skills.sh
  • host-setup/windows/install-skills.ps1
  • scripts/README.md
  • scripts/skills_install.py
  • scripts/tests/test_skills_install.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ptr727

ptr727 commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The updated live_channel() still invokes a bare claude argv after resolving availability via shutil.which, which can break --report on Windows when the CLI is a .cmd shim.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

This pull request promotes the two-channel Skills report behavior to main, clarifying that the Codex/opencode install is a snapshot copy while the Claude Code channel loads a registered checkout in place. It updates the installer, tests, and documentation so skills_install.py --report reports snapshot and live separately and exits based on the snapshot verdict.

Changes:

  • Update scripts/skills_install.py --report to emit snapshot and live sections, add --intended, and enforce per-subprocess timeouts for report-time git/claude reads.
  • Expand Python unit tests to cover the new --report contract, intended-revision resolution, and timeout behavior.
  • Refresh documentation and surfaced skill text to describe the two channels and the updated refresh cadence.
File Description
scripts/​tests/​test_skills_install.py Adds/updates tests for the new --report JSON shape, intended revision logic, and timeout behavior.
scripts/​skills_install.py Implements two-channel reporting (snapshot vs live), --intended, and report subprocess deadlines.
scripts/​README.md Updates the installer documentation to describe snapshot vs live semantics and the new --report output.
README.md Updates the quickstart --report description to match the new two-channel report semantics.
host-setup/​windows/​install-skills.ps1 Adjusts help text to reflect that the report evaluates snapshot currency and reports what Claude Code loads.
host-setup/​linux/​install-skills.sh Adjusts help text to reflect that the report evaluates snapshot currency and reports what Claude Code loads.
docs/​host-setup.md Updates host setup documentation to explain the two channels and the refreshed install cadence semantics.
docs/​fleet-map.md Updates the lifecycle description and refresh cadence language to align with snapshot vs live semantics.
.github/​skills/​skill-lifecycle/​SKILL.md Updates surfaced skill guidance text to describe the two channels and promotion-based refresh cadence.
.github/​skills/​merge-and-release/​SKILL.md Updates surfaced release workflow guidance to explain the two channels during refresh.
.github/​skills/​fleet-conformance-check/​SKILL.md Updates surfaced conformance guidance to read both snapshot and live for Claude Code sessions.
.claude-plugin/​fleet-skills/​skills/​skill-lifecycle/​SKILL.md Regenerated plugin skill content reflecting the updated skill-lifecycle text.
.claude-plugin/​fleet-skills/​skills/​merge-and-release/​SKILL.md Regenerated plugin skill content reflecting the updated merge-and-release text.
.claude-plugin/​fleet-skills/​skills/​fleet-conformance-check/​SKILL.md Regenerated plugin skill content reflecting the updated fleet-conformance-check text.
.claude-plugin/​fleet-skills/​.source-digests/​skill-lifecycle Updates the source digest for regenerated plugin content.
.claude-plugin/​fleet-skills/​.source-digests/​merge-and-release Updates the source digest for regenerated plugin content.
.claude-plugin/​fleet-skills/​.source-digests/​fleet-conformance-check Updates the source digest for regenerated plugin content.
.agents/​skills/​skill-lifecycle/​SKILL.md Updates the source skill content describing the two-channel install/report semantics.
.agents/​skills/​merge-and-release/​SKILL.md Updates the source skill content to clarify snapshot vs live behavior during refresh.
.agents/​skills/​fleet-conformance-check/​SKILL.md Updates the source skill content to instruct reading live for Claude Code sessions.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/skills_install.py
@ptr727
ptr727 merged commit 5b69618 into main Sep 24, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skills_install's two channels disagree: Claude Code loads the checkout in place while the copy holds the promoted revision

2 participants