Repository navigation
docs: move drift remediation, command and help-text workflows into skills (#1047, #1049, #1051) - #1048
Open
sdairs wants to merge 10 commits into
Open
docs: move drift remediation, command and help-text workflows into skills (#1047, #1049, #1051)#1048sdairs wants to merge 10 commits into
sdairs wants to merge 10 commits into
Conversation
Move the drift remediation procedure out of the API crate's AGENTS.md into an agent-neutral skill at .agents/skills/openapi-drift-remediation, symlinked into .claude/skills for Claude Code. The skill adds PR planning: an API PR then a CLI PR, one pair per affected CLI command group. Both AGENTS.md files now point at it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rendered drift issue carried its own copy of the remediation steps. Point it at the skill instead so the procedure lives in one place. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sdairs
added this pull request to stack #1001
October 4, 2026 09:20
Move the "Adding a command" procedure out of AGENTS.md into a skill that agents load only when adding or changing a command. SKILL.md holds the shared finish steps; local and Cloud procedures are separate reference files. The drift remediation skill now points at it for the CLI PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 4, 2026
Moves the "Writing help text" standard from the root AGENTS.md into .agents/skills/cli-help-text/, and points the add-cli-command and openapi-drift-remediation skills at it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Condense the CloudError and telemetry invariants to their contracts, point CI gate label rules at .github/CLOUD_INTEGRATION.md, and drop the hand-maintained local test binary list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Exemption, enum-mapping and analyzer-extension rules move to openapi-drift-remediation/references/analyzer.md so non-drift library work does not load them. The VALUES-const and deprecated-field rules stay in the crate AGENTS.md because any model change can hit them; restore the rename_all rule the analyzer's error message points at. The drift skill points at the policy instead of restating it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Releases are not finished until ClickHouse/ClickHouse NightlyUpload copies the release archives to builds.clickhouse.com; until then update, install.sh and npm install 404 on the new version. The root AGENTS.md now points here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The planner runs on every same-repository push and settles the decision itself when it selects no live suites; the label is only needed when it selects some. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The message said "AGENTS.md", which reads as the root file, and "models.rs", though models now live in src/models/*.rs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1047. Closes #1049. Closes #1051. Closes #1053. Stacked on #1046.
Moves four task-specific workflows out of
AGENTS.mdinto repo skills that any coding agent can load, so agents read them only when the task needs them. They are in one PR because the skills andAGENTS.mdrefer to each other.Changes
openapi-drift-remediationskill (#1047).agents/skills/openapi-drift-remediation/SKILL.md, withname/descriptionfrontmatter. It covers:spec_coverage_testfails until the last API PR lands, and to run the library tests with--no-fail-fastin the meantime.AGENTS.md, including the operation-permissions regeneration step.add-cli-commandskill.add-cli-commandskill (#1049).agents/skills/add-cli-command/, replacing the "Adding a command" section of the rootAGENTS.md:SKILL.md: sends the agent to the local or Cloud procedure, then covers the steps both share:try_parse_fromtests, both classifiers, the README and the gates. Includes a checklist the agent can copy.references/local.md: the local procedure. It now also covers the--jsonoutput struct andLocalErrorOutput::from_error(choosing parity or redaction), which the old section left out.references/cloud.md: the Cloud steps, includingPERMISSIONS, rewritten in plain language, plus the files to change when adding a new command group.cli-help-textskill (#1051).agents/skills/cli-help-text/SKILL.md, replacing the "Writing help text" section of the rootAGENTS.md. Merged in from #1052. It covers:aboutand flag rules, and option order with thehelp_orderranks.CONTEXT FOR AGENTS:block: at most 8 lines, written densely for agents. Permission lines frompermissions.rsdon't count toward the 8. What it may hold, with a precondition naming the command or flag that meets it. It never holds implementation details. Includes a before/after example.--help, check each line, run the tests.The
add-cli-commandandopenapi-drift-remediationskills now point at it for help rules.releaseskill (#1053).agents/skills/release/SKILL.md, replacing the "Releases" section of the rootAGENTS.md. It covers the lockstep version bump, tagging the merge commit, and watchingrelease.yml. It also covers a step that wasn't written down anywhere: runNightlyUploadin ClickHouse/ClickHouse (gh workflow run nightly_upload.yml -R ClickHouse/ClickHouse) as soon as Create Release succeeds.clickhousectl update,install.shand the npm postinstall take the version from the GitHub release but download the archive from builds.clickhouse.com. That workflow otherwise runs once a day, so until it runs, all three get a 404 for the new version. The skill ends with acurlcheck of all four archives and a checklist.Analyzer policy moved into the drift skill
The "Analyzer configuration and exemptions", "Enum value coverage" and "Extending the analyzer" sections of
crates/clickhouse-cloud-api/AGENTS.mdmove toopenapi-drift-remediation/references/analyzer.md. The crate file keeps the two rules any model change can hit: theVALUESconst and deprecated-field gating. It also gets back therename_allrule that the analyzer's error message points at. Step 3 of the drift skill now points at these rules instead of restating them.Wiring
.claude/skills/<name>symlinks to each of the four skills..gitignore:.agents/and.claude/stay ignored (chctl skillsinstalls there, and.claude/holds worktrees), except for these skills and their symlinks.AGENTS.md: a line in Workspace points at the drift skill. "Adding a command" is now a pointer plus two lines on code layout, and "Writing help text" is a two-line pointer. The Tests section points at the help skill for the wording rule "Releases" is a one-line pointer to the release skill. TheCloudErrorand telemetry invariants are cut down to the rules themselves, the Cloud integration label rules point at.github/CLOUD_INTEGRATION.md, and the hand-kept list of local test binaries is gone (15.5 KB → 8.0 KB).crates/clickhouse-cloud-api/AGENTS.md: the "Remediating a drift issue" procedure is replaced by a pointer to the drift skill. The model policy stays; the analyzer policy moves to the drift skill's reference (19.3 KB → 12.5 KB).rename_allerror: now points atcrates/clickhouse-cloud-api/AGENTS.md, "OpenAPI drift", instead of a bare "AGENTS.md", and says "on models" rather than "in models.rs"..github/CLOUD_INTEGRATION.md: the intro now matchescloud-integration-decision.py. The planner runs on every same-repository push, and when it selects no live suites the check passes without the label.README.md: removes the note about closed stdout (| head) from the intro.scripts/check-openapi-drift.py: the drift issue's "Implementation Guide" points at the skill instead of carrying its own copy of the steps.Authoring choices
These follow Anthropic's skill authoring best practices and OpenAI's Codex skills docs and model guidance:
SKILL.md, so the agent loads only the one it needs.Gates
clickhouse-openapi-analyzerandclickhouse-cloud-apitests pass.🤖 Generated with Claude Code