Skip to content

sdd skills - #15

Merged
dorage merged 52 commits into
dorage:mainfrom
kanghyunlee-circularlabs:main
Sep 29, 2026
Merged

dorage merged 52 commits into
dorage:mainfrom
kanghyunlee-circularlabs:main

Conversation

@kanghyunlee-circularlabs

Copy link
Copy Markdown
Contributor

No description provided.

kanghyunlee and others added 30 commits September 3, 2026 09:45
어투로 모드를 추측하던 방식을 버리고 사용자가 명시하는 두 커맨드로 나눈다.
- init: 워크트리 + 요청 원문 인용 + 세션 ID 를 PR 본문에 기록
- plan: 전수조사 후 완수조건·조사 결과·착수 방식·TODO 를 담은 자기완결적 PR 본문

Fable 5.1 프롬프트 가이드 권장사항 반영: 규칙마다 이유 명시, 진행 상황 알림,
독립 도구 호출 묶기, PR URL 전까지 턴 종료 금지, 범위 밖 발견은 고치지 않고 기록,
읽지 않은 코드에 대한 서술 금지, 인용 표시, <example> + rationale 예시 2개.
마크다운 규칙에 맞춰 테이블·숫자 리스트를 불릿으로 바꿨다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
한 스킬 안의 서브커맨드는 슬래시 메뉴에 나타나지 않아 init/plan 이 있는지
알 수 없었다. 플러그인 커맨드로 옮겨 /wt:init, /wt:plan 이 메뉴에 뜨게 한다.

