Agent skill

Ticket Craft

by alinaqi in alinaqi/maggy

Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing

MITAuto-check: notes

Install Ticket Craft

skills CLI
$ npx skills add alinaqi/maggy --skill ticket-craft -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alinaqi/maggy ticket-craft --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ticket-craft .claude/skills/ticket-craft && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ticket-craft
GitHub stars
707
Token cost
~5.6k tokens
SKILL.md length
1,178 words
Files
1
Skills in repo
71
Repo updated
First seen
Licence
MIT

At a glance

Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing

  • Works in 12 steps: Feature Ticket → The Title-Only Ticket → The Novel → …
  • SKILL.md covers Core Principle, The INVEST+C Criteria, Ticket Types and Epic Slicing Techniques, plus 8 more sections
  • Calls npm and claude

What it does

Ticket Craft is an agent skill from alinaqi/maggy. Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing

Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Asana, Jira and npm. The repository describes itself as: What started as an opinionated Claude Code setup kit is now an autonomous AI engineering command center. The licence is MIT.

Example prompts

  • “/ticket-craft”

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Feature Ticket
  2. The Title-Only Ticket
  3. The Novel
  4. The Vague Requirement
  5. The Over-Specified Solution
  6. The Missing Files Ticket
  7. The No-Verification Ticket
  8. Gather Context
  9. Auto-Detect Context
  10. Generate Ticket
  11. Validate with Checklist
  12. Output

What it can do on your machine

Read from SKILL.md and the folder at commit 72a456e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ticket Craft loads about 5.6k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 1,178 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:157
    - Existing: {list vars already in .env that are relevant}

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from alinaqi/maggy at commit 72a456e, republished under its MIT licence (© alinaqi). 1,178 words, ~5,557 tokens.

