Refine requirements, analyze a ticket, perform gap analysis, or clarify what a Jira/Confluence ticket is asking before coding in Bitwarden iOS. Use when asked to "refine requirements", "analyze ticket", "gap analysis", "clarify ticket", "what does this ticket mean", or to understand scope before implementation begins.
npx skills add https://github.com/bitwarden/ios --skill refining-ios-requirements
Use this skill to analyze a Jira or Confluence ticket and produce structured, implementation-ready requirements before writing any code.
If a ticket ID or URL is provided, fetch it via MCP:
mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_issue for Jira ticketsmcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_issue_comments for additional contextmcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_confluence_page for Confluence specsIf no ticket is provided, ask for a description of the requirements.
Identify and list:
Identify unstated requirements the ticket may have missed:
Error states
Edge cases
Platform concerns
Accessibility
Determine which Bitwarden iOS domain(s) are involved. Read Docs/Architecture.md (Architecture Structure section) for the canonical domain list and descriptions.
Determine which app(s) are affected:
## Ticket: [PM-XXXXX] — [Title]
### What
[1-2 sentence summary of what needs to be built]
### Why
[Business/user reason for the change]
### Acceptance Criteria
1. [Criterion 1]
2. [Criterion 2]
### Gap Analysis
**Unstated requirements identified:**
- [ ] Error state: [description]
- [ ] Edge case: [description]
- [ ] Platform concern: [description]
**Clarifying questions (if any):**
1. [Question for product/design]
### Scope
- **Domain**: [from Architecture Structure domain list]
- **App(s)**: [Password Manager / Authenticator / Both]
- **Extensions affected**: [AutoFill / Action / Share / Watch / None]
- **Out of scope**: [explicit exclusions]
Present the structured requirements to the user and ask: "Are these requirements accurate? Should I proceed with planning the implementation?"
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.
Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Take bitwarden/refining-ios-requirements from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.