AgentSkillsCN

work-on-issue

接收 GitHub Issue 编号,从问题分析到 PR 生成,全程按步骤推进工作流程。每个环节均需经过开发人员的确认后方可继续。

SKILL.md
--- frontmatter
name: work-on-issue
description: GitHub Issue 번호를 받아 이슈 분석부터 PR 생성까지 전체 워크플로우를 단계별로 진행합니다. 각 단계에서 개발자 확인을 받으며 진행합니다.
user-invocable: true

GitHub Issue 기반 개발 워크플로우

이 스킬은 GitHub Issue 번호를 받아 이슈 분석 → 브랜치 생성 → 작업 계획 → 구현 및 커밋 → 푸시 및 PR 생성까지의 전체 개발 워크플로우를 오케스트레이션합니다.

인자: $ARGUMENTS에서 이슈 번호를 받습니다. (예: /work-on-issue 42)

중요: 각 단계가 끝날 때마다 결과를 개발자에게 보고하고, 다음 단계로 진행할지 확인을 받으세요. 개발자가 수정을 요청하면 해당 단계를 조정한 후 다시 확인을 받으세요.

워크플로우 진행 추적

필수: 워크플로우 시작 시 아래 5개 단계를 TaskCreate로 모두 등록하세요. Plan 모드 등 컨텍스트 경계를 넘어도 태스크 리스트가 유지되어 남은 단계를 놓치지 않습니다.

워크플로우를 시작하면 가장 먼저 다음 5개 태스크를 TaskCreate로 생성합니다:

  1. 이슈 분석 — description: "issue-fetcher 에이전트에 이슈 번호를 전달하여 실행합니다. 에이전트가 반환한 이슈 요약을 개발자에게 제시합니다. 확인 포인트: '이슈 분석 결과를 확인해 주세요. 이 내용을 바탕으로 작업을 진행할까요?' 개발자 확인 후 TaskList를 호출하여 다음 단계(브랜치 생성)로 진행합니다."
  2. 브랜치 생성 — description: "branch-creator 에이전트(git-workflow 플러그인)를 호출하여 작업 브랜치를 생성합니다. 이슈 분석에서 파악한 작업 유형(type)과 이슈 내용을 기반으로 호출합니다. 생성된 브랜치 이름을 개발자에게 제시합니다. 확인 포인트: '브랜치가 생성되었습니다. 다음 단계로 진행할까요?' 개발자 확인 후 TaskList를 호출하여 다음 단계(작업 계획 수립)로 진행합니다."
  3. 작업 계획 수립 — description: "Plan 모드로 전환하여 이슈 요구사항에 대한 구현 계획을 수립합니다. 코드베이스를 탐색하여 수정/생성이 필요한 파일을 파악합니다. 구현 계획의 마지막에 반드시 다음 3개 단계를 코드 변경과 동일한 계획 단계로 추가하세요: [커밋] auto-committer 에이전트를 Task 도구로 호출, [푸시] git push -u origin <branch-name>, [PR 생성] pr-creator 에이전트를 Task 도구로 호출. Plan 모드의 승인 절차를 통해 개발자가 계획을 검토하고 승인합니다. 개발자 승인 후 TaskList를 호출하여 다음 단계(구현 및 커밋)로 진행합니다."
  4. 구현 및 커밋 — description: "승인된 계획에 따라 코드를 구현합니다. 각 작업 단위를 구현한 직후, 같은 응답에서 auto-committer 에이전트를 Task 도구로 호출하여 커밋하세요. 모든 구현과 커밋이 끝나면 git status로 미커밋 변경사항이 없는지 확인합니다. 확인 포인트: '모든 작업 단위의 구현과 커밋이 완료되었습니다. 확인 후 푸시 → PR 생성까지 이어서 진행합니다.' 개발자 확인 후 TaskList를 호출하여 다음 단계(푸시 및 PR 생성)로 진행합니다."
  5. 푸시 및 PR 생성 — description: "git log main..HEAD --oneline으로 푸시할 커밋 목록을 개발자에게 보여줍니다. 확인 포인트: '위 커밋들을 원격에 푸시하고 PR을 생성할까요?' 승인 후 git push -u origin <branch-name>을 실행합니다. 푸시 후 pr-creator 에이전트에 이슈 번호와 브랜치 정보를 전달하여 PR을 생성합니다. PR 정보(URL, 제목, 본문 요약)를 개발자에게 제시합니다."

각 단계를 시작할 때 in_progress, **완료할 때 completed**로 TaskUpdate하세요. 단계 진행 전 반드시 TaskList를 확인하여 현재 진행 상황을 파악하세요.

