loot
모든 세션은 전리품(loot)을 남깁니다. 대부분은 채팅 로그 속에서 사라집니다. 당신의 임무: 그것을 찾아내고, 모두 기록하고, 열정이 아닌 증거에 기반해 평가하며, 사용자가 승인한 후에야 비로소 희귀한 조각 하나를 출시하는 것입니다.
loot의 대부분 가치는 LOOT.md에 있습니다: 사용자가 알아낸 모든 것에 대한 실행 기록입니다. 출판은 예외입니다.
loot는 사이드 발견뿐만 아니라 세션의 가치 있는 모든 부분입니다:
| 종류 | 형태 | 일반적인 형식 |
|---|---|---|
| 빌드 | 세션의 대상이었던 앱, 도구 또는 스크립트 | 저장소 |
| 컴포넌트 | 이 프로젝트 밖에서도 동작하는 조각 (훅, 파서, 설정, 프롬프트) | 저장소 또는 gist |
| 기술 | 트릭, 수정 또는 방법 (X를 4배 빠르게 만듦, Y를 로컬에서 동작하게 함) | 포스트 + gist 또는 저장소 |
| 노하우 | 사용자가 제공한 수정 및 피드백으로 출력이 좋아짐 | 스킬 |
| 스토리 | 문제에서 결과까지의 경로, 막다른 길 포함 | 포스트 |
| 데이터 | 벤치마크, 비교, 측정값 | 포스트 또는 저장소 README |
하나의 세션에는 여러 항목이 포함되는 경우가 많습니다. 하나의 항목이 여러 형식(저장소 + 포스트 + 데모)을 가질 자격이 있는 경우도 많습니다.
모드
| 명령 | 기능 |
|---|---|
/loot | 이 세션을 스캔하고, 테이블을 보여주고, 무엇을 출시할지 묻습니다 |
/loot "<주제>" | 한 가지만 살펴봅니다 (더 저렴함): "ffmpeg 트릭" |
/loot 2, /loot all | 드롭 2번을 출시하거나, Rare 이상으로 평가된 모든 드롭을 묻지 않고 출시합니다 |
/loot --list | 선택할 수 있는 최근 과거 세션 목록을 표시합니다 |
/loot <session.jsonl> | 현재 세션 대신 과거 세션을 스캔합니다 |
/loot review | 이미 LOOT.md에 있는 내용을 재평가합니다 (6단계 참조) |
1. 스캔
전체 대화와 대화가 접촉한 파일을 읽습니다. 과거 세션이거나 현재 세션의 이전 부분이 요약된 경우 대신 대본(transcript)을 읽습니다:
node <이 스킬의 폴더>/scripts/transcript.mjs list # 최근 Claude Code + Codex 세션
node <이 스킬의 폴더>/scripts/transcript.mjs read <file> # 요약된 텍스트, 비밀 정보는 삭제됨
현재 세션의 자체 대본은 ~/.claude/projects/<프로젝트>/에서 가장 최신 파일입니다. 요약을 넘어 읽을 수 없다면 테이블에 그 사실을 명시하십시오: 초기 발견 사항이 누락될 수 있습니다. 후보를 나열하십시오. 각각에 대해 무엇을 하는지와 작동한다는 증거(테스트, 벤치마크, 전/후 비교, 사용자의 반응)를 기록하십시오.
항목이 이 사용자의 설정에서만 작동하고 일반화할 수 없는 경우, 대부분 다른 사람의 코드인 경우, 또는 사용자의 개인 또는 클라이언트 작업인 경우 해당 항목을 드롭하십시오. 테이블에 세션의 비밀, 자격 증명 또는 개인 데이터를 언급하지 마십시오.
2. 평가
평가는 필터이며, 그 임무는 '아니오'라고 말하는 것입니다. 당신은 방금 만든 작업에 대한 나쁜 판단자입니다: 세상에 무엇이 새로운지 알 수 없고, 사용자를 칭찬하는 쪽으로 기울기 쉽습니다. 따라서 희귀도는 증거에서 비롯되며, 판단은 대화와 분리된 곳에서 이루어집니다.
각 후보에 대한 증거를 수집하십시오:
- 검색어: 이 문제를 가진 낯선 사람이 검색창에 입력할 내용
- 검색: 실행 (웹, GitHub, npm/PyPI)하고 가장 가까운 결과를 링크와 함께 나열하십시오. 이름이 아니라 하는 일을 검색하십시오. 검색 도구가 없으면: "확인되지 않음".
- 증거: 세션에서 실제로 발생한 테스트, 벤치마크 또는 전/후 비교와 그 위치(명령, 파일, 메시지), 또는 "없음". 절대 기억에서 증거를 재구성하지 마십시오: AI 노트는 이름, 숫자 및 세부 사항을 지어냅니다.
- 차별점: 가장 가까운 결과가 하지 못하는 것을 그것이 하는 것, 가능하면 측정된 것
다른 곳에서 평가하십시오. 하위 에이전트(subagent)를 시작할 수 있다면, 후보와 그 증거만 제공하고 대화는 절대 제공하지 말고, 다음과 같이 지시하십시오: "각 항목을 아래 기준에 따라 평가하십시오. 먼저 Common이라고 주장하고, 증거가 기준을 충족하는 경우에만 등급을 올리십시오. 확실하지 않으면 낮게 평가하십시오. 주어진 증거만 사용하고, 어떤 것도 추가하거나 가정하지 마십시오. 다음 등급에 한 가지 요구 사항이 부족한 항목에 대해, 등급을 올릴 수 있는 가장 저렴한 증거를 지정하십시오." 할 수 없다면, 각 항목이 Common이라고 주장하는 가장 강력한 사례를 작성한 후 평가하십시오.
| 희귀도 | 다음 모두 필요 | 형식 |
|---|---|---|
| Common | Rare 미만의 모든 것 | LOOT.md의 한 줄 |
| Rare | 실제 검색어; 인용된 검색에서 동등한 것을 찾지 못함, 또는 가장 가까운 결과에 비해 측정된 차별점; 작동한다는 증거 | gist, 짧은 포스트, 또는 소규모 저장소 또는 스킬 |
| Epic | Rare에 더해, 명명된 대안에 비해 측정된 차별점, 그리고 클린 클론에서 실행 가능 | 저장소 또는 스킬, 포스트, 데모, 출시 초안 |
엄격한 규칙:
- "확인되지 않음" 또는 "증거 없음"은 아무리 기분이 좋아도 Common입니다.
- 동등한 것이 존재하고 차별점이 측정되지 않음: Common. 다른 프로젝트의 README에서 주장된 차별점은 측정된 것이 아닙니다.
- 동점은 낮은 쪽으로 처리합니다.
- 근접 실패는 다음 단계를 얻습니다. 다음 등급에 한 가지 요구 사항이 부족한 항목에는
[COMMON, Rare 근접]또는[RARE, Epic 근접]이라는 레이블이 붙고next:줄이 추가됩니다: 등급을 올릴 수 있는 가장 저렴한 증거와 대략적인 소요 시간. 이렇게 하면 "아니오"가 사용자가 선택할 수 있는 할 일 목록으로 바뀝니다. - 거의 모든 것이 Common일 것으로 예상하십시오. 한 세션에서 Common 이상으로 평가된 항목이 두 개 이상인 경우, 이 세션이 예외인 이유를 설명하십시오.
- Common은 실패가 아닙니다. 그것은 작업이 잊히지 않도록 하는 저널 항목입니다.
전리품 테이블을 Common 이상의 항목에 대한 증거와 함께 표시하고 중단하십시오:
LOOT: 3 드롭
1. [RARE, Epic 근접] remotion-ae-transitions: After Effects 스타일 전환을 Remotion에서, 완전 로컬
검색어: "remotion after effects transitions"
검색: @remotion/transitions (슬라이드, 페이드, 와이프), 유료 템플릿 팩 하나; 이 중 어느 것도 이것들을 하지 않음
증거: 세션에서 6개의 전환이 렌더링되고 승인됨
차별점: 측정되지 않음, 따라서 Epic 아님 → gist + 짧은 포스트
다음: @remotion/transitions로 동일한 3개의 샷을 렌더링하고 비교; 그 다음 클린 클론 실행 (~45분)
2. [COMMON] ffmpeg two-pass 트릭: ffmpeg 위키에 문서화됨 → LOOT.md
3. [COMMON] 사용자 정의 폰트 로더: 이 프로젝트에서만 유용함 → LOOT.md
출시할 것? (번호, "all", 또는 "none")
최대 7개의 드롭을 가장 강력한 순서로 표시하십시오. 나머지는 모두 "참고" 아래에 한 줄로 표시하십시오.
테이블을 표시한 후, 날짜와 함께 프로젝트 루트의 LOOT.md에 추가하십시오(없으면 생성). 드롭은 미래 세션이 그것 없이는 잘못되거나 실제 작업을 다시 해야 하는 경우에만 전체 항목을 얻습니다. 그렇지 않으면 한 줄 "참고" 항목입니다. 저널은 읽기 쉬운 상태로 유지될 때만 유용합니다.
3. 단조
선택된 각 항목에 대해, 현재 저장소의 기록 외부에 있는 새 폴더(기본값 ../<슬러그>, 또는 사용자가 지정한 위치)에 완성된 결과물을 구축하십시오. 각 형식의 체크리스트는 references/forge.md를 참조하십시오. 간단히:
- 일반화하십시오. 프로젝트 이름, 하드코딩된 경로, 클라이언트 세부 사항 및 죽은 코드를 제거하십시오. README의 단계를 통해 클린 클론에서 실행되어야 합니다. 실행하십시오.
- 이름을 붙이십시오. 짧고, 기억에 남으며, 하는 일을 말합니다. 이름이 사용 가능한지 확인하십시오:
gh search repos <이름>,npm view <이름>(exit 1은 사용 가능을 의미). - 태그라인. 낯선 사람에게 그것이 무엇을 하고 누구를 위한 것인지 알려주는 한 줄.
- 로고. 간단하고, 한두 가지 색상, 16px에서 읽을 수 있고, 밝은 배경과 어두운 배경 모두에서 작동.
- 소셜 미리보기. 1280×640 카드 (로고, 이름, 태그라인)로 공유 링크가 빈 GitHub 카드 대신 이미지를 표시하도록 함.
- README. 결과 먼저, 그 다음 빠른 시작, 그 다음 작동 방식.
- 증거. 테스트, 벤치마크, 또는 전/후 비교. 절대 숫자를 지어내지 마십시오.
스킬: 선택한 형식이 스킬인 경우, 이 스킬 옆에 있는 skill-factory 스킬(../skill-factory/SKILL.md)을 따라 항목의 증거(검색어, 검색 결과, 증거, 차별점)를 시작 사양으로 전달하십시오. 해당 항목에 대해 3-5단계를 건너뛰십시오: skill-factory가 자체적으로 테스트, 검토 및 게시를 제어합니다.
4. 확인 (절대 건너뛰지 마십시오)
-
게시할 모든 폴더에서 비밀 정보를 스캔하십시오:
- 항상:
node <이 스킬의 폴더>/scripts/scan.mjs <폴더> - 또한,
gitleaks가 설치된 경우:gitleaks dir <폴더>, 그리고 폴더에 git 기록이 있는 경우gitleaks git <폴더>.
모든 발견 사항을 수정하거나, 해당 줄에
loot:allow로 표시하고 이유를 설명하여 오탐(false positive)으로 표시하십시오. 모든warn줄을 직접 살펴보십시오. gitleaks가 스캔하지 않은 기존 git 기록을 절대 푸시하지 마십시오. gitleaks가 없으면 대신 새로운git init에서 게시하십시오. - 항상:
-
게시될 모든 파일을 읽으십시오. 개인 데이터, 클라이언트 이름, 내부 호스트 이름, 비공개 저장소 링크 및 다른 라이선스 하의 코드를 찾으십시오.
-
사용자에게 매니페스트를 보여주십시오: 각 대상(저장소 이름, 공개 또는 비공개, 블로그 초안 또는 라이브), 파일, 태그라인. 명확한 승인을 요청하십시오. 승인은 정확히 그 매니페스트를 다루며, 그 이상은 없습니다.
5. 출시
references/ship.md에서 명령 및 대체 방법을 읽으십시오. 먼저 자신의 도구를 사용하고, 사용자에게 바로 실행할 수 있는 명령이나 파일을 전달하는 것으로 대체하십시오.
- 저장소:
gh repo create, 설명, 주제, 푸시. - 포스트: dev.to 또는 Hashnode에 초안으로 (토큰이 이미 구성된 경우); 그렇지 않으면 Markdown 파일. Medium: Markdown 및 가져오기 지침.
- 출시 게시물 (Show HN, X, Reddit), Epic만 해당: gitignored된
launch/폴더의 초안. 절대 게시하지 마십시오. - 출시된 모든 항목과 사용자에게 남은 작업에 대한 링크로 마무리하십시오.
6. 검토 (/loot review)
한 세션의 평가는 추측입니다. 증거는 시간이 지남에 따라 축적됩니다:
LOOT.md를 읽으십시오. 동일한 것이 다시 나타난 항목을 그룹화하십시오 (동일한 근본 아이디어, 다르게 표현되었더라도).- 변경 사항이 있을 때 드롭을 재평가하십시오: 3개 이상의 세션에서 나타난 경우, 증거(사용자, 벤치마크, 누군가가 요청)를 얻은 경우, 또는 새 검색에서 더 이상 동등한 것을 찾지 못하는 경우. 동일한 증거 규칙과 동일한 외부 평가자를 사용하십시오.
- 무엇이 이동했고 그 이유를 표시하십시오. 날짜가 포함된 "검토" 섹션을
LOOT.md에 작성하십시오. 이전 항목을 절대 다시 쓰지 마십시오. 그런 다음 이제 Rare 이상인 항목을 출시할 것을 제안하십시오.
에이전트가 가진 것을 사용하십시오
| 필요 | 최고 | 항상 작동하는 대체 방법 |
|---|---|---|
| 로고 / 커버 이미지 | 자체 이미지 생성 또는 이미지 MCP(있는 경우) | 손으로 쓴 SVG |
| 비밀 스캔 | gitleaks (git 기록도 포함) | 번들된 scripts/scan.mjs |
| 데모 영상 | Remotion (Node) | 스크린샷 + GIF |
| 스크린샷 | 브라우저 도구 | 사용자에게 요청 |
| "존재합니까?" | 웹 검색 | "확인되지 않음" 표시 (Common으로 제한) |
| 과거 또는 요약된 세션 | scripts/transcript.mjs (Claude Code, Codex) | 사용자에게 대화를 붙여넣거나 내보내도록 요청 |
| 독립 평가 | 대화를 절대 보지 않는 하위 에이전트 | Common에 대한 가장 강력한 사례를 먼저 작성 |
| 저장소 게시 | gh CLI | 명령 출력 |
| 포스트 게시 | 기존 토큰이 있는 플랫폼의 API | Markdown 파일 |
규칙
- 사용자가 정확한 매니페스트에 동의하지 않으면 공개되지 않습니다.
- 자격 증명을 요청, 입력 또는 저장하지 마십시오. 도구에 로그인되어 있지 않으면 대체 방법을 사용하십시오.
- 비밀, 개인 데이터 또는 클라이언트 또는 고용주의 작업을 절대 게시하지 마십시오.
- 라이선스를 존중하십시오: 자신이 작성하지 않은 코드의 라이선스를 변경하지 마십시오.
- 지어낸 증거 금지: 가짜 벤치마크, 사용자, 인용문 또는 별점 없음.
- 보도 자료처럼 쓰지 말고 채팅에서 사용자의 목소리로 작성하십시오.