acceptance-criteria-drafter
Acceptance Criteria Drafter
This skill helps you create well-structured Acceptance Criteria drafts for GitHub Issues by interviewing users about their feature requirements.
What This Skill Does
- Interviews the user to understand the feature/requirement
- Generates Acceptance Criteria following best practices
- Outputs a markdown draft file to
.tmp/folder for review and refinement
Interview Questions
Ask the user these essential questions:
- Feature Overview: What feature or change are you planning?
- User Perspective: Who is the user and what do they want to achieve?
- Success Conditions: How do you know when this is complete?
- Edge Cases: Are there any error conditions or special cases to handle?
Keep the interview conversational and adaptive—you don't need to ask all questions if the user has already provided the information.
Acceptance Criteria Guidelines
Core Principles (3-Rule Minimum)
- User-oriented: Write from the user's perspective, not implementation details
- Verifiable: Each criterion must be clearly testable (satisfied / not satisfied)
- Concise: Keep it to 3-5 bullet points in checkbox format
What to Include
✅ User behavior and outcomes ✅ Error conditions and messages ✅ State changes visible to users ✅ Data persistence requirements
What to Avoid
❌ Implementation details (API endpoints, database tables) ❌ Technical architecture decisions ❌ Browser/device-specific test cases ❌ More than 5 criteria (split into multiple issues if needed)
Output Format
Create a file in .tmp/ac-draft-YYYYMMDD-N.md with this structure:
# Acceptance Criteria Draft
**Generated on**: YYYY-MM-DD
**Feature**: [Brief feature description]
---
## Acceptance Criteria
- [ ] [User-facing behavior 1]
- [ ] [User-facing behavior 2]
- [ ] [Error handling or edge case]
- [ ] [State persistence or data requirement]
---
## Notes
[Any additional context, assumptions, or clarifications]
---
## Next Steps
1. Review and refine this draft
2. Copy to GitHub Issue template
3. Discuss with team during sprint planning
Examples
Example 1: User Article Posting
## Acceptance Criteria
- [ ] ログイン済みユーザーは記事を投稿できる
- [ ] タイトルが未入力の場合、投稿できずエラーメッセージが表示される
- [ ] 投稿後、記事一覧に表示される
Example 2: Notification Settings
## Acceptance Criteria
- [ ] 通知をOFFにすると通知が送信されない
- [ ] 設定変更後もページ再読み込みで状態が保持される
Example 3: Data Export Feature
## Acceptance Criteria
- [ ] ユーザーは自分のデータをCSV形式でエクスポートできる
- [ ] データが存在しない場合、「データがありません」と表示される
- [ ] エクスポート中は進捗インジケーターが表示される
- [ ] ダウンロード完了後、通知が表示される
File Naming Convention
Use sequential numbering for the same day:
.tmp/ac-draft-20260126-1.md.tmp/ac-draft-20260126-2.md.tmp/ac-draft-20260126-3.md
Workflow Tips
- Start Light: If the user is unsure, create a minimal 1-2 criterion draft and iterate
- Iterate in Conversation: Refine criteria through dialogue before finalizing
- Language: Write in Japanese unless explicitly requested otherwise (following project guidelines)
- Team Adaptation: Adjust verbosity based on team maturity—less experienced teams benefit from slightly more detailed criteria
When NOT to Use This Skill
- User wants to create the full GitHub Issue (use different workflow)
- User wants to write technical specifications (not user-facing acceptance criteria)
- User wants to create test cases (more detailed than AC)
More from atman-33/skills
dnd-kit-implementation
Guide for implementing sortable and droppable components using dnd-kit library. Use this skill when building React applications that require drag-and-drop functionality with both container reordering (useSortable) and item dropping (useDroppable) capabilities, such as Kanban boards, file management systems, or playlist editors.
38tech-article-humanizer
Transform technical article drafts or source materials into human-like, high-quality Japanese technical articles. Use this skill when the user wants to generate, rewrite, or humanize technical articles (especially about TypeScript, JavaScript, React, or frontend topics) following specific human-writing patterns and style guidelines. Triggers include requests like "記事を人間風に", "tech article を生成", "humanize this article", or providing article source materials.
4agent-memory
Use this skill when the user asks to save, remember, recall, or organize memories. Triggers on phrases like 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check your notes', 'clean up memories'. Also use proactively when discovering valuable findings worth preserving.
2react-router-v7-app
Implements React Router v7 app structure, routing patterns, and component templates. Use when creating or modifying React Router v7 applications to ensure consistent folder structure, data loading patterns, and component architecture.
2pr-assistant
Analyzes git changes and assists with creating comprehensive pull requests. Use when user wants to create a PR, review changes before PR, or needs help drafting PR descriptions. Triggers on phrases like 'create PR', 'make a pull request', 'draft PR description', 'what changed in this branch', 'prepare PR'.
1openspec-bulk-archive-change
Archive multiple completed changes at once. Use when archiving several parallel changes.
1