diff --git a/.agents/skills/finish-pr/SKILL.md b/.agents/skills/finish-pr/SKILL.md new file mode 100644 index 00000000..f080e8ea --- /dev/null +++ b/.agents/skills/finish-pr/SKILL.md @@ -0,0 +1,32 @@ +--- +name: finish-pr +description: Use when a non-trivial code change is substantially complete and needs a final diff audit, documentation check, verification record, or pull request description. +--- + +# Finish PR + +Prepare reviewer-facing delivery from repository evidence. + +## Workflow + +1. Read `AGENTS.md`, `CLAUDE.md`, and `.github/pull_request_template.md`. +2. Determine the PR base branch or repository default branch. Inspect `git status`, + commits since the merge base, the complete merge-base diff, and important files + in context. Include submodule pointer changes; do not treat only unstaged files + as the change. +3. Audit comments in changed code. Add or update only comments that explain + non-obvious invariants, concurrency, ownership/lifetime, ordering, durability, + recovery/retry, performance, or compatibility. Do not narrate syntax. +4. Run the relevant build, tests, formatting, and documentation checks from + `CLAUDE.md`. Record exact commands and outcomes. State checks not run. +5. Fill the repository PR template from the final diff. + +## Quality gate + +- Describe concrete behavior and named components; avoid “updated logic.” +- Explain material decisions and tradeoffs without inventing rejected designs. +- Cover compatibility, regression/operational risk, rollback, and the best review + entry points. +- Verify every claim against the final diff and current command output. +- Keep trivial changes concise; make non-trivial changes complete. +- Draft only unless the user explicitly asks to publish or update the PR. diff --git a/.agents/skills/finish-pr/agents/openai.yaml b/.agents/skills/finish-pr/agents/openai.yaml new file mode 100644 index 00000000..bc921d35 --- /dev/null +++ b/.agents/skills/finish-pr/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Finish PR" + short_description: "Finalize changes for reviewer-ready delivery" + default_prompt: "Use $finish-pr to audit the final diff and prepare the pull request." diff --git a/.agents/skills/respond-to-review/SKILL.md b/.agents/skills/respond-to-review/SKILL.md new file mode 100644 index 00000000..5b30f019 --- /dev/null +++ b/.agents/skills/respond-to-review/SKILL.md @@ -0,0 +1,25 @@ +--- +name: respond-to-review +description: Use when pull request review comments, requested changes, or reviewer questions need to be investigated, addressed, or answered. +--- + +# Respond to Review + +Resolve feedback against the current code and report exactly what changed. + +## Workflow + +1. Read repository instructions and collect every in-scope review comment with + its file, line, author, and thread status. +2. Inspect the referenced code, callers, tests, and relevant diff before deciding + whether the feedback is valid. Do not implement comments blindly. +3. Classify each item as accepted, already addressed, technically inapplicable, + or requiring user/product direction. Give evidence for disagreements. +4. For accepted items, make the smallest root-cause fix, update necessary + explanatory comments/docs, and run focused regression checks plus required + repository checks. +5. Re-read the final diff and draft a response that maps each review item to the + concrete change and verification result. Call out unresolved items and unrun + checks explicitly. + +Do not resolve threads, post comments, push, or update a PR unless the user asks. diff --git a/.agents/skills/respond-to-review/agents/openai.yaml b/.agents/skills/respond-to-review/agents/openai.yaml new file mode 100644 index 00000000..f5051de0 --- /dev/null +++ b/.agents/skills/respond-to-review/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Respond to Review" + short_description: "Resolve feedback and report exact follow-up changes" + default_prompt: "Use $respond-to-review to address review feedback and draft the response." diff --git a/.claude/skills/finish-pr b/.claude/skills/finish-pr new file mode 120000 index 00000000..4dc32bb8 --- /dev/null +++ b/.claude/skills/finish-pr @@ -0,0 +1 @@ +../../.agents/skills/finish-pr \ No newline at end of file diff --git a/.claude/skills/respond-to-review b/.claude/skills/respond-to-review new file mode 120000 index 00000000..c15e2172 --- /dev/null +++ b/.claude/skills/respond-to-review @@ -0,0 +1 @@ +../../.agents/skills/respond-to-review \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..03a04539 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,44 @@ +## Context + + + +## Behavior before and after + + + +## Implementation + + + +## Design decisions and alternatives + + + +## Test plan + +- [ ] Unit/TCL tests +- [ ] Integration or manual validation +- [ ] Formatting/build checks +- [ ] Compatibility or performance validation, when relevant + +Commands and results: + +```text + +``` + +## Risk assessment + + + +## Rollback plan + + + +## Reviewer guide + + + +## Follow-up work + + diff --git a/AGENTS.md b/AGENTS.md index 06a2611f..76351b42 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,3 +34,33 @@ Discoverability note: nothing states this default except the startup banner (`Running logs will be written to the following path: …/install/logs`). `--help` only documents `--log_dir` as the *override*, never the default. To send logs elsewhere, pass `--log_dir=