Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

create-ticket

verified

Create implementation tickets with proper format and conventions.

View on GitHub

Marketplace

workaholic

qmu/workaholic

Plugin

core

development

Repository

qmu/workaholic

plugins/core/skills/create-ticket/SKILL.md

Last Verified

February 4, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/qmu/workaholic/blob/main/plugins/core/skills/create-ticket/SKILL.md -a claude-code --skill create-ticket

Installation paths:

Claude
.claude/skills/create-ticket/
Powered by add-skill CLI

Instructions

# Create Ticket

Guidelines for creating implementation tickets in `.workaholic/tickets/`.

## Step 1: Capture Dynamic Values

**Run the gather-ticket-metadata script:**

```bash
bash .claude/skills/gather-ticket-metadata/sh/gather.sh
```

Parse the JSON output:

```json
{
  "created_at": "2026-01-31T19:25:46+09:00",
  "author": "developer@company.com",
  "filename_timestamp": "20260131192546"
}
```

Use these values for frontmatter fields and filename.

## Frontmatter Template

Use the captured values from Step 1:

```yaml
---
created_at: $(date -Iseconds)      # REPLACE with actual output
author: $(git config user.email)   # REPLACE with actual output
type: <enhancement | bugfix | refactoring | housekeeping>
layer: [<UX | Domain | Infrastructure | DB | Config>]
effort:
commit_hash:
category:
---
```

### Field Requirements

- **Lines 1-4**: Fill with actual values (never placeholders)
- **Lines 5-7**: Must be present but leave empty (filled after implementation)

### Concrete Example

```yaml
---
created_at: 2026-01-31T19:25:46+09:00
author: developer@company.com
type: enhancement
layer: [UX, Domain]
effort:
commit_hash:
category:
---
```

## Common Mistakes

These cause validation failures:

| Mistake | Example | Fix |
|---------|---------|-----|
| Missing empty fields | Omitting `effort:` line | Include all 7 fields, even if empty |
| Placeholder values | `author: user@example.com` | Run `git config user.email` and use actual output |
| Wrong date format | `2026-01-31` or `2026/01/31T...` | Use `date -Iseconds` output (includes timezone) |
| Scalar layer | `layer: Config` | Use array format: `layer: [Config]` |

## Filename Convention

Format: `YYYYMMDDHHmmss-<short-description>.md`

Use current timestamp: `date +%Y%m%d%H%M%S`

Example: `20260114153042-add-dark-mode.md`

## File Structure

```markdown
---
created_at: 2026-01-31T19:25:46+09:00
author: developer@company.com
type: enhancement
layer: [UX, Domain]
effort:
commit_hash:
category:
---

# <Title>

## Ove

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6086 chars