Skip to main content

create-issue

Create a well-formed GitHub issue with a clean title and body. Invoke whenever the user asks to create an issue, file a bug report, open a feature request, or report something via GitHub CLI. Encodes the lessons learned from bad issue drafts: GitHub renders every single newline as a hard line break, internal working-doc jargon does not belong in public issues, and titles must match the repo's existing conventions.

소스 정보

저장소
rohaquinlop/complexipy
최근 소스 활동
2026년 8월 30일 05:48
감지된 SKILL.md 언어
영어
스타
875
포크
26

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
create-issue
description
Create a well-formed GitHub issue with a clean title and body. Invoke whenever the user asks to create an issue, file a bug report, open a feature request, or report something via GitHub CLI. Encodes the lessons learned from bad issue drafts: GitHub renders every single newline as a hard line break, internal working-doc jargon does not belong in public issues, and titles must match the repo's existing conventions.
# Create GitHub Issue Creates a GitHub issue using `gh issue create`. Produces a public, well-formatted title and body, then verifies the rendered result. ## Before Writing 1. **Search for existing issues first.** `gh search issues --repo <owner>/<repo> "<topic>"` - never duplicate an open or closed issue that already covers the topic. Reference it instead. 1. **Check the repo's conventions.** `gh issue list --repo <owner>/<repo> --state all --limit 20` and skim titles/labels/body structure of recent issues. Match that style. ## Title Rules - **No internal prefixes.** Never `TASK 12: ...`, `TASK-123: ...`, or working-document IDs - those mean nothing to a public audience. - Descriptive, matching the repo's existing style (imperative or noun phrase, e.g. "Add --fix to apply machine-applicable suggestions", "Report when ignore comments can be removed"). - One short sentence; no trailing period. - If the repo uses labels (bug / enhancement / feature request), add the matching ones with `--label`. ## Body Rules - the ones that actually bite 1. **GitHub renders EVERY single newline in an issue body as a hard line break (`<br>`).** There is no soft-wrap collapsing. Therefore: - Each paragraph is **one continuous line** - never wrap text at 80 columns. - List items each go on **one line** (no indented continuation lines). - Separate blocks (paragraphs, lists, headings) with a single blank line. - Only fenced code blocks may contain real newlines - use them for multi-line content. 2. **Public tone, no internal context.** No "Task N", no references to private working docs (HANDOFF.md, backlog files, agent notes), no abbreviations only the team understands. A stranger must be able to act on the issue with only the repo in front of them. Say what the rule/feature is by its public name (rule IDs like C007 are fine - they're in the docs). 3. **Structure the body** with `##` sections. A proven shape: ```markdown ## Problem <what is broken or missing, from a user perspective> ## The idea / Why this is nontrivial <proposed change; for complex work, the constraints that make it hard> ## Open questions - <decisions that need input before implementing> ## Acceptance criteria (draft) - <verifiable outcomes> ``` 4. **Write the body to a temp file** (`/tmp/issue-<n>.md`) with the write tool and pass it via `--body-file`. Never inline long markdown in shell arguments - quoting will mangle it. 5. **If the body was extracted from a larger document** (sed/awk/head), verify the extraction boundaries: a section header from the NEXT section can leak into the end of your file. Check the last lines of the extracted file before submitting. ## Workflow 1. Write title + body file per the rules above. 2. Create: ```bash gh issue create --repo <owner>/<repo> --title "<title>" --body-file /tmp/issue-<n>.md ``` Use the `gh_cli` tool where available (it validates against an allowlist and parses JSON). 3. **Verify after creation** - this step is mandatory, it is how the previous mistakes were caught: - Fetch the rendered HTML and confirm there are **zero `<br>` tags outside code blocks**: ```bash gh api graphql -f query='query { repository(owner:"<owner>", name:"<repo>") { issue(number:<n>) { bodyHTML } } }' \ --jq '.data.repository.issue.bodyHTML' | grep -c "<br" ``` Expect `0` (grep exits 1 with no matches - that is success). - Re-read the stored body (`gh issue view <n>`) and check: no stray headings at the end, no internal jargon, title clean. 4. Report the issue URL. Leave the temp body file in place for reference. ## Editing an Existing Issue Same rules apply to `gh issue edit <n> --title ... --body-file ...` - unwrapped single-line paragraphs, clean title, then re-verify with the GraphQL check. ## Edge Cases | Scenario | Action | | --- | --- | | Existing issue covers the topic | Don't create a duplicate; link/reference the existing one | | Repo has label conventions | Add labels with `--label` matching existing usage | | Body extracted from a draft doc | Check the tail of the extracted file for leaked headings | | Rendered body shows `<br>` breaks | Unwrap paragraphs to single lines, re-edit, re-verify | | User wants an internal/rough draft | Ask - public issues default to the public style above |
GitHub에서 보기