Communitygithub.com

Parẹ́ (소프트웨어 간소화 기술)

소프트웨어 시스템 및 서브시스템의 간소화 감사 및 검토를 수행하는 기술입니다. 제거, 재사용, 지역화를 우선시하고 불필요한 복잡성을 거부합니다.

Parẹ́ (소프트웨어 간소화 기술)란 무엇인가요?

Parẹ́는 AI 에이전트(Claude Code, Cursor 등)가 소프트웨어 시스템의 복잡성을 감사(audit)하고 변경 사항을 검토(review)할 수 있도록 설계된 기술입니다. 이 기술은 제거(Elimination), 직접 상태(Direct State), 지역 소유권(Local Ownership), 깊은 모듈(Deep Modules), 네이티브 역량(Native Capability), YAGNI(You Aren't Gonna Need It) 원칙을 기반으로 불필요한 복잡성을 제거합니다. 'audit' 모드에서는 기존 시스템의 서브시스템을 분석하여 제거 가능한 요소, 유지해야 할 요소, 차단된 요소를 분류하고, 간소화 사다리(Eliminate → Reuse → Derive → Localize → Shrink)를 따라 최적의 간소화 방안을 제시합니다. 'review' 모드에서는 특정 변경 사항이 결합도, 응집도, 중복, 소유권, 테스트 가치 등을 올바르게 유지하는지 평가하며, 단순히 코드 줄 수나 테스트 커버리지 같은 메트릭보다는 증거 기반의 판단을 중시합니다. 이 기술은 읽기 전용으로 시스템을 변경하지 않고 간소화 결과만 제공하며, 결함이나 기술적 부채와 같은 상태 정보는 외부에 보관하도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add quantipixels/skills

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

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

문서

Parẹ́

제거, 직접 상태, 지역 소유권, 깊은 모듈, 네이티브 역량, YAGNI를 우선시합니다. 재배치된 복잡성을 거부합니다.

모드:

  • audit — 제한된 소프트웨어 시스템/서브시스템 간소화 감사; 읽기 전용; 테스트/빌드 없음.
  • review — 하나의 고정된 소프트웨어 후보; 읽기 전용; 제공자/평결 없음.

결함 판정/상태 유지, 구현, 기술 아키텍처는 이 읽기 전용 간소화 결과 외부에 보관하십시오.

증거

소프트웨어 시스템/후보, 기준선, 지침 및 제외 사항을 고정합니다. 현재 소비자, 구현/구성, 이력, 생성/프레임워크 도달 가능성, 그리고 중요한 간소화 주장을 구별하는 데 필요한 시스템 네이티브 증거만 검사합니다. 검색 또는 도구 부재 자체만으로 삭제 증거가 될 수 없으며, 도구/메트릭 출력은 간소화 판정 자체가 아닌 증거입니다.

제어 흐름/상태 공간/중첩/팬아웃/생명주기/복잡성/테스트 볼륨이 조사를 실질적으로 통제하는 경우, 복잡성과 증명을 읽으십시오. 반복되는 유지보수성/소유권 패턴이 중요한 경우, 유지보수성 패턴을 읽으십시오. 패턴과 메트릭은 신호일 뿐, 결론이 아닙니다.

간소화 사다리

실제 흐름/소비자/계약을 이해한 후, 첫 번째로 건전한 축소를 선택하십시오:

  1. 제거 — 메커니즘이 존재할 필요가 없거나, 기존 요소에 필수 동작, 계약, 소비자 또는 소유자가 없는 경우.
  2. 재사용 — 현재 구현/시스템 역량 → stdlib/프레임워크/플랫폼 → 설치된 의존성/도구.
  3. 파생 — 저장/중복된 상태를 제거하되, 타이밍/소유권/비용은 유지.
  4. 지역화 — 정책/상태를 실제 소유자/깊은 모듈에 배치.
  5. 축소 — 최소 직접 메커니즘; 추정적 변형 없음.

파일이나 함수가 크거나 점수가 높다는 이유만으로 추출이나 간접화를 권장하지 마십시오. 새로운 추상화는 순수 의미적 부담을 제거하고 현재 변형 또는 독립적으로 실재하는 경계를 소유하는 경우에만 간소화입니다.

감사

겹치지 않는 소스, 진입점, 빌드, 테스트, 도구, 플랫폼, 런타임/구성, 생성된 서브시스템을 목록화합니다. 구현/의존성/구성/지원 아티팩트를 retain | delete-safe | blocked로 분류합니다. 삭제, 표현, 소유권, 알고리즘, (중요한 경우) 복잡성, 증명 패스를 별도로 실행합니다.

삭제 안전성은 단순 검색 부재 이상이 필요합니다: 호출자, 동적/프레임워크/생성 도달 가능성, 구성/데이터, 빌드, 소비자, 이력, 계약 및 증명 소유자를 확인하십시오. 더 강력한 완전한 소유자가 없는 경우 공개/보안/데이터 무결성/동시성/복구/어댑터/런타임/상호작용/접근성 계약을 보존하십시오.

테스트는 개수나 커버리지가 아닌 지속 가능한 계약 가치로 감사하십시오. 테스트는 다음 경우 간소화 후보가 됩니다: 증거가 중요한 계약을 독립적으로 반증할 수 없음, 프로덕션 로직을 재계산/미러링함, 동작 대신 목/코레오그래피를 검증함, private 구조를 보호함, 프로젝트가 소유하지 않은 프레임워크/라이브러리 동작을 테스트함, 더 강력한 기존 증명을 중복함, 불균형적인 스캐폴딩이 필요함, 또는 구축 이력으로만 남아 있음. 구현이 작더라도 테스트가 중요한 안정적인 불변량을 고유하게 보호하는 경우 삭제를 권장하지 마십시오.

중요한 축소를 영향/위험/노력/의존성으로 순위를 매기고 구현 조각을 표현하십시오; 실행하지 마십시오. 흩어진 호출자 지식, 전달 계층, 중복된 정책 또는 얕은 결합이 심화 기회를 나타내는 경우, 잘못 배치된 책임과 호출자 부담을 식별하십시오. 대체 모듈/인터페이스/결합을 선택하는 것 자체가 중요한 아키텍처 질문인 경우, pare 내에서 대체를 설계하지 말고 architect를 사용하십시오.

검토

제공된 후보를 고정합니다; 그렇지 않으면 현재 변경 경계를 정확히 사용합니다. 응집도, 결합도, 재사용, YAGNI, 어휘, 유효하지 않거나 중복된 상태, 소유권, 깊이, 증명 및 중요한 의미적 복잡성을 확인합니다.

또한 다음을 확인합니다:

  • 변경 범위 표류: 간결한 요청 동작 또는 증명 이유가 없는 터치된 서브시스템/파일/계약;
  • 새로운 의존성, 병렬 구현, 호환성 경로, 추정적 추상화 또는 관련 없는 정리를 통한 범위 확장;
  • 주로 테스트 가능성을 위해 도입되었지만 독립적으로 실재하는 프로덕션 경계가 없는 프로덕션 아키텍처;
  • 원인 상태나 소유자를 제거/강화함으로써 사라질 수 있는 엣지 케이스 메커니즘;
  • 안정적인 결합, 독립적 오라클, 반증 가능성, 더 강력한 기존 증명 및 유지보수 부담에 대한 지속 가능한 테스트.

통과 테스트, 커버리지, 줄 수 감소 또는 도구 점수는 증거로만 취급하십시오. 명백히 죽었거나 중복된 코드는 안전한 제거가 증거로 뒷받침될 때 정리 권장 사항으로 표시될 수 있습니다; 단순히 존재한다고 차단 문제가 되지는 않습니다. 가능한 결함은 atunwo로 라우팅하고, 충돌하는 프로젝트/도메인 어휘는 amose로 라우팅하십시오. 중요한 간소화 결과가 새로운 중요한 모듈/인터페이스/결합 설계를 필요로 하는 경우, 그 기술적 형태는 architect에 맡기고 여기에는 증거로 뒷받침된 간소화 필요성만 유지하십시오.

의도적인 간소화에 문서화된 상한/재방문 트리거가 있는 경우, 현재 증거가 이를 지지하면 보존하십시오. 관찰 가능한 재방문 트리거가 없는 중요한 의도적 제한은 유지보수성 문제이지, 별도의 부채 시스템을 만들 이유가 아닙니다.

결과

delete, native, yagni, state, owner, scope, test, shrink, proof와 같은 태그를 사용하고 다음과 같이 보고합니다:

<태그> <비용/결과>. <더 작은 형태>. [위치]
위험: <중요한 위험>
증거: <증거 / 미래 증명 소유자>
신뢰도: <수준>

권장하기 전에 식별, 도달 가능성, 소유권, 증명, 마이그레이션 및 관련 작업 공간 상태를 재확인하십시오. 테스트/빌드를 실행하거나 변경하지 않고 미래 검증/권한을 명시하십시오.

범위/식별, 순위화된 축소, 유지된 계약, 증명 소유자, 차단 요소, 구현 조각, 필요한 실행 권한, 미래 검증 및 잔여 위험을 반환하십시오.

관련 스킬