fix(scripts): scan skill markdown in the shell-portability gate - #2780
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Claude finished @kyle-sexton's task in 1m 59s —— View job Security Review — PR #2780
Verdict: No security vulnerabilities found. This PR widens
No changes to authentication, authorization, secrets handling, or externally-reachable surfaces are involved — this is a self-contained CI linting/test change. |
|
Last security-reviewed head: |
There was a problem hiding this comment.
💡 Codex Review
claude-code-plugins/scripts/check-shell-portability.sh
Lines 263 to 265 in 6913383
When a PR only deletes a baselined skill Markdown file, git diff --diff-filter=d produces no scoped files, so this return occurs before the stale-baseline guard. The changed-file invocation in ci.yml therefore accepts the dangling entry, while the next unrelated PR that touches a shell or skill Markdown file fails because the baseline names a missing file. Baseline-only edits similarly bypass all validation; run the baseline checks before this early return.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Claude finished @kyle-sexton's task in 6m 16s —— View job Code review —
|
The gate selected only *.sh, so GNU-only constructs in skill markdown — the surface agents actually execute — never failed CI. Widen --all and diff-mode selection to plugins/*/skills/**/*.md, grandfather today's measured backlog in a shrink-only baseline, and keep --paths as the unfiltered audit tool. Closes #2704 Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude has reviewed this PR 2 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
The skill-md stale-baseline missing-file check ran on every CI-facing mode without files_in_scope gating, so deleting a baselined path without updating the list would red-line unrelated PRs. Share the same --all / changed-file scope as the cleaned-up and out-of-set branches, and cover the missing-file and vendor/ out-of-set cases in the unit suite. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
6913383 to
42bf235
Compare
|
Claude finished @cursor[bot]'s task in 31s —— View job Code review —
|
Summary
scripts/check-shell-portability.shso CI-facing modes (--alland<base-ref>) also select skill markdown underplugins/*/skills/**/*.md(excludingvendor/andevals/), matching the executable surface agents actually run.\\b/\\s/\\w, intentional docs-hygiene regex docs, and markdown-structure false positives) inscripts/shell-portability-skill-md-baseline.txtso new/changed skill markdown is gated first; the list is shrink-only (stale entries fail).--pathsremains the unfiltered audit tool (never consults the baseline), preserving the reproduction path from fix(scripts): shell-portability gate never scans skill markdown, where the shell is actually executed #2704.Test plan
bash scripts/check-shell-portability.test.sh(PASS=331)--pathson a synthetic skill md withstat -cfails (detector + selection)--pathson a baselined skill md still reports hits (audit mode)--alldoes not report baselined skill-md PORTABILITY lines; no STALE BASELINE--all/ diff-mode selection, baseline grandfathering, stale baseline, and--pathsbypassCloses #2704
Related