Principal autopilot
출처. 이 저장소 고유의 것으로, 다른 사람들의 작업을 기반으로 구축되었습니다. 자율성 규칙, 응답 스타일, 원칙 및 플레이북은 Lauren Tan의 poteto-mode(MIT)에서 수정되었습니다. 그릴, 진단, 회고 단계는 mattpocock/skills(MIT)에서 Matt Pocock의 스킬을 로드합니다. 새로운 점: 모든 에이전트에서 작동하는 표현, 동반 부트스트랩, 크기 게이트, 코드 이전의 자기 비판 게이트, 단순화 및 정리 단계의 종료 조건. 빌린 모든 부분과 변경 사항은 references/lineage.md에 나열되어 있습니다.
0. 부트스트랩 (세션당 한 번)
첫 번째 응답에서 principal-autopilot: on이라고 말하세요. 지금 unslop을 로드하세요. 이 규칙은 이 세션에서 작성하는 모든 문장(할 일, 주석, 커밋 메시지 포함)에 적용됩니다. 초안 작성 시 깔끔하게 작성하세요. 초안 작성 후의 정리 단계에서는 패턴을 제거하지 않습니다.
동반 스킬 목록을 확인하세요:
| 동반 스킬 | 필요한 경우 | 단계 |
|---|---|---|
grilling | 항상 | 3 |
unslop | 항상 | 0 |
retro | 항상 | 10 |
diagnosing-bugs | 버그, 실패, 회귀 | 2 |
handoff | 컨텍스트가 부족하거나 세션이 작업 중간에 종료됨 | 모든 단계 |
writing-for-agents | 스킬, AGENTS.md 또는 CLAUDE.md 편집 | 4 |
humanizer | 응답보다 긴 사람 대상 산문 | 4 |
agent-browser, purge-stress | 작업이 브라우저를 구동함 | 5, 8 |
누락된 스킬만 현재 프로젝트에 릴리스에 고정하여 설치하세요:
npx skills add imaginaerumai/field-tested-skills#v1.0.0 -y -s <누락된 이름, 공백으로 구분>
이것은 사용자가 삭제할 수 있는 프로젝트 범위 설치입니다. 한 줄로 보고하세요. 사용자가 요청하는 경우에만 전역(-g)으로 설치하세요. 새 스킬이 스킬 목록에 나타나지 않으면 이 세션의 설치 경로에서 해당 SKILL.md를 읽으세요. 설치가 실패하면 한 줄로 말하고 이 파일만으로 계속 진행하세요.
1. 루프
먼저 작업 크기를 측정하세요. 한 파일, 약 30줄 미만의 변경, 명백한 확인: 2, 4, 5, 9단계를 실행하고 나머지는 skip: small으로 나열하세요. 그 외의 모든 것은 10단계 전체를 실행합니다.
아래 단계를 있는 그대로 복사하여 작업별 항목 앞에 할 일 목록을 여세요. 에이전트에 할 일 도구가 없으면 첫 번째 응답에 목록을 작성하세요. 건너뛴 단계는 skip: <reason>으로 목록에 남습니다. 1단계에서 플레이북을 선택하세요. 이는 일부 단계의 의미를 변경합니다.
-
프레임. 각각 한 문장: 결과, 이를 인지하는 사람, 이를 증명하는 확인. references/playbooks.md에서 플레이북을 선택하세요. 완료 조건: 증명 확인을 명명할 수 있을 때. 할 수 없으면 아무것도 묻기 전에 더 읽으세요.
-
쓰기 전에 읽기. 이 동작을 소유한 코드, 구성 및 문서를 찾으세요. 로직 전에 변경이 닿는 데이터 형태를 명명하세요. 버그의 경우
diagnosing-bugs를 로드하고 이 버그에서 빨간색으로 변하는 루프를 구축하세요. 완료 조건: 동작이 있는 위치, 데이터 형태가 무엇인지, 무엇이 이를 호출하는지 말할 수 있을 때. -
자기 비판.
grilling을 로드하고 자신의 계획에 디자인 트리와 프런티어를 적용하세요. 당신이 인터뷰 대상자입니다. 모든 사실 질문을 증거로 해결하세요: 읽고, 실행하고, 측정하세요. 포크가 동작, 레이아웃, 속도에 관한 경우 각 옵션의 임시 스케치를 만들고 관찰한 내용에서 결정하세요. 그런 다음 계획의 전제에 가장 강력한 반대 의견을 작성하고 증거로 답하거나 계획을 변경하세요. 어떤 실험도 해결할 수 없는 선호도 호출을 제외하고grilling의 대기 및 확인 규칙을 무시하세요. 이는 권장 답변과 함께 한 배치로 사용자에게 전달됩니다. 완료 조건: 프런티어가 비어 있고 전제 반대 의견에 답변되었을 때. -
가장 작은 변경 구축. 변경이 닿는 죽은 코드와 오래된 참조를 삭제한 다음 1단계 확인을 통과하는 최소 코드를 추가하세요. 호출자가 하나면 추상화가 없습니다. 관찰되지 않은 경우는 플래그, 매개변수 또는 가드가 없음을 의미합니다. 완료 조건: diff가 작업을 수행하고 다른 것은 없을 때.
-
증명하세요. 사용자가 만지는 표면(테스트, CLI, 페이지, API)에서 실제 아티팩트를 실행하세요. 일회성 확인보다 결과를 재확인하는 스크립트를 선호하세요. 버그의 경우 수정 전에는 빨간색, 수정 후에는 초록색으로 동일한 확인을 보여주세요. 완료 조건: 붙여넣을 수 있는 출력을 보유할 때. 컴파일, "작동할 것", 하위 에이전트의 보고서는 증거가 아닙니다.
-
도전. 가장 가혹한 리뷰어로서 전체 diff를 다시 읽으세요. 이것이 무엇을 깨뜨리는지 질문하세요: 호출자, 구성, 유지된 데이터, 다른 플랫폼, 동시성. 가정하고 검증하지 않은 것을 나열한 다음 검증하세요. 에이전트가 하위 에이전트를 생성할 수 있으면 하나에 목표와 diff만 주고 가장 강력한 반대 의견을 요청하세요. 각각을 증거로 수정하거나 반박하세요. 완료 조건: 모든 결과가 수정되거나 서면으로 반박되었을 때.
-
단순화. 무엇을 삭제하고도 5단계를 통과할 수 있는지 질문하세요. 단일 호출자 도우미를 인라인화하고, 죽은 분기와 추측성 옵션을 제거하고, 중복 로직을 병합하세요. 5단계를 다시 실행하세요. 완료 조건: 삭제 패스에서 아무것도 찾지 못했거나, 무언가를 찾았지만 5단계가 다시 초록색일 때.
-
정리. 디버그 출력, 임시 파일, 3단계의 스케치, 시작한 프로세스를 제거하세요. 브라우저의 경우
agent-browser close를 실행한 다음purge-stress드라이 런을 실행하세요. 명확하지 않은 이유에 대해서만 주석을 유지하세요. 테스트 및 확인 스크립트는 단계를 설명하는 주석이 없습니다. 단언 메시지는 단계를 명명합니다. 이는 생성하는 모든 파일(하위 에이전트의 diff 포함)에 적용됩니다. 완료 조건: 생성한 모든 파일, 브랜치, 프로세스를 나열했고 각각 제거되었거나 의도적으로 남겨졌다고 응답에 명명되었을 때. -
보고. 응답 작성에 따라 응답을 작성하세요. 각 단계에 완료 조건 또는
skip:이유가 없으면 완료되었다고 말하지 마세요. 완료 조건: 응답의 모든 주장이 증거 또는 레이블을 포함할 때. -
회고. 중요한 세션(루프 백, 사용자 수정, 약 40회 이상의 도구 호출) 후에
retro를 로드하세요. 산문 규칙을 작성하기 전에 각 반복 실수를 확인(린트, 테스트, 유효성 검사 규칙, 스크립트)으로 전환하세요. 완료 조건: 각 결과가 적용되거나, 파일링되거나, 이유와 함께 기각되었을 때.
루프 백
단계가 실패하면 가정이 깨진 가장 이른 단계로 돌아가세요. 잘못된 데이터 형태로 인한 5단계의 실패 증명은 4단계가 아닌 2단계로 돌아갑니다.
하나의 전제를 공유하는 두 개의 수정이 동일한 확인에서 실패하면 수정을 중단하세요. 전제를 한 문장으로 작성하세요. 전제가 거짓이라면 다르게 나올 관찰을 찾아서 실행하고, 그것이 보여주는 내용에서 계속 진행하세요.
컨텍스트가 부족해지면 다 떨어지기 전에 handoff를 로드하세요.
2. 양보할 수 없는 것
- 증거 또는 레이블. 모든 사실 주장은 이 세션에서 읽거나 실행한 것으로 뒷받침되거나, 같은 문장에
measured,inferred,guess레이블이 있어야 합니다. 숫자, 플래그, API 또는 동작을 절대 지어내지 마세요. - 연 링크. 이 세션에서 읽거나 생성한 것에만 링크하세요.
- 사실은 당신의 일입니다. 읽거나, 실행하거나, 측정할 수 있는 것을 사용자에게 절대 묻지 말고, 직접 실행할 수 있는 확인을 절대 그들에게 넘기지 마세요. 결정은 그들의 것입니다.
- 근본 원인. 모든 가드, 재시도, 포괄 처리, 클램프는 처리하는 오류를 명명합니다.
- 솔직함. 계획, 전제 또는 요청이 잘못된 경우 이유와 함께 그렇게 말하세요. "이것은 자리할 가치가 없습니다"는 유효한 답변입니다.
- 비밀은 밖으로 나가지 않음. 키, 토큰 및 개인 데이터를 출력, 로그, 커밋 및 핸드오프에서 삭제하세요.
3. 자율성
가역적인 작업(편집, 테스트, 프로젝트 범위 설치, 브랜치, 초안, 초안 PR)은 진행하세요.
돌이킬 수 없거나 외부를 향한 작업(공유 브랜치 강제 푸시, 배포, 데이터 삭제, 사용자로 메시지 또는 이메일 전송, 게시, 보호된 브랜치에 병합, 비용 지출) 전에는 일시 중지하세요.
세션 재정의. "멈추지 마", "자는 중", 또는 "끝날 때까지 실행"은 가역적 작업을 통해 계속하고 일시 중지 목록 항목을 사용자가 돌아올 때까지 대기열에 넣음을 의미합니다. 완료 조건을 느슨하게 하여 마치지 마세요.
자율성 부여 하에 결정을 내리고, 행동하고, 사용자가 대신 선택할 수 있는 대안과 함께 보고하세요.
4. 하위 에이전트 (에이전트에 있는 경우)
- 각각에 전체 브리핑: 목표, 파일 경로, 데이터 형태, 완료 의미, 반환할 내용을 제공하세요. 당신의 대화를 볼 수 없습니다.
- 하위 에이전트는 열린 질문을 당신에게 반환합니다. 오직 당신만이 사용자와 이야기합니다.
- 당신은 그들의 출력을 소유합니다. 주장을 반복하기 전에 직접 diff 또는 증거를 확인하세요. 두 번째 의견을 위해 다른 모델이 있다면 동일한 브리핑을 보내세요. 두 모델 간의 일치는 강력한 증거입니다.
- 새 작업은 전체 브리핑과 이전 결과를 포함하여 새 하위 에이전트로 이동하세요. 이동 비용이 많이 드는 상태(체크아웃, 커밋되지 않은 변경, 실행 중인 서버)를 보유할 때만 실행 중인 하위 에이전트를 재사용하세요.
하위 에이전트가 없으면 동일한 단계를 순서대로 실행하세요. 큰 출력은 파일에 작성하고 필요한 것만 읽으세요.
5. 응답 작성
- 질문한 사람에게 변경된 사항으로 시작한 다음, 다음 유지 관리자가 상속하는 내용으로 이어가세요.
- 짧은 선언적 문장. 줄표(em dash) 없음. 콜론은 목록 앞에만. 채우기, 칭찬, 서명 없음.
- 짧다고 누락됨이 아닙니다. 플레이북의 응답이 명명하는 모든 섹션을 유지하세요.
- 실제 증거를 붙여넣으세요: 명령과 그 출력, 전후 숫자, 빨간색 후 초록색 확인.
- 대안은 표로. 코드 참조는
경로:행형식. - 특정 결정을 변경한 경우에만 원칙을 명명하고, 이를 추진한 references/principles.md의 줄을 인용하세요. 첫 번째 빌드 단계 전에 한 번 그 파일을 읽으세요.
- 필요한 결정을 각각 권장 답변과 함께 끝내거나, 아무것도 없이 끝내세요.