ワンクリックで
positron-pr-helper
Generates well-structured PR bodies with dynamically fetched e2e test tags
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generates well-structured PR bodies with dynamically fetched e2e test tags
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Analyze e2e test failures from a GitHub Actions run. Provide a run ID or URL to download reports, extract traces/screenshots/logs, identify root causes, and get suggested actions. Works with both posit-dev/positron and posit-dev/positron-builds repos.
Triage a specific Positron e2e test that is already failing or flaking in CI. Given a test name, surface its recent distinct failure modes from history, pull the evidence (trace, screenshots, logs) for each mode, and reason through the evidence to a root cause collaboratively with the engineer, landing on a concrete test fix or a product-bug repro. Test-centric counterpart to e2e-failure-analyzer (run-centric). For authoring a brand-new test, use author-e2e-tests.
Use when writing, debugging, or maintaining Playwright e2e tests for Positron -- new test files, test cases, flaky-test fixes, test infrastructure, or performance/metric tests.
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting session data.
Use when working on the Chat Customizations editor — the management UI for agents, skills, instructions, hooks, prompts, MCP servers, and plugins.
Find and read logs from Code OSS dev builds. Use when: finding logs, reading log files, debugging Code OSS, checking renderer logs, extension host logs, agent host logs, main process logs, investigating errors in dev builds.
| name | positron-pr-helper |
| description | Generates well-structured PR bodies with dynamically fetched e2e test tags |
This skill helps you create comprehensive PR bodies for the posit-dev/positron repository with up-to-date e2e test tags fetched directly from the source of truth.
Use this skill when:
gh) installed and authenticatedI'll guide you through creating a comprehensive PR body:
First, I'll ask you:
If you provide an issue number, I'll use gh issue view to fetch details and understand the context better.
I'll dynamically fetch the current e2e test tags from test/e2e/infra/test-runner/test-tags.ts using our extraction script. This ensures we always have the complete, up-to-date list of tags including:
Before drafting Validation Steps, I'll run the local PETE preview (the pete skill, sharing its rubric with .claude/skills/pr-test-checker/SKILL.md -- the same one CI's PR Test Checker uses) against your working tree. This checks test coverage for the change the same way I already check test tags:
@: tag is missing from the PR body -- these fold into the tag list from Step 2If PETE reports Insufficient, I'll say so and suggest concrete additions (file path, runner, what to test) before we finalize the PR body -- I won't silently paper over a coverage gap with a generic "Validation Steps" section. This is a local preview only; it doesn't replace the official check, which now runs on demand in CI -- comment /pete (or /recheck-tests, /rePETE, /re-pete) on the PR once it's open to get the authoritative verdict.
@:tag where you mean to trigger itscripts/pr-tags-parse.sh (CI) extracts tags with a raw grep -o "@:[a-zA-Z0-9_-]*" over the entire PR body text. It has no awareness of markdown structure -- a literal @:tag substring runs that suite's CI job regardless of which section it's in, whether it's inside backticks, or whether you meant it as a real directive or just prose mentioning a tag name. Backtick-quoting does not protect against this (confirmed on PR #14734).
So: the literal string @: followed by tag characters must appear only in the Validation Steps section, and only for tags you actually want CI to run. Everywhere else in the PR body (Summary, QA Notes, bullets explaining blast radius or affected areas, etc.), refer to the area by name without the @: prefix -- e.g. "the sessions, apps, and viewer suites" or "affects the sessions helper broadly," never "@:sessions @:apps @:viewer" as a parenthetical aside. If you need to discuss the tagging system itself (like a PR that fixes tag auto-detection), the same rule applies -- describe the tag by name, don't spell out the @: form.
Before finalizing any PR body, scan your own draft for @: outside the Validation Steps section and reword those away.
Based on the PR type and context, I'll create a structured PR body with:
Opening Line
Fixes, Closes, Resolves) so the issue auto-closes when the PR is mergedDescription/Summary
Screenshots (for UI changes only)
Release Notes
Validation Steps
Once the PR body is ready, you can choose:
pbcopygh pr editThis script extracts and categorizes all test tags from the TypeScript enum:
# Usage:
./scripts/fetch-test-tags.sh [format]
# format: markdown (default), json, or list
The script:
test-tags.ts without needing TypeScript compilationI use different templates based on PR type:
Fixes #[issue]
[2-3 sentences explaining the fix]
### Release Notes
#### New Features
- N/A
#### Bug Fixes
- [User-facing description] (#[issue])
### Validation Steps
[relevant tags]
[Simple test instructions]
Fixes #[issue]
### Summary
[1-2 paragraphs explaining the feature]
[Technical implementation notes if relevant]
[Related PRs if applicable]
### Release Notes
#### New Features
- [User-facing description] (#[issue])
#### Bug Fixes
- N/A
### Validation Steps
[relevant tags]
[Detailed test steps with code examples]
Fixes #8930
This PR fixes the Data Explorer scrollbars snapping back to 0 on Safari. The issue was caused by incorrect event handling in the virtual scrolling implementation.
### Release Notes
#### New Features
- N/A
#### Bug Fixes
- Fix Data Explorer scrollbars snapping back to 0 on Safari (#8930)
### Validation Steps
@:data-explorer
Open a large data frame in Data Explorer on Safari and verify scrollbars can be dragged without snapping back.
Fixes #8484
### Summary
Adds support for native DuckDB connections in the Connections Pane. Users can now inspect DuckDB databases directly without needing external tools. This implementation uses the native DuckDB Python API for better performance.
Related PR: posit-dev/ark#456 (adds DuckDB kernel support)
### Release Notes
#### New Features
- Added support for inspecting native DuckDB connections in the Connections Pane (#8484)
#### Bug Fixes
- N/A
### Validation Steps
@:connections @:duck-db
1. Install DuckDB: `pip install duckdb`
2. Create a new DuckDB connection using the modal
3. Run the following to create test data:
```python
conn.execute("""
CREATE TABLE employees (
id INTEGER,
name VARCHAR,
salary INTEGER
)
""")
conn.execute("INSERT INTO employees VALUES (1, 'Alice', 75000)")
## Tips
- Be concise but complete - no flowery language
- Use present tense ("fixes", "adds", "enables")
- Include issue references in parentheses in release notes
- Always include at least one e2e test tag in validation steps
- Never write a literal `@:tag` outside the Validation Steps section -- CI's tag parser matches the substring anywhere in the body, in prose or backticks alike, and will trigger that suite unintentionally
- For complex changes, numbered test steps are better
- Keep release notes user-facing (avoid implementation details)