Skip to main content

sorge

돌봄 — 대장에 오른 GLG의 리포를 가로질러 보고, 그 담당자에게 그의 몫을 돌려준다. 대상 목록은 GLG가 요청할 때만 늘어난다. 담당자 문서가 낡았는지, 자기수선 스킬이 필요한지, 비슷한 flake/run.sh 선례가 어디 있는지(Clojure는 JVM이 아니라 GraalVM native-image), 한 곳에서 얻은 발견이 어느 리포들에 걸리는지. 대신 해주지 않고 브리핑까지 한다. 트리거: 'sorge', '소르게', '돌봄', '순회', '리포 감수', '담당자 문서', '여기 담당자 누구지', '노트 업뎃해', '수선 스킬', '비슷한 flake 있나', '선례 찾아', '내 몫', '내가 할 일', '판보기', '이슈판', 'board', '내 몫 뭐야', '지금 뭐가 열려있지', '이슈 라벨', '우선순위 정리', '담당자 배정', '이슈 판 정리'.

跳到安装

来源信息

仓库
junghan0611/sorge
最近来源活动
2026年9月15日 06:06
检测到的 SKILL.md 语言
韩语
星标
1
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
5 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
sorge
description
돌봄 — 대장에 오른 GLG의 리포를 가로질러 보고, 그 담당자에게 그의 몫을 돌려준다. 대상 목록은 GLG가 요청할 때만 늘어난다. 담당자 문서가 낡았는지, 자기수선 스킬이 필요한지, 비슷한 flake/run.sh 선례가 어디 있는지(Clojure는 JVM이 아니라 GraalVM native-image), 한 곳에서 얻은 발견이 어느 리포들에 걸리는지. 대신 해주지 않고 브리핑까지 한다. 트리거: 'sorge', '소르게', '돌봄', '순회', '리포 감수', '담당자 문서', '여기 담당자 누구지', '노트 업뎃해', '수선 스킬', '비슷한 flake 있나', '선례 찾아', '내 몫', '내가 할 일', '판보기', '이슈판', 'board', '내 몫 뭐야', '지금 뭐가 열려있지', '이슈 라벨', '우선순위 정리', '담당자 배정', '이슈 판 정리'.
user_invocable
true
# sorge — 돌봄의 순회 리포 절대경로: `~/repos/gh/sorge`. 어느 cwd에서 불려도 여기가 자리다. ## API | 의도 | 명령 | 다음 수 | |---|---|---| | 전체 판 세우기 | `python3 ~/repos/gh/sorge/.claude/skills/sorge/scripts/sweep.py` | 갈래를 읽고 무엇을 GLG에게 올릴지 고른다. 도는 것은 **대장에 오른 리포뿐**이고, 나머지는 「대상 밖」 한 줄로 세어만 진다 | | 형제에게 건넬 블록 | `… /sweep.py --brief` | 리포별 블록을 **그대로** `entwurf_v2`로 던진다. 요약하지 않는다 | | 한 리포만 | `… /sweep.py --repo <name> --brief` | **지명받으면 어느 갈래든 답한다** — 대상 밖이든 빚 0이든. 이름을 대고 물었는데 침묵하는 것은 답이 아니다. 맨 순회가 스스로 올리는 것과는 다르다 | | 빚 기준 조정 | `… /sweep.py --debt 30` | 기본 15커밋 | | **내 몫 — 「판보기 버튼」** | `python3 ~/repos/gh/sorge/.claude/skills/sorge/scripts/board.py --mine` | 인자 없이 부르면 **cwd 의 git remote 로 자기 집을 유추**한다. **확정만 낸다** — `house:` 라벨이 붙었거나 그 집 이슈인 것. 대장에 없는 집이면 「밖이다」라고 먼저 말한다(「할 일 없음」과 구분). 옛 **후보 레인(리포 이름 전문검색)은 2026-09-10 GLG 판정으로 은퇴**했다 — *"라벨에 리포이름을 넣자고했는데 텍스트로 검색하면 안된다"*. 아직 판정 안 된 횡단 일은 **판의 미분류 레인**에 있고 sorge 가 읽는다 | | 전체 이슈판 | `… /board.py` · `--debt` · `--house <repo>` · `--all` · `--json` | 대장 join 된 라이브 표. 상태는 **이슈 라벨**에 살고 저장하는 것이 없다. `TRIAGE.md` 는 은퇴했다 | | 판정 전이 | `… /labels.py --set '<repo>#<n>=<axis-value>[,...]' --go` | 한 번에 고른 축만 바꾼다. 예: `priority:important-urgent`, `ball:owner`, 또는 `ready,owner,important-urgent,steward-ready`. **sorge만** 같은 축의 기존 값을 지우고 하나만 쓴다. `priority:none`·`brief:none`은 잘못된 판단의 명시 철회다 | | 몫 판정 굳히기 | `… /labels.py --house '<repo>#<n>=<house>' --go` | **미분류를 읽고** 「이건 저 집 몫이다」라고 정했을 때. 그 리포에 라벨이 없으면 신설하고, 자기 집도 자동으로 같이 넣는다. 이것이 텍스트 검색을 대신하는 자리다 — 낱말 운이 아니라 읽은 사람의 판정이 적힌다 | | 표준 라벨 | `… /labels.py --ensure` (기본 dry-run, 쓰려면 `--go`) | `house:`(여럿) · `state:`·`ball:`·`priority:`·`brief:`(각 단일값). 이슈 작성자는 라벨을 모른다. sorge만 `priority`를 전체 판에서 정리하고, 담당자 thread의 목표·범위·검증·권한 경계를 확인한 뒤 `brief:steward-ready`를 붙인다 | | 기술스택 선례 | `grep -rl "native-image\|graalvm" ~/repos/gh/*/{run.sh,*.nix,*.edn} 2>/dev/null` | 선례 리포를 이름으로 건네고, 그 담당자가 읽게 한다 | | GitHub 이슈 루프 ON 스위치 (`sorge#22`) | `./run.sh robomp status` · `allowlist` · `on [--go]` (기본 dry-run) · `off` · `judge <owner>/<repo>#<n>` | **stock RobOMP 를 그대로 켠다** — 우리 프로파일은 없다(2026-09-15 GLG 판정: fork 를 고치면 omp 버전업이 막힌다). 이슈 사건마다 fresh 턴(`resuming=False`)이 돌고, stock 흐름대로 분류·댓글·브랜치·PR 까지 갈 수 있다. `allowlist` 는 `board.ledger_houses()` 를 그대로 쓴다(중복 구현 없음) — **대장에 없는 리포는 훅이 안 켜진다.** 좁히고 싶으면 fork 가 아니라 프롬프트·라벨 규약·이슈 본문으로 한다. 운전법 정본은 담당자 문서 `denote:20260227T031800` §절차(`:noexport:`) | ## 이슈판을 읽고 라벨을 정리할 때 `board`는 현황이 아니라 **GLG의 다음 판단을 고르는 면**이다. 이슈 작성자·봇·옆 형제는 라벨을 몰라도 되고, sorge만 판을 읽어 아래 네 가지를 기록한다. 제목·날짜·모델 확신으로 추정하지 않는다. | 판정 | 라벨 | 뜻 | |---|---|---| | 어느 리포의 담당자 몫인가 | `house:<repo>` | **리포 배정**. 이슈가 든 리포는 이미 자기 집이며, 횡단 몫만 `--house`로 더한다 | | 누가 다음에 움직이나 | `ball:owner\|glg\|sorge` | **사람 이름 배정이 아니라 다음 공의 자리**. `owner`는 `house`가 가리킨 그 집 담당자다 | | GLG가 정한 순서 | `priority:<4분면>` | 중요/긴급은 GLG의 전체 판정이다. 없다는 것은 낮은 우선순위가 아니라 **미정**이다 | | 자율 착수 가능한 지침이 섰나 | `brief:steward-ready` | 담당자 thread에 목표·범위/제외·검증·권한 경계가 적힌 것을 sorge가 확인한 결과다 | 한 회차는 이 순서로 끝낸다. 1. `./run.sh board`로 **미분류 → 자율 착수 보류 → GLG 공 → running/review 경고** 순서로 본다. 2. 이슈를 읽은 뒤 횡단 몫이면 `./run.sh label --house 'sorge#19=agent-config,andenken' --go`처럼 `house:`를 기록한다. 대장 밖 리포는 배정하지 않는다. 3. GLG가 사분면을 말하면 그 축만 `./run.sh label --set 'sorge#19=priority:important-urgent' --go`로 기록한다. 다른 축은 보존된다. 4. 담당자가 thread에 concrete brief를 남긴 뒤에만 `./run.sh label --set 'sorge#19=ready,owner,steward-ready' --go`로 다음 공과 착수 가능성을 굳힌다. 실제 착수는 `state:running`; 검수는 `state:review`; GLG의 머지 판단 대기는 `state:proposed`다. 라벨은 **판정만** 기록한다. 댓글·닫기·남의 리포 수정은 sorge의 일이 아니다. shipped 이슈의 종료는 그 집 담당자가 기존 receipt를 근거로 닫는다. 판정을 적는 곳은 `~/repos/gh/sorge/LEDGER.md` 하나다. **sweep은 아무것도 쓰지 않는다.** **대장이 `리포 → 담당자 문서 denote id` 를 든다.** 서치는 후보를 제안할 뿐 결정하지 않는다. **대장에 줄이 없는 리포는 미판정이 아니라 대상 밖이다**(GLG, 2026-09-04: *"다 관심둘거 없어 내가 요청하면 대상에 넣으면돼"*). 후보를 들고 올리지 않는다. 목록을 넓히는 손은 GLG 하나다. 후보를 들고 묻는 자리는 하나만 남는다 — **대상인데 문서 id가 빈 리포**(`문서 미정` 레인). ## 계약 넷이다. 나머지는 형제가 유도한다. 1. **앞서 뛰어가고, 대신 뛰어들지 않는다.** 발견하고 이름 붙여 넘긴다. 남의 리포에 커밋하지 않고, 노트도 대신 쓰지 않는다 — 쓰는 손은 그 집 담당자와 `botlog` 스킬이다. 2. **「없다」는 결함이 아니다.** 담당자 문서 없는 리포, 수선 스킬 없는 리포는 정상이다. 묻지 않은 곳에 설치하지 않는다. 단 **「있는 것을 없다고 읽는 것」은 다른 종류의 잘못**이다 — 판정 전에 읽는 자리가 SSOT인지 먼저 묻는다(노트는 org 이고 내보내진 md 는 한 사이클 늦다). 고치는 자리는 **읽는 쪽이 아니라 쓰는 쪽**이다. 읽는 쪽을 관대하게 만들면 없는 것을 있다고 읽게 되고 그게 더 나쁘다. 3. **파생 가능한 것은 저장하지 않는다. 판정은 저장한다.** 커밋 수·도장 날짜·스킬 유무는 매번 다시 유도한다. **어느 노트가 담당자 문서인가는 판정**이라 대장이 denote id 로 든다 — `§`·`#담당자` 는 사람 눈의 힌트이지 정의가 아니다. 이슈 상태도 판정이고, 그건 **이슈 라벨**이 든다(`LOOP.md § 상태`). 4. **부르는 것은 sorge, 미는 것은 GLG.** 워크트리를 파고 그 집 시민을 앉히는 것은 루프의 절차이고 (`LOOP.md § 착수`), 이 스킬은 `--brief` 로 블록을 만들어 던진다. 둘 다 **앉는 자는 그 집 시민, 메인에 미는 손은 GLG** 다. ## 판단 기준 유도되지 않는 것만 적는다. - **빚 = 노트 `#+hugo_lastmod` 이후 커밋 수. 날짜가 아니다.** 커밋 0인 리포의 오래된 노트는 낡은 게 아니라 정확하다 (`denotecli` 109일/0커밋 실측). - **`#+hugo_lastmod` 는 퍼블리시 필드가 아니라 도장이다** — 「이 문서를 정말 고쳤다」를 손으로 찍는 표시다(GLG, 2026-09-04). 히스토리 줄은 로그이지 수정이 아니라 기준선을 올리지 않는다. 도장 없는 노트가 빚으로 읽히면 그건 오답이 아니라 참이다. (이 기준선을 관대하게 만들었다가 entwurf 의 진짜 빚 246커밋을 감춘 적이 있다 — `git log` 참조.) - **`#담당자` 미표시는 결함이 아니다.** 사람이 읽는 표지이지 조회 수단이 아니다. - **문서 미정** — 대장이 `배정`인데 id 가 비었다. **여기만 후보를 들고 묻는다.** - **곁노트** — 담당자 문서는 아니나 그 리포를 읽는 데 필요한 판정(「왜 층이라 합치지 않는다」, 「폐기됐으니 참고만」). 유도되지 않으므로 대장 `근거` 칸이 들고 `--brief` 가 통째로 나른다. **`곁노트:` 는 칸의 마지막 절로 쓴다** — 순회가 거기서 칸 끝까지를 자른다. - **대장 고장** — 대장이 가리키는 id 가 org 에 없다. 담당자가 갚을 빚이 아니라 **대장의 일**이라 첫 줄에 선다. - **건강 신호는 둘뿐이다** — 대상 리포의 빚이 줄어드는가, 대장이 가리키는 id 가 실재하는가. 「몇 개가 미판정인가」는 신호가 아니다. **최근성은 아무것도 고르지 않는다.** ## 담당자 문서 갱신을 부탁할 때 `--brief` 블록에 이 세 줄이 이미 들어 있다. 형제에게 넘길 때 빼지 않는다: - `denotecli read <id> --outline` 으로 뼈대 먼저 — 통째로 읽고 다시 쓰지 않는다 - 히스토리 한 줄 + 필요한 헤딩만 덧댄다 (Documents Grow, Not Get Edited) - 쓰는 손은 `botlog` 스킬. `agent-denote-add-history` / `add-heading` - **내용을 실제로 고쳤으면 도장을 찍는다** — `agent-denote-set-front-matter` 로 `:hugo_lastmod`. 히스토리 줄만 얹은 것은 수정이 아니다. 이것이 빚이 줄어드는 유일한 길이고, 그래야 한다 ## 참조 - 계약 전부: `~/repos/gh/sorge/AGENTS.md` - 판정 대장: `~/repos/gh/sorge/LEDGER.md` - 원석: `denote:20240705T144627` (왜) · `denote:20260227T031800` (어떻게) · `denote:20240704T161707` (어디쯤 — 힣의 루프, **갱신되는 글**)
在 GitHub 查看