--- name: first-issue-designer description: "Use when asked to create good first issues, prepare a repo for new contributors, turn a roadmap into starter tasks, or write issues that newcomers can actually finish. Produces 8 to 12 good first issues from a codebase and roadmap, each with context, acceptance criteria, files to touch and an effort estimate, plus the labels and a short pinned welcome note. For the CONTRIBUTING guide itself, use contributor-guide." version: 1.0.0 --- # First Issue Designer A good first issue is a small, real task that a stranger can finish in one sitting without asking the maintainer anything. Most "good first issue" labels sit on tasks that are vague, secretly large, or blocked on a decision only the maintainer can make. This skill reads the codebase and roadmap and writes 8 to 12 issues that newcomers can pick up and finish. ## Required Inputs Ask for these if not provided: - **The repo**: structure, main language, how to run tests - **The roadmap or backlog**: what the maintainer wants done next - **Things the maintainer does not want touched**: core modules, areas mid-refactor - **Review capacity**: how many PRs a week the maintainer can review - **Existing labels** and any CONTRIBUTING guide ## Output Structure ### 1. Candidate scan A table of possible tasks found in the roadmap, TODO comments, failing or missing tests, docs gaps and small bugs: | Candidate | Source | Size guess | Keep or drop | Reason | Drop anything that needs a design decision, touches more than three files, or depends on another open task. ### 2. The issues (8 to 12) Each issue in this exact format, ready to paste: ```markdown **Title:** [Verb] [object] in [place] (e.g. "Add a --json flag to the export command") **Context** [Two or three sentences: why this matters to users and where it fits.] **What to do** 1. [Step] 2. [Step] **Acceptance criteria** - [ ] [Observable result] - [ ] [Test added or updated: name the test file] - [ ] [Docs updated, if user-facing] **Files to touch** - `path/to/file` (what changes there) **Effort:** [about 1 hour | about 2 hours | half a day] **Skills needed:** [e.g. basic TypeScript, no framework knowledge] **Labels:** good first issue, [area label] ``` ### 3. Mix check A table showing the spread across types (docs, tests, small feature, bug, tooling) and effort. Aim for at least three issues under two hours and no more than two at half a day. ### 4. Pinned welcome note A short note (under 120 words) for a pinned issue or discussion: how to claim an issue, how long a claim lasts, where to ask, and how quickly PRs are reviewed, matching the stated review capacity. ## Quality Checks - [ ] Between 8 and 12 issues, each in the exact format above - [ ] Every issue names the files to touch and at least one test or doc to update - [ ] Every acceptance criterion is observable (a command, output or page someone can check) - [ ] No issue requires a decision the maintainer has not made - [ ] No issue touches more than three files or depends on another open issue - [ ] At least three issues are estimated at two hours or less - [ ] The welcome note's review promise matches the stated review capacity ## Anti-Patterns - **"Improve the docs".** Too vague to finish. Name the page and the missing section. - **Hidden epics.** A "small" refactor that ripples through ten files discourages first-timers. - **Issues only the maintainer could do.** If it needs context from a private conversation, it is not a first issue. - **Promising fast reviews you cannot give.** A PR left for a month loses the contributor. ## Example Trigger Phrases - "Create good first issues for my repo from this roadmap." - "I want contributors. Write 10 starter issues newcomers can finish." - "Turn these TODO comments into good first issues with acceptance criteria." - "Prepare my project for Hacktoberfest-style contributors."