From 434e9554c809af38ab98e38456bd36badd6828c3 Mon Sep 17 00:00:00 2001 From: toki Date: Thu, 21 May 2026 21:15:11 +0900 Subject: [PATCH] sync: agent-ops from agentic-framework v1.1.26 --- .../skills/common/update-roadmap/SKILL.md | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/agent-ops/skills/common/update-roadmap/SKILL.md b/agent-ops/skills/common/update-roadmap/SKILL.md index 6e030cf..8196c4a 100644 --- a/agent-ops/skills/common/update-roadmap/SKILL.md +++ b/agent-ops/skills/common/update-roadmap/SKILL.md @@ -1,7 +1,7 @@ --- name: update-roadmap -version: 1.2.0 -description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국어 로드맵을 갱신하고 current.md의 활성 Milestone 창을 동기화하는 공통 스킬 +version: 1.3.0 +description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국어 로드맵을 갱신하고 신규 기능/Milestone을 사용자 지정 위치 또는 자동 판단 위치에 배치하며 current.md의 활성 Milestone 창을 동기화하는 공통 스킬 --- # 로드맵 업데이트 @@ -16,6 +16,7 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - 사용자가 "로드맵 업데이트", "마일스톤 갱신", "phase 변경", "현재 활성 마일스톤 바꿔줘"라고 요청할 때 - 사용자가 "로드맵 한국어 전환", "로드맵 번역", "영문 로드맵을 한국어로 바꿔줘"라고 요청할 때 - Milestone 완료, 보류, 폐기, 신규 추가가 필요할 때 +- 특정 기능이나 작업을 기존 Milestone 앞/뒤, 특정 Phase 안, 또는 적절한 자동 위치에 추가해야 할 때 - 활성 Milestone 창에 포함할 Milestone 목록이 달라졌을 때 - 기본 목표, Phase, Milestone의 목표, 범위, 필수 기능, 완료 기준이 달라졌을 때 - 실제 구현 상태와 로드맵 파일이 어긋난 것 같아 동기화가 필요할 때 @@ -25,6 +26,8 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - `mode`: `status` / `milestone` / `phase` / `replan` / `sync` 중 하나 (선택, 요청에서 추론 가능) - `target-milestone`: 갱신할 Milestone 이름, slug, 파일 경로 (선택) - `active-milestones`: 활성 Milestone 창에 둘 Milestone 이름, slug, 파일 경로 목록 (선택) +- `new-feature`: 추가할 기능, 작업, 또는 새 Milestone 설명 (선택) +- `placement`: 새 기능/Milestone 배치 위치. 예: ` 앞`, ` 뒤`, ` 안`, `auto` (선택, 없으면 자동 판단) - `change-summary`: 반영할 방향 변경 또는 진행 상황 요약 (선택) - `evidence`: 완료 판단에 사용할 파일, PR, 테스트, 커밋, 사용자 설명 (선택) @@ -62,6 +65,10 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - 새 Milestone 파일은 순번 없이 `agent-ops/roadmap/milestones/.md`로 만든다. - 중간에 Phase나 Milestone을 끼워 넣을 수 있도록 기존 항목의 이름과 파일명을 불필요하게 바꾸지 않는다. - 기존 프로젝트에 이미 순번 파일명이 있으면 대규모 rename을 하지 말고, 갱신 범위에 포함된 새 항목부터 순번 없는 형식을 적용한다. +- 새 기능이나 Milestone은 습관적으로 맨 앞이나 맨 뒤에 붙이지 않는다. +- 사용자가 특정 Milestone 앞/뒤, 특정 Phase 안, 또는 필수 기능 목록 내 위치를 지정하면 목표와 범위 제외 항목에 충돌하지 않는 한 그 위치를 우선한다. +- 사용자가 위치를 지정하지 않으면 `ROADMAP.md`의 Phase 흐름, 기존 Milestone 목표, 선후 의존성, 활성 Milestone 창, 완료 기준을 보고 가장 자연스러운 위치를 자동으로 판단한다. +- 자동 배치한 경우 결과 보고에 선택한 Phase/Milestone과 판단 근거를 짧게 남긴다. ### current.md 형식 @@ -95,11 +102,12 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 ## 실행 절차 1. **갱신 범위 결정** - - 요청에서 mode와 target Milestone을 추론한다. + - 요청에서 mode, target Milestone, new feature, placement를 추론한다. - 로드맵 언어 전환 요청이면 `sync`로 보고 `ROADMAP.md`, `current.md`, 전체 Milestone 문서를 갱신 범위에 포함할 수 있다. - `status` 갱신이면 `current.md`와 대상 Milestone 문서를 우선 읽는다. - 요청이 활성 Milestone에 없으면 `ROADMAP.md`의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다. - Phase 전환, Milestone 추가/삭제, 순서 변경, 전체 재계획이면 `ROADMAP.md`도 읽는다. + - 신규 기능/Milestone 추가이고 placement가 명시되어 있으면 anchor Milestone, 앞/뒤 방향, 대상 Phase를 함께 기록한다. - 불필요하게 모든 Milestone 문서를 읽지 않는다. 2. **현재 로드맵 상태 파악** @@ -107,27 +115,38 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - `current.md`의 활성 Milestone 창과 선택 규칙을 확인한다. - 대상 Milestone 문서의 목표, 범위, 필수 기능, 완료 기준, 범위 제외 항목을 확인한다. -3. **변경 내용 검증** +3. **신규 기능/Milestone 배치 판단** + - 추가 요청이면 먼저 기존 Milestone의 `필수 기능`에 넣을지, 별도 Milestone으로 분리할지 결정한다. + - 사용자가 위치를 지정한 경우 `ROADMAP.md`에서 anchor Milestone 또는 대상 Phase를 확인하고, 대상 Milestone 문서의 목표와 범위 제외 항목을 읽어 충돌 여부를 확인한다. + - 지정된 anchor가 없거나 여러 항목과 매칭되어 모호하면 임의 배치하지 말고 사용자에게 짧게 확인한다. + - 위치 지정이 없으면 `ROADMAP.md`의 위아래 흐름, 현재 활성 Milestone, 선행되어야 할 작업, 후속 작업이 기대하는 산출물, 관련 코드/문서 경계를 기준으로 자동 배치한다. + - 자동 배치는 "가장 빨리 할 수 있는 곳"이 아니라 "의존성과 완료 기준이 자연스럽게 이어지는 곳"을 우선한다. + - 사용자 지정 위치가 Phase 목표, Milestone 범위 제외, 명백한 선후 의존성과 충돌하면 수정 전에 충돌 내용을 알리고 방향을 확인한다. + +4. **변경 내용 검증** - 기능 완료 체크는 사용자 설명 또는 파일/테스트/커밋 등 확인 가능한 근거를 기준으로 한다. - evidence 없이 완료 여부가 불확실하면 체크하지 않고 TODO 또는 확인 필요로 남긴다. - 변경 요청이 전체 목표 또는 Phase 목표와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다. -4. **로드맵 파일 갱신** +5. **로드맵 파일 갱신** - `ROADMAP.md`는 전체 목표, Phase 개요, Milestone 목록, 로딩 정책이 바뀔 때만 수정한다. - `current.md`는 활성 Milestone 창이 바뀔 때 정해진 `current.md 형식`으로 수정한다. - Milestone 문서는 해당 Milestone의 목표, 범위, 필수 기능, 완료 기준, 범위 제외, 작업 컨텍스트가 바뀔 때 수정한다. + - 새 Milestone은 사용자 지정 또는 자동 판단 위치에 삽입하고, 기존 Milestone 이름이나 파일명을 순서 맞춤 목적으로 바꾸지 않는다. + - 기존 Milestone에 새 필수 기능을 넣는 경우에도 사용자 지정 또는 자동 판단 위치에 삽입하고, 근거 없이 목록 맨 앞이나 맨 뒤에 붙이지 않는다. - 상태 값은 `계획`, `진행 중`, `완료`, `보류`, `폐기` 중 하나만 사용한다. - 완료된 Milestone의 기록은 삭제하지 않고 상태만 변경한다. -5. **마일스톤 컨텍스트 로딩 규칙 점검** +6. **마일스톤 컨텍스트 로딩 규칙 점검** - `agent-ops/rules/project/rules.md`가 있으면 `## 마일스톤 컨텍스트 로딩` 섹션이 있는지 확인한다. - 없으면 `create-roadmap`과 동일한 로딩 규칙을 추가한다. - 기존 섹션이 있으면 전체 `ROADMAP.md`를 일반 작업마다 읽도록 되어 있지 않은지 확인하고 보정한다. - 기존 섹션이 `current.md`를 현재 작업 위치로 단정하게 만들면 활성 Milestone 후보 목록으로 의미를 고친다. -6. **결과 보고** +7. **결과 보고** - 수정한 파일 목록 - 변경된 Phase / Milestone / 상태 + - 신규 기능/Milestone 배치 위치와, 자동 배치인 경우 판단 근거 - 활성 Milestone 창 변경 사항 - 체크하거나 추가/제거한 필수 기능 - 확인 필요로 남긴 항목 @@ -137,6 +156,8 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - [ ] `current.md`의 활성 Milestone 경로가 실제 파일을 가리키는가 - [ ] `current.md`가 `# 현재 로드맵 컨텍스트`, `활성 Milestone`, `선택 규칙` 형식을 유지하는가 - [ ] `ROADMAP.md`의 Milestone 목록과 대상 Milestone 문서의 상태가 서로 충돌하지 않는가 +- [ ] 신규 기능/Milestone이 사용자 지정 위치를 따랐거나, 위치 미지정 시 자동 배치 근거가 남아 있는가 +- [ ] 자동 배치 위치가 Phase/Milestone 목표, 범위 제외 항목, 선후 의존성과 충돌하지 않는가 - [ ] 대상 Milestone 문서의 상태가 `계획`, `진행 중`, `완료`, `보류`, `폐기` 중 하나인가 - [ ] 완료 처리한 기능에 사용자 설명 또는 확인 가능한 evidence가 있는가 - [ ] `rules/project/rules.md`가 있는 경우 마일스톤 컨텍스트 로딩 섹션이 유지되는가 @@ -156,6 +177,7 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 ## 변경 사항 - Phase: <변경 없음 | 요약> +- 배치: <사용자 지정 위치 반영 | 자동 배치 위치와 근거 | 변경 없음> - 활성 Milestone: <변경 없음 | 추가/제거 요약> - 상태: <변경 없음 | 이전 -> 이후> - 필수 기능: <추가/수정/완료/제거 요약> @@ -173,5 +195,7 @@ description: 기존 전체 목표, Phase, 순번 없는 Milestone 기반 한국 - 완료된 Milestone 기록을 삭제하지 않는다. - Phase와 Milestone 이름 또는 파일명에 순번을 강제하지 않는다. - 기존 순번 파일명을 대규모 rename하지 않는다. +- 신규 기능이나 Milestone을 근거 없이 항상 맨 앞이나 맨 뒤에 추가하지 않는다. +- 사용자가 지정한 앞/뒤 anchor 또는 대상 Phase를 무시하지 않는다. - Milestone 목표와 범위 제외 항목을 무시하고 기능 목록만 갱신하지 않는다. - 타겟 프로젝트에서 `agent-ops/rules/common/` 또는 `agent-ops/skills/common/`을 직접 수정하지 않는다.