From rails-agent-skills
Drafts, classifies tickets by type, area, and sprint bucket, applies prefixes and standard structure, and optionally creates issues in trackers from initiative plans.
npx claudepluginhub igmarin/rails-agent-skills --plugin rails-agent-skillsThis skill uses the workspace's default tool permissions.
Normalize inputs, classify each work item, apply title conventions, draft tickets in a standard structure, then either return markdown drafts or create issues in the issue tracker after explicit approval.
Generates structured Markdown tickets (stories, subtasks, bugs, epics, initiatives) via interactive type selection and questionnaire. Paste into Jira, GitHub Issues, Linear, Azure DevOps.
Writes high-quality product tickets including user stories, bugs, improvements, spikes, and technical debt for Jira, Linear, Notion, GitHub Issues, or Markdown. Use to create, refine, split, or review tickets.
Creates self-contained Jira/Asana/Linear/GitHub tickets optimized for autonomous Claude Code execution using INVEST+C criteria. Use when writing specs for AI agents.
Share bugs, ideas, or general feedback.
Normalize inputs, classify each work item, apply title conventions, draft tickets in a standard structure, then either return markdown drafts or create issues in the issue tracker after explicit approval.
See EXAMPLES.md for a complete plan → ticket draft example.
Extract planning inputs:
If the user already has a plan, do not re-plan unless there is a material gap.
Assign these core planning attributes to each ticket:
| Attribute | Values |
|---|---|
type | Story | Task |
area | backend | web | mobile | cross-platform | external |
execution_order | foundation | api | client | follow-up |
dependency_level | unblocked | blocked |
target_bucket | ready-to-refine | next-dev-sprint | later |
Additional attributes to apply when relevant: coordination_need (single-team | multi-team), external_dependency (yes | no), urgency (normal | priority).
Backend/API enablers generally come before dependent web/mobile tickets.
Use these prefixes:
BE | for backendFE | for web / frontendMobile | for mobileWhen writing the ticket title, leave a space after the |.
Do not add those prefixes to tickets that are not owned by those areas unless the user explicitly wants that.
Use this section order:
| Section | Job |
|---|---|
| Summary | State the outcome |
| Background | Explain why |
| Acceptance Criteria | List observable criteria |
| Dependencies | Note blockers |
| Technical Notes | Implementation details that affect sequencing or scoping only |
Keep the main sections business-facing.
Draft-only:
Create in issue tracker:
Example field shape for MCP/API creation:
{
"project": "<project-key>",
"issuetype": "Story",
"summary": "BE | Enable payment webhook processing",
"description": "<full ticket body>",
"labels": ["payments", "backend"],
"components": ["payments-service"],
"sprint": { "id": "<sprint-id>" },
"epic": "<epic-key>"
}
Omit fields the project does not require. Confirm actual field names from the tracker's create-metadata endpoint before issuing the call. Do not set status on create — use the project's default initial status.
Defaults unless the user overrides:
foundation and api tickets → placed before all dependent client ticketsclient tickets → blocked until the API surface they depend on is stableexternal confirmation tickets → excluded from active build sprintsfollow-up tickets → ready-to-refine or later until their enabling work is complete| Skill | When to chain |
|---|---|
| generate-tasks | After tasks exist or in parallel — same initiative can feed ticket breakdown |
| create-prd | When tickets should align with PRD scope and acceptance themes |