For use when a new issue/task has been identified and needs to be formally captured using the Wrangler MCP issue management system. Use this skill to create new issues via the issues_create MCP tool with appropriate metadata and structured content.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: create-new-issue
description: For use when a new issue/task has been identified and needs to be formally captured using the Wrangler MCP issue management system. Use this skill to create new issues via the issues_create MCP tool with appropriate metadata and structured content.
---
You are a specialist at taking details about a newly identified issue or outstanding task and converting that information into a well-structured issue using the Wrangler MCP issue management tools.
## Core Responsibilities
## Skill Usage Announcement
**MANDATORY**: When using this skill, announce it at the start with:
```
🔧 Using Skill: create-new-issue | [brief purpose based on context]
```
**Example:**
```
🔧 Using Skill: create-new-issue | [Provide context-specific example of what you're doing]
```
This creates an audit trail showing which skills were applied during the session.
- Analyze the provided issue details to identify key information
- Use the **issues_create** MCP tool to create the issue with proper metadata
- Structure the description field according to issue type (bug vs task)
- Populate all relevant fields: title, description, type, status, priority, labels, assignee, project, wranglerContext
- Verify the issue was created successfully
## Issue Creation Process
### 1. Determine Issue Type
**For bugs:**
- Set `type: "issue"`
- Set `labels: ["bug"]` (plus any other relevant labels)
- Structure description with: Summary (what's broken, impact, current vs. expected behavior), Reproduction Steps, Environment, Root Cause Analysis, Solutions Attempted, Diagnostics, References
- See template: [BUG_ISSUE_TEMPLATE.md](templates/BUG_ISSUE_TEMPLATE.md)
**For tasks:**
- Set `type: "issue"`
- Set `labels: ["task"]` (plus any other relevant labels)
- Structure description with: Description, Objective (goal, value, scope), Requirements (functional, non-functional, dependencies), Tasks (implementation checklist), Testing Requirements, Acceptance Criteria, Implementation Notes, References
- See template: [TASK_ISSUE_TEMPLATE.md](templates/TASK_ISSUE_TEMPLATE.md)
**For feature requests:**
- Set `type: "issue"`
- Set `labels: ["feature", "enhancement"]` (plus any other relevant labels)
- Structure description with: Feature Description (what, why, who), User Story, Current vs. Proposed Behavior, User Experience, Requirements (must/should/nice-to-have), Success Metrics, Design Considerations, Open Questions, References
- See template: [FEATURE_REQUEST_TEMPLATE.md](templates/FEATURE_REQUEST_TEMPLATE.md)
**For specifications:**
- Set `type: "specification"`
- Structure description with: Executive Summary, Goals and Non-Goals, Background & Context, Requirements, Architecture, Implementation Details, Security, Error Handling, Observability, Testing Strategy, Deployment, Performance, Risks, Success Criteria, Timeline, References
- See template: [SPECIFICATION_TEMPLATE.md](../writing-specifications/templates/SPECIFICATION_TEMPLATE.md)
- **Note:** For complex specifications, use the dedicated [writing-specifications](../writing-specifications/SKILL.md) skill which provides comprehensive guidance and process
### 2. Use the issues_create Tool
Call the `issues_create` MCP tool with all relevant parameters:
```javascript
issues_create({
title: "Clear, concise title",
description: "Detailed description with appropriate sections based on type",
type: "issue" | "specification",
status: "open" | "in_progress" | "closed" | "cancelled",
priority: "low" | "medium" | "high" | "critical",
labels: ["bug", "backend", ...],
assignee: "username",
project: "project-name",
wranglerContext: {
agentId: "agent-identifier",
parentTaskId: "parent-issue-id",
estimatedEffort: "2 days"
}
})
```
### 3. Required vs Optional Fields
**Required:**
- `title` - Clear, concise issue title (max 200 chars)
- `description` - Detailed description with structured sections
**Optional but recommended:**
- `type` - Defaults to "issue"
- `status` - Defaults to "open"
- `priority` - Defaults to "medium"
- `labels` - Array of tags for categorization
- `assignee` - Who's responsible
- `project` - Project/epic association
- `wranglerContext` - Workflow metadata (agentId, parentTaskId, estimatedEffort)
## Template Reference
You can reference the template files for structure guidance:
- **Bug issues**: [BUG_ISSUE_TEMPLATE.md](templates/BUG_ISSUE_TEMPLATE.md) - Comprehensive bug reporting with RCA, environment, diagnostics
- **Task issues**: [TASK_ISSUE_TEMPLATE.md](templates/TASK_ISSUE_TEMPLATE.md) - Implementation tasks with requirements, checklist, acceptance criteria
- **Feature requests**: [FEATURE_REQUEST_TEMPLATE.md](templates/FEATURE_REQUEST_TEMPLATE.md) - User-facing features with user stories, UX details, success metrics
**Important:** These templates show the frontmatter structure and content sections. Use them as a guide for formatting the `description` field when calling `issues_create`, but always use the MCP tool rather than manually creating files.
**For specifications**, use the dedicated [writing-specifications](../writing-specifications/SKILL.md) skill which has its own template and comprehensive process guidance.
## Example Usage
### Creating a Bug Issue
```javascript
issues_create({
title: "API returns 500 error on user login",
description: `## Summary
Authentication endpoint fails with 500 error when username contains special characters.
## Issue Reproduction Steps
1. Navigate to /api/auth/login
2. POST with username containing '@' symbol
3. Observe 500 error response
## Solutions Attempted
- Validated input sanitization (not the issue)
- Checked database constraints (no violations)
## Available Diagnostics
Error logs show: "Invalid character in username field"
Stack trace available in logs/api-2025-11-17.log
## References
### Key Files
- src/api/auth/login.ts
- src/validators/username.ts`,
type: "issue",
status: "open",
priority: "high",
labels: ["bug", "api", "auth"],
project: "v1.2"
})
```
### Creating a Task Issue
```javascript
issues_create({
title: "Implement password reset flow",
description: `## Objective
Add password reset functionality for users who forget their credentials.
## Requirements
- Email-based reset link with expiration
- Secure token generation
- Password strength validation
- Rate limiting to prevent abuse
## Implementation Steps
1. Create password reset API endpoint
2. Implement email service integration
3. Add reset token storage and validation
4. Build password reset UI
5. Add rate limiting middleware
## Testing Requirements
- Unit tests for token generation/validation
- Integration tests for email flow
- E2E tests for complete user journey
## Acceptance Criteria
- [ ] User can request reset via email
- [ ] Reset link expires after 1 hour
- [ ] New password meets strength requirements
- [ ] Rate limiting prevents abuse (max 3 requests/hour)`,
type: "issue",
status: "open",
priority: "medium",
labels: ["task", "feature", "auth"],
assignee: "backend-team",
project: "v1.2",
wranglerContext: {
agentId: "implementation-agent",
estimatedEffort: "3 days"
}
})
```
## Important Notes
- **Always use the MCP tool** - Don't manually create markdown files; use `issues_create`
- **Auto-generated IDs** - The system assigns sequential IDs (000001, 000002, etc.)
- **Timestamps are automatic** - createdAt and updatedAt are set automatically
- **Files stored at project root** - Issues saved to `issues/`, specs to `specifications/`
- **Markdown format** - Files are stored as markdown with YAML frontmatter for git-friendliness
No comments yet. Be the first to comment!