Install in seconds
Install this skill
Copy the command and run it in your terminal. You can review the source before installing.
terminal
git clone https://github.com/liferay/liferay-portal

Works with Git. The repository opens in your current directory.

๐Ÿš€
AutomationJava

Start Work on Jira Ticket

by liferay

Automates Jira ticket transitions and Git branching to initialize development on a Liferay ticket. Determines the correct target issue, assigns it, transitions it to the appropriate status, creates a feature branch, and generates a development plan.

2.3K stars3.8K forksAdded 2026/07/20

Documentation

README

Start Work on a Jira Ticket

Prepare a Liferay ticket for development.

Resolve the Ticket

Accept a key (LPD-86295) or a browse URL from ${ARGUMENTS}. When nothing is supplied and ${PWD} matches */liferay-portal-<KEY> where <KEY> matches the Jira pattern [A-Z]+-[0-9]+, derive the key from the directory name. Otherwise, ask the user.

Prerequisites

Abort when the working tree has uncommitted changes.

Determine the Target

Fetch the ticket (issue type, current assignee, subtasks) and resolve the target โ€” the ticket where the branch and active work state live:

  • Bug (10004) โ€” the bug itself. There is no child.
  • Story (10001) or Task (10002) โ€” the Technical Task (10153) subtask. Jira autocreates it when the parent is moved to an in-progress status, so the target does not exist yet and must be resolved after Start Work on the Parent. It may exist from a previous attempt, in which case it becomes the target.

Start Work on the Parent

Assign the parent to the user and apply the transitions below. When the parent is already in an in-progress status by a different user, refuse to continue.

Parent Type Destination Transition IDs
Bug In Progress 61
Story In Development 41, then 61
Task In Progress 21

For a Story, apply the two transitions in sequence: 41 moves it to Ready for Development, which triggers Jira to autocreate the Technical Task subtask, then 61 moves it to In Development.

Start Work on the Child

Skip for Bug. For Story / Task, refetch the parent's subtasks until the Technical Task appears, then assign it to the user and transition it:

Child Type Destination Transition ID
Technical Task In Progress 41

Create a Git Branch

Branch off the current HEAD, named after the target key. When the branch already exists, check it out instead.

Make a Plan

Enter plan mode and read the tickets (both parent and child) to make the plan.

More from liferay

Other Claude Code skills by this author in the directory.