开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载本文围绕仓库内 .claude/skills/positron-issue-creator/SKILL.md 展开完整解析 Positron IDE 仓库内置的「Issue 起草技能」从上下文收集、重复检索、标签选择到精简写作与手动提交的六步闭环。读完你将掌握一套可直接复用的高质量 Bug/Feature Issue 产出方法并理解其背后配套模板、写作规范与ghCLI 辅助脚本的源码级实现。技能定位为 Positron 仓库起草可行动的 Issuepositron-issue-creator是 Positron 仓库内嵌的一套 Claude Skill核心目标是辅助起草高质量的 GitHub Issue。它保证每一条 Issue 都满足以下要求起草前彻底检查重复项选择合适的标签以支持高效 triage分诊包含完整、具体的信息去掉一切不必要的铺垫与填充内容fluff-free对开发团队可直接行动actionable最终交由用户手动提交ready for manual submission。该技能在.claude/skills/positron-issue-creator/目录下由四个文件组成文件作用SKILL.md主技能说明定义完整工作流references/issue_templates.mdBug、Feature、Hybrid 三类模板references/writing_guidelines.md写作规范、反模式与提问协议scripts/fetch_labels.sh拉取仓库标签列表scripts/search_duplicates.sh检索重复 Issue 与讨论技能头部元数据frontmatter声明了disable-model-invocation: true即该技能不依赖用户显式调用而是当用户表达「起草/创建/报告一个 Issue」意图时自动匹配使用。使用边界什么时候该用什么时候不该用适用场景用户明确要求起草、创建、提交或报告 Issue用户描述了一个应该被跟踪的 Bug 或功能请求需要起草文档改进类请求用户说出类似 can you draft an issue for... 的请求。禁用场景Intake 轮值任务应改用 .claude/skills/positron-intake-rotation/SKILL.md——那是每周处理新进 Issue、讨论与支持工单的独立流程两者职责不同切勿混用回复已有 Issue一般的 Positron 开发任务。GitHub 访问策略只读检索绝不直接写入这是整个技能最关键的安全边界。技能明确划分了允许与禁止的操作允许只读通过ghCLI 搜索已有 Issue 与讨论拉取仓库标签列表查看 Issue 详情用于重复检查读取任意公开仓库信息。禁止任何写操作直接通过gh issue create创建 Issue在 Issue 下评论修改已有 Issue 的标签任何其他 GitHub 写操作。替代方案将 Issue 以 Markdown 文件或剪贴板文本形式准备好交给用户手动提交。这个「起草 → 用户提交」的协议与 intake-rotation 技能的「分析 → 建议 → 起草 → 用户手动执行」协议一脉相承体现了仓库对自动化写操作的一致谨慎态度。核心工作流六步闭环技能为每次起草请求定义了六步流程任何一步都不能跳过1. 收集完整上下文Gather Complete Context ↓ 逐项提问直到信息齐全 2. 检索重复项Search Duplicates ↓ 运行 scripts/search_duplicates.sh向用户展示结果并确认 3. 选择标签Select Labels ↓ 运行 scripts/fetch_labels.sh选择 area type 标签 4. 起草 IssueDraft Issue ↓ 使用 references/ 下模板遵循写作规范 5. 展示草稿Present Draft ↓ 展示完整草稿按反馈迭代 6. 准备提交Prepare for Submission ↓ 提供 Markdown 文件或剪贴板格式给出提交指引第 1 步收集完整上下文起草任何内容之前必须确保所有必要信息都已具备。信息缺失时采用迭代式提问绝不猜测假设。Bug 报告需要收集Positron 版本Help About 或具体构建号操作系统及版本会话详情R/Python 版本精确的复现步骤期望行为 vs 实际行为错误消息来自 UI、Output 面板或 Developer Console相关的截图如适用。Feature 请求需要收集所期望功能的清晰描述用例为什么需要、解决什么问题提议的行为应该怎么工作相关 Issue 或其他工具中的示例。技能给出的具体提问示例What Positron version are you using? Check Help AboutWhats the exact error message displayed?What did you expect to happen vs. what actually happened?Can you provide the specific steps to reproduce this?第 2 步检索重复项去重使用配套脚本 scripts/search_duplicates.sh 检索已有 Issue 与讨论cd /path/to/positron/.claude/skills/positron-issue-creator ./scripts/search_duplicates.sh keywords from issue脚本实现要点源码可见于 search_duplicates.sh目标仓库硬编码为posit-dev/positron默认结果上限LIMIT20支持--limit N参数调整返回数量Issue 检索调用gh issue list --search $QUERY --state all显式包含 open 和 closed 两种状态——因为已关闭的 Issue 可能意味着已修复fixed或不会修复wontfix同样具有去重参考价值输出通过--json number,title,state,url与--jq格式化形如#123 [OPEN] - 标题\n URL讨论检索通过gh api graphql走 GitHub GraphQLsearch(type: DISCUSSION)查询返回讨论编号、标题、作者、URL 与开闭状态查询失败时静默降级输出提示2/dev/null后的兜底逻辑。检索结果的审查要求同时检查已打开与已关闭的 Issue一并查看 Discussions尝试检索词的各种变体。向用户呈现结果展示所有潜在相关 Issue标出高度相似的条目询问用户确认是否为重复对不确定的匹配明确提问Is this the same issue as #1234?发现重复时告知用户 Issue 已存在、提供已有 Issue 链接、建议用户添加评论或 反应以跟踪不创建新 Issue。未发现重复时继续起草并在草稿中引用相关 Issue。第 3 步选择合适的标签运行 scripts/fetch_labels.sh 拉取当前仓库标签cd /path/to/positron/.claude/skills/positron-issue-creator ./scripts/fetch_labels.sh脚本支持两种输出模式实现见 fetch_labels.sh人类可读模式默认gh label list --repo $REPO --limit 1000 | sort按字母排序输出全部标签JSON 模式./scripts/fetch_labels.sh --json内部调用gh label list --json name,description --limit 1000便于程序化解析如脚本解析参数时通过--json开关设置JSON_OUTPUTtrue遇到未知参数则报错退出。标签选择规则Area 标签选 1–2 个——技能给出了核心映射完整清单以fetch_labels.sh输出为准标签覆盖范围area: consoleConsole/REPL 功能area: notebookJupyter notebook 集成area: editor文本编辑器功能area: plots绘图查看器与可视化area:>Title: 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 exceededFeature 请求完整示例Title: 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., CmdM or CtrlM) - Should work when focus is in notebook - Should insert cell below current cell ## Context Similar to Jupyters M key in command mode. Notebook workflows frequently alternate between code and markdown cells.必须避免的反模式不必要的背景或开场白模糊描述it doesnt work、sometimes crashes把多个无关 Issue 混在一起道歉或过度礼貌的语言缺少具体细节确切版本、错误消息能用简洁表达却长篇大论。提交前自检清单技能原文标题完整且具体正文以核心 Issue 开头复现步骤清晰Bug包含系统信息Bug错误消息为逐字引用无多余填充每句话都有价值单一、聚焦的主题已选择合适的标签。第 5 步展示草稿并迭代向用户展示完整草稿包含标题、完整正文、建议标签。然后询问Does this accurately capture the issue? Would you like any changes before I create it?迭代要点用户可能想调整措辞可能回忆起更多细节可能想强调不同方面。根据反馈修改后再次展示更新稿。第 6 步准备手动提交草稿获得用户批准后询问用户希望的输出形式选项 1保存为 Markdown 文件——创建带时间戳的唯一文件名并写入含 frontmatter 的完整 Issue# 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保存后展示文件路径、提醒用户手动在 GitHub 创建 Issue、提供新 Issue 提交页面的快捷链接。选项 2剪贴板格式——以可直接复制的格式呈现**Title:** Issue title here **Labels:** area: console, Bug **Body:** Full issue body here with multiple lines --- Create this issue at: [GitHub 新 Issue 页面]呈现后说明用户应复制此文本、粘贴到 GitHub 的新 Issue 表单、并注意需要在 UI 中手动选择标签。重要准则去重、上下文收集与写作风格去重检测彻底但不吹毛求疵用多种关键词组合搜索同时检查 Issue 与讨论也查看已关闭条目可能已修复或 wontfix。不确定时向用户展示潜在相似 Issue明确提问 Is this the same as what youre reporting?并且倾向于创建新 Issue 而非错误标记为重复。上下文收集绝不猜测版本不清晰 → 具体询问步骤模糊 → 请求澄清错误消息是转述 → 索要原文。对迭代保持耐心用户可能无法立即提供全部信息、可能需要复现问题获取细节。多问几个问题好过创建不完整的 Issue。写作风格为可扫描性优化忙碌的开发者需要快速理解 Issue最重要的信息放最前恰当使用标题、列表、代码块等格式除 Thanks for reporting 外不要多余客套无道歉性语言、无营销式表述只有清晰的事实。精确性要求使用确切版本不用 latest 或 recent逐字引用错误消息清晰编号步骤陈述实际行为而非主观解读。特殊场景处理安全漏洞用户描述安全漏洞时不创建公开 Issue告知用户This appears to be a security issue. Please report it privately to securityposit.co instead of creating a public issue不继续创建流程。这与 references/issue_templates.md 中的安全专项说明一致要求报告者邮件联系、不创建公开 Issue、私下提醒团队。文档问题按 Feature 请求处理但聚焦哪些文档缺失或不正确用户会在哪里查找这些信息建议的改进。使用Documentation类型标签。性能问题使用 Bug 模板但强调哪个操作慢耗时 vs 预期时间含硬件的系统信息数据规模或复杂度。使用Performance类型标签。多个相关 Issue用户描述多个相关但独立的问题时识别出每个独立 Issue向用户说明 This sounds like 3 separate issues. Ill help create each one individually.逐个创建若相关在 Issue 正文中交叉引用。references/writing_guidelines.md 给出了对应反例一个标题为 Various notebook issues 的 Issue 混入「单元格偶尔不执行」「语法高亮异常」「应添加导出功能」「快捷键混乱」四件事正确做法是拆成四个独立、具体的 Issue。模板选型指南与混合模板references/issue_templates.md 提供了三套模板与选型规则Issue 类型使用模板关键特征可复现的明确 BugBug Report已知复现步骤、明确错误功能请求Feature Request新能力或增强缺失/损坏的功能Hybrid某功能应工作但实际不工作文档问题Feature Request适配文档需改进性能问题Bug Report适配功能可用但太慢Hybrid 模板用于同时包含 Bug 与 Feature 成分的场景例如 X 不工作且它应该以 Y 方式工作结构为Current behavior / Desired behavior / Context / Steps to reproduce (if applicable) / Additional context。Bug 报告必需信息清单系统信息版本、OS、会话类型、编号复现步骤、期望 vs 实际行为、错误消息任何来源UI、控制台、日志。任一缺失应提问补齐。Feature 请求关键要素清晰描述是什么、用例为什么需要、提议行为如何工作、上下文相关 Issue、示例、备选方案。标签选择进阶优先级标签除 area/type 标签外writing_guidelines.md 补充了优先级标签说明——通常由 triage 设置但明显的严重问题可直接标注critical—— 数据丢失、崩溃、安全问题high—— 主要功能损坏medium—— 可感知但不阻塞low—— 小问题、锦上添花。示例中的完整标签行写法Labels: area:>./scripts/search_duplicates.sh search terms ./scripts/search_duplicates.sh search terms --limit 30返回内容匹配的 Issue打开与关闭、相关讨论、供审查的直接链接。脚本内部基于gh issue listIssue 检索覆盖全部状态与gh api graphqlDiscussion 检索GraphQL search type DISCUSSION实现两者都限定在posit-dev/positron仓库内。fetch_labels.sh完整用法./scripts/fetch_labels.sh # Human-readable output ./scripts/fetch_labels.sh --json # JSON output for parsing从仓库结构看positron-issue-creator与positron-intake-rotation都各自维护了fetch_labels.sh脚本后者还额外提供了fetch_intake_issues.sh、fetch_discussions.sh、search_related.sh等轮值专用脚本——两个技能的分工在脚本层面也清晰分离。总结把「起草」与「提交」彻底解耦positron-issue-creator技能的核心设计哲学可以概括为一句话Agent 负责起草用户负责提交。它通过只读的gh检索确保去重与标签准确通过严格的写作规范确保 Issue 精炼可行动通过「Markdown 文件 / 剪贴板」两种产出形态确保用户对最终提交拥有完全控制权。对于任何希望以自动化方式提升 Issue 质量、同时保持对仓库写操作绝对谨慎的团队这套「技能文档 参考模板 辅助脚本」的组合都是一份可以直接借鉴的完整工作流范本。赞分享开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载相关推荐Gumroad 开源仓库 Issue 起草指南基于 create-issue Skill 的标准化工作流Gumroad 开源仓库 Issue 起草指南基于 create issue Skill 的标准化工作流 导读 本指南围绕 Gumroad 开源仓库中面向 A后端前端电商Civitai 审核页迁移清单解读从 Next.js 主应用到独立 SvelteKit 审核应用的完整迁移路径Civitai 审核页迁移清单解读从 Next.js 主应用到独立 SvelteKit 审核应用的完整迁移路径 本文以仓库中的审核页迁移跟踪文档 docs/开发工具代码编辑器数据科学claude-desktop-debian 的 /triage Skill 实战用 Claude Code 触发 GitHub Issue Triage 工作流claude desktop debian 的 /triage Skill 实战用 Claude Code 触发 GitHub Issue Triage 工作开发工具桌面应用上一篇终极指南如何使用Prometheus监控Multer文件上传性能指标下一篇linux-command 手册精读elm 纯文本邮件客户端命令用法详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?