Repository navigation
feat: add develop-with-evidence and doris-pr-description skills - #16
Merged
morningman merged 3 commits intoNov 4, 2026
Conversation
Writes, rewrites, or checks the title and description of an apache/doris PR against the Doris PR standard: four modes (Create, Update, Rewrite, Check), ten PR types with their required fields and worked examples, a structural checker (check_pr.py, with --self-test) and a diff profiler (diff_profile.py). Takes its facts from the handoff file that develop-with-evidence leaves when there is one, and writes to GitHub only after the user confirms the drafts. The trigger phrases in the description are English examples, with a note that requests in any language count, like the repository's other skill descriptions. Co-Authored-By: Claude Opus 5.5 <[email protected]>
A six-stage development workflow (scope, implement, verify, self-review, evidence, deliver) that ties every claim in the final PR to evidence matching the final code: it confirms that a reported bug is real before fixing it, chooses verification by change type, checks that tests fail on the baseline and pass on the candidate, re-verifies after later edits or rebases, and ends with a Ready / Partially verified / Not ready pre-submission status. It leaves an English handoff file under $(git rev-parse --git-common-dir)/pr-handoff/ with a PR description draft and the facts behind it, which doris-pr-description takes as given. The skill never publishes a PR. The skill was drafted in Chinese; this is its English translation, with the same rules, structure, and file layout. Co-Authored-By: Claude Opus 5.5 <[email protected]>
List both skills under "Working on Doris itself", explain how the three contributor-side skills follow a change and the handoff file between the first two, and add their routing examples, dependencies, the checker self-test, and layout entries. The paragraph that said nothing here builds Doris or runs tests, and that the only GitHub write is the PASS comment, no longer held: it now names the skill that edits code and runs tests, the one that stays read-only, and both sources of GitHub writes. CLI-CONTRACT.md names all three contributor-side skills as outside the doriscli contract. Co-Authored-By: Claude Opus 5.5 <[email protected]>
hello-stephen
pushed a commit
to apache/doris
that referenced
this pull request
Nov 14, 2026
…0582) ### Background `doris-skills` is a submodule that points at apache/doris-skills, the Apache Doris repository of agent skills: instructions and scripts that coding agents such as Claude Code and Codex load for Doris tasks. Nothing builds from it; it is checked out on request (`git submodule update --init doris-skills`) and by the CI jobs that clone every submodule. This repository pins `c0aca2f` (apache/doris-skills#2, June), which has three skills. ### What problem does this PR solve? Issue Number: None Related PR: #64240 (the previous update of this pointer), #70422 (moves the same pointer to `0b36dcb` and adds the `AGENTS.md` guidance; conflicts with this PR on that line), apache/doris-skills#17 (the commit this PR pins) PR Type: Build/CI/Chore Problem Summary: Since `c0aca2f`, doris-skills has merged 13 PRs that add four skills, for debugging, local PR review, development, and PR descriptions, and a checkout of this repository still gets none of them. This PR moves the pointer to `c353d71`, the tip of doris-skills `main`, and changes nothing else. Builds, tests, and Doris users see no change. | | Skills in `doris-skills/skills/` | |---|---| | master (`c0aca2f`) | `doris-architecture-advisor`, `doris-best-practices`, `doris-profile-reader` | | this PR (`c353d71`) | `develop-with-evidence`, `doris-architecture-advisor`, `doris-best-practices`, `doris-debug`, `doris-pr-description`, `doris-profile-reader`, `doris-repo-review` | ### Details - **Affected:** Only the `doris-skills` pointer. The CI jobs that clone every submodule (`submodules: recursive` in `be-ut-mac.yml`, `build-extension.yml`, `build-thirdparty.yml`, `build-ui.yml`, and `checkstyle.yaml`, and `git submodule update --init --recursive --depth 1` in the performance pipeline's `compile.sh`) clone doris-skills at `c353d71` without reading it; `build.sh` and `run-be-ut.sh` update only the `contrib/` submodules they name. - **Developer and release impact:** Developers who check out the submodule get the seven skills at `c353d71`, about 2.3 MB; existing checkouts keep their commit until the next `git submodule update`. Release builds don't change, since no script in this repository reads `doris-skills`. - **License and third-party:** None. doris-skills is an Apache-2.0 repository of the ASF, and no file from it is added to this tree. - **Rollback:** Revert this PR; local submodule checkouts made meanwhile do no harm. ### Testing - `git ls-remote https://github.com/apache/doris-skills refs/heads/main` returns `c353d71bc50d6c0baf1831dec33cbfa0abc64ef2`, the commit this PR pins: the squash merge of apache/doris-skills#17, not a PR-only commit. `c0aca2f` is its ancestor. - A fresh clone of the URL in `.gitmodules`, checked out at `c353d71` as `git submodule update --init doris-skills` does, holds the seven skills in the table above. - `python3 skills/doris-pr-description/scripts/check_pr.py --self-test` at `c353d71` reports `Self-test: 11 examples in 10 files, 0 problems`. ### Notes for Reviewers - The pointer moves over 13 commits of apache/doris-skills (#3 to #17), +10,047 −45 in 114 files, each reviewed and merged there; the three skills pinned today don't change. In this repository's diff, only the pin itself needs checking. - #70422 changes the same line, to `0b36dcb` (apache/doris-skills#16). Whichever of the two merges second keeps `c353d71`.
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.
Adds two contributor-side skills for the part of a Doris change that comes before review: writing it, and then opening its PR. A handoff file connects them, so the PR description is written from the evidence gathered during development instead of being reconstructed from the diff afterward.
doris-repo-reviewalready covers the review itself.Three commits: one per skill, and the docs that the two new skills made out of date.
doris-pr-descriptioncomes first becausedevelop-with-evidencepoints into its files.1.
feat: add doris-pr-description skillskills/doris-pr-descriptionwrites, rewrites, or checks the title and description of anapache/dorisPR against a PR standard built around what a reviewer needs in the first minute: a Background for readers who don't know the module, a Problem Summary that explains the size of the diff, and the answers only the author can give (why this approach, what was tested, what changes for existing users).SKILL.mdreferences/types/,references/examples/references/handoff-intake.md,references/development.mddevelop-with-evidence: what the PR step takes as given, and what development must establishreferences/facts/scripts/check_pr.py--self-testchecks every example and type filescripts/diff_profile.pyGitHub writes (
git push,gh pr create/gh pr edit, andgh issue createfor a Feature without an issue) happen only after the user confirms the drafts, or when the request itself said to publish without review. Rewrite and Check modes never write to GitHub.2.
feat: add develop-with-evidence skillskills/develop-with-evidenceis a six-stage development workflow. Its aim is that every claim in the final PR rests on evidence that matches the final code.NOT_RUNReady/Partially verified: <gap>/Not ready: <reason>pre-submission status and a summary for the developerVerification is chosen by change type (
references/change-types/: bugfix, feature, enhancement, refactor, performance, test/CI, config/build/migration, frontend and low-impact, revert). Reading-heavy evidence work, such as long logs, caller tracing, and cross-branch checks, can go to subagents; every judgment and code change stays with the main agent.The skill leaves an English handoff file at
$(git rev-parse --git-common-dir)/pr-handoff/<branch>.md, inside.gitso that it is never committed. It holds a PR description draft in the repository's template, the decisions and their alternatives, the parts of the change, the existing tests, the evidence entries, and the AI involvement. The skill never pushes or opens a PR.3.
docs: add develop-with-evidence and doris-pr-description to the READMEdevelop-with-evidence), which stays read-only (doris-repo-review), and where GitHub writes come from.CLI-CONTRACT.md: names all three contributor-side skills as outside the doriscli contract.Notes for reviewers
develop-with-evidencewas drafted in Chinese and is translated here one to one: same rules, structure, and file layout. A side-by-side review of the translation against the Chinese original found no omitted rules; its wording fixes are folded in.doris-pr-descriptionwas already English apart from the Chinese trigger phrases in itsdescription; those are now English examples, with a note that requests in any language count. The repository's own triggering test (verify/behavior/triggering.sh) already routes Chinese prompts to skills whose descriptions are English only.check_pr.pyanddiff_profile.pyare marked executable, like every other script underskills/.verify/changes: neither skill makes a DDL or doriscli claim for L1/L2 to check, anddoris-pr-descriptioncarries its own self-test.Testing
python3 skills/doris-pr-description/scripts/check_pr.py --self-test→Self-test: 11 examples in 10 files, 0 problems.python3 skills/doris-pr-description/scripts/diff_profile.py HEAD~3..HEADruns on this repository and prints the per-kind and per-commit split.develop-with-evidence/SKILL.mdandREADME.mdresolves,agents/openai.yamlparses, and bothdescriptionfields are under the 1024-character limit (920 fordoris-pr-description, 743 fordevelop-with-evidence).develop-with-evidence/references/sources.mdreturn HTTP 200.🤖 Generated with Claude Code