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…
Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing
$ npx skills add alinaqi/maggy --skill ticket-craft -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alinaqi/maggy ticket-craft --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .claude/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alinaqi/maggy/tree/main/skills/ticket-craftType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alinaqi/maggy --skill ticket-craft -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alinaqi/maggy ticket-craft --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ticket-craft .agents/skills/ticket-craft && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .agents/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alinaqi/maggy --skill ticket-craft -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alinaqi/maggy ticket-craft --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ticket-craft .cursor/skills/ticket-craft && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .cursor/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alinaqi/maggy.git --path skills/ticket-craft--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alinaqi/maggy --skill ticket-craft -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alinaqi/maggy ticket-craft --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ticket-craft .gemini/skills/ticket-craft && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .gemini/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alinaqi/maggy ticket-craftInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alinaqi/maggy --skill ticket-craft -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ticket-craft .github/skills/ticket-craft && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .github/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alinaqi/maggy --skill ticket-craft -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alinaqi/maggy ticket-craft --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ticket-craft .opencode/skills/ticket-craft && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ticket-craft" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/ticket-craft into .opencode/skills/ticket-craft/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ticket-craft", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ticket-craftCreate Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing
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.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 72a456e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- 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.
The full file from alinaqi/maggy at commit 72a456e, republished under its MIT licence (© alinaqi). 1,178 words, ~5,557 tokens.
.claude/skills/ticket-craft/SKILL.md (or your agent's skills folder).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.
┌─────────────────────────────────────────────────────────────────┐
│ 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. │
└─────────────────────────────────────────────────────────────────┘Standard INVEST plus C for Claude-Ready:
| Criterion | Question | Fails If... |
|---|---|---|
| I - Independent | Can this be completed without waiting on another ticket? | Blocked by undocumented dependencies |
| N - Negotiable | Is there room to adjust implementation approach? | Over-specifies implementation details |
| V - Valuable | Can you articulate who benefits and how? | No clear user or business value |
| E - Estimable | Does the team understand enough to size it? | Too vague or too large to estimate |
| S - Small | Can one person finish this in 1-3 days? | More than 5 acceptance criteria |
| T - Testable | Can you write a pass/fail test for it? | Uses vague language like "fast" or "good UX" |
| C - Claude-Ready | Can an AI agent execute this without clarifying questions? | Missing file refs, patterns, verification, or constraints |
## [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 ContractPOST /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
---
### 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
---
### 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 #3When breaking an epic into tickets, use one of these strategies:
| Technique | When to Use | Example |
|---|---|---|
| By workflow step | Clear user journey | Browse > Play > Save > Share |
| By data variation | Multiple data types | Text posts, images, videos |
| By user role | Different permissions | Anonymous, authenticated, admin |
| By CRUD | Data operations | Create, Read, Update, Delete |
| Happy path first | Incremental delivery | Success flow first, then errors |
| By boundary | System integration | Frontend, API, database separately |
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. │
└─────────────────────────────────────────────────────────────────┘Title: Fix login
Description: (empty)Why it fails: No context, no acceptance criteria, no file references. Claude Code will guess and likely guess wrong.
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.
Acceptance Criteria:
- Should be fast
- UX should be good
- Should work on mobileWhy it fails: Unmeasurable, untestable. Replace with: "Response time < 200ms", "Passes WCAG 2.1 AA", "No horizontal scroll at 320px viewport."
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.
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.
Acceptance Criteria:
- OAuth login works
- Users can sign in with GoogleWhy it fails: No test command, no verification steps. Claude Code performs dramatically better when it can verify its own work.
Title: Add rate limiting to the API
Description: We need rate limiting on our endpoints.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 typecheckWhen using the agent-teams workflow, tickets map directly to the 10-task pipeline:
| Ticket Section | Maps To | Agent |
|---|---|---|
| Title + Description | Task 1: {name}-spec | Feature Agent |
| Acceptance Criteria | Task 3: {name}-tests | Feature Agent (writes tests from AC) |
| Pattern Reference | Task 5: {name}-implement | Feature Agent (follows pattern) |
| Verification section | Task 6-7: verify + validate | Quality Agent + Feature Agent |
| Constraints | Enforced throughout | All agents |
| Claude Code Context | Loaded at start | Feature Agent reads first |
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| Type | Format | Example |
|---|---|---|
| Feature | Add {feature} for {user} | Add episode bookmarking for listeners |
| Enhancement | Improve {what} in {where} | Improve search performance in episode feed |
| Bug | Fix: {Component} - {Symptom} | Fix: PlayerBar - audio stops on tab switch |
| Tech Debt | Refactor: {Area} - {Goal} | Refactor: AuthService - extract token management |
| Security | Security: {What} in {Where} | Security: add input sanitization to comment API |
| Chore | Chore: {What} | Chore: upgrade React from 18 to 19 |
Rules:
AI agents estimate differently than humans. Use this calibration:
| Points | Scope | Agent Time | Example |
|---|---|---|---|
| 1 | Single file, < 20 lines changed | ~5 min | Fix a typo, update a config value |
| 2 | 1-2 files, straightforward | ~15 min | Add a field to a form, update an API response |
| 3 | 2-4 files, clear path | ~30 min | New API endpoint following existing pattern |
| 5 | 4-8 files, some decisions | ~1 hour | New feature with tests, models, and routes |
| 8 | 8+ files, complex | ~2 hours | Integration with external service, new data model |
| 13 | Too large, split required | - | Full authentication system, major refactor |
Rule: If > 5 points, consider splitting. If 13, always split.
claude-ready, needs-context, ai-blockedclaude-ready, needs-refinement.github/ISSUE_TEMPLATE/)feature, bug, tech-debt, claude-readyWhen the user asks to create a ticket, follow this workflow:
Ask the user:
Use the appropriate template above, filling in:
Run the Claude Code Ready Checklist against the generated ticket. Flag any unchecked items for the user to address.
Present the ticket in the template format, ready to paste into Jira/Asana/Linear.
A ticket can enter a sprint when:
A ticket is done when:
© alinaqi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/ticket-craft of alinaqi/maggy.
Open the folder on GitHubat commit 72a456e
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ticket Craft this skillalinaqi/maggy | 707 | — | ~5.6k | Automated safety check: Notes | MIT | |
| Opendocsioteverythin/OpenDocs | 234 | — | ~746 | Automated safety check: Notes | MIT | |
| Clickup Migration Deep Divejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Linear Migration Deep Divejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Project Opsericrisco/rsc-harness | 180 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Decision Trigger Mapperrevfactory/harness-100 | 1.3k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 |
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…
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.
jeremylongshore/tons-of-skills-marketplace
Plan and execute a controlled migration into Linear using supported import assistants or the CLI importer.
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…
revfactory/harness-100
A specialized skill for designing decision trigger maps and strategy option portfolios within scenario response strategies.
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.
alinaqi/maggy
AI Engine Optimization - semantic triples, page templates, content clusters for AI citations
alinaqi/maggy
Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement
alinaqi/maggy
Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate
alinaqi/maggy
Android Java development with MVVM, ViewBinding, and Espresso testing
alinaqi/maggy
Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing
alinaqi/maggy
AI-driven testing agent that auto-discovers, generates, executes, evaluates, and fixes tests for any project type
Create Jira/Asana/Linear tickets optimized for Claude Code execution - AI-native ticket writing. Ticket Craft is an agent skill from alinaqi/maggy.
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.
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.
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.
Going by SKILL.md and its folder, Ticket Craft needs the command-line tools its instructions call (npm and claude).
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.
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.
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.
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.
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.
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.