한 사람이 저장소 40개를 굴리는 방법
매일 아침 tmux에서 프로젝트마다 에이전트를 하나씩 열고, 한 줄을 주고, 돌아온 결과를 리뷰합니다. 힘든 일은 스킬에 들어 있습니다. 계속 다듬는 평범한 텍스트 프롬프트입니다.
하루를 여는 한 줄
tmux 창 하나가 프로젝트 하나입니다. 에이전트를 ai-memory로 띄우기 때문에 그 프로젝트의 메모리와 훅이 이미 연결된 상태로 시작합니다.
cd ~/Projects/ai-usagebarai-memory run claude# quota gone? same workstream, another agentai-memory run codex --yolo그다음 대기열 상황에 따라 세 줄 중 하나를 입력합니다.
run pr-audit and iss-audit, then run github-resolution평범한 날: 열린 것을 모두 감사하고, 감사에서 승인된 것을 고칩니다.
... then run the release skill버전을 낼 만큼 쌓였을 때 뒤에 붙입니다.
run pr-bump and release대기열에 Dependabot만 있는 날.
파이프라인
기여자가 쓴 어떤 것도 그대로 믿지 않습니다. 모든 주장은 검증하고, 승인된 수정은 전부 테스트를 먼저 쓰고, 바로 그 커밋에서 CI가 초록색이 아니면 태그를 달지 않습니다.

