user-scope-skills/notion-jira-subtask-migrator/SKILL.md
Migrate Notion pages or child pages into Jira subtasks. Use when the user says "노션 페이지를 지라 하위작업으로 옮겨줘", "노션 하위 페이지를 서브태스크로", "notion to jira", "jira subtask로 이식", "하위 작업 추가", "지라로 옮겨", or provides a Notion page URL and a Jira parent issue together. Prefer a one-page test first, then batch-create the rest sequentially. Supports fixed assignee values like enzo.cho / [email protected] and relies on Jira's default create status, which should verify as To Do after creation.
npx skillsauth add onejaejae/skills notion-jira-subtask-migratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Notion 페이지를 Jira 부모 이슈의 서브태스크로 옮기는 스킬이다.
notion_fetch로 읽는다.notion_fetch로 child page URL 목록을 먼저 확보한다.notion_get_users(user_id="self") 또는 대상 사용자 조회로 user id를 확보한 뒤 notion_search(..., filters.created_by_user_ids=[...])를 사용한다.notion_search 결과의 timestamp를 기준으로 정렬하되, 반드시 상위 페이지 child 목록과 교집합을 취해 scope leakage를 막는다.scripts/create-notion-subtask.sh를 사용한다.scripts/render-notion-page-to-jira.py를 우선 사용한다.Source URL, Source ID, Source Title marker를 남겨 source 기반 중복 검사를 가능하게 한다.created_by_user_ids로 검색timestamp ASC로 정렬해 앞에서부터 진행notion_fetch로 읽는다.[BE][HRS] 같은 prefix를 쓰면 같은 스타일을 맞춘다.항상 아래 구조를 기본으로 사용한다.
h2. Source
[Notion page title|https://...]
h2. Goal
...
h2. Current State
* ...
h2. Key Sections
* ...
h2. Known Blockers
* ...
h2. Next Actions
* ...
h2. Done Condition
* ...
----
_Created from Notion page migration._
세부 규칙:
- item은 Jira * item으로 바꾼다.[text|url] 형식을 쓴다.가능하면 본문은 수동 편집하지 말고 아래 렌더러로 생성한다.
python3 ~/.claude/skills/notion-jira-subtask-migrator/scripts/render-notion-page-to-jira.py \
--title "65. Preview Environment Execution Plan — #751 기준 Build · Deploy · Validation Task Breakdown" \
--source-url "https://www.notion.so/..." \
--content-file "/tmp/notion-page-65.md" \
--output-file "/tmp/DPHRS-16-page65-body.md"
입력 규칙:
content-file에는 notion_fetch로 읽은 본문을 저장한다.Goal / Current State / Known Blockers / Next Actions / Done Condition을 자동 추출한다.body 파일을 직접 만들거나, 위 렌더러 출력 파일을 사용해 아래 스크립트를 호출한다.
~/.claude/skills/notion-jira-subtask-migrator/scripts/create-notion-subtask.sh \
--parent "DPHRS-16" \
--summary "[BE][HRS] 65. Preview Environment Execution Plan — #751 기준 Build · Deploy · Validation Task Breakdown" \
--body-file "/tmp/DPHRS-16-page65-body.md" \
--source-url "https://www.notion.so/..." \
--source-id "329d87e517f481a9981fc12e622e4558" \
--source-title "65. Preview Environment Execution Plan — #751 기준 Build · Deploy · Validation Task Breakdown" \
--log-file "/tmp/notion-jira-migration.jsonl" \
--assignee-email "[email protected]"
옵션:
--parent: 부모 Jira 키--summary: 서브태스크 제목--body-file: Jira Wiki Markup 본문 파일--body: inline Jira Wiki Markup 본문--priority: 기본 Medium--assignee-email: 기본값은 Jira CLI 로그인 이메일--labels: 생략 시 부모 labels 상속--source-url, --source-id, --source-title: source marker 및 중복 검사 기준--log-file: created / skipped / failed / dry_run JSONL 로그--dry-run: 실제 생성 없이 중복 검사와 payload 점검만 수행생성 직후 Jira issue를 다시 조회해서 최소 아래를 확인한다.
TO DO인지검색 API를 쓸 때는 Jira Cloud의 deprecated v2 search 대신 v3를 사용한다.
GET /rest/api/3/search/jql
created / skipped / failed로 구분해 사용자에게 보고한다.배치는 JSONL manifest를 기준으로 진행한다.
manifest 한 줄 예시:
{"created_time":"2026-03-20T00:31:00.000Z","summary":"[BE][HRS] 1. WRITE 성능 벤치마크 (2026-03-20)","source_url":"https://www.notion.so/...","source_id":"page-id","source_title":"1. WRITE 성능 벤치마크 (2026-03-20)","content_file":"/tmp/notion-page-01.md"}
배치 실행 예시:
python3 ~/.claude/skills/notion-jira-subtask-migrator/scripts/batch-create-notion-subtasks.py \
--parent "DPHRS-16" \
--manifest "/tmp/notion-dphrs16.jsonl" \
--assignee-email "[email protected]" \
--start-from oldest \
--log-file "/tmp/notion-jira-migration.jsonl" \
--resume
배치 옵션:
--manifest: JSONL 입력 파일--start-from oldest|newest: 생성 순서--limit: 일부만 실행--dry-run: 실제 생성 없이 순회--resume: JSONL 로그를 읽어 이미 created/skipped 처리된 source는 건너뜀readarray 같은 bash 4+ 전용 문법은 피한다.DPHRS-1665. Preview Environment Execution Plan — #751 기준 Build · Deploy · Validation Task BreakdownDPHRS-114enzo.choTO DOtesting
CLAUDE.md 기반 환경 안전 체크. 작업 시작 전에 프로젝트의 안전 규칙, 컨벤션, 환경 설정을 자동 검증하여 CLEAR/WARNING/BLOCKED 상태를 보고한다. /check가 "변경 후 검증"이라면, /pre-flight는 "작업 전 환경 검증"이다. Use PROACTIVELY before starting work, especially after switching branches, pulling changes, or resuming a session. Also use when explicitly asked: "/pre-flight", "프리플라이트", "환경 체크", "작업 전 점검", "안전 체크", "environment check", "pre-flight check", "시작해도 돼?", "환경 괜찮아?", "safety check", "DB 확인", "설정 확인", "config check".
tools
PR 리뷰 워크플로우와 체크리스트를 제공하는 스킬. "PR 리뷰해줘", "코드 리뷰 해줘", "이 PR 봐줘", "review this PR" 등 PR 리뷰 요청 시 사용. GitHub/GitLab PR URL 또는 로컬 브랜치 diff를 기반으로 체계적이고 일관된 리뷰를 수행. 코드 품질, 안정성/보안, 성능, 테스트, 문서화 관점에서 건설적인 피드백 제공.
documentation
PR review comments를 체계적으로 처리하는 skill. Use when: (1) PR에 동료의 리뷰가 달렸을 때, (2) 여러 리뷰를 한 번에 처리하고 싶을 때, (3) 수정 후 commit 링크가 포함된 reply를 자동으로 추가하고 싶을 때
tools
PR diff를 받아 코드 리뷰 자동 요약을 생성하는 스킬. 핵심 변경점을 3줄로 요약하고, 변경 파일별로 what changed / why it matters / risk level을 정리. Use when: "PR 요약", "diff 요약", "PR 변경점 정리", "코드 변경 요약", "summarize PR", "PR summary", "diff summary", "what changed in this PR", "변경점 요약해줘", "PR 핵심 정리", "리뷰 요약"