Skip to content

docs(developer-experience): add control-CLI pitfalls to build-cli contract - #9536

Merged
kyle-sexton merged 2 commits into
mainfrom
work-resolve-issue/issue-9533-40049927599-1
Oct 24, 2026
Merged

kyle-sexton merged 2 commits into
mainfrom
work-resolve-issue/issue-9533-40049927599-1

Conversation

@melodic-automation-lanes

Copy link
Copy Markdown
Contributor

Closes #9533

Summary

Opened by the work-resolve-issue lane. The run's own summary:

Adds five control-CLI rules (11-15) to the build-cli CLI contract, each with a source pointer read in this run, an as-of date and a recheck trigger, plus one eval case for a child started with inherited handles. SKILL.md's rule count now reads fifteen, and a patch changelog fragment records the change.

Not verified

  • The Windows process documentation was not read (not on a lane fetch host), so row 11 carries only the Node and Python pointers and no Windows-specific claim
  • Rules 12 and 15 have Count 1 and rule 14 has Count 2 with part of its scope (repeated or malformed ids) marked as this plugin's application; no second independent source was reachable from the allowed hosts
  • Changes are left uncommitted in the working tree as the run instructed; no commit was made

Fix

  • plugins/developer-experience/skills/build-cli/reference/cli-contract.md: rows 11-15 (no inherited handles, one JSON document on --json stdout, find the real process behind a wrapper pid, reject bad input fast, name the override that wins); intro read-date sentence now points to each row's as-of date
  • plugins/developer-experience/skills/build-cli/evals/evals.json: eval 3, a review of an app start command that inherits handles and hangs a piped caller
  • plugins/developer-experience/skills/build-cli/SKILL.md: 'ten rules' became 'fifteen rules' in three places
  • .changes/developer-experience/docs-build-cli-control-pitfalls-3f9a1c7e.md: patch fragment, written by hand because new-changelog-fragment refuses a detached HEAD

Verification

The runner ran each check from the base copy against 7ddb412:

  • scripts/check-changelog-fragments.sh --check: passed

The run reports:

  • read https: //nodejs.org/api/child_process.html: stdio inherit/ignore/pipe, detached with unref(), the sh-wrapper kill example
  • read https: //docs.python.org/3/library/subprocess.html: stdio None means no redirection, DEVNULL, start_new_session, close_fds, Popen.pid is the shell's pid under shell=True
  • read https: //docs.python.org/3/library/argparse.html: parse_args rejects unrecognized arguments with status 2, invalid choices are reported (the page's last 9k characters were not read)
  • read https: //code.claude.com/docs/en/headless: json output never carries the stderr wait line, invalid flag reported to stderr before the run
  • read https: //code.claude.com/docs/en/settings: environment variables are not a level, precedence is decided per pair (ANTHROPIC_MODEL vs ANTHROPIC_DEFAULT_MODEL)
  • check-changelog-fragments: 1 fragment valid
  • check-affected: 9 passed, 7 skipped (changed-skills and validate-plugins skipped by the check itself), the rest CI-only
  • check-evals-quality on build-cli evals.json: PASS, 0 warnings
  • grep for '#[0-9]{3,}|5031|SETWorks|Blazor' over the build-cli skill directory: no matches
  • fresh-context subagent review of the diff: three defects (stale rule count, stale read date, unsourced inference in row 11), all fixed
  • The lane run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40049927599

Left out: the items under Not verified.

Related

#9533

Lane-Activity: work-resolve-issue/resolve-issue
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

claude-security-review reviewed dd99cd9627c7ff1e7407a316831459e25b83ab8e: 0 finding(s), 0 as inline comments.

No security issues found in this incremental change (plugins/developer-experience/skills/build-cli/reference/cli-contract.md, since 7ddb412).

The diff does three things:

  • It adds "this plugin's application of it" qualifiers to the sourcing text of rows 12 and 15.
  • It changes "signalling" to "signaling" in row 13.
  • Every rule's wording stays as it was, so no standing instruction is deleted, narrowed or softened, and no control is removed.

The file is reference documentation. It has no code, manifest, workflow or trust-gate path, and no userConfig key changed, so there are no manifest <field> lines to report. The PR description contains no embedded instructions aimed at the lane.

critical-findings: 0

@github-actions github-actions Bot 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.

claude-review: 1 inline finding(s) on 7ddb412b3fce16e761e99ba7db85b9c59f96baad; the summary is in this lane's pull request comment.

claude-lane: claude-review

Comment thread plugins/developer-experience/skills/build-cli/reference/cli-contract.md Outdated
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

claude-review reviewed dd99cd9627c7ff1e7407a316831459e25b83ab8e: 0 finding(s), 0 as inline comments.

Incremental review of plugins/developer-experience/skills/build-cli/reference/cli-contract.md since 7ddb412. I found nothing to report.

The change touches rows 12, 13 and 15:

  • Rows 12 and 15: each gains a sentence saying its cited Claude Code page covers Claude Code's own behavior only, and that the general rule is this plugin's application of it. This matches the sourcing wording already used in rows 11 and 14 and makes the Count 1 claims more honest.
  • Row 13: "signalling" becomes "signaling". I grepped the build-cli skill directory for other spellings and found none, so the file stays consistent.

The closing issue #9533 lists acceptance criteria: five rows with a pointer, an as-of date and a trigger, one eval case, and two greps. This edit leaves rows 12, 13 and 15 each with all three. I did not re-check the eval or grep criteria, since those files are unchanged since the last review.

I didn't run any commands or checks. The PR description's verification claims are the author's and I haven't confirmed them.

@melodic-automation-lanes

Copy link
Copy Markdown
Contributor Author

pr-unblock / address-feedback finished round 1 of 3 on 7ddb412.

@melodic-automation-lanes melodic-automation-lanes Bot added the needs-human Human-in-the-loop required; autonomous sessions must not resolve items carrying this. label Oct 24, 2026
@melodic-automation-lanes

Copy link
Copy Markdown
Contributor Author

The pr-unblock lane stopped on this pull request and needs a person: the review replies the lane recorded did not pass validation, so none was posted.

  • Reason: feedback-invalid
  • Resume key: 7ddb412b3fce16e761e99ba7db85b9c59f96baad (the head the lane stopped on)

To resume, deal with the reason above, remove the needs-human label (and do-not-merge, if set), then dispatch the pr-unblock workflow with pr-number=9536 and activity=address-feedback:

gh workflow run pr-unblock.yml -R melodic-software/claude-code-plugins -f pr-number=9536 -f activity=address-feedback

…'s sourcing

typos rejected "signalling". claude-review: rows 12 and 15 cite one product's
own behavior; they now say the general rule is this plugin's application of
it, like rows 11 and 14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kyle-sexton kyle-sexton removed the needs-human Human-in-the-loop required; autonomous sessions must not resolve items carrying this. label Oct 24, 2026
@kyle-sexton
kyle-sexton added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit b059523 Oct 24, 2026
83 of 86 checks passed
@kyle-sexton
kyle-sexton deleted the work-resolve-issue/issue-9533-40049927599-1 branch October 24, 2026 02:46
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.

docs(developer-experience): add control-CLI pitfalls to /developer-experience:build-cli

1 participant