chore: add pr template and pre-pre skill (#1031)

This commit is contained in:
Aakash Kattelu 2026-08-19 16:18:47 -04:00 committed by GitHub
parent bd5fd4df62
commit 7bafee5de1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 76 additions and 0 deletions

13
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,13 @@
## Description
<!-- 2-3 sentences about what problem this PR solves and how -->
## Proofs
<!-- Add screenshots, logs, files as a proof that this change works -->
## Checklist
- [ ] This PR is correlated to an existing issue, and I understand it will be closed if that issue does not have the `maintainer-approved` label.
<!-- Fixes #XXX -->

63
skills/pre-pr/SKILL.md Normal file
View File

@ -0,0 +1,63 @@
---
name: pre-pr
description: Prepare a Honcho change for a pull request to plastic-labs/honcho. Invoke before opening a PR, when drafting a PR body, when asked if a branch is PR-ready, or when filling the pull request template. Checks the linked issue, required tests and docs, then writes Description / Proofs / Fixes.
---
# Pre-PR checklist
Do this after the change works, before anyone opens the GitHub PR. Output is a filled template body — do not create the PR.
The template lives at `.github/pull_request_template.md`. Do not add extra sections.
## 1. Issue gate (hard stop)
A PR without a maintainer-approved issue will be closed.
```bash
gh issue view <N> --repo plastic-labs/honcho --json number,title,labels,state
```
Stop if any of these fail:
- no issue number, or the issue is not in `plastic-labs/honcho`
- issue is closed (unless this PR is explicitly reopening it)
- labels do not include `maintainer-approved`
Say which check failed. Do not draft a PR body around it.
## 2. Classify the diff
```bash
git diff main...HEAD --stat
```
Pick one primary kind: bug, feature, docs. Then decide layers:
| Surface touched | Required |
| --- | --- |
| `src/` (non-prompt) | unit tests under the matching `tests/` tree |
| deriver / dialectic / dreamer / LLM path | unit + consider live-llm (`tests/live_llm`) |
| queue, config hierarchy, multi-turn, SDK contract | unified (`uv run python -m tests.unified.run`) |
| `/v3` HTTP or deriver queue behavior | `/verify` skill (runtime, not just pytest) |
| public API, SDK exports, `config.toml` / settings, mintlify `docs/` | documentation in the matching file |
Skip a layer only with a one-line reason (e.g. "docs-only", "comment-only"). "When appropriate" is not a skip.
Invoke `/verify` when the runtime surface moved. Do not restate that skill here.
Lint/type before claiming tests are green: `uv run ruff check src/``uv run basedpyright` → the pytest command for the layer.
## 3. Proofs
Collect evidence that belongs in the PR, not in the commit:
- command + pass/fail for what you ran
- a log snippet, screenshot, or file path that shows the new behavior
- for bugs: the failing case before vs after, if you have it
If `/verify` ran, the proofs *are* that session's output. Do not invent green runs.
## 4. Write the body
Fill the description, proofs, checklist portion of the pull request description template.
Make sure to link the related github issue, otherwise the PR will be auto-closed.