Communitygithub.com

perhapsspy/purpose-first-design

코딩 전에 설계가 올바른 문제를 해결하는지 확인합니다.

purpose-first-design란 무엇인가요?

**perhapsspy/purpose-first-design**은 소프트웨어 설계 및 구현 계획 단계에서 **목적 중심으로 의사결정을 구조화**하는 전문 기술입니다. 이 기술은 제품이나 구현이 본질적으로 열려 있는 결정을 내리기 전에, 가장 작은 방어 가능한 방향을 선택하도록 안내합니다. 주요 기능으로는 '결정 계약(Decision Contract)'을 통해 입력을 잠김(LOCKED), 증거(EVIDENCE), 가정(ASSUMPTION), 열림(OPEN)으로 분류하고, 목적과 관찰 가능한 성공만을 명시하여 불필요한 복잡성을 배제합니다. '핸드오프(Handoff)' 단계에서는 확정된 구현 세부 사항을 `structure-first` 또는 `tighten-docs` 워크플로우에 전달하며, '최종 축소(Final Reduction)'를 통해 불필요한 범위, 약속, 가정을 제거합니다. 이 기술은 Claude Code, Cursor, Codex 등 AI 에이전트와 함께 사용하기에 적합하며, 보안, 롤백, 소유권, 운영 등 하드하게 되돌리기 어려운 결합을 관리해야 하는 복잡한 제품 결정에 특히 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add perhapsspy/purpose-first-design

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

목적 우선 설계 (Purpose-First Design)

작업 및 종료 조건 (Job and Exit)

솔루션 구조가 고정되기 전에, 실질적으로 열려 있는 제품 또는 구현 계획 결정에 대해 가장 작은 방어 가능한 방향을 선택하십시오. 목적은 성공의 의미를 정의합니다. 잠긴 사용자 결정, 권한, 그리고 필요한 보안, 롤백, 소유권 및 운영 경계는 답을 구속하며, 절대 대안이 될 수 없습니다.

실제로 열려 있는 선택을 변경할 수 있는 가장 작은 확인 지점, 또는 하나의 차단 질문과 함께 잠정적인 방향을 제시하며 종료합니다. 더 이상 열려 있는 실질적 방향이 없다면, 간략히 그렇게 밝히고 대안을 만들지 않은 채로 인계합니다.

결정 계약 (Decision Contract)

  • 결정을 구분 짓는 데 필요한 목적과 관찰 가능한 성공만을 명시합니다.
  • 결정 관련 입력을 LOCKED(잠김), EVIDENCE(증거), ASSUMPTION(가정), OPEN(열림)으로 분리합니다. 잠긴 결정, 명시적 제약, 거부된 범위, 또는 증거로 해결된 항목을 절대 OPEN으로 승격시키지 마십시오. 실패한 확인은 해결되지 않은 메커니즘만 변경할 수 있으며, 잠긴 제품 의미는 변경할 수 없습니다.
  • 기존 구현, 선례, 기본값 및 긴급성을 명시적 권한이 없는 한 증거로 취급합니다. 의미, 책임, 영구 상태, 정책, 생애주기, 공개 계약, 수용된 위험, 또는 되돌리기 어려운 결합을 실질적으로 변경하는 대안만 비교합니다.
  • 가장 작은 충분한 방향을 선택합니다. 출처나 선택된 방향이 요구하지 않는 한, 소유자, 프로세스, 롤백 메커니즘, 플랫폼, 미래 프로그램 또는 열린 결정을 추가하지 마십시오.

인계 (Handoff)

현재 권한을 알 수 없는 경우 먼저 source-owner-audit을 사용하십시오. 확정된 구현(코드 흐름, 상태, 순서, 인터페이스, 실패 처리, 구현 순서)은 structure-first에 인계합니다. 확정된 표현 및 패키징은 tighten-docs에 인계합니다.

간결한 결정 인계를 반환하십시오: 방향, 결정을 변경하는 근거, 잠긴 경계, 실제 가정 또는 열린 결정, 그리고 다음 결정적 확인 또는 담당 워크플로우. 선택한 방향을 제약할 때만 경계를 포함하십시오.

최종 축소 (Final Reduction)

답변에 의해 도입된 범위, 약속, 가정 및 열린 결정만 검토하십시오. 목적, 잠긴 경계, 권한, 증거 또는 선택된 방향이 요구하지 않는 것은 제거하십시오. 제품 의미와 요구되는 경계가 동일한 경우에만 대안을 병합하십시오.

이 패스는 범위, 약속, 가정, 열린 결정 또는 인계를 줄일 수 있지만 생성해서는 안 되며, LOCKED 의미를 절대 다시 열어서는 안 됩니다. 누락된 필수 경계를 발견한 경우 해당 경계를 선택 사항이 아닌 필수로 명시하십시오. 보안, 롤백, 소유권, 운영 또는 입증된 실패 모드에 필요한 복잡성은 유지하십시오.

관련 스킬