Skill Tracer
Skills › Scientific Agent Skills › markdown-mermaid-writing › pull_request.md

pull_request.md

319 lines · skills/markdown-mermaid-writing/templates/pull_request.md at 5f2bc03

Open on GitHub
1<!-- Source: https://github.com/SuperiorByteWorks-LLC/agent-project | License: Apache-2.0 | Author: Clayton Young / Superior Byte Works, LLC (Boreal Bytes) -->
2
3# Pull Request Documentation Template
4
5> **Back to [Markdown Style Guide](../references/markdown_style_guide.md)** — Read the style guide first for formatting, citation, and emoji rules.
6
7**Use this template for:** Documenting pull requests as persistent, searchable markdown records. It can serve as a companion record or the PR body, according to project conventions. It captures everything: what changed, why, how to verify, security impact, deployment strategy, and what was learned.
8
9**Key features:** Summary with impact classification, change inventory with before/after, testing evidence, security review, breaking change documentation, deployment strategy, observability plan, rollback plan, and reviewer checklist.
11**Project convention:** Use this optional file-based record only when the project requests
12it. Preserve the established tracker/PR workflow, link the live record, and replace all
13example paths. Editing this Markdown file does not update a hosted issue, PR, or board.
15---

<!-- Source: https://github.com/SuperiorByteWorks-LLC/agent-project | License: Apache-2.0 | Author: Clayton Young / Superior Byte Works, LLC (Boreal Bytes) -->

Pull Request Documentation Template

Back to Markdown Style Guide — Read the style guide first for formatting, citation, and emoji rules.

Use this template for: Documenting pull requests as persistent, searchable markdown records. It can serve as a companion record or the PR body, according to project conventions. It captures everything: what changed, why, how to verify, security impact, deployment strategy, and what was learned.

Key features: Summary with impact classification, change inventory with before/after, testing evidence, security review, breaking change documentation, deployment strategy, observability plan, rollback plan, and reviewer checklist.

Project convention: Use this optional file-based record only when the project requests it. Preserve the established tracker/PR workflow, link the live record, and replace all example paths. Editing this Markdown file does not update a hosted issue, PR, or board.


Raw lines 1 to 16
17## File Convention
19```
20docs/project/pr/pr-00000123-fix-auth-timeout.md
21docs/project/pr/pr-00000124-add-job-retry-metrics.md
22docs/project/pr/pr-00000125-refactor-ci-stage-order.md
23```
25- **Directory:** `docs/project/pr/`
26- **Naming:** `pr-` + PR number zero-padded to 8 digits + `-` + short lowercase hyphenated description
27- **Cross-reference:** Link to the live PR in the metadata table
28- **GitHub PR body:** Follow the repository template and include the actual summary and validation; optionally link this file (for example, `https://github.com/<org>/<repo>/blob/<branch>/docs/project/pr/pr-00000123-fix-auth-timeout.md`)
30---

File Convention

docs/project/pr/pr-00000123-fix-auth-timeout.md
docs/project/pr/pr-00000124-add-job-retry-metrics.md
docs/project/pr/pr-00000125-refactor-ci-stage-order.md
  • Directory: docs/project/pr/
  • Naming: pr- + PR number zero-padded to 8 digits + - + short lowercase hyphenated description
  • Cross-reference: Link to the live PR in the metadata table
  • GitHub PR body: Follow the repository template and include the actual summary and validation; optionally link this file (for example, https://github.com/<org>/<repo>/blob/<branch>/docs/project/pr/pr-00000123-fix-auth-timeout.md)

Raw lines 17 to 31
32## The Template
34Everything below the line is the template. Copy from here; commands, API routes,
35versions, thresholds, and numerical values are illustrative placeholders. Verify them
36against the actual project before publishing. Follow its existing tracker and PR conventions.
38---
40# PR-[NUMBER]: [Concise Title — What This Changes]
42| Field | Value |
43| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44| **PR** | `#NUMBER` (add tracker URL if your project uses one) |
45| **Author** | [Name] |
46| **Date** | [YYYY-MM-DD] |
47| **Status** | [Open / Merged / Closed] |
48| **Branch** | `[feature/branch-name]` → `main` |
49| **Related issues** | #ISSUE (replace with the project link), #ISSUE2 (replace with the project link) |
50| **Deploy strategy** | [Standard / Canary / Blue-green / Feature flag] |
52---

The Template

Everything below the line is the template. Copy from here; commands, API routes, versions, thresholds, and numerical values are illustrative placeholders. Verify them against the actual project before publishing. Follow its existing tracker and PR conventions.


PR-[NUMBER]: [Concise Title — What This Changes]

FieldValue
PR#NUMBER (add tracker URL if your project uses one)
Author[Name]
Date[YYYY-MM-DD]
Status[Open / Merged / Closed]
Branch[feature/branch-name] → main
Related issues#ISSUE (replace with the project link), #ISSUE2 (replace with the project link)
Deploy strategy[Standard / Canary / Blue-green / Feature flag]

Raw lines 32 to 53
54## 📋 Summary

📋 Summary

Raw lines 54 to 55
56### What changed and why
58[2–4 sentences. What this PR does at a business/product level, not code level. Why was this change necessary? What problem does it solve or what feature does it enable?]

What changed and why

[2–4 sentences. What this PR does at a business/product level, not code level. Why was this change necessary? What problem does it solve or what feature does it enable?]

Raw lines 56 to 59
60### Impact classification
62| Dimension | Level | Notes |
63| ----------------- | ------------------------------------------------------- | ------------------------------------- |
64| **Risk** | 🟢 Low / 🟡 Medium / 🔴 High | [Why this risk level] |
65| **Scope** | [Narrow / Moderate / Broad] | [What areas are affected] |
66| **Reversibility** | [Easily reversible / Requires migration / Irreversible] | [Rollback complexity] |
67| **Security** | [None / Low / Medium / High] | [Auth, data, or permissions changes?] |
69---

Impact classification

DimensionLevelNotes
Risk🟢 Low / 🟡 Medium / 🔴 High[Why this risk level]
Scope[Narrow / Moderate / Broad][What areas are affected]
Reversibility[Easily reversible / Requires migration / Irreversible][Rollback complexity]
Security[None / Low / Medium / High][Auth, data, or permissions changes?]

Raw lines 60 to 70
71## 🔍 Changes

🔍 Changes

Raw lines 71 to 72
73### Change inventory
75| File / Area | Change type | Description |
76| ---------------- | -------------------------------------- | ---------------------- |
77| `[path/to/file]` | [Added / Modified / Deleted / Renamed] | [What changed and why] |
78| `[path/to/file]` | [Type] | [Description] |
79| `[path/to/file]` | [Type] | [Description] |

Change inventory

File / AreaChange typeDescription
[path/to/file][Added / Modified / Deleted / Renamed][What changed and why]
[path/to/file][Type][Description]
[path/to/file][Type][Description]
Raw lines 73 to 80
81### Before and after
83[For behavioral changes, show the difference. Use code blocks, screenshots, or diagrams as appropriate.]
85**Before:**
87```
88[Previous behavior, output, or code pattern]
89```
91**After:**
93```
94[New behavior, output, or code pattern]
95```

Before and after

[For behavioral changes, show the difference. Use code blocks, screenshots, or diagrams as appropriate.]

Before:

[Previous behavior, output, or code pattern]

After:

[New behavior, output, or code pattern]
Raw lines 81 to 96
97### Architecture impact
99[If this PR changes how components interact, include a diagram. Skip this section for small changes.]
101```mermaid
102flowchart LR
103 accTitle: Architecture Change
104 accDescr: How this PR modifies the component interaction pattern
106 a[⚙️ Component A] -->|New path| b[📦 Component B]
107 b --> c[💾 Data Store]
108```
110<details>
111<summary><strong>📋 Detailed Change Notes</strong></summary>
113[Extended context for complex PRs — design tradeoffs, alternative approaches considered, migration details, performance benchmarks, or anything that helps reviewers understand the depth of the change.]
115</details>
117---

Architecture impact

[If this PR changes how components interact, include a diagram. Skip this section for small changes.]

flowchart LR
    accTitle: Architecture Change
    accDescr: How this PR modifies the component interaction pattern

    a[⚙️ Component A] -->|New path| b[📦 Component B]
    b --> c[💾 Data Store]

<details> <summary><strong>📋 Detailed Change Notes</strong></summary>

[Extended context for complex PRs — design tradeoffs, alternative approaches considered, migration details, performance benchmarks, or anything that helps reviewers understand the depth of the change.]

</details>


Raw lines 97 to 118
119## 🧪 Testing
121### How to verify
123```bash
124# Steps a reviewer can follow to test this change locally
125[command 1]
126[command 2]
127[command 3 — with expected output]
128```

How to verify

# Steps a reviewer can follow to test this change locally
[command 1]
[command 2]
[command 3 — with expected output]
Raw lines 121 to 129
130### Test coverage
132| Test type | Status | Notes |
133| ----------------- | ----------- | ---------------------------------- |
134| Unit tests | [Run result or Not run] | [N new / N modified] |
135| Integration tests | [Run result or Not run] | [Details] |
136| Manual testing | [Verified with evidence or Not run] | [What was tested manually] |
137| Performance | ⬜ N/A | [Or benchmark results if relevant] |

Test coverage

Test typeStatusNotes
Unit tests[Run result or Not run][N new / N modified]
Integration tests[Run result or Not run][Details]
Manual testing[Verified with evidence or Not run][What was tested manually]
Performance⬜ N/A[Or benchmark results if relevant]
Raw lines 130 to 138
139### Edge cases considered
141- [Edge case 1 — how it's handled]
142- [Edge case 2 — how it's handled]
143- [Edge case 3 — or "not applicable" for this change]
145---

Edge cases considered

  • [Edge case 1 — how it's handled]
  • [Edge case 2 — how it's handled]
  • [Edge case 3 — or "not applicable" for this change]

Raw lines 139 to 146
147## 🔒 Security
149### Security checklist
151- [ ] No secrets, credentials, API keys, or PII in the diff
152- [ ] Authentication/authorization changes reviewed (if applicable)
153- [ ] Input validation added for new user-facing inputs
154- [ ] Injection protections maintained (SQL, XSS, CSRF)
155- [ ] Dependencies scanned for known vulnerabilities
156- [ ] Data encryption at rest/in transit maintained
158**Security impact:** [None / Low / Medium / High] — [Brief justification]
160[If security-sensitive: **Reviewed by:** [security reviewer name, date]]
162<details>
163<summary><strong>🔐 Security Details</strong></summary>
165[For security-sensitive changes: threat model, attack vectors considered, mitigations applied. This section helps future security audits understand what was evaluated.]
167</details>
169---

Security checklist

  • [ ] No secrets, credentials, API keys, or PII in the diff
  • [ ] Authentication/authorization changes reviewed (if applicable)
  • [ ] Input validation added for new user-facing inputs
  • [ ] Injection protections maintained (SQL, XSS, CSRF)
  • [ ] Dependencies scanned for known vulnerabilities
  • [ ] Data encryption at rest/in transit maintained

Security impact: [None / Low / Medium / High] — [Brief justification]

[If security-sensitive: Reviewed by: [security reviewer name, date]]

<details> <summary><strong>🔐 Security Details</strong></summary>

[For security-sensitive changes: threat model, attack vectors considered, mitigations applied. This section helps future security audits understand what was evaluated.]

</details>


Raw lines 149 to 170
171## ⚡ Breaking Changes
173**This PR introduces breaking changes:** [Yes / No]
175[If no, delete the rest of this section.]

⚡ Breaking Changes

This PR introduces breaking changes: [Yes / No]

[If no, delete the rest of this section.]

Raw lines 171 to 176
177### What breaks
179| What breaks | Who's affected | Migration path |
180| ---------------------------------- | ------------------------ | ---------------- |
181| [API endpoint / behavior / config] | [Service / team / users] | [How to migrate] |

What breaks

What breaksWho's affectedMigration path
[API endpoint / behavior / config][Service / team / users][How to migrate]
Raw lines 177 to 182
183### Migration guide
185**Before:**
187```
188[Old usage, API call, config, or behavior]
189```
191**After:**
193```
194[New usage — what consumers need to change]
195```
197**Deprecation timeline:** [When the old behavior will be removed, if applicable]
199---

Migration guide

Before:

[Old usage, API call, config, or behavior]

After:

[New usage — what consumers need to change]

Deprecation timeline: [When the old behavior will be removed, if applicable]


Raw lines 183 to 200
201## 🔄 Rollback Plan
203[How to revert this change if something goes wrong in production.]
205**Revert command:**
207```bash
208git revert [commit-sha]
209```
211**Additional steps needed:**
213- [ ] [Database migration rollback if applicable]
214- [ ] [Feature flag disable if applicable]
215- [ ] [Cache invalidation if applicable]
216- [ ] [Notify affected teams]
218> ⚠️ **Rollback risk:** [Any caveats — data migration that's one-way, API consumers that may have adopted the new contract, etc.]
220---

🔄 Rollback Plan

[How to revert this change if something goes wrong in production.]

Revert command:

git revert [commit-sha]

Additional steps needed:

  • [ ] [Database migration rollback if applicable]
  • [ ] [Feature flag disable if applicable]
  • [ ] [Cache invalidation if applicable]
  • [ ] [Notify affected teams]
⚠️ Rollback risk: [Any caveats — data migration that's one-way, API consumers that may have adopted the new contract, etc.]

Raw lines 201 to 221
222## 🚀 Deployment

🚀 Deployment

Raw lines 222 to 223
224### Strategy
226**Approach:** [Standard deploy / Canary (N% → 100%) / Blue-green / Feature flag]
228**Feature flags:** [Flag name: `[flag_name]` — default: [off/on], rollout: [%/audience]]

Strategy

Approach: [Standard deploy / Canary (N% → 100%) / Blue-green / Feature flag]

Feature flags: [Flag name: [flag_name] — default: [off/on], rollout: [%/audience]]

Raw lines 224 to 229
230### Pre-deployment
232- [ ] [Database migrations applied]
233- [ ] [Environment variables set]
234- [ ] [Dependent services deployed first: [service names]]
235- [ ] [Feature flag configured in [flag management tool]]

Pre-deployment

  • [ ] [Database migrations applied]
  • [ ] [Environment variables set]
  • [ ] [Dependent services deployed first: [service names]]
  • [ ] [Feature flag configured in [flag management tool]]
Raw lines 230 to 236
237### Post-deployment verification
239- [ ] [Health check endpoint returns 200]
240- [ ] [Key user flow verified: [which flow]]
241- [ ] [Metrics baseline captured: [which metrics]]
242- [ ] [No error rate spike in first [N] minutes]
244---

Post-deployment verification

  • [ ] [Health check endpoint returns 200]
  • [ ] [Key user flow verified: [which flow]]
  • [ ] [Metrics baseline captured: [which metrics]]
  • [ ] [No error rate spike in first [N] minutes]

Raw lines 237 to 245
246## 📡 Observability

📡 Observability

Raw lines 246 to 247
248### Monitoring
250- **Dashboard:** [Link to relevant dashboard or "existing dashboards sufficient"]
251- **Key metrics to watch:** [Latency p95, error rate, throughput — be specific]
252- **Watch window:** [How long to monitor post-deploy: 15m / 1h / 24h]

Monitoring

  • Dashboard: [Link to relevant dashboard or "existing dashboards sufficient"]
  • Key metrics to watch: [Latency p95, error rate, throughput — be specific]
  • Watch window: [How long to monitor post-deploy: 15m / 1h / 24h]
Raw lines 248 to 253
254### Alerts
256- [New alerts added: [alert name, threshold, channel]]
257- [Existing alerts affected: [which ones and how]]
258- [Or: "No alert changes needed"]

Alerts

  • [New alerts added: [alert name, threshold, channel]]
  • [Existing alerts affected: [which ones and how]]
  • [Or: "No alert changes needed"]
Raw lines 254 to 259
260### Logging
262- [New log entries: [what's logged, at what level]]
263- [Changed log levels: [what changed and why]]
264- [Or: "No logging changes"]

Logging

  • [New log entries: [what's logged, at what level]]
  • [Changed log levels: [what changed and why]]
  • [Or: "No logging changes"]
Raw lines 260 to 265
266### Success criteria
268[How do you know this deploy is healthy? Be specific: "p95 latency stays under 200ms, error rate stays below 0.1%, no new error types in logs for 1 hour."]
270---

Success criteria

[How do you know this deploy is healthy? Be specific: "p95 latency stays under 200ms, error rate stays below 0.1%, no new error types in logs for 1 hour."]


Raw lines 266 to 271
272## ✅ Reviewer Checklist
274- [ ] Code follows project style guide and linting rules
275- [ ] No `TODO` or `FIXME` comments introduced without linked issues
276- [ ] Error handling covers failure modes (no empty catch blocks)
277- [ ] No secrets, credentials, or PII in the diff
278- [ ] Tests cover the happy path and at least one error path
279- [ ] Documentation updated if public API or behavior changed
280- [ ] Database migrations are reversible (if applicable)
281- [ ] Performance impact considered (no N+1 queries, no unbounded lists)
282- [ ] Breaking changes documented with migration guide (if applicable)
283- [ ] Feature flag configured correctly (if applicable)
284- [ ] Monitoring/alerting updated for new failure modes (if applicable)
285- [ ] Security review completed (if security-sensitive)
287---

✅ Reviewer Checklist

  • [ ] Code follows project style guide and linting rules
  • [ ] No TODO or FIXME comments introduced without linked issues
  • [ ] Error handling covers failure modes (no empty catch blocks)
  • [ ] No secrets, credentials, or PII in the diff
  • [ ] Tests cover the happy path and at least one error path
  • [ ] Documentation updated if public API or behavior changed
  • [ ] Database migrations are reversible (if applicable)
  • [ ] Performance impact considered (no N+1 queries, no unbounded lists)
  • [ ] Breaking changes documented with migration guide (if applicable)
  • [ ] Feature flag configured correctly (if applicable)
  • [ ] Monitoring/alerting updated for new failure modes (if applicable)
  • [ ] Security review completed (if security-sensitive)

Raw lines 272 to 288
289## 💬 Discussion
291[Capture key review feedback and decisions made during the review process. This is the institutional memory — future developers will read this.]

💬 Discussion

[Capture key review feedback and decisions made during the review process. This is the institutional memory — future developers will read this.]

Raw lines 289 to 292
293### Release note
295**Category:** [Feature / Fix / Enhancement / Breaking / Security / Performance]
297> [One-line release note for changelog — written for end users, not developers]

Release note

Category: [Feature / Fix / Enhancement / Breaking / Security / Performance]

[One-line release note for changelog — written for end users, not developers]
Raw lines 293 to 298
299### Key review decisions
301- **[Topic]:** [What was discussed and what was decided]
302- **[Topic]:** [Discussion and resolution]

Key review decisions

  • [Topic]: [What was discussed and what was decided]
  • [Topic]: [Discussion and resolution]
Raw lines 299 to 303
304### Follow-up items
306- [ ] Task that should happen after merge but isn't blocking (replace with the project link)
307- [ ] Technical debt to address later (replace with the project link)
309---

Follow-up items

  • [ ] Task that should happen after merge but isn't blocking (replace with the project link)
  • [ ] Technical debt to address later (replace with the project link)

Raw lines 304 to 310
311## 🔗 References
313- Design document or ADR (replace with the project link)
314- Related issue (replace with the project link)
315- [Relevant documentation](https://example.com)
317---
319_Last updated: [Date]_

🔗 References

  • Design document or ADR (replace with the project link)
  • Related issue (replace with the project link)
  • Relevant documentation

Last updated: [Date]

Raw lines 311 to 319