# Create Ticket

> Create a single well-refined ticket from a rough idea or description, or rewrite an existing ticket's description. Use when the user wants to create a ticket, write a task, file a bug, add a story, turn a rough idea into a task, or reformat/rewrite an existing ticket. Triggers on "create ticket", "new ticket", "new task", "file a bug", "add a story", "create a task", "rewrite ticket", "reformat ticket", or any request to turn an idea into a single ticket. Also used by the backlog-grooming skill to create individual subtasks within an epic.

- Skill: `foogunlana/create-ticket` (Agent Skill)
- Install (CLI): `npx skillmds@latest add foogunlana/create-ticket`
- Raw SKILL.md: https://api.skillmd.com/api/skills/foogunlana/create-ticket/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: foogunlana (https://skillmd.com/u/foogunlana)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/foogunlana/create-ticket

---


# Create Ticket

Turn a rough idea into a well-structured ticket through clarifying questions and a standard task template.

## Configuration

This skill supports multiple issue trackers. Configure for your project:

| Setting | Default | Options |
|---------|---------|---------|
| **Issue tracker** | GitHub Issues | GitHub Issues, GitLab Issues, Jira, Linear, ClickUp |
| **Default list/project** | None | Configure your project/board/list name |
| **Custom fields** | None | e.g. tier, pod, team, priority — depends on tracker |
| **Auto-tag** | `ai-created` | Tag added to tickets created by this skill |

## Workflow

### Step 1: Understand the Idea

Take the user's rough description and ask targeted clarifying questions to fill gaps. Focus on:

1. **What** needs to be done and **why** (Brief Description)
2. **Done looks like what?** (Acceptance Criteria — at least 2 checkboxes)
3. **Open questions** or unknowns (Refinement)
4. **Where it lives**: project/list (always ask), parent task (if subtask of an epic), tags, priority, team/assignee, status

Always ask which project/list to put the task in, even if a default exists. Don't assume.

Don't ask everything at once. Start with what's missing from the description — skip questions the user already answered. Batch related questions together (max 3-4 per message).

### Step 2: Suggest Metadata

Before asking the user for tags, priority, and team — **suggest values first** based on context:

- **Tags**: Discover available tags by checking existing tasks in the target project/list. Suggest tags that fit the ticket's domain.
- **Priority/Tier**: Infer from the type of work (e.g. design work, API work, UI work, infrastructure).
- **Team**: Infer from the project/list and context.

Present your suggestions and let the user confirm or adjust. Always aim for at least 2 tags per task.

### Step 3: Prepare the Ticket

Before creating, show the user a preview of the ticket in the Task Template format (see below). Include:
- **Title**
- **Description** (rendered from the template)
- **Project/List**, **tags**, **priority**, **team**, **status**, **parent** (if applicable)

Wait for confirmation or edits before proceeding.

### Step 4: Create the Ticket

Create the ticket using your issue tracker's API or CLI:
- Set the target project/list
- Set the title and description (formatted per the Task Template)
- Apply tags, priority, team, and any custom fields
- Set parent task if creating a subtask
- Set status (default: "Open" or equivalent)

After creation, add the `ai-created` tag to mark it as generated by this skill.

### Step 5: Confirm

Show the created ticket with its ID and link. Ask if any immediate edits are needed.

## Rewriting an Existing Ticket

When the user asks to rewrite or reformat an existing ticket's description:

1. Fetch the ticket details
2. **Back up** the original description as a comment on the ticket before making any changes
3. Restructure the content into the Task Template format — preserve all original information, don't summarize or drop content
4. Update the ticket with the new description
5. Follow the same metadata suggestion flow (Step 2) if tags/priority/team are missing

## Task Template

All ticket descriptions must use this format. Headers use `##` (heading 2). No blank line between a heading and its content.

```markdown
## Brief Description
{What needs to be done and why}

## Refinement
{Open questions, things to figure out, or ... if none yet}

## Acceptance Criteria
- [ ] {Criterion 1}
- [ ] {Criterion 2}

## Links to design
...

## Notes
...

## Architecture
...
```

## Issue Tracker Notes

- Configure your project/list names and IDs in your project's configuration
- Custom field IDs (for priority, team, etc.) vary by tracker — check your tracker's API docs
- Tags may be read-only in some trackers — never create new tags unless the tracker supports it
- To discover available tags, check existing tasks in the target project/list