- claude-plugins/wt/commands/{init,plan}.md: 각 커맨드의 PR 본문 형식과 예시
- claude-plugins/wt/references/common.md: 공유 절차, ${CLAUDE_PLUGIN_ROOT} 로 참조
- marketplace.json 에 wt 등록, settings.json enabledPlugins 에 wt@dotfiles 추가
- configs/claude/skills/wt 삭제 (sync-claude.sh 가 --delete 로 ~/.claude 에서도 제거)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
작업 시작용 빈 커밋. 실제 변경은 후속 커밋에서 들어간다.
SessionStart 훅이 current session_id 와 current model 을 컨텍스트에 넣고,
rules/*.md 중 파일명이 모델 문자열에 부분일치하는 룰을 함께 주입한다.
UserPromptSubmit 훅이 트랜스크립트의 실제 응답 모델을 읽어, 모델이 바뀌면
룰을 다시 준다. 마켓플레이스에 등록하고 settings 의 enabledPlugins 에 켠다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
session_id 주입은 gnothi 플러그인이 맡는다. 훅 파일을 지우고, README·스킬·
prerequisite 커맨드가 gnothi 훅을 가리키도록 고친다. 전제 조건에서 python3 를
빼고 gnothi 플러그인과 jq 를 넣는다. 0.2.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
hooks/gnothi.sh 를 hooks/gnothi.ts 로 옮기고 hooks.json 이 bun 으로 실행한다.
동작은 그대로다: 모델 판별 순서, 룰 매칭, 상태 파일, 서브에이전트 무시.
jq 의존을 없애고 bun 을 전제 조건으로 문서와 prerequisite 에 반영한다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
hooks/run.sh(POSIX sh) 가 진입점이 된다. bun 을 PATH 와 ~/.bun/bin, Homebrew
경로에서 찾아 gnothi.ts 를 실행하고, 없으면 SessionStart 에서 "bun 을 찾지
못했다, 마스터 확인 후 설치하라"는 컨텍스트를 LLM 에게 준다. session_id 는
훅 입력이나 CLAUDE_CODE_SESSION_ID 에서 jq 없이 꺼낸다. GNOTHI_BUN 으로
바이너리를 고정할 수 있다. commands/setup.md 가 점검·설치·훅 확인 절차를 안내한다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…-split

feat(wt): wt 스킬을 플러그인 커맨드 /wt:init, /wt:plan 으로 전환
feat: gnothi 플러그인 추가 (session_id·model 주입, 모델별 룰)
컨텍스트가 찬 세션의 작업 맥락을 자기완결적 문서로 떨어뜨리고,
그 문서를 물린 새 세션을 claude --bg 로 띄워 이어가게 한다.

--print 와 --bg 가 충돌하는 것, @절대경로 파일 참조와
대괄호 붙은 모델 ID 가 --bg 에서 동작하는 것은 2.1.270 에서 실측했다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
feat(skills): roguelike — 세션 인수인계 문서와 백그라운드 재시작
dataders/dotfiles 의 cleaning-stale-worktrees 스킬을 이 환경에 맞게 옮긴다.
worktrunk CLI 의존을 순수 git + gh 로 바꾸고, squash/rebase 머지 오판과
Claude 세션 잠금(pid) 처리를 더했다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…mand

feat(wt): 끝난 워크트리를 정리하는 /wt:clean 커맨드 추가
intent/object/size 라벨과 마커 강제(BLOCK)를 없앤다. 16일 실측에서
object 가 브랜치 이름 기반이라 작업마다 유일해졌고, 유일 라벨 100개
넘게 생겨 같은 요청이 3번 이상 나온 단위가 2개뿐이었다. "계획 세워줘"
요청 11건이 11개 라벨로 흩어져 끝내 안 보였다.

쌓는 시점에 이름표를 붙이지 않는다. 원문만 남기면 기준을 바꿔서 몇
번이고 다시 묶을 수 있지만, 라벨을 붙이면 그 자유가 사라진다. 확정된
어휘집을 두는 안도 버렸다 — 목록이 있으면 새 형태의 요청도 기존 항목에
밀어넣게 되어 새 추상화가 지워진다.

corr 마커 한 줄만 남긴다. 무엇을 왜 틀렸는지는 프롬프트 원문에서
복원할 수 없고 그 자리의 LLM 만 안다. 강제하지 않아도 16일간 9건이
쌓였고, 그중 rule=단정-전-출처 4건이 유일한 훅 후보를 만들었다.

프롬프트 분류 버그 두 개도 함께 고친다.

- "/" 로 시작하면 무조건 슬래시 커맨드로 읽어서, 마스터가 파일을
  끌어다 놓은 "/Users/..." 프롬프트 4건이 SKILL 로 잘못 들어가고
  원문이 통째로 사라졌다. 커맨드 이름 뒤에 공백이나 줄끝이 와야
  커맨드로 본다.
- <task-notification> 같은 시스템 주입 약 30건이 Q 에 섞여 마스터
  발화로 세어졌다. SYS 로 갈라 남긴다.

스키마 v1 -> v2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
kanghyunlee and others added 22 commits September 17, 2026 09:42
마커를 없앴으니 원문을 읽어 반복 요청을 찾는 쪽이 필요하다. 매번
원문을 처음부터 다시 읽고 묶음 이름은 다 읽은 뒤에 붙인다. 지난달
묶음 이름을 가져다 쓰지 않는다.

안 묶이는 프롬프트는 억지로 묶지 않고 "안 묶임" 으로 남긴다. 이번 달
1건이 다음 달 3건이 되면 그때 새 묶음이 된다. 미리 만든 칸에 넣으면
그 3건은 영원히 안 보인다.

묶음마다 기존 스킬과 대조해 "새 스킬 필요 / 이미 있는데 안 쓰임 /
값어치 없음" 으로 판정한다. 9월 조사에서 "계획 작성" 요청 11건이
나왔는데 /wt:plan 은 이미 있었고 호출은 0건이었다. 없어서 반복한 게
아니라 있는데 안 쓰인 것이라 처방이 다르다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
목표를 "라벨 집계" 에서 "반복 프롬프트 찾기" 로 바꾼다. 폐기한
TAG/BLOCK 을 걷어내고 SYS 를 추가하며, v1 레코드를 읽을 때 걸러야 할
것들을 적는다. 스킬 후보 판단 기준에 "이미 있는가" 를 넣는다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
저장 위치를 ~/.claude/aol/reports 로 잡는다. 머신마다 로그가 다르니
리포트도 머신마다 다르다. 리포지토리는 재현가능한 환경을 담는 곳이지
특정 머신의 분석 결과를 담는 곳이 아니다.

묶음 기준은 서로 다른 세션 2개 이상이다. 높게 잡으면 "아직 이르다" 며
따로 모아둔 칸이 생기는데 그 칸은 읽히지 않고 다음 달에 그대로 다시
쌓인다. 2개부터 정식 후보로 올려 판정까지 붙이면 값어치 없는 것은
거기서 닫힌다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…lustering

feat(aol): 라벨을 버리고 프롬프트 원문에서 반복 요청을 찾는 방식으로 전환
응답이 끝나기 전에 Stop 훅이 한 번 막고 checklist.md 를 주입한다.
LLM 은 이번 턴에서 미뤄둔 후속 작업과 손대지 않은 무관 문제를 골라
/side-issue 로 백그라운드 포크를 띄우고 [side-issue] 마커로 점검을 마친다.

- hooks/stop.sh: stop_hook_active, agent_id, 포크 세션(SIDE_ISSUE_FORK 또는
  마지막 프롬프트가 /side-issue), 도구 호출 없는 턴, 기존 마커, 점검표 재진입이면 침묵
- skills: 포크 명령에 SIDE_ISSUE_FORK=1 추가, "후속:" 항목 작성 규칙 추가
- prerequisite: jq 점검과 Stop 훅 pipe-test 추가
- 버전 0.3.0

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…top-hook

feat(side-issue): 응답 직전에 점검표를 주입하는 Stop 훅 추가
- marketplace.json: origin 의 scribe 항목을 받아들임
- side-issue, wt, settings.json: 포크 쪽이 상위 버전이라 그대로 유지
- side-issue/hooks/hooks.json: origin 삭제는 포크의 중간 단계 반영이고 포크가 Stop 훅으로 다시 추가했으므로 유지

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* feat(claude): i-have-adhd 응답 규칙을 상시 적용 rules 로 추가

스킬은 /i-have-adhd 로 불러야만 켜져서, ~/.claude/rules 에 두어 모든 세션 첫 턴부터 적용되게 한다.
번호 목록 규칙은 markdown.md 의 숫자리스트 금지와 부딪혀 순서 있는 불릿으로 바꿨다.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat(claude): 출력 규칙을 한국어로 옮기고 output.md 로 이름 변경

숫자 목록은 markdown.md 규칙에 맞춰 불릿으로 바꾸고, 출처는 i-have-adhd 스킬만 남긴다.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: 모드 켜기/끄기 문구 삭제

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Stop 훅 점검표를 두 갈래로 분리: 변경과 분리된 bug·flaky 는 바로 포크, 후속·개선 제안은 AskUserQuestion 한 번으로 확인
- 추측으로만 설명되는 항목과 이번 변경이 만든 문제는 제외
- 포크 세션에 올리기 전 관문 추가: 근거 재확인, 추측 문장 제거, 분리 확인, 중복 확인
- 버전 0.4.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…vidence-gate

fix(side-issue): 관찰된 bug·flaky 만 자동 이슈화하고 후속 작업은 마스터에게 묻기
- side-issue 5개 파일: origin 쪽은 포크 ff05177(v0.3.0)과 동일하고 포크가 50d329b(v0.4.0)로 이어서 고쳤으므로 포크 쪽 유지

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@dorage
dorage merged commit 02b6207 into dorage:main Sep 29, 2026
1 check passed
kanghyunlee-circularlabs referenced this pull request in kanghyunlee-circularlabs/dotfiles Oct 15, 2026
side-issue 플러그인 세 파일(plugin.json, README.md, hooks/checklist.md)은
포크 쪽 0.4.1 을 택했다. 원본 main 의 0.4.0(#15 squash) 은 포크의 50d329b 와
같은 내용이고, 포크의 2da799e 가 그 위에 쌓인 후속 변경이므로 포크 쪽이 상위집합이다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants