npx claudepluginhub minukHwang/claude-plugins --plugin jira/startImplements Manus-style file-based planning for complex tasks by creating task_plan.md, findings.md, and progress.md. Supports automatic session recovery after /clear.
/startOrchestrates provided tasks using three agents (task-orchestrator, decomposer, dependency-analyzer) to generate execution plans, tracking directories, dependency graphs, and coordination documents.
/startOrchestrates provided tasks using three agents (task-orchestrator, decomposer, dependency-analyzer) to generate execution plans, tracking directories, dependency graphs, and coordination documents.
/startStarts ClaudeClaw heartbeat daemon: blocks home-dir starts, installs Bun/Node if needed, checks/runs interactive config for model, heartbeat, Telegram/Discord/security.
/startStarts interactive UI design session: interviews requirements, generates variations, collects feedback, iterates to refined design, produces implementation plan. Optional target argument.
/startStarts the Nights Watch daemon to monitor Claude usage limits and autonomously execute tasks from task.md. Supports optional --at TIME scheduling.
Start working on a Jira issue by creating a branch, updating status, and syncing Notion.
/jira:start [issue-key]
If no issue key provided, shows list of available issues.
cat .claude/workflow.json 2>/dev/null
If not exists or jira.enabled is false:
✗ Jira integration not configured.
Run /workflow:init to set up Jira integration.
Extract:
jira.cloudId - Cloud ID for API callsjira.projectKey - Project keyjira.includeInBranch - Include issue key in branchnotion.enabled - Whether to sync to Notioncat ~/.claude/notion.json 2>/dev/null
Extract:
todo.id - TODO database ID (user-level config)If issue key not provided as argument:
Call mcp__atlassian__searchJiraIssuesUsingJql:
jql: "project = {projectKey} AND assignee = currentUser() AND status = 'To Do' ORDER BY priority DESC"
fields: ["summary", "status", "issuetype", "priority"]
maxResults: 10
Display issues using Cascading Selection (4-option limit):
Round 1:
| Option | Description |
|---|---|
| {issue1.key} | {issue1.summary} |
| {issue2.key} | {issue2.summary} |
| {issue3.key} | {issue3.summary} |
| More... | Show more issues |
Round 2 (if More...):
| Option | Description |
|---|---|
| {issue4.key} | {issue4.summary} |
| {issue5.key} | {issue5.summary} |
| {issue6.key} | {issue6.summary} |
| Enter key | Enter issue key manually |
Call mcp__atlassian__getJiraIssue:
cloudId: {jira.cloudId}
issueIdOrKey: {selected_issue_key}
fields: ["summary", "status", "issuetype", "priority", "description", "customfield_10015"]
Verify issue exists and extract:
issueKey - e.g., CP-1summary - Issue titleissueType - Bug, Task, Story, Epicstatus - Current statusstartDate - Existing start date (customfield_10015), may be nullGet available transitions:
Call mcp__atlassian__getTransitionsForJiraIssue:
cloudId: {jira.cloudId}
issueIdOrKey: {issueKey}
Find transition to "In Progress" status and execute:
Call mcp__atlassian__transitionJiraIssue:
cloudId: {jira.cloudId}
issueIdOrKey: {issueKey}
transition: {"id": "{transition_id}"}
Only set Start Date if not already set:
If startDate from Step 2 is null/empty:
Get current date:
date +%Y-%m-%d
Store as {today_date}.
Set the start date field in Jira:
Call mcp__atlassian__editJiraIssue:
cloudId: {jira.cloudId}
issueIdOrKey: {issueKey}
fields: {
"customfield_10015": "{today_date}"
}
If startDate already exists:
startDate for displayNote: Start Date field name may vary by project:
customfield_10015, customfield_10014, Start dateMap issue type to branch type:
bugfixfeaturefeaturefeatureConvert summary to kebab-case description:
Internally call /git:branch with parameters:
This creates branch: {type}/{issueKey}-{description}
Example: feature/CP-1-add-user-authentication
If notion.enabled is true:
Search for existing TODO item by Jira link:
Call mcp__notion__notion-search:
query: "{issueKey}"
filter: {"property": "object", "value": "page"}
If found, update status (and start date if not already set):
If Start Date was not set (from Step 3.2):
Call mcp__notion__notion-update-page:
data: {
"page_id": "{found_page_id}",
"command": "update_properties",
"properties": {
"Status": "In Progress",
"date:Period:start": "{today_date}",
"date:Period:is_datetime": 0
}
}
If Start Date already exists:
Call mcp__notion__notion-update-page:
data: {
"page_id": "{found_page_id}",
"command": "update_properties",
"properties": {
"Status": "In Progress"
}
}
✓ Issue started: {issueKey}
Summary: {summary}
Type: {issueType}
Status: To Do → In Progress
Start Date: {today_date} # or "{existing_date} (already set)"
Branch: {branch_name}
├─ Created via /git:branch
└─ Checked out automatically
{if notion synced}
✓ Notion TODO updated
├─ Status: Todo → In Progress
└─ Period: {today_date} → (end)
{/if}
Next steps:
- Make your changes
- /git:commit - Commit with [{issueKey}] in message
- /jira:done - Complete the issue and create PR
✗ Issue not found: {issueKey}
Check the issue key and try again.
Use /jira:backlog to see available issues.
⚠ Issue started with warnings
Branch created: {branch_name}
Status change failed: {error}
Issue may already be In Progress or transition not available.
✗ Failed to start issue: {error}
Possible causes:
- Uncommitted changes in current branch
- Branch already exists
- Invalid branch name
Fix the issue and try again.