$npx -y skills add haoxiang-xu/PuPu --skill create-issueUse when the user wants to turn a rough task idea into a GitHub issue for someone with zero project context. Investigates the codebase with GitNexus and writes an English onboarding brief, then files it via gh. Triggers: \"create an issue for X\", \"write up a task to add Y\", \"
| 1 | # Create Issue — Zero-Context Onboarding Brief |
| 2 | |
| 3 | ## When to Use |
| 4 | |
| 5 | - "Create an issue for adding an export-chat button." |
| 6 | - "Write this up as a GitHub issue a new dev could pick up." |
| 7 | - Any time a rough task needs to become a GitHub issue that assumes the |
| 8 | assignee has never seen this project. |
| 9 | |
| 10 | ## Assume the reader knows nothing |
| 11 | |
| 12 | The assignee is a fresh human developer with zero context on PuPu. The issue |
| 13 | must carry them from zero: what to read first, the relevant architecture, |
| 14 | which files matter, a development path, and how to know they are done. |
| 15 | |
| 16 | **The issue body is written entirely in English**, even when talking to the |
| 17 | user in another language. |
| 18 | |
| 19 | ## Workflow |
| 20 | |
| 21 | ``` |
| 22 | 1. Frame the task from the user's description. If none was given, ask what to build. |
| 23 | 2. Investigate with GitNexus (mandatory method, not ad-hoc grep): |
| 24 | - query({search_query}) -> related execution flows |
| 25 | - context({name}) -> callers/callees + which flows a key symbol is in |
| 26 | - impact({target, direction: "upstream"}) -> blast radius + risk level |
| 27 | - Read relevant docs/ files for the big picture. |
| 28 | 3. Draft the issue body (structure below), in English. |
| 29 | 4. Show the draft to the user. Only after explicit confirmation, file it with gh. |
| 30 | ``` |
| 31 | |
| 32 | ## Issue body structure (English) |
| 33 | |
| 34 | Produce these sections, each tailored for a zero-context developer: |
| 35 | |
| 36 | - **What & Why** — one paragraph: what to build, why, the user value it serves. |
| 37 | - **Read this first** — CLAUDE.md, docs/DEV_GUIDE.md, the relevant architecture |
| 38 | docs, and environment/start commands (e.g. `npm start`). |
| 39 | - **Architecture at a glance** — only the slice relevant to this task (e.g. the |
| 40 | Chat Streaming request flow if streaming is involved). |
| 41 | - **Relevant files** — files/symbols surfaced by GitNexus, each with a one-line |
| 42 | "what it does and why you'll touch it". |
| 43 | - **Suggested development path** — step-by-step: what to change first, then next, |
| 44 | and how to self-check each step. |
| 45 | - **How to verify done** — explicit acceptance criteria + verification means |
| 46 | (`npm test`, the pupu-test-api skill for a smoke run, manual checkpoints). |
| 47 | - **Impact / risk** — blast radius from impact; call out HIGH/CRITICAL explicitly. |
| 48 | |
| 49 | ## Filing the issue |
| 50 | |
| 51 | - Show the full drafted body first. Never create the issue silently. |
| 52 | - On confirmation, run: |
| 53 | `gh issue create --repo haoxiang-xu/PuPu --title "<title>" --body "<body>"` |
| 54 | - Default target repo follows the current git remote (haoxiang-xu/PuPu). |
| 55 | - Do not add labels or an assignee unless the user asks during the draft stage. |
| 56 | |
| 57 | ## Checklist |
| 58 | |
| 59 | - [ ] Task framed (asked the user if the description was missing) |
| 60 | - [ ] GitNexus query/context/impact run; relevant files + blast radius gathered |
| 61 | - [ ] All seven sections drafted, in English |
| 62 | - [ ] HIGH/CRITICAL risk called out if impact flagged it |
| 63 | - [ ] Draft shown and user confirmed before `gh issue create` |