mirror of
https://github.com/warpdotdev/common-skills.git
synced 2026-09-14 19:03:05 +08:00
f3b58c81d1
* Add write-pr-description skill Adds a shared skill for writing the body of a pull request: following the repository's template, the prose baseline, and reviewer guidance. The skill covers three things `create-pr` did not: - Per-repo templates, including the case where the template's own instructions conflict with the skill, and machine-read markers that are silently dropped when a parser strips the comment they sit in. - ASD-STE100 as a prose baseline, with explicit exemptions so the rules do not get applied to identifiers, command lines, or repository jargon. - Reviewer guidance when the size, complexity, or blast radius of the change warrants it: a dependency-ordered reading order, and focus areas covering author uncertainty, security surfaces, decisions with a real alternative, and one-way doors. Tuned over two eval iterations against nine real PRs spanning +2/-2 to +7350/-51 across warp, warp-server, and warp-terraform. Assertion pass rate went from 20/26 with no skill to 50/54 with this version. The changes that mattered most between iterations: correcting a blast-radius definition that conflated user visibility with risk, subordinating the skill to template instructions, protecting rejected alternatives from the compression pass, and naming concrete verification methods rather than just demanding verification. `create-pr`'s description section now points here. The eval set is committed under `evals/` so the cases are reproducible. Co-Authored-By: Warp <agent@warp.dev> * Make write-pr-description concise on small changes The first version produced 455 words for a three-line IAM change and 497 for a two-line test fix. Evaluating nine PRs showed the excess was not in the analysis but in four specific places, only one of which the skill named: - paraphrases of comments the diff itself adds - inventories of the test functions the branch adds, with no result attached - the second and third statement of a fact already made - template scaffolding, including reproducing the template's own question text and links in order to answer "no" The Cut step now names all four, and gives rough size anchors so the target is set before drafting rather than only trimmed afterward. Also adds the rule that a small PR gets a sentence of reviewer guidance rather than a section with a heading over it. Re-running the same seven PRs cut every description by 31 to 67 percent: the IAM change from 455 words to 150, the test fix from 497 to 305, and the largest case from 1276 to 872 while keeping its reading order and focus areas. Two regressions that surfaced in that run are fixed here. Compression ate a rejected alternative on one case, so the self-check now asks directly whether the cut took a decision with it. And "no linked issue" was being stated in repositories that never use issue links, so it is now reported only where the repository asks for one. Co-Authored-By: Warp <agent@warp.dev> * Resolve two contradictions found in the final eval run The no-template fallback shape listed four sections, while the reviewer- guidance step says a small PR should fold guidance into the opening rather than raise a heading over it. On a five-line change those pull in opposite directions, and the fallback never said it was subject to the same rule. It does now. The validation cases were introduced with "say which of these applies", which reads as a menu of mutually exclusive options. In practice they combine: verifying a role's permission set locally while CI produces the plan is two cases at once. The intent was no repetition of a single fact, not one case per PR. Co-Authored-By: Warp <agent@warp.dev> * Treat unintended-looking discrepancies as a focus area The Cut step told authors to delete anything the diff shows at a glance, and that rule was eating the most author-specific observation there is: a name, value, or comment that does not match its surroundings. Three of these turned up across the eval set. A resource renamed to an `fte_` prefix while still bound to `group:eng@warp.dev`, where every other `fte_` resource in the repository binds `fte@warp.dev`. A new comment claiming a staging throttle matches production, where production is ten times lower. A commit message citing a precedent that lives in a different file. Visibility is the wrong test. All three are in the diff, and that is precisely why a reviewer reads past them: nothing marks them as wrong. The author is usually the only person who knows whether it was deliberate. Co-Authored-By: Warp <agent@warp.dev> --------- Co-authored-by: Warp <agent@warp.dev>
8 lines
114 B
Plaintext
8 lines
114 B
Plaintext
__pycache__/
|
|
*.py[cod]
|
|
*.pyo
|
|
.DS_Store
|
|
|
|
# Skill eval workspaces produced by the create-skill harness
|
|
*-workspace/
|