일을 하는 스킬들
스킬 하나는 SKILL.md 파일 하나입니다. 이름, 설명, 그리고 길고 구체적인 프롬프트. 에이전트는 스킬을 쓰기로 했을 때만 본문을 불러옵니다.
pr-audit
서사보다 증거. 풀 리퀘스트의 모든 주장을 확인하고, 숨은 실행 권한, 호모글리프, 고정되지 않은 액션, 타이포스쿼팅 의존성, 프롬프트 인젝션을 찾고, semver를 검사합니다.
iss-audit
이슈에도 같은 불신을 적용합니다. 이슈에서 복사한 명령어는 절대 실행하지 않고, 관찰된 사실과 제보자의 진단을 구분하고, 샌드박스에서 합성 데이터로 재현합니다.
github-resolution
승인된 티켓을 하나씩 머지된 코드로 바꿉니다. 수정마다 회귀 테스트를 먼저 쓰고, 추측성 추상화나 김에 하는 리팩터링은 하지 않습니다.
security-audit
코드베이스, 커밋 범위, 풀 리퀘스트에 대한 위협 모델링과 감사입니다. 인젝션, 인증 우회, 시크릿, 공급망, CI 침해, 서비스 거부.
pr-bump
Dependabot 전용 빠른 길입니다. 모든 버전 업을 한 번의 검증으로 묶고, 공급망 기준선에 걸리는 이상한 것은 전체 감사로 보냅니다.
release
버전은 changelog에서 정합니다. 수정은 patch, 추가는 minor, 호환성을 깨는 변경은 major. CI가 초록색일 때만 태그를 달고, 이미 공개된 태그는 절대 다시 쓰지 않습니다.
카이젠이 루프를 닫습니다
매 라운드가 끝나면 무엇이 잘못됐는지, 무엇이 너무 오래 걸렸는지 보고 코드와 함께 프로세스도 고칩니다. 저는 이걸 카이젠이라고 부릅니다. 지속적인 개선을 뜻하는 일본어이고, 다음 라운드를 이번보다 낫게 만드는 단계입니다.
스킬
실수가 드러난 날 규칙이 하나 추가됩니다. my-skills 이력은 그런 규칙으로 가득합니다. Dependabot 버전 업은 한 번에 묶어서 처리하기, 거절한 풀 리퀘스트는 깔끔한 상태로 남기기.
하네스 지침
프로젝트마다 AGENTS.md에 명령어, 불변 조건, 함정을 발견하는 대로 모아 두기 때문에 다음 에이전트가 다시 찾아낼 필요가 없습니다.
도구
ai-usagebar, ghpending, tclock은 모두 제 일과의 무언가가 느리거나 보이지 않았기 때문에 생겼습니다. 같은 이유로 계속 바뀝니다.
작업 환경
데스크톱, 터미널, 게임 박스가 모두 코드라서 개선 하나가 곧 커밋 하나입니다. 리뷰하고, 유지하거나 되돌릴 수 있습니다.
이 스킬의 한 줄 한 줄이 흉터입니다.
그렇게 쌓인 숫자
아래는 모두 2026년에 이 사이트의 도구, Frank 사이드 프로젝트, 뉴스레터, 벤치마크, 블로그에서 일어난 일입니다. 2026년 9월 23일 기준입니다. 거의 전부 에이전트와 이 스킬들을 거쳤고, 저는 보고서를 읽고 결정을 내렸습니다.
- 30
- 커밋이 있는 프로젝트
- 6,330
- 커밋
- 783
- 머지된 풀 리퀘스트
- 486
- 닫힌 이슈
- 107.74만
- 추가된 코드 줄 수
- 121
- 발행한 블로그 글
코드 줄 수는 코드 파일에 추가된 줄입니다. 락 파일, 데이터, 폰트, 번역, 벤더링되거나 생성된 파일은 세지 않고, 벤치마크의 모델 출력과 뉴스레터의 생성 콘텐츠도 제외합니다. FrankGeary와 tclock은 포크라서 제가 바꾼 부분만 셉니다. 풀 리퀘스트와 이슈는 GitHub에서 가져왔고, frank_bazaar는 GitHub 원격 저장소가 없으며 akitando-news는 비공개입니다.
프로젝트별 보기
| 프로젝트 | 커밋 | 머지된 PR | 닫힌 이슈 | 추가된 코드 줄 수 |
|---|---|---|---|---|
| ai-memory | 1,468 | 500 | 283 | 328,177 |
| akitaonrails.github.io | 637 | 9 | 5 | 글 121편 |
| akitando-news (비공개) | 577 | 1 | 0 | 80,602 |
| ai-usagebar | 553 | 146 | 42 | 132,932 |
| distrobox-gaming | 497 | 2 | 0 | 47,622 |
| FrankMD | 361 | 42 | 45 | 81,237 |
| llm-coding-benchmark | 359 | 5 | 7 | 17,636 |
| ai-jail | 353 | 44 | 83 | 41,666 |
| FrankYomik | 248 | 0 | 0 | 53,833 |
| frank_go | 220 | 3 | 1 | 16,725 |
| frank_investigator | 189 | 1 | 2 | 45,365 |
| FrankClaw | 189 | 3 | 2 | 69,114 |
| FrankSherlock | 121 | 2 | 8 | 48,930 |
| frank_karaoke | 102 | 4 | 0 | 10,465 |
| frank_fbi | 79 | 1 | 3 | 25,498 |
| FrankMega | 62 | 2 | 0 | 10,965 |
| clock-tui | 54 | 10 | 0 | 7,276 |
| frank_type | 49 | 3 | 2 | 9,815 |
| ghpending | 40 | 3 | 2 | 6,081 |
| frank_geary | 34 | 1 | 0 | 1,157 |
| tropicalruby-2026 | 30 | 0 | 0 | 2,201 |
| ai-memory-web | 22 | 1 | 0 | 9,775 |
| frank_scanlation | 21 | 0 | 0 | 8,904 |
| omarchy-games-menu | 17 | 0 | 0 | 6,951 |
| aitrepreneur-docker | 13 | 0 | 0 | 781 |
| google-calendar-tui | 12 | 0 | 1 | 3,956 |
| ai-jail-web | 10 | 0 | 0 | 2,887 |
| frank_lyrics | 9 | 0 | 0 | 2,346 |
| ai-toolkit-web | 3 | 0 | 0 | 2,778 |
| frank_bazaar | 1 | · | · | 1,769 |
AI는 거울입니다. 잘하는 사람이면 열 배 빨라집니다. 못하는 사람도 열 배 빨라집니다. 쓰레기를 만드는 속도가요.
폴더 하나, 모든 에이전트
스킬은 저장소 하나에 있습니다. 에이전트마다 스킬 폴더에 그 저장소를 가리키는 심볼릭 링크를 두기 때문에, 한 번 고치면 Claude Code, Codex, OpenCode, Kimi에 동시에 반영됩니다.

mkdir ~/Projects/my-skills/<name> # add a SKILL.mdfor h in ~/.claude/skills ~/.agents/skills ~/.codex/skills; do ln -s ~/Projects/my-skills/<name> "$h/<name>"done나머지 지식은 어디에 있나
스킬은 매번 같은 방식으로 반복되는 절차를 다룹니다. 나머지는 모두 에이전트가 읽을 수 있는 평범한 텍스트에 있습니다.
프로젝트마다 메모리 하나
ai-memory가 프로젝트마다 결정, 함정, 인계 내용을 보관합니다. 어떤 에이전트든 새 세션은 거기서 시작합니다.
어디에나 AGENTS.md
저장소마다 자기 지침이 있습니다. 명령어, 불변 조건, 반복하면 안 되는 실수.
살아 있는 예제를 가리키기
"ai-memory에 있는 것 같은 AUR 워크플로를 만들어"가 AUR 패키징 스킬보다 낫습니다. 예제는 늘 최신이니까요.
코드가 되지 않은 것도 기록
조사 내용, 버린 대안, 결정의 이유. 에이전트가 조사에 쓴 시간은 모두 다시 쓸 수 있는 문서가 됩니다.