From aoshimash-skills
Create well-structured issues on any platform (GitHub, GitLab, etc.) with codebase analysis. Use when the user wants to create an issue, file a bug report, request a feature, or create a technical task. Triggers on phrases like "create an issue", "file a bug", "open an issue", "issueを作って", "issue作成", "バグ報告", "機能要望", "課題を作成".
How this skill is triggered — by the user, by Claude, or both
Slash command
/aoshimash-skills:create-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create issues structured around **Summary / Motivation / Background / Proposal / Acceptance Criteria / References** on any issue tracking platform. Always include codebase analysis for accurate context. Ensure issues are solvable by both humans and AI agents.
Create issues structured around Summary / Motivation / Background / Proposal / Acceptance Criteria / References on any issue tracking platform. Always include codebase analysis for accurate context. Ensure issues are solvable by both humans and AI agents.
Determine the issue tracking platform in this order:
## Issue Tracker section with platform, project, base_url fieldsLoad the corresponding platform guide from references/:
Infer the issue type from conversation context. Available types:
If the type is clearly inferable from the user's message (e.g., "something is broken" → Bug Report, "I want to add..." → Feature Request), proceed without confirmation.
If the type is genuinely ambiguous or could be multiple types, ask using plain language:
Include platform-specific types (e.g., Operation for Backlog) in the options when applicable.
Collect information through conversation using natural, plain-language questions. Use AskUserQuestion when presenting choices.
Fast path: If the user's initial message already provides clear motivation, desired outcome, and enough detail to generate verifiable acceptance criteria, skip the step-by-step questions below and proceed directly to generating AC (without confirming it yet — see Step 4).
Step-by-step (when more information is needed):
Do not ask for all fields at once — build on each response. Ask exactly one question at a time. Never combine multiple questions or sub-questions into a single message.
Ensure completeness through follow-up questions. After each response, check:
If any answer is no, ask a targeted follow-up question. Repeat until the information is sufficient for someone with zero context to implement correctly. Do not proceed to Step 4 until the information is complete.
Priority: For platforms with built-in priority levels (e.g., Backlog: High / Normal / Low), ask the user to confirm the priority. Skip this for platforms without built-in priorities (e.g., GitHub, GitLab — use labels instead if needed).
Labels: Check CLAUDE.md for default labels configuration. If defaults are configured, apply them without asking. If not, fetch the existing labels from the project (e.g., gh label list), recommend appropriate labels based on the issue type and content, and present the recommendation to the user for confirmation.
Assignees: Check CLAUDE.md for default assignee configuration (e.g., "always self-assign"). If defaults are configured, apply them without asking. If not, ask the user: assign to yourself, someone else, or no one. If someone else, fetch the available assignees (e.g., gh api repos/{owner}/{repo}/assignees) and let the user choose.
When both labels and assignees need user input (no defaults configured for either), combine them into a single AskUserQuestion call instead of asking separately.
Always run codebase analysis to enrich the issue with accurate background:
git status and git diff for recent changesUse findings to populate the Background and Related Code sections. Present current state as factual background, not implementation suggestions.
Cross-check AC: After codebase analysis, review the acceptance criteria generated in Step 3 against analysis results. If the codebase reveals information that would improve or correct AC items (e.g., existing config files, related modules, edge cases), revise the AC before including it in the draft. The user sees the finalized AC in the Step 5 draft, not as a separate confirmation.
Load the appropriate template from references/templates.md and fill it in.
Every issue starts with a 1-2 sentence summary at the top before any sections. This summary enables quick scanning in issue lists.
Language: If CLAUDE.md or project conventions specify a language for issues (e.g., "Write issue titles/bodies in English"), use that language. Otherwise, match the user's language.
Before showing the draft to the user, evaluate it against all criteria below.
| # | Criterion | Pass condition |
|---|---|---|
| 1 | Summary present | Issue starts with a 1-2 sentence summary that conveys the core problem/request without reading further |
| 2 | Sections complete | Motivation, Background, Proposal, Acceptance Criteria, References are all present and non-empty |
| 3 | Motivation stands alone | Reading Motivation alone — without Proposal — fully explains why this issue matters and what the impact is |
| 4 | No How | Neither Proposal nor Background contains implementation steps, code suggestions, or technology choices (e.g., "should use X library") |
| 5 | Background has non-obvious context | Background includes at least one piece of information that cannot be learned by reading the code alone (e.g., a past decision, a business rule, a constraint) |
| 6 | Background has code refs | Related Code section includes specific file paths from codebase analysis |
| 7 | Proposal is unambiguous | Two different engineers reading the Proposal would agree on what the desired end state is. If multiple interpretations are possible, the information is insufficient |
| 8 | Criteria are independently verifiable | Each acceptance criterion has a clear binary outcome: it either passes or fails. No criterion requires subjective judgment |
| 9 | Self-contained | A person or AI with zero prior context can read the issue and begin implementation without asking any clarifying questions |
After user approval, create the issue using the platform-specific method from the loaded platform guide. Apply labels if determined in Step 3. Confirm creation and share the issue URL.
To improve this skill, run the test cases in references/eval-cases.md and iterate on this SKILL.md based on the results.
npx claudepluginhub aoshimash/skills --plugin aoshimash-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.