Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/microck-positron-issue-creator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 195% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 95% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 269% | 0% |
This skill guides the drafting of high-quality GitHub issues for the Positron IDE repository. It ensures issues are:
Use this skill when:
Do NOT use this skill for:
positron-intake-rotation instead)Read operations (ALLOWED):
gh CLIgh CLIWrite operations (NOT ALLOWED):
gh issue createInstead: Prepare issues in markdown files or clipboard-ready format for manual user submission.
Important: This skill prepares issues for manual submission. It does NOT automatically create GitHub issues. The user maintains full control over submitting to GitHub.
Follow this workflow for every issue drafting request:
Before drafting anything, ensure all necessary information is available. Use iterative questioning if needed.
For Bug Reports, obtain:
For Feature Requests, obtain:
Ask specific questions when information is missing:
Never make assumptions. If unclear, ask rather than guess.
Use scripts/search_duplicates.sh to search for existing issues and discussions:
bashcd /path/to/positron/.claude/skills/positron-issue-creator ./scripts/search_duplicates.sh "keywords from issue"
Review results carefully:
Present findings to user:
If duplicate found:
If no duplicates:
Use scripts/fetch_labels.sh to retrieve current repository labels:
bashcd /path/to/positron/.claude/skills/positron-issue-creator ./scripts/fetch_labels.sh
Choose labels based on:
Area labels (select 1-2):
area: console - Console/REPL functionalityarea: notebook - Jupyter notebook integrationarea: editor - Text editor functionalityarea: plots - Plot viewer and visualizationarea: data-explorer - Data viewer and explorerarea: connections - Database connectionsarea: help - Help pane and documentationarea: ui - General UI/UX issuesfetch_labels.sh for complete optionsType label (select 1):
Bug - Something doesn't work as intendedFeature Request - New capability or enhancementDocumentation - Documentation improvementsPerformance - Works but too slowlyOther considerations:
Use the templates in references/issue_templates.md as starting points, but adapt to the specific issue.
Load templates when needed:
Follow writing guidelines from references/writing_guidelines.md:
Core principles:
Title guidelines:
[Component] fails when [condition]Add [feature] to [component]Body structure:
Example bug report:
markdownTitle: Console freezes when printing dataframes with 100k+ rows The console becomes unresponsive when printing large dataframes. ## Steps to reproduce 1. Create dataframe: `df = pd.DataFrame({'a': range(100000)})` 2. Print it: `print(df)` 3. Console freezes, UI becomes unresponsive ## System details - Positron 2024.10.0 Build 123 - macOS 14.5 - Python 3.11.6 ## Error messages Developer Console shows: "Maximum call stack size exceeded"
Example feature request:
markdownTitle: Add keyboard shortcut to insert markdown cell in notebooks Currently inserting markdown cells requires clicking the dropdown menu. Keyboard shortcut would improve notebook authoring workflow. ## Proposed behavior - Add keyboard shortcut (e.g., Cmd+M or Ctrl+M) - Should work when focus is in notebook - Should insert cell below current cell ## Context Similar to Jupyter's 'M' key in command mode. Notebook workflows frequently alternate between code and markdown cells.
Common anti-patterns to avoid:
Review checklist before presenting:
Show the complete drafted issue including:
Ask user: "Does this accurately capture the issue? Would you like any changes before I create it?"
Allow for iteration:
Make requested changes and show updated draft.
Once user approves the draft, offer options for how they want to use it:
Ask the user: "How would you like me to prepare this issue?"
Create a markdown file with all issue details:
bash# Create file with timestamp in name for uniqueness cat > "positron-issue-$(date +%Y%m%d-%H%M%S).md" <<'EOF' --- title: Issue title here labels: area: console, Bug repository: posit-dev/positron --- Full issue body here with multiple lines EOF
After saving:
https://github.com/posit-dev/positron/issues/newPresent the issue in a format ready to copy:
markdown**Title:** Issue title here **Labels:** area: console, Bug **Body:** Full issue body here with multiple lines --- Create this issue at: https://github.com/posit-dev/positron/issues/new
After presenting:
Be thorough but not pedantic:
When uncertain:
Never guess or assume:
Be patient with iteration:
Optimize for scanability:
Respect reader's time:
Be precise:
If user describes a security vulnerability:
Treat as feature requests but focus on:
Label with Documentation type.
Use bug report template but emphasize:
Label with Performance type.
If user describes several related but distinct issues:
scripts/fetch_labels.shRetrieves all repository labels for categorization.
Usage:
bash./scripts/fetch_labels.sh # Human-readable output ./scripts/fetch_labels.sh --json # JSON output for parsing
scripts/search_duplicates.shSearches for potential duplicate issues and discussions.
Usage:
bash./scripts/search_duplicates.sh "search terms" ./scripts/search_duplicates.sh "search terms" --limit 30
Returns:
Load these reference documents when drafting issues:
references/issue_templates.md - Templates for bugs, features, and hybrid issuesreferences/writing_guidelines.md - Detailed writing guidance, anti-patterns, examplesA successful issue draft means:
1. Gather Context
↓
Ask specific questions until all info available
↓
2. Search Duplicates
↓
Run scripts/search_duplicates.sh
↓
Show results to user, confirm not duplicate
↓
3. Select Labels
↓
Run scripts/fetch_labels.sh
↓
Choose appropriate area and type labels
↓
4. Draft Issue
↓
Use templates from references/
↓
Follow writing guidelines (terse, specific, direct)
↓
5. Present Draft
↓
Show complete draft to user
↓
Iterate based on feedback
↓
6. Prepare for Submission
↓
Offer markdown file or clipboard format
↓
Save to file OR format for copying
↓
Provide GitHub link and submission instructionsRemember: The goal is to draft clear, actionable issues that respect both the reporter's intent and the development team's time. The user maintains full control over the final submission to GitHub.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→fail | 7,890 | 3,791 | -52% | 1 | 1 | 0% | 1,430 | 3,822 | +167% | 0 | 0 | — |
case-10 | fail→fail | 7,660 | 7,211 | -6% | 1 | 1 | 0% | 1,312 | 4,650 | +254% | 0 | 0 | — |
case-01 | fail→fail | 12,022 | 7,672 | -36% | 1 | 1 | 0% | 2,055 | 3,764 | +83% | 0 | 0 | — |
case-02 | fail→fail | 10,290 | 8,120 | -21% | 1 | 1 | 0% | 1,574 | 3,809 | +142% | 0 | 0 | — |
case-03 | fail→fail | 10,725 | 8,813 | -18% | 1 | 1 | 0% | 1,855 | 3,883 | +109% | 0 | 0 | — |
case-04 | fail→pass | 19,420 | 3,506 | -82% | 1 | 1 | 0% | 2,288 | 3,895 | +70% | 0 | 0 | — |
case-05 | fail→fail | 10,209 | 13,044 | +28% | 1 | 1 | 0% | 1,611 | 3,849 | +139% | 0 | 0 | — |
case-06 | pass→pass | 13,027 | 8,979 | -31% | 1 | 1 | 0% | 2,522 | 5,003 | +98% | 0 | 0 | — |
case-07 | fail→pass | 13,218 | 9,251 | -30% | 1 | 1 | 0% | 1,311 | 3,874 | +195% | 0 | 0 | — |
case-08 | fail→fail | 8,721 | 7,913 | -9% | 1 | 1 | 0% | 1,255 | 3,829 | +205% | 0 | 0 | — |
case-11 | fail→pass | 22,471 | 1,637 | -93% | 1 | 1 | 0% | 1,836 | 3,586 | +95% | 0 | 0 | — |
case-12 | pass→pass | 3,817 | 4,267 | +12% | 1 | 1 | 0% | 557 | 4,076 | +632% | 0 | 0 | — |
case-13 | pass→fail | 8,674 | 8,623 | -1% | 1 | 1 | 0% | 1,388 | 3,909 | +182% | 0 | 0 | — |
case-14 | fail→pass | 17,064 | 2,435 | -86% | 1 | 1 | 0% | 1,440 | 3,763 | +161% | 0 | 0 | — |
case-15 | fail→pass | 5,550 | 3,492 | -37% | 1 | 1 | 0% | 1,085 | 4,007 | +269% | 0 | 0 | — |
case-16 | fail→pass | 11,961 | 4,928 | -59% | 1 | 1 | 0% | 1,926 | 4,092 | +112% | 0 | 0 | — |
case-17 | fail→fail | 7,889 | 6,840 | -13% | 1 | 1 | 0% | 1,248 | 3,759 | +201% | 0 | 0 | — |
case-18 | fail→pass | 10,435 | 14,055 | +35% | 1 | 1 | 0% | 1,635 | 4,838 | +196% | 0 | 0 | — |
case-19 | pass→pass | 9,158 | 3,421 | -63% | 1 | 1 | 0% | 1,464 | 3,892 | +166% | 0 | 0 | — |
case-20 | fail→fail | 8,054 | 6,198 | -23% | 1 | 1 | 0% | 1,159 | 3,686 | +218% | 0 | 0 | — |
case-21 | pass→pass | 7,986 | 6,988 | -12% | 1 | 1 | 0% | 1,195 | 4,557 | +281% | 0 | 0 | — |
case-22 | pass→pass | 7,678 | 1,362 | -82% | 1 | 1 | 0% | 1,187 | 3,592 | +203% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 13 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.