positron-pr-helper

3
0
Source

Generates well-structured PR bodies with dynamically fetched e2e test tags

Install

mkdir -p .claude/skills/positron-pr-helper && curl -L -o skill.zip "https://mcp.directory/api/skills/download/3314" && unzip -o skill.zip -d .claude/skills/positron-pr-helper && rm skill.zip

Installs to .claude/skills/positron-pr-helper

About this skill

Positron PR Helper

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.

When to Use This Skill

Use this skill when:

  • Creating a new PR and need a well-structured body
  • Updating an existing PR body with the correct format
  • You need the current list of e2e test tags for QA notes
  • You want to ensure your PR body follows Positron conventions

Prerequisites

  • GitHub CLI (gh) installed and authenticated
  • Working in the Positron repository
  • Access to the repository's test-tags.ts file

Workflow

I'll guide you through creating a comprehensive PR body:

Step 1: Gather Context

First, I'll ask you:

  1. Issue number (if this PR addresses a specific issue)
  2. PR type (bug fix, feature, UI change, maintenance, etc.)
  3. Summary of what the PR does
  4. Screenshots needed? (for UI changes)
  5. Related PRs (e.g., in ark repository)

If you provide an issue number, I'll use gh issue view to fetch details and understand the context better.

Step 2: Fetch Current Test Tags

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:

  • Feature tags (functionality-specific)
  • Platform tags (OS/environment control)
  • Performance tags
  • Special tags (critical, soft-fail)

Step 3: Generate PR Body

Based on the PR type and context, I'll create a structured PR body with:

  1. Opening Line

    • "Addresses #[issue]." if applicable
    • Brief statement of what the PR does otherwise
  2. Description/Summary

    • Concise explanation of changes
    • Technical context if needed
    • Related PRs referenced
  3. Screenshots (for UI changes only)

    • Placeholder text or actual URLs if provided
  4. Release Notes

    • New Features (if applicable)
    • Bug Fixes (if applicable)
    • User-facing descriptions
  5. QA Notes

    • Relevant e2e test tags based on affected areas
    • Testing instructions
    • Code examples if helpful

Step 4: Output Options

Once the PR body is ready, you can choose:

  1. Copy to clipboard (Mac only) - I'll use pbcopy
  2. Update existing PR - I'll use gh pr edit
  3. Save to file - I'll write to a file of your choice
  4. Display only - I'll show it for manual copying

Helper Scripts

fetch-test-tags.sh

This 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:

  • Parses test-tags.ts without needing TypeScript compilation
  • Categorizes tags automatically (feature, platform, performance, special)
  • Outputs in multiple formats for different use cases
  • Runs quickly (<1 second)

PR Body Templates

I use different templates based on PR type:

Bug Fix Template

Addresses #[issue].

[2-3 sentences explaining the fix]

### Release Notes

#### New Features
- N/A

#### Bug Fixes
- [User-facing description] (#[issue])

### QA Notes

[relevant tags]

[Simple test instructions]

New Feature Template

Addresses #[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

### QA Notes

[relevant tags]

[Detailed test steps with code examples]

Examples

Example 1: Bug Fix PR

Addresses #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)

### QA Notes

@:data-explorer

Open a large data frame in Data Explorer on Safari and verify scrollbars can be dragged without snapping back.

Example 2: New Feature PR

Addresses #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

### QA Notes

@: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)")
  1. Verify tables appear in the Connections pane

## 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 QA notes
- For complex changes, numbered test steps are better
- Keep release notes user-facing (avoid implementation details)

positron-qa-verify

posit-dev

Generates clear, actionable verification guides for QA testing of Positron bug fixes and features

00

positron-issue-creator

posit-dev

This skill should be used when drafting GitHub issues for the Positron repository. It provides workflows for searching duplicates, selecting appropriate labels, gathering complete context through questioning, and writing terse, fluff-free issues that precisely describe what is needed or wrong. The skill prepares issues for manual submission by the user. Use this skill when the user asks to draft or prepare an issue for Positron.

10

positron-notebooks

posit-dev

This skill should be used when developing, debugging, or maintaining Positron Notebooks - the React-based feature-flagged notebook editor. Load this skill when tasks involve notebook cells, execution, selection state, context keys, or notebook editor features.

00

positron-intake-rotation

posit-dev

This skill should be used when handling issue intake rotation duties for the Positron repository. It provides workflows for reviewing and organizing new issues, responding to discussions, handling support tickets, and searching for related content. Use this skill when on intake rotation duty, when helping someone with intake tasks, or when learning the intake rotation process.

80

port-from-bslib

posit-dev

Comprehensive guide for porting UI components from R's bslib package to py-shiny. Use this skill when: (1) User asks to "port this feature" or "port a component" and mentions bslib or links to a bslib PR (e.g., github.com/rstudio/bslib/pull/...), (2) Porting a new component from bslib to py-shiny, (3) Adding a new input, output, or UI component that exists in bslib, (4) Implementing feature parity with bslib, (5) Working on bslib-related features or components. Covers the complete workflow including understanding source implementation, creating Python equivalents, vendoring assets (SCSS, CSS, JavaScript), creating tests, documentation, and all necessary project files.

20

positron-e2e-tests

posit-dev

This skill should be used when writing, debugging, or maintaining Playwright e2e tests for Positron. Load this skill when creating new test files, adding test cases, fixing flaky tests, or understanding the test infrastructure.

70

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318399

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

340397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

452339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.