superself은(는) 무엇을 하나요?
Superself는 Apache-2.0 라이선스 CLI(npm install -g [email protected], Node 22.12+ 필요)로,
프로젝트의 상태(목표, 결정, 작업 단위, 보고서)를 코드와 별도인 git 저장소에
추가 전용 이벤트 로그로 버전 관리합니다. 상태는 요청 시 도출되며,
수동으로 유지 관리되지 않습니다. 이 스킬은 에이전트가 self CLI를 통해
해당 상태를 읽고 쓰는 방법을 알려줍니다. Superself 저자가 유지 관리합니다:
https://github.com/fxylabs/superself
이 스킬이 적용되는 경우
- 프로젝트의
AGENTS.md또는CLAUDE.md에<!-- superself:begin과<!-- superself:end -->사이의 블록이 있거나,self setup이 이 디렉토리가 해석되는 워크스페이스, 프로젝트, 저장소를 출력하는 경우. self --version이 실패하면 이 스킬을 건너뜁니다: 프로젝트가 Superself를 사용하지 않으며, 아래 내용을 직접 작성해서는 안 됩니다. 이 스킬은[email protected]기준으로 작성되었습니다; 다른 주요 또는 부 버전에서는 동사나 플래그가 변경되었을 수 있으므로, 특정 명령어에 의존하기 전에self <command> --help를 확인하세요.
세션 시작
self context를 실행하고 출력 결과를 현재 진실로 취급합니다: 목표, 활성 결정 및 규칙, 열린 작업, 최근 보고서. 이는 로그에서 접힌 결과이며, 직접 작성되지 않습니다.- 컨텍스트에서 누락된 내용은 의도적으로 렌더링된 집합 밖에 배치된 것입니다.
self search <query>로 컨텍스트가 생략한 라이브 레코드를 찾고,self work show <id>로 한 단위의 전체 브리프 및 보고 내역을 출력합니다.
작업 중
- 실질적인 작업은 작업 단위에 첨부됩니다.
self work add "<필요한 결과>"로 생성합니다. 결과는 작업이 아닌, 반드시 참이 되어야 하는 상태입니다. 그런 다음self work start <id>를 실행합니다.start는 브리프를 읽고 이 세션이 해당 단위를 선택했음을 기록합니다. 다른 세션이 보유 중이면 CLI는 누가 언제부터 보유 중인지 알리고 거부하지 않습니다. 판단하고 진행하세요. - 커밋 후,
self report <id> "<발생한 일>"로 진행 상황을 보고합니다. 현재 HEAD 커밋이 증거로 자동 첨부됩니다.--evidence <commit|note>로 다른 것을 첨부하고,--file <path>로 더 긴 브리프를 첨부합니다. - 사용자가 확인한 결정을 기록합니다:
self decide "<텍스트>" --why "<이유>". 사용자가 아직 확인하지 않은 경우--proposed를 사용합니다. 이벤트당 하나의 결정. - 막혔나요?
self work block <id> --on decision|dependency|external --why "...". 대체되었거나 이동되었나요?self work retire <id> --why "..." [--successor <id>]. 해당 단위를 완료로 표시하지 말고, 잘못 차단된 상태로 두지 마세요. - 목표와 현재 상태 사이에 차이를 발견했나요?
self work propose와 함께 브리프를 제안하면 사용자가 수락하거나 거절합니다. - 사용자가 다음 단계나 계속을 승인했나요?
self work add와 그 배경 컨텍스트로 즉시 등록하세요. 대화에만 존재하는 계획은 대화가 끝나면 사라집니다.
마무리
self work done <id>는 보고서에 커밋이나 아티팩트가 포함되거나, done 자체가 검증 가능한 일을 명시한 경우에만 단위를 닫습니다:self work done <id> --report "<검증 가능하게 발생한 일>". 단순 주장은 거부되며, 선언된 기준이 각각 충족될 때까지 게이트 역할을 합니다.- 기록 텍스트는 확인되면 변경 불가능합니다.
--supersedes <id>를 추가 동사에 사용하여 새로운 표현을 기록하고 계보를 유지하세요.retract는 대체 없이 기록을 철회합니다.
상태 신뢰성을 유지하는 규칙
- 기록(이벤트, 결정, 보고서, 규칙)은 다음에 열어볼 사람이 읽을 수 있도록 영어로 작성됩니다. 사람에게는 그들의 언어로 답하세요.
- 브랜치는 풀 리퀘스트를 통해 메인에 도달합니다: PR 리뷰와 CI가 병합을 제어합니다. Superself는 컨텍스트와 작업 그래프를 소유하며, 병합 게이트는 아닙니다.
- 생성된 상태 파일이나
.superself/아래의 어떤 것도 직접 편집하지 마세요. - superself 블록이 없는 프로젝트에서는 먼저
self setup을 실행하세요. 디렉토리가 등록된 프로젝트로 해석되면, 사용자에게self connect를 실행할지 한 번 묻습니다. 이는 관리 블록을AGENTS.md또는CLAUDE.md에 작성합니다. 프로젝트가 해석되지 않으면,self project init으로 등록할지 한 번 묻습니다. 직접 프로젝트를 등록하거나 연결하지 마세요.
더 깊이 들어가기
self --help는 모든 동사를 나열합니다. self <command> --help는
상태를 건드리지 않고 한 명령의 플래그를 출력합니다. 주제 가이드는 CLI와 함께 제공됩니다:
self help agents— 세션이 처음부터 끝까지 이 CLI를 구동하는 방법self help context—self context가 렌더링하는 내용, 그리고 누락 이유self help records— 각 레코드 종류 뒤에 있는 엔터티, 레코드 수정 방법self help placement— 범위, 우선 순위, 노출 — 레코드가 컨텍스트에서 자리를 얻는 방법self help work— 작업 그래프: 결과, 증거, 기준, 제안self help goals— 장기 목표, 목적, 마일스톤, 그리고 달성에 필요한 것self help workspace— 저장소, 그 안의 프로젝트, 그리고 다른 기기로 이동