Download SKILL.mdSave it as .claude/skills/ticket-craft/SKILL.md (or your agent's skills folder).
name
ticket-craft
description
Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing
when-to-use
When creating tickets, breaking down epics, or writing specs for AI agent execution
user-invocable
true
effort
medium

Ticket Craft Skill

Write software tickets that AI agents can execute autonomously.

Purpose: Define a ticket format that combines software engineering best practices (INVEST, Given-When-Then, Definition of Ready) with Claude Code-specific context requirements. Every ticket created with this skill is "Claude Code Ready" - meaning an agent can pick it up and execute it without asking clarifying questions.

Works with: Jira, Asana, Linear, GitHub Issues, or any ticket system.


Core Principle

┌─────────────────────────────────────────────────────────────────┐
│  A TICKET IS A PROMPT                                            │
│  ──────────────────────────────────────────────────────────────  │
│                                                                  │
│  Traditional tickets are written for humans who can:             │
│  - Ask clarifying questions in Slack                             │
│  - Draw on institutional knowledge                               │
│  - Infer intent from vague descriptions                          │
│                                                                  │
│  AI agents cannot do any of this.                                │
│                                                                  │
│  Every ticket must be SELF-CONTAINED:                            │
│  - Explicit file references (not "the auth module")              │
│  - Pattern references (not "follow our conventions")             │
│  - Verification criteria (not "make sure it works")              │
│  - Constraints (not just what to do, but what NOT to do)         │
│  - Test commands (not "run the tests")                           │
│                                                                  │
│  If Claude Code can execute it without asking a question,        │
│  the ticket is ready. If it can't, it's not.                     │
└─────────────────────────────────────────────────────────────────┘

The INVEST+C Criteria

Standard INVEST plus C for Claude-Ready:

CriterionQuestionFails If...
I - IndependentCan this be completed without waiting on another ticket?Blocked by undocumented dependencies
N - NegotiableIs there room to adjust implementation approach?Over-specifies implementation details
V - ValuableCan you articulate who benefits and how?No clear user or business value
E - EstimableDoes the team understand enough to size it?Too vague or too large to estimate
S - SmallCan one person finish this in 1-3 days?More than 5 acceptance criteria
T - TestableCan you write a pass/fail test for it?Uses vague language like "fast" or "good UX"
C - Claude-ReadyCan an AI agent execute this without clarifying questions?Missing file refs, patterns, verification, or constraints

Ticket Types

1. Feature Ticket
markdown
## [PROJ-XXX] {Verb} {Feature} for {User}

**Type:** Feature
**Priority:** {Critical | High | Medium | Low}
**Points:** {1 | 2 | 3 | 5 | 8}
**Labels:** {frontend, backend, api, database, etc.}
**Epic:** {Parent epic}

---

### User Story
As a {specific persona},
I want to {specific action},
so that {measurable benefit}.

### Background
{1-2 paragraphs on why this matters. Link to product brief, user research,
or business justification. Include any relevant metrics or user feedback.}

### Acceptance Criteria

**AC1: {Happy path scenario}**
Given {precondition},
when {action},
then {expected result}.

**AC2: {Edge case / error scenario}**
Given {precondition},
when {action},
then {expected result}.

**AC3: {Boundary condition}**
Given {precondition},
when {action},
then {expected result}.

### Out of Scope
- {Explicitly state what this ticket does NOT include}
- {Prevents scope creep and keeps ticket small}

---

### Claude Code Context

#### Relevant Files (read these first)
- `src/services/example.ts` - Existing service to extend
- `src/models/example.ts` - Data model definition
- `src/api/routes/example.ts` - Existing endpoint patterns to follow

#### Pattern Reference
Follow the pattern in `src/services/user.ts` for service layer implementation.
Follow the pattern in `src/api/routes/users.ts` for route definition.
Follow the pattern in `tests/services/user.test.ts` for test structure.

#### Database Changes
- {Table to create/modify, columns, types}
- {Migration file location: `supabase/migrations/` or `prisma/migrations/`}
- {RLS policies if using Supabase}

#### API Contract

POST /api/{resource} Request: { field1: string, field2: number } Response: { id: string, field1: string, created_at: string } Error: { error: string, code: number }


#### Constraints
- Do NOT modify {specific files or modules}
- Do NOT add new dependencies without approval
- Follow existing error handling in `src/core/exceptions.ts`
- {Any performance budgets: response time < 200ms, bundle size < 50KB}

#### Verification
```bash
# Run specific tests
npm test -- --grep "{feature name}"

# Lint check
npm run lint

# Type check
npm run typecheck

# Full validation
npm test -- --coverage
Environment Variables
  • Existing: {list vars already in .env that are relevant}
  • New required: {list any new vars needed}

Dependencies
  • Blocked by: {PROJ-XXX} ({brief description})
  • Blocks: {PROJ-YYY} ({brief description})
Design
  • Mockup: {link to Figma/design if applicable}

---

### 2. Bug Ticket

```markdown
## [BUG-XXX] Fix: {Component} - {Symptom}

**Type:** Bug
**Priority:** {Critical | High | Medium | Low}
**Points:** {1 | 2 | 3 | 5}
**Labels:** {regression, ux-bug, data-bug, security-bug}
**Severity:** {Blocks users | Degrades experience | Cosmetic}

---

### Bug Summary
{One sentence: what is broken and who is affected.}

### Environment
- Browser/OS: {e.g., Chrome 120 / macOS 14.2}
- Environment: {Production | Staging | Local}
- User type: {Anonymous | Authenticated | Admin}
- First observed: {date}

### Steps to Reproduce
1. {Navigate to / perform action}
2. {Perform next action}
3. {Perform next action}
4. **Observe:** {incorrect behavior}

### Expected Behavior
{What should happen instead.}

### Actual Behavior
{What actually happens. Include error messages, console output, screenshots.}

### Impact
- Users affected: {percentage or count}
- Frequency: {every time | intermittent | specific conditions}
- Workaround: {exists / none}

---

### Claude Code Context

#### Suspected Root Cause
{Where the bug likely lives, if known.}
- File: `src/components/LoginForm.tsx:87`
- Issue: `isSubmitting` state set to `true` on validation error but never reset

#### Relevant Files
- `src/components/LoginForm.tsx` - Form component with the bug
- `tests/components/LoginForm.test.tsx` - Existing tests (gap here)
- `src/hooks/useAuth.ts` - Auth hook used by the form

#### Test Gap Analysis
- Existing tests cover: {what's currently tested}
- Missing test: {what test would have caught this bug}

#### Bug Fix Workflow (TDD)
1. Write a failing test that reproduces the bug
2. Verify the test fails (confirms the bug exists)
3. Fix the bug with minimum code change
4. Verify the test passes
5. Run full test suite to check for regressions

#### Verification
```bash
# Run the specific test
npm test -- --grep "LoginForm submit"

# Run related tests
npm test -- src/components/LoginForm.test.tsx

# Full regression check
npm test
Constraints
  • Fix the bug only - do NOT refactor surrounding code
  • Do NOT change the component's public API
  • Ensure all existing tests continue to pass

---

### 3. Tech Debt Ticket

```markdown
## [TECH-XXX] Refactor: {Area} - {Improvement}

**Type:** Tech Debt
**Priority:** {High | Medium | Low}
**Points:** {3 | 5 | 8}
**Labels:** {refactor, performance, maintainability, testing}

---

### Problem Statement
{What is wrong with the current implementation and why it matters.
Include concrete pain points: slow CI, frequent bugs, developer confusion.}

### Current State
- File: `{path}` ({N} lines)
- Test coverage: {X}%
- Cyclomatic complexity: {N}
- Related bugs: {PROJ-XXX, PROJ-YYY}
- Pain frequency: {how often this causes issues}

### Proposed Change
{What specifically should change and why this approach.}

### Acceptance Criteria
- [ ] {Specific structural change completed}
- [ ] All existing tests pass without modifying test assertions
- [ ] No public API changes (existing consumers unaffected)
- [ ] Test coverage >= {X}%
- [ ] {Measurable improvement metric}

### Risk Assessment
- Risk level: {Low | Medium | High}
- Mitigation: {run full regression, deploy behind flag, etc.}

### Business Justification
{Why this is worth doing now. E.g., "Reduces average bug fix time from 4h to 1h"
or "Enables upcoming feature PROJ-XXX which requires clean separation."}

---

### Claude Code Context

#### Relevant Files
- `{file}` - Current implementation to refactor
- `{test file}` - Existing tests (must not break)
- `{dependent file}` - Consumer of the API being refactored

#### Pattern Reference
Follow the pattern established in `{good example file}` for the new structure.

#### Constraints
- Do NOT change public APIs or exports
- Do NOT modify test assertions (tests should pass as-is)
- Do NOT introduce new dependencies
- Keep backwards compatibility

#### Verification
```bash
# Existing tests must pass unchanged
npm test

# No type errors
npm run typecheck

# Lint clean
npm run lint

# Coverage target
npm test -- --coverage

---

### 4. Epic Breakdown Ticket

```markdown
## [EPIC-XXX] {Epic Name}

**Type:** Epic
**Priority:** {Critical | High | Medium}
**Target:** {Sprint/milestone}

---

### Objective
{One paragraph: what this epic achieves and why it matters.}

### Success Metrics
- {Measurable outcome 1}
- {Measurable outcome 2}

### User Workflows
{The user journey this epic covers, broken into steps.}
1. {Step 1: Discovery/Entry}
2. {Step 2: Core Action}
3. {Step 3: Completion/Result}

### Ticket Breakdown

| # | Ticket | Type | Points | Dependencies |
|---|--------|------|--------|-------------|
| 1 | {title} | Feature | 3 | None |
| 2 | {title} | Feature | 5 | #1 |
| 3 | {title} | Feature | 3 | None |
| 4 | {title} | Feature | 2 | #2, #3 |
| 5 | {title} | Tech Debt | 3 | None |

### Slicing Strategy
{How the epic was broken down. Reference the technique used.}

### Agent Team Mapping
{If using agent teams, how features map to agents.}
- Feature Agent 1: Tickets #1, #2
- Feature Agent 2: Tickets #3, #4
- Parallel execution: #1 and #3 can run simultaneously
- Sequential: #2 depends on #1, #4 depends on #2 and #3

Epic Slicing Techniques

When breaking an epic into tickets, use one of these strategies:

TechniqueWhen to UseExample
By workflow stepClear user journeyBrowse > Play > Save > Share
By data variationMultiple data typesText posts, images, videos
By user roleDifferent permissionsAnonymous, authenticated, admin
By CRUDData operationsCreate, Read, Update, Delete
Happy path firstIncremental deliverySuccess flow first, then errors
By boundarySystem integrationFrontend, API, database separately
Rules of Thumb
  • Each ticket: 1-3 days of work for one developer/agent
  • More than 5 acceptance criteria = split the ticket
  • More than 8 story points = definitely split
  • Every ticket should be independently deployable (even behind a flag)
  • Order tickets: simplest, most foundational first

The Claude Code Ready Checklist

Before a ticket is ready for an AI agent to execute, verify:

┌─────────────────────────────────────────────────────────────────┐
│  CLAUDE CODE READY CHECKLIST                                     │
│  ──────────────────────────────────────────────────────────────  │
│                                                                  │
│  CONTEXT                                                         │
│  ☐ Relevant files listed with full paths                         │
│  ☐ Pattern reference points to a real file to follow             │
│  ☐ API contract defined (request/response shapes)                │
│  ☐ Database changes specified (tables, columns, migrations)      │
│  ☐ Environment variables listed (existing + new)                 │
│                                                                  │
│  SCOPE                                                           │
│  ☐ Out of Scope section explicitly states what NOT to do         │
│  ☐ Constraints section lists files/modules NOT to modify         │
│  ☐ Ticket covers one logical change (atomic)                     │
│  ☐ Estimable at ≤ 5 story points                                │
│                                                                  │
│  VERIFICATION                                                    │
│  ☐ Test command provided (exact command, not "run tests")        │
│  ☐ Lint command provided                                         │
│  ☐ Typecheck command provided                                    │
│  ☐ Acceptance criteria are Given-When-Then or checkboxed         │
│  ☐ Each criterion is independently pass/fail testable            │
│                                                                  │
│  QUALITY                                                         │
│  ☐ Title is imperative verb + object + context                   │
│  ☐ Title under 80 characters                                     │
│  ☐ Description explains WHY, not just WHAT                       │
│  ☐ 2-5 acceptance criteria (not more)                            │
│  ☐ No vague language ("fast", "good UX", "clean")               │
│                                                                  │
│  If any box is unchecked, the ticket is NOT ready.               │
└─────────────────────────────────────────────────────────────────┘

Anti-Patterns (Never Do These)

1. The Title-Only Ticket
Title: Fix login
Description: (empty)

Why it fails: No context, no acceptance criteria, no file references. Claude Code will guess and likely guess wrong.

2. The Novel
Title: Implement new onboarding
Description: (3 pages mixing UI, backend, analytics, email, and future ideas)

Why it fails: Not small, not independent. Agent teams can't parallelize this. Split into 5+ tickets.

3. The Vague Requirement
Acceptance Criteria:
- Should be fast
- UX should be good
- Should work on mobile

Why it fails: Unmeasurable, untestable. Replace with: "Response time < 200ms", "Passes WCAG 2.1 AA", "No horizontal scroll at 320px viewport."

4. The Over-Specified Solution
Title: Use Redis to cache user sessions
Description: Install Redis, configure connection pooling, set TTL to 3600...

Why it fails: Prescribes the solution instead of the problem. Should describe "Session lookups take 500ms, need < 50ms" and let the agent choose the approach.

5. The Missing Files Ticket
Description: Update the auth module to support OAuth.

Why it fails for AI: "The auth module" could be 20 files. Claude Code needs: src/services/auth.ts, src/middleware/auth.ts, src/routes/auth.ts - specific paths.

6. The No-Verification Ticket
Acceptance Criteria:
- OAuth login works
- Users can sign in with Google

Why it fails: No test command, no verification steps. Claude Code performs dramatically better when it can verify its own work.


Good vs Bad Examples

Bad: Vague Feature Ticket
Title: Add rate limiting to the API
Description: We need rate limiting on our endpoints.
Good: Claude Code Ready Feature Ticket
Title: Add sliding window rate limiter to /api/generate endpoint

User Story:
As an API consumer, I want requests to be rate-limited
so that the service remains available under heavy load.

Acceptance Criteria:
AC1: Given an authenticated user making requests,
     when they exceed 10 requests per minute,
     then return 429 with Retry-After header.

AC2: Given a rate-limited user,
     when the window expires,
     then requests succeed again.

AC3: Given an unauthenticated request,
     when it hits /api/generate,
     then return 401 (rate limiting only applies to authed users).

Claude Code Context:
- Pattern: Follow `src/middleware/throttle.ts` for middleware structure
- File: Create `src/middleware/rateLimit.ts`
- Test: Create `tests/middleware/rateLimit.test.ts`
- Route: Modify `src/api/routes/generate.ts` to add middleware
- Constraint: Do NOT modify existing middleware or other endpoints

Verification:
  npm test -- --grep "rate-limit"
  npm run lint
  npm run typecheck

Mapping Tickets to Agent Teams

When using the agent-teams workflow, tickets map directly to the 10-task pipeline:

Ticket SectionMaps ToAgent
Title + DescriptionTask 1: {name}-specFeature Agent
Acceptance CriteriaTask 3: {name}-testsFeature Agent (writes tests from AC)
Pattern ReferenceTask 5: {name}-implementFeature Agent (follows pattern)
Verification sectionTask 6-7: verify + validateQuality Agent + Feature Agent
ConstraintsEnforced throughoutAll agents
Claude Code ContextLoaded at startFeature Agent reads first
Ticket → Agent Team Flow
1. Create ticket using templates above
2. Ticket becomes the feature spec in _project_specs/features/
3. Team Lead reads spec, creates 10-task dependency chain
4. Feature Agent uses ticket's Claude Code Context to start
5. Quality Agent uses ticket's Acceptance Criteria to verify
6. Review Agent reviews against ticket's Constraints
7. Security Agent scans based on ticket's scope
8. Merger Agent creates PR referencing the ticket ID

Ticket Title Conventions

TypeFormatExample
FeatureAdd {feature} for {user}Add episode bookmarking for listeners
EnhancementImprove {what} in {where}Improve search performance in episode feed
BugFix: {Component} - {Symptom}Fix: PlayerBar - audio stops on tab switch
Tech DebtRefactor: {Area} - {Goal}Refactor: AuthService - extract token management
SecuritySecurity: {What} in {Where}Security: add input sanitization to comment API
ChoreChore: {What}Chore: upgrade React from 18 to 19

Rules:

  • Start with an imperative verb (Add, Fix, Improve, Refactor, Remove)
  • Under 80 characters
  • Include the component/area affected
  • Be specific enough to distinguish from other tickets

Show full SKILL.md (432 more words)Show less

Story Points for AI Agents

AI agents estimate differently than humans. Use this calibration:

PointsScopeAgent TimeExample
1Single file, < 20 lines changed~5 minFix a typo, update a config value
21-2 files, straightforward~15 minAdd a field to a form, update an API response
32-4 files, clear path~30 minNew API endpoint following existing pattern
54-8 files, some decisions~1 hourNew feature with tests, models, and routes
88+ files, complex~2 hoursIntegration with external service, new data model
13Too large, split required-Full authentication system, major refactor

Rule: If > 5 points, consider splitting. If 13, always split.


Integration with Ticket Systems

Jira
  • Use custom field "Claude Code Context" for the AI-specific section
  • Use labels: claude-ready, needs-context, ai-blocked
  • Link tickets with "blocks/blocked by" for dependency chains
Asana
  • Use custom fields for Priority, Points, Type
  • Use subtasks for the 10-task pipeline steps
  • Use tags: claude-ready, needs-refinement
Linear
  • Use issue templates with the Claude Code Context section built-in
  • Use labels for ticket type and claude-readiness
  • Use projects to group tickets into epics
GitHub Issues
  • Use issue templates (.github/ISSUE_TEMPLATE/)
  • Use labels: feature, bug, tech-debt, claude-ready
  • Use milestones for epics

Command: /create-ticket

When the user asks to create a ticket, follow this workflow:

Step 1: Gather Context

Ask the user:

  1. What type? (Feature / Bug / Tech Debt)
  2. Brief description of what needs to be done
  3. Which part of the codebase is involved?
Step 2: Auto-Detect Context
  • Read the relevant files to understand current implementation
  • Identify the pattern to follow from existing code
  • Find existing tests to understand test conventions
  • Check for related files that might be affected
Step 3: Generate Ticket

Use the appropriate template above, filling in:

  • All Claude Code Context fields (auto-detected)
  • Acceptance criteria (derived from description)
  • Verification commands (from project's CLAUDE.md or package.json)
  • Constraints (based on codebase analysis)
Step 4: Validate with Checklist

Run the Claude Code Ready Checklist against the generated ticket. Flag any unchecked items for the user to address.

Step 5: Output

Present the ticket in the template format, ready to paste into Jira/Asana/Linear.


Definition of Ready (for Sprint)

A ticket can enter a sprint when:

  • Passes INVEST+C criteria
  • Claude Code Ready Checklist is complete
  • Dependencies are identified and unblocked
  • Story points assigned
  • Design/mockups attached (if applicable)
  • Acceptance criteria reviewed by team

Definition of Done

A ticket is done when:

  • All acceptance criteria verified (pass/fail)
  • Tests written and passing
  • Code reviewed (no Critical/High issues)
  • Security scan passed
  • Lint and typecheck clean
  • Coverage >= 80% for new code
  • PR created with full pipeline results
  • Documentation updated (if applicable)

© alinaqi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/ticket-craft of alinaqi/maggy.

Open the folder on GitHubat commit 72a456e

Compare with similar skills

Ticket Craft next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ticket Craft compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ticket Craft this skillalinaqi/maggy707—~5.6kAutomated safety check: NotesMIT
Opendocsioteverythin/OpenDocs234—~746Automated safety check: NotesMIT
Clickup Migration Deep Divejeremylongshore/tons-of-skills-marketplace2.8k—~1.1kAutomated safety check: PassMIT
Linear Migration Deep Divejeremylongshore/tons-of-skills-marketplace2.8k—~1.3kAutomated safety check: PassMIT
Project Opsericrisco/rsc-harness180—~2.4kAutomated safety check: PassMIT
Decision Trigger Mapperrevfactory/harness-1001.3k—~1.2kAutomated safety check: PassApache-2.0

Similar skills

  • Opendocs

    ioteverythin/OpenDocs

    Generates multi-format documentation (Word, PDF, PPTX, Markdown blog post, JIRA ticket, FAQ, changelog, LaTeX, social snippet, architecture diagram) from a GitHub README, npm package, local Markdown…

    234 GitHub stars~746 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Clickup Migration Deep Dive

    jeremylongshore/tons-of-skills-marketplace

    Plan and execute resumable migrations into or between ClickUp Workspaces with explicit mapping, stable source IDs, bounded writes, and reconciliation.

    2.8k GitHub stars~1.1k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Linear Migration Deep Dive

    jeremylongshore/tons-of-skills-marketplace

    Plan and execute a controlled migration into Linear using supported import assistants or the CLI importer.

    2.8k GitHub stars~1.3k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Project Ops

    ericrisco/rsc-harness

    A skill your agent uses when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary…

    180 GitHub stars~2.4k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Decision Trigger Mapper

    revfactory/harness-100

    A specialized skill for designing decision trigger maps and strategy option portfolios within scenario response strategies.

    1.3k GitHub stars~1.2k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Defuddle

    kepano/obsidian-skills

    Uses the Defuddle CLI to pull clean, readable Markdown, JSON or metadata from web pages, stripping navigation, ads and clutter to save tokens.

    49k GitHub starsUsed in 11 repos~208 tokens
    Knowledge ManagementAuto-check passed

More from alinaqi/maggy

All 71 skills in this repo
  • Aeo Optimization

    alinaqi/maggy

    AI Engine Optimization - semantic triples, page templates, content clusters for AI citations

    707 GitHub stars~3.7k tokensUpdated 17 days ago
    Auto-check passed
  • Agent Teams

    alinaqi/maggy

    Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement

    707 GitHub stars~5k tokensUpdated 17 days ago
    Auto-check: notes
  • AI Models

    alinaqi/maggy

    Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate

    707 GitHub stars~4.1k tokensUpdated 17 days ago
    Auto-check passed
  • Android Java

    alinaqi/maggy

    Android Java development with MVVM, ViewBinding, and Espresso testing

    707 GitHub stars~3.9k tokensUpdated 17 days ago
    Auto-check: notes
  • Android Kotlin

    alinaqi/maggy

    Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing

    707 GitHub stars~3k tokensUpdated 17 days ago
    Auto-check passed
  • Autonomous Testing

    alinaqi/maggy

    AI-driven testing agent that auto-discovers, generates, executes, evaluates, and fixes tests for any project type

    707 GitHub stars~1.1k tokensUpdated 17 days ago
    Auto-check passed

Works with

Questions about Ticket Craft

What does Ticket Craft do?

Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing. Ticket Craft is an agent skill from alinaqi/maggy.

How do I install Ticket Craft in Claude Code?

Run `npx skills add alinaqi/maggy --skill ticket-craft -a claude-code`. Or copy the skill folder (skills/ticket-craft in alinaqi/maggy) into .claude/skills/ticket-craft in your project. Claude Code loads it when a task matches its description.

How do I install Ticket Craft in Codex?

Run `npx skills add alinaqi/maggy --skill ticket-craft -a codex`. Or copy the skill folder (skills/ticket-craft in alinaqi/maggy) into .agents/skills/ticket-craft in your project. Codex loads it when a task matches its description.

Can I use Ticket Craft in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alinaqi/maggy --skill ticket-craft -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ticket-craft, .gemini/skills/ticket-craft, .github/skills/ticket-craft and .opencode/skills/ticket-craft in your project.

What does Ticket Craft need to run?

Going by SKILL.md and its folder, Ticket Craft needs the command-line tools its instructions call (npm and claude).

Does Ticket Craft access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ticket Craft safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ticket Craft use?

Ticket Craft is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ticket Craft use?

About 5.6k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ticket Craft?

Skills that share tags, products or a category with Ticket Craft: Opendocs (ioteverythin/OpenDocs, 234 stars), Clickup Migration Deep Dive (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Linear Migration Deep Dive (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Project Ops (ericrisco/rsc-harness, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ticket Craft?

alinaqi (a GitHub user) maintains it in alinaqi/maggy, which has 707 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on September 24, 2026.

Source: alinaqi/maggy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.