필수 — 워크플로우 연속 규칙: 어떤 단계를 완료하든, 5개 태스크가 모두 completed가 될 때까지 워크플로우를 종료하지 마세요. 각 단계의 확인 포인트에서 개발자 확인을 받은 뒤, 즉시 TaskList를 호출하여 다음 미완료 단계를 확인하고 진행하세요.

전제 조건

  • gh CLI가 설치되고 인증된 상태여야 합니다.
  • 현재 디렉토리가 Git 리포지토리여야 합니다.
  • $ARGUMENTS가 비어있으면 개발자에게 이슈 번호를 질문하세요.

워크플로우

1단계: 이슈 분석

issue-fetcher 에이전트를 호출하여 이슈 상세 정보를 분석합니다.

  1. issue-fetcher 에이전트에 이슈 번호를 전달하여 실행합니다.
  2. 에이전트가 반환한 이슈 요약을 개발자에게 제시합니다.
  3. 확인 포인트: "이슈 분석 결과를 확인해 주세요. 이 내용을 바탕으로 작업을 진행할까요?"

2단계: 브랜치 생성

branch-creator 에이전트(git-workflow 플러그인)를 호출하여 작업 브랜치를 생성합니다.

  1. 1단계에서 분석한 작업 유형(type)과 이슈 내용을 기반으로 branch-creator 에이전트를 호출합니다.
  2. 생성된 브랜치 이름을 개발자에게 제시합니다.
  3. 확인 포인트: "브랜치가 생성되었습니다. 다음 단계로 진행할까요?"

3단계: 작업 계획 수립

이슈 요구사항을 기반으로 구현 계획을 작성합니다.

  1. Plan 모드로 전환하여 이슈 요구사항에 대한 구현 계획을 수립합니다.
  2. 코드베이스를 탐색하여 수정/생성이 필요한 파일을 파악합니다.
  3. 단계별 구현 계획을 작성합니다.
  4. 구현 계획의 마지막에 반드시 다음 3개 단계를 코드 변경과 동일한 계획 단계로 추가하세요:
    • [커밋] auto-committer 에이전트를 Task 도구로 호출
    • [푸시] git push -u origin <branch-name>
    • [PR 생성] pr-creator 에이전트를 Task 도구로 호출
  5. 확인 포인트: Plan 모드의 승인 절차를 통해 개발자가 계획을 검토하고 승인합니다.

4단계: 구현 및 커밋

승인된 계획에 따라 코드를 구현하고 커밋합니다.

  1. 계획의 작업 단위를 하나 구현합니다.
  2. 같은 응답에서 즉시 auto-committer 에이전트(git-workflow 플러그인)를 호출하여 커밋합니다.
  3. 남은 작업 단위가 있으면 1~2를 반복합니다.
  4. 모든 작업 단위의 구현과 커밋이 끝나면, git status로 커밋되지 않은 변경사항이 없는지 확인합니다.
  5. 구현 중 계획과 다른 부분이 생기면 개발자에게 보고하고 조정합니다.
  6. 확인 포인트: "모든 작업 단위의 구현과 커밋이 완료되었습니다. 확인 후 푸시 → PR 생성까지 이어서 진행합니다."

5단계: 푸시 및 PR 생성

작업 브랜치를 원격에 푸시하고 Pull Request를 생성합니다.

  1. git log main..HEAD --oneline으로 푸시할 커밋 목록을 개발자에게 보여줍니다.
  2. 확인 포인트: "위 커밋들을 원격에 푸시하고 PR을 생성할까요?"
  3. 승인 후 git push -u origin <branch-name>을 실행합니다.
  4. pr-creator 에이전트에 이슈 번호와 브랜치 정보를 전달하여 실행합니다.
  5. 에이전트가 생성한 PR 정보(URL, 제목, 본문 요약)를 개발자에게 제시합니다.
  6. 확인 포인트: "PR이 생성되었습니다. 확인해 주세요."

완료 보고

모든 단계가 완료되면 최종 요약을 제시합니다:

code
## 워크플로우 완료

- **이슈**: #<number> <title>
- **브랜치**: <branch-name>
- **커밋 수**: <number of commits>
- **PR**: <PR URL>

중단 및 재개

  • 개발자가 특정 단계에서 중단을 요청하면, 현재까지의 진행 상황을 요약하고 중단합니다.
  • 이미 완료된 단계는 건너뛰지 않습니다. (예: 이미 브랜치가 있으면 2단계 건너뛰기)
  • 에이전트 호출이 실패하면 에러를 보고하고 개발자의 지시를 기다립니다.