Skip to content
Back to skills

Jira Task Auto

ASecurity

Auto-execute the full Jira task workflow (start → approach → impl → test → review) sequentially. Triggers: jira-task auto, auto run; 자동 실행, 전체 워크플로 자동.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
toolspythonbash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add mzd-hseokkim/jira-claude-code-integration --skill jira-task-auto --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jira Task Auto?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jira Task Auto
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mzd-hseokkim-jira-task-auto/badge)](https://www.skillsdirectory.com/skills/mzd-hseokkim-jira-task-auto)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jira-task-auto
description: "Auto-execute the full Jira task workflow (start → approach → impl → test → review) sequentially. Triggers: jira-task auto, auto run; 자동 실행, 전체 워크플로 자동."
user-invocable: false
argument-hint: "<TASK-ID> [--skip <단계,...>]"
allowed-tools:
  - Read
  - Bash
  - Workflow
---

# jira-task-auto: Auto-Execute Full Workflow

**Language Rule**: 프로젝트 CLAUDE.md의 Conventions 섹션 참고 (한국어 출력, Jira 코멘트 제목은 영어).

## Overview

`start → approach → impl+test → review` 파이프라인을 **Workflow 스크립트**(`scripts/auto.workflow.js`)로 실행하는 thin launcher.

- 제어 흐름(단계 순서·게이트 판정·scope shortfall triage·fix loop 최대 2회)은 전부 스크립트가 결정론적으로 수행한다. 이 스킬은 인자 파싱, args 조립, Workflow 호출, 결과 렌더링만 담당.
- 각 단계는 스크립트가 `agent()`(general-purpose)로 격리 실행 — 모델 차등(start haiku / approach opus / impl+test sonnet / review는 L1이면 sonnet, 그 외 opus)은 스크립트에 코드로 박혀 있다.
- `merge`/`pr`/`done`은 포함하지 않음 (worktree 경계 + 외부 공개 행위).
- 설계 근거: `tasks/auto-workflow-design.md`, triage 임계값 근거: `skills/jira-task-auto/refs/review-wrapper.md`.

> Workflow 도구 호출은 이 스킬의 지시에 의한 것으로, 사용자가 `/jira-task auto`(또는 loop)를 실행한 것이 곧 옵트인이다.

## Step 1: 인자 파싱

- `<TASK-ID>` 필수.
- `--skip <단계,...>` 또는 자연어("test 스킵", "test 빼고") → `USER_SKIP_STEPS` 목록. 스킵 가능 단계: `approach`, `impl`, `test`, `review` (start는 스킵 불가). 유효하지 않은 단계명은 무시하고 경고 한 줄: `⚠ 알 수 없는 단계 '<X>'는 스킵 목록에서 제외됩니다.`

## Step 2: Context 로드 + args 조립

cwd(worktree)의 `.jira-context.json`을 `Read`로 읽어 다음을 조립한다:

```
{ taskId, worktreePath, completedSteps, userSkipSteps,
  breakdownLevel,        // 없으면 null
  issueType,             // cachedIssue.issuetype 이름, 없으면 null
  ctxFiles: [<worktree ctx 절대경로>, <repoRoot aggregate 절대경로>],
  scriptsDir }           // Step 3에서 해석한 auto.workflow.js의 디렉터리 절대경로 — stage agent가 lookup을 반복하지 않게 한다
```

`worktreePath`가 cwd와 다르면 중단하고 안내: worktree로 이동 후 재실행 (`cd <worktreePath>`).

## Step 3: 스크립트 lookup

`skills/_shared/script-lookup.md`를 Read하고 `SCRIPT_NAME="auto.workflow.js"`, `OUT_VAR="AUTO_WF_JS"`로 lookup 블록을 실행한다. 해석된 경로의 디렉터리(`dirname`)가 `scriptsDir`다 — 같은 디렉터리에 `jira-context-update.py`, `detect-lint.sh` 등 공용 스크립트가 전부 있으므로 이 값 하나로 stage agent의 lookup 의식(Read·루프·확인 3~4회/단계)이 사라진다. 빈 값이면 중단:

```
❌ Auto 실행 불가: auto.workflow.js를 찾지 못했습니다. 플러그인 설치 상태를 확인하세요.
```

## Step 4: 실행 계획 표시 + Workflow 호출

```
🚀 Auto 모드: <TASK-ID>

완료된 단계: <completedSteps 또는 "없음">
건너뛸 단계 (사용자 요청): <USER_SKIP_STEPS 또는 "없음">
남은 단계는 Workflow 스크립트가 순차 실행합니다 (PDCA 권고 자동 적용 — 사용자 명시 스킵이 우선).
```

`Workflow({ scriptPath: "<AUTO_WF_JS>", args: <Step 2의 객체> })`를 호출하고 완료 notification을 기다린다. 완료 전에 결과를 예단하지 않는다.

호출이 `scriptPath must be a script path this tool returned, or a file you can already read …`로 거부되면 플러그인 설치 경로가 워킹 디렉터리에 등록되지 않은 것이다. 등록 후 중단한다 (재시도하지 않는다 — settings는 세션 시작 시 읽힌다):

```bash
python3 "<scriptsDir>/ensure-workflow-dir.py"
```

```
❌ Auto 실행 불가: 플러그인 경로가 워킹 디렉터리에 없어 Workflow 도구가 거부했습니다.
settings.json에 등록했습니다 — 새 세션부터 자동 적용됩니다.
지금 세션에서 이어서 하려면: /add-dir <출력의 dir> 실행 후 `/jira-task auto <TASK-ID>` 재실행.
```

## Step 5: 결과 렌더링

Workflow 반환 객체의 `status`별로 렌더링한다. 공통: `<completedSteps>`는 반환값의 목록.

**`completed`**:

```
─────────────────────────────────────────
🎉 Auto 모드 완료 — <TASK-ID>
─────────────────────────────────────────
✅ 완료된 단계: <completedSteps, → 구분>
⏭ 스킵: <skipped.user + skipped.pdca, 없으면 줄 생략>
🔄 fix loop: <fixAttempts>회

**다음 단계** (수동 실행 필요):
- merge: `/jira-task merge <TASK-ID>` — worktree에서 로컬 병합
- pr:    `/jira-task pr <TASK-ID>`    — Pull Request 생성
- done:  `/jira-task done <TASK-ID>`  — 작업 완료 처리
─────────────────────────────────────────
```

**`aborted`** (단계 실패):

```
❌ Auto 모드 중단: <failedStage> 단계에서 실패했습니다.

원인: <reason>
현재 진행 상황: <completedSteps>

수동으로 문제를 해결한 후 재실행하거나, 해당 단계부터 직접 실행하세요: /jira-task <단계> <TASK-ID>
```

**`scope_shortfall`**:

```
❌ Auto 모드 중단 (scope shortfall): review 품질 게이트가 부분 구현 신호를 보였습니다.

신호:
- 설계-구현 매칭률: <metrics.matchRate>% (임계값 70%)
- Critical 이슈: <metrics.criticalCount>건 (임계값 3건)

판단: 단일 fix sub-agent로 메우기 어려운 scope 누락으로 보입니다. 자동 fix loop을 건너뛰고 사용자 결정에 위임합니다.

현재 진행 상황: <completedSteps>

다음 권장 흐름 중 택일:
1. 부분 구현을 그대로 수용하고 Phase 1으로 종료 → `/jira-task merge <TASK-ID>` 후 미구현 subtask는 별도 init
2. 추가 구현 직접 수행 → 해당 worktree에서 추가 작업 후 `/jira-task review <TASK-ID>` 재실행
3. impl/test/review 단계만 수동 재실행 → 단계별로 `/jira-task <단계> <TASK-ID>` 호출
```

**`fix_unconverged`** (fix agent의 inner sensor loop이 5회 내 green 실패 — 재리뷰 없이 중단):

```
❌ Auto 모드 중단: 리뷰 지적 수정이 lint/typecheck/관련 테스트로 수렴하지 않았습니다 (inner loop <innerLoopIterations>회).

마지막 센서 출력:
<sensorSummary>

판단: computational sensor로 잡히지 않는 종류의 문제(설계 갭 등)로 보입니다. 사용자 결정에 위임합니다.
현재 진행 상황: <completedSteps>

worktree에서 직접 수정 후 재실행하세요: /jira-task test <TASK-ID> → /jira-task review <TASK-ID>
```

**`fix_exhausted`**:

```
❌ Auto 모드 중단: review 품질 게이트를 2회 시도 후에도 통과하지 못했습니다.

미해결 신호: Critical <metrics.criticalCount>건, 매칭률 <metrics.matchRate>%
현재 진행 상황: <completedSteps>

리뷰 리포트 확인: docs/review/<TASK-ID>.review.md
수동으로 수정 후 재실행하세요: /jira-task review <TASK-ID>
```

## Step 5.5: run-log 기록 (관측용, non-blocking)

렌더링 후 Workflow 반환 객체를 **어떤 status든** run-log에 1줄 기록한다 (retro의 입력 — `tasks/retro-skill-design.md` §2). 스크립트는 Step 3의 `scriptsDir`에 있다 (재-lookup 금지). Bash 1회:

```bash
printf '%s' '<Workflow 반환 객체 JSON 그대로>' | python3 "<scriptsDir>/append-run-log.py" <TASK-ID> - ".jira-context.json" "docs/run-log"
```

단계 소요시간은 스크립트가 worktree context의 `<step>At` 타임스탬프로 계산한다. 실패해도 워크플로 결과에는 영향 없음 — 경고 한 줄만 출력.

## 재개(Resume)

중단 후 `/jira-task auto <TASK-ID>` 재실행이 정본 경로다 — Step 2가 최신 `completedSteps`를 읽어 남은 단계만 실행 계획에 들어간다. (같은 세션에서 스크립트를 수정하며 재시도하는 플러그인 개발 상황에서만 Workflow `resumeFromRunId`를 쓴다.)

Files in this skill

  • SKILL.md8.2 KB
  • refs/review-wrapper.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.