
Docs Pr Write
- 1 installs
- 5.4k repo stars
- Updated August 4, 2026
- grafana/tempo
docs-pr-write skill documents Write or update Tempo docs for user-facing PR changes identified by docs-pr-check.
About
docs-pr-write skill documents Write or update Tempo docs for user-facing PR changes identified by docs-pr-check. name: docs-pr-write description: Write or update Tempo docs for user-facing PR changes identified by docs-pr-check
- Write or update Tempo docs for user-facing PR changes identified by docs-pr-check.
- Required: Note the minimum Tempo or storage format version. If unclear, flag as an open item rather than omitting.
- Platform-specific setup patterns for docs-pr-write.
- Evidence-backed steps from upstream SKILL.md.
- When-to-use criteria for docs-pr-write versus alternatives.
Docs Pr Write by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,172 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
docs-pr-write capabilities & compatibility
- Capabilities
- docs pr write quick start · docs pr write when to use guidance · docs pr write integration patterns
- Works with
- grafana
What docs-pr-write says it does
allowed-tools: Bash Read Grep Write
For a prioritized PR list from `docs-pr-check`, create or update the required documentation pages.
npx skills add https://github.com/grafana/tempo --skill docs-pr-writeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 5.4k |
| Last updated | August 4, 2026 |
| Repository | grafana/tempo ↗ |
How do I use docs-pr-write correctly?
Write or update Tempo docs for user-facing PR changes identified by docs-pr-check
Who is it for?
Teams implementing docs-pr-write workflows from the catalog.
Skip if: Skip when requirements clearly match a different specialized stack.
When should I use this skill?
User asks about docs-pr-write, write or update tempo docs for user-facing pr changes identified by docs-pr-check.
What you get
Working docs-pr-write setup with validated configuration and next steps.
Files
PR docs writer (execution phase)
For a prioritized PR list from docs-pr-check, create or update the required documentation pages.
This skill is for documentation execution only. Do not generate release notes.
Usage
Invoke with /docs-pr-write.
Provide:
- PR numbers to process (recommended: only
Docs neededandDocs update neededrows fromdocs-pr-check) - The target Tempo version/branch context (for example
main,release-2.10, or3.0-docs)
If the PR list is missing, ask for the output table from docs-pr-check.
Inputs
Expected handoff from docs-pr-check:
- PR number
- Classification
- Notes about gaps
- Suggested target docs files, if known
Steps to Perform
1. Confirm scope and order
1. Process only:
Docs neededDocs update needed
2. Work in user-impact priority order:
- Breaking changes/migrations
- New
configurationand API behavior - New query syntax and user workflows
- Lower-risk clarifications
2. Reconstruct capability from each PR
For each PR:
gh pr view XXXX --repo grafana/tempo --json title,body,files,labelsExtract:
- What users can do now
- What changed in behavior
- New configuration fields/flags/endpoints/query syntax
- Version constraints and compatibility notes
3. Pick the canonical docs target
Prefer updating existing docs over creating new pages.
Use this order: 1. Existing page that already covers the topic 2. Existing related section where users already look 3. New page only if no suitable home exists
When uncertain between two pages, choose the one closest to user workflow and cross-link the other.
4. Write concise, task-oriented content
For each required change:
- Explain what changed in user terms
- Add when/why to use it
- Include one concrete, runnable example — match the format to the change type (curl for API endpoints, YAML for config, TraceQL for query syntax, shell command for CLI)
- Required: Note the minimum Tempo or storage format version. If unclear, flag as an open item rather than omitting.
- Call out default values when documenting configuration options
Keep content concise and avoid duplicating large reference material.
5. Validate claims against code
Do not rely only on PR description text.
Use the PR's changed file list as your guide to where to look. Only search within the grafana/tempo repository — do not search across other Grafana repositories.
For each claim you document, verify in the file type most likely to be authoritative:
- Go files: exact field name spelling in struct or constant, default value (
RegisterFlagsAndApplyDefaults), accepted enum values - Proto files: API endpoint paths, request/response field names
- Helm/YAML files: configuration keys and default values in deployment examples
Correct docs if code and PR text differ.
6. Link integration
Add links where users need them:
- From related docs sections to canonical page
- From release notes entries to canonical docs, if release notes are already being edited in the same task
Use consistent, clear link text (for example documentation when requested).
7. Final QA pass
Before returning:
- Confirm each PR in scope now has either updated docs or a justified blocker
- Check internal links and section anchors
- Keep style aligned with existing Tempo docs pages
- Keep language action-oriented and concise
8. Hand off verification items to the user
After completing all doc changes, output a "Before you submit" block. Select only the checklist sections from .agents/doc-agents/shared/verification-checklist.md that are relevant to what you just documented:
- Configuration option added or changed → include Codebase Verification and Configuration Reference Check
- New feature, query syntax, or API change → include Version Compatibility
- Style or wording edit only → omit code verification items entirely
Present the selected items as a short checklist for the user to complete before submitting the PR. Do not attempt to complete these items yourself.
Return Format
Return:
1. Files changed (path list) 2. PR-to-doc mapping:
- PR
- what was documented
- where it was documented
3. Open items:
- uncertain claims needing engineering confirmation
- deferred follow-up docs work
Reference
- Triage skill:
.claude/skills/docs-pr-check/SKILL.md - Repo orientation:
.agents/doc-agents/shared/docs-context-guide.md— code-to-docs mapping, key file paths, and Tempo doc conventions - Workflow detail:
.agents/doc-agents/shared/release-notes-workflow.md - Verification checklist (Step 8 source):
.agents/doc-agents/shared/verification-checklist.md
{
"skill_name": "docs-pr-write",
"usage_modes": [
"standalone: invoked directly with a PR number and known gap, outside the release notes workflow",
"workflow: runs as Phase 1.75 of the release notes workflow, consuming the handoff table produced by docs-pr-check (Phase 1.5)"
],
"pr_selection": {
"note": "Before running evals, select PRs using the commands in each test case's pr_selection_command field. See .claude/skills/evals/README.md for the full pre-flight process."
},
"evals": [
{
"id": 1,
"mode": "standalone",
"pr_type": "A merged PR that added or changed a user-facing API behavior, endpoint, or query syntax with incomplete or missing documentation",
"pr_selection_command": "gh pr list --repo grafana/tempo --state merged --limit 100 --json number,title,author,labels,files | jq '[.[] | select(.author.login != \"dependabot[bot]\" and .author.login != \"github-actions[bot]\") | select(.files | map(.path) | any(startswith(\"tempodb/\") or startswith(\"modules/\") or startswith(\"pkg/\"))) | select(.files | map(.path) | any(startswith(\"docs/\")) | not)] | .[0:10]'",
"prompt_template": "PR #{PR_1} made a user-facing change but the docs don't cover it. Use docs-pr-write to update the docs.",
"expected_output": "The relevant docs page is updated with content covering the change. Includes at least one concrete example. Return format shows 'Files changed', what was documented and where, and any open items.",
"assertions": [
"A file under docs/sources/tempo/ appears in 'Files changed'",
"New content includes a runnable example matching the change type (curl/HTTP for API, YAML for config, TraceQL for query, shell for CLI)",
"Existing page structure is preserved — the agent did not rewrite the entire page",
"Output includes a section mapping the PR number to the file that was updated",
"Output includes an 'Open items' section (even if empty)"
]
},
{
"id": 2,
"mode": "standalone",
"pr_type": "A merged PR that added a new configuration option or changed default values, with no documentation of the new fields",
"pr_selection_command": "gh pr list --repo grafana/tempo --state merged --limit 100 --json number,title,author,labels,files | jq '[.[] | select(.author.login != \"dependabot[bot]\" and .author.login != \"github-actions[bot]\") | select(.files | map(.path) | any(endswith(\".go\") and (contains(\"config\") or contains(\"Config\")))) | select(.files | map(.path) | any(startswith(\"docs/\")) | not)] | .[0:10]'",
"prompt_template": "Run docs-pr-write for PR #{PR_1}. There are no existing docs for this feature and I need a new configuration section added.",
"expected_output": "The relevant configuration docs page is updated with a new section. Content explains the feature in user terms, includes a YAML configuration example with field names verified against the codebase, and notes the Tempo version where it was introduced. Return format shows 'Files changed', PR-to-doc mapping, and open items.",
"assertions": [
"Output includes a 'Files changed' section listing at least one path under docs/sources/tempo/",
"Output includes a mapping of the PR number to the file(s) updated",
"Documented content includes a YAML or code configuration example",
"Content notes the minimum Tempo version or states 'introduced in Tempo X.Y'",
"Output includes an 'Open items' section (even if empty)",
"Configuration field names in the example match code, not just the PR description"
]
},
{
"id": 3,
"mode": "workflow",
"pr_type": "A merged PR classified as 'Docs needed' by docs-pr-check, with no existing documentation. Select a PR that changed Go, proto, or Helm files but no docs files.",
"pr_selection_command": "gh pr list --repo grafana/tempo --state merged --limit 100 --json number,title,author,labels,files | jq '[.[] | select(.author.login != \"dependabot[bot]\" and .author.login != \"github-actions[bot]\") | select(.files | map(.path) | any(startswith(\"docs/\")) | not) | select(.labels | map(.name) | any(. == \"type/feature\" or . == \"type/enhancement\" or . == \"add to changelog\"))] | .[0:10]'",
"prompt_template": "We're in Phase 1.75 of the Tempo release notes workflow. docs-pr-check (Phase 1.5) produced the following handoff. Run docs-pr-write to implement the required docs. Target branch is main.\n\n#{PR_1} | Docs needed | No existing docs found for this feature; new section required | {SUGGESTED_TARGET_FILE}",
"prompt_template_note": "Replace {SUGGESTED_TARGET_FILE} with the target file identified by docs-pr-check when you ran Phase 1.5 on this PR.",
"expected_output": "The target docs page is updated with a new section. Content explains the feature in user terms, includes a verified code or configuration example, and notes the Tempo version. Return format includes 'Files changed', PR-to-doc mapping, and an 'Open items' section structured so the release notes writer can link to the new section in Phase 2.",
"assertions": [
"Output includes a 'Files changed' section listing at least one path under docs/sources/tempo/",
"Output includes a PR-to-doc mapping with an entry for the PR",
"Documented content includes at least one code or configuration example",
"Content notes the minimum Tempo version or states 'introduced in Tempo X.Y'",
"Output includes an 'Open items' section (even if empty)",
"Field names or identifiers in the example are verified against code, not copied verbatim from the PR description"
]
},
{
"id": 4,
"mode": "workflow",
"pr_type": "A merged PR classified as 'Docs update needed' by docs-pr-check, where partial documentation exists but does not reflect the new behavior. Select a PR where docs/sources/tempo was not updated but the behavior changed.",
"pr_selection_command": "gh pr list --repo grafana/tempo --state merged --limit 100 --json number,title,author,labels,files | jq '[.[] | select(.author.login != \"dependabot[bot]\" and .author.login != \"github-actions[bot]\") | select(.files | map(.path) | any(startswith(\"docs/\")) | not) | select(.labels | map(.name) | any(. == \"type/enhancement\" or . == \"add to changelog\"))] | .[0:10]'",
"prompt_template": "Phase 1.5 of the Tempo release notes workflow is complete. Here is the docs-pr-check handoff for Phase 1.75. Run docs-pr-write. Branch context is main.\n\n#{PR_1} | Docs update needed | Existing docs do not reflect the new behavior | {EXISTING_DOCS_FILE}",
"prompt_template_note": "Replace {EXISTING_DOCS_FILE} with the existing docs file identified by docs-pr-check when you ran Phase 1.5 on this PR.",
"expected_output": "The existing docs page is updated to reflect the new behavior. Content is inserted into the existing page without restructuring it. Includes a concrete example and cross-links to related pages if they exist. Return format shows 'Files changed', PR-to-doc mapping, and 'Open items'. Existing page structure is preserved.",
"assertions": [
"The identified existing docs file (or equivalent) appears in 'Files changed'",
"Output includes a PR-to-doc mapping entry for the PR",
"New content includes at least one code or configuration example",
"Existing page structure and other entries are preserved — the agent did not rewrite the whole page",
"Content notes the minimum Tempo version, or flags version as an open item",
"Output includes an 'Open items' section"
]
}
]
}
Related skills
FAQ
What does docs-pr-write do?
docs-pr-write skill documents Write or update Tempo docs for user-facing PR changes identified by docs-pr-check.
When should I use docs-pr-write?
User asks about docs-pr-write, write or update tempo docs for user-facing pr changes identified by docs-pr-check.
Is this skill safe to install?
Review the Security Audits panel on this page before installing in production.