본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

brownfield-retrospective

기존 코드의 일부를 감사하고 설계 결정 기록, 구현 관행, 누락 기능, 기술 선택의 네 관점에서 문제를 정리합니다. 계획부터 테스트, 수정, 재감사까지 진행합니다.

원문원문 설명 보기

Run the ECC engineering process retroactively against an existing project slice. Audit current state, reconstruct past decisions, produce a four-axis gap register (thinking, coding practice, missing features, technology selection), then execute fixes forward through the plan-TDD-review pipeline. Use when adopting ECC mid-project, taking over an inherited codebase, or asking what was missed and what would have been built differently from day one.

AI 평가90점/ 100설치 방법 보기

이럴 때 유용합니다

  • 인수한 코드를 검토할 때
  • 개발 도중 ECC 절차를 도입할 때
  • 기능 추가 전에 모듈을 재검토할 때
  • 기존 부분의 수정이나 재작성 방향을 정할 때

한국어 소개

할 수 있는 일

brownfield-retrospective는 기존 코드 일부의 현황 감사부터 개선 후 재확인까지 진행합니다. 코드와 Git 이력으로 현재 동작과 과거 설계 결정을 재구성합니다. 결정 기록 부족, 구현 관행, 누락 기능, 기술 선택의 네 관점에서 문제 대장을 작성합니다. 각 문제에 근거, 심각도, 작업량, 처리 상태를 기록하고 계획, 테스트를 먼저 작성하는 구현, 검토, 재감사로 연결합니다.

이럴 때 유용합니다

인수한 코드를 검토하거나 개발 도중 ECC 개발 절차를 도입할 때 적합합니다. 다음 기능을 추가하기 전에 특정 모듈을 수정할지, 다시 작성할지, 이유를 기록하고 유지할지 판단할 때도 사용합니다.

사용 예시

  • “이 모듈을 감사하고 놓친 문제를 정리해 주세요.”
  • “과거 설계 결정을 조사하고 개선 계획을 만들어 주세요.”
  • “문제 대장을 읽고 지난번에 멈춘 곳부터 이어서 진행해 주세요.”

주의 사항

ECC의 관련 에이전트와 스킬을 사용하는 절차입니다. 대상은 약 15개 파일 또는 2,000줄을 기준으로 나누고 결과물을 docs/retro/<slice>/에 저장합니다. 감사 중에는 수정하지 않습니다. 재작성이나 기술 교체 같은 큰 변경은 프로젝트에서 정한 승인을 거쳐 진행합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호기존 코드가 대상이며 네 가지 관점으로 문제를 정리한다고 명시합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호단계별 절차, 결과물 저장 위치, 문제 대장의 열과 작성 예시를 제공합니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호감사 중 수정을 금지하고 재작성이나 기술 교체 전에 범위 확인과 프로젝트의 승인을 요구합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족여러 ECC 에이전트와 관련 스킬을 지정하지만 설치 절차는 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md11.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Brownfield Retrospective

Run ECC's engineering process retroactively against a project that was built without it. Pick any slice of an existing codebase, audit what exists, reconstruct how it got there, extract a four-axis gap register, then execute the fixes forward through the standard ECC pipeline.

The workflow is slice-first: no whole-repo onboarding is required before it is useful, and every phase is re-enterable from a durable artifact on disk. Start in the middle, work backwards, then move forward.

When to Activate

  • Adopting ECC in a repository that already exists and is already shaped
  • User asks to "audit my existing project", "retro this codebase", or "what did we miss?"
  • Taking over, inheriting, or returning to a codebase after a long gap
  • User asks "why is it like this?" followed by "should it stay like this?"
  • A module, feature, or service needs a rethink before the next feature lands on top of it
  • Deciding whether a legacy area should be fixed forward, rewritten, or left documented as-is

When Not to Use

  • Greenfield work with no existing code — use planner and tdd-workflow directly
  • Onboarding to spec-driven development without the redesign loop — the spec-miner agent does that on its own
  • A launch go/no-go production-readiness pass — use production-audit
  • Security-only sweeps — use security-review
  • Team process retrospectives (sprint ceremonies) — this audits a codebase, not people

The Working Set

All artifacts are written inside the audited project, under docs/retro/<slice>/:

FilePhasePurpose
gap-register.md0-6The state machine — perimeter, Current phase: marker, and rows. The only file required to resume mid-stream.
baseline-audit.md1Reviewer findings, test/CI snapshot, TODO inventory.
reconstructed-spec.md2What the code actually does today (Requirements + Invariants).
target-design.md4Target shape for the slice and the fix sequence.

Backfilled decisions go to docs/adr/ per the architecture-decision-records skill. If the project uses OpenSpec, reconstructed-spec.md may instead be openspec/specs/<capability>/spec.md produced by spec-miner.

How It Works

Phase 0 — Pick the Entry Point

Start from what the user cares about today. Do not map the whole repo first.

Any of these is a valid slice:

User signalSlice
Names a directory, module, or serviceThat path plus its direct callers
Names a feature or user flowThe files that implement it, traced from the entry point
Names a bug, incident, or pain pointThe code that produced it plus one level of call chain
Names a dependency or tech choiceEverything that touches it
Names nothingThe 2-3 hottest paths by churn — propose them and let the user pick

Record the perimeter at the top of gap-register.md before anything else: paths in scope, entry points, callers, blast radius. Budget the slice at roughly 15 files or 2,000 lines; if the user's pick is bigger, cut it into named sub-slices and register each as its own row of work. A slice too big to audit in one session is a slice that never finishes. Keep a Current phase: marker beside the perimeter and advance it each time a phase completes.

Phase 1 — Present-State Audit

Establish what exists now, with evidence. Do not fix anything yet.

  1. Recon the slice: manifest and framework fingerprint, entry points, test layout, CI checks (borrow the recon steps from codebase-onboarding, scoped to the perimeter).
  2. Run the reviewers that match the stack, in parallel where possible. Every finding must carry a file:line pointer:
    • The language reviewer for the stack (typescript-reviewer, python-reviewer, go-reviewer, ...)
    • security-reviewer
    • silent-failure-hunter for swallowed errors
    • type-design-analyzer where invariants are encoded in types
    • performance-optimizer only if the slice is on a hot path
  3. Snapshot the current state: test count and coverage, lint/CI status, TODO/FIXME/HACK inventory inside the perimeter.

Write everything to baseline-audit.md. Findings that get fixed during this phase corrupt the baseline — hold them for the register.

Phase 2 — Backward Reconstruction

Work backwards from the present state to the decisions that produced it.

  1. Mine the behavioral spec: run spec-miner against the slice. Its Requirements (WHEN → THEN) and Invariants become reconstructed-spec.md — the baseline truth for Phase 5 tests.
  2. Git archaeology on the perimeter:
    • git log --oneline -- <slice> for directory history; use --follow only with a single file path — age, authors, cadence
    • Largest and most reverted commits — where the design changed under pressure
    • Churn hotspots — files changed far more often than neighbors
    • Dead ends — branches or scaffolding that never shipped
  3. Decision inventory: list the significant decisions frozen into the code (stack and framework choices, data model, boundaries, error strategy, state management). Check each against docs/adr/, README, and comments. Every decision with no written record is itself a pre-existing thinking gap — record it in Phase 3, do not silently backfill it here.
  4. Where behavior is opaque, use code-explorer to trace execution paths before guessing at intent.

Phase 3 — Gap Analysis (Four Axes)

Convert the audit and reconstruction into register rows. One axis per class of gap:

AxisQuestionSources
ThinkingWhat was decided but never recorded? Which invariants live only in code?Decision inventory, reconstructed spec
Coding practiceWhere does the code diverge from how ECC would have written it?Phase 1 findings, the rules/ pack for the language, spec items with no test anchor
Missing featuresWhat would a day-one build have included that this slice never got?Boundary input validation, observability, rate limiting, idempotency, migrations plus rollback, a11y, i18n, user docs, CI gates
Technology selectionIs the chosen tech fighting the codebase? Outdated, duplicated, risky, or missing?Dependency inventory, git archaeology, recon

Register format (the table is the skill's durable output):

| ID | Axis | Gap | Evidence | Forward fix | Severity | Effort | Status |
|----|------|-----|----------|-------------|----------|--------|--------|
| G-001 | practice | Errors swallowed in retry loop | src/api/retry.ts:42 | Propagate + map at boundary | P1 | S | open |
  • Severity: P0 security exposure or data loss, P1 correctness, P2 practice and observability, P3 selection and cleanup.
  • Effort: S under a session, M a few sessions, L needs its own plan.
  • Status: open, in-progress, done, wont-fix.
  • Every row needs an evidence pointer. A gap you cannot point at is an opinion.

Phase 4 — Redesign / Rethink

Turn the register into a sequenced plan. Follow the project's existing task and approval authority. Keep the register as audit evidence linked to that system; do not create competing canonical task state. Confirm scope and obtain project-required approval before a rewrite, technology replacement, migration, or other material change.

  1. Run architect or code-architect over the P0 and P1 rows to produce target-design.md: target shape for the slice, the fix sequence, and an explicit "what does not change" list to protect working behavior.
  2. Backfill retro-ADRs for every undocumented decision from Phase 2. Mark them as reconstructed (status: proposed (reconstructed), date of the retro, note the original decision predates the record). Separate observed history from inferred intent, and have the project owner confirm a decision before marking it accepted. Never present a backfilled ADR as if it were written at decision time.
  3. Triage every register row into one of: fix-forward (repair in place), rewrite (replace the slice), leave-documented (wont-fix). A wont-fix must record its reason in the register — a wont-fix with a reason closes the thinking gap; a silent one reopens it.
  4. Sequence the backlog: P0 first, then interleave quick wins with larger repairs to keep momentum.

Phase 5 — Forward Execution

Work the register through the standard ECC pipeline, one row per session as a baseline pace:

planner (scope the row)
  → tdd-guide (failing test first — for a legacy gap the first test
    usually encodes the missing invariant from reconstructed-spec.md)
  → implement
  → code-reviewer
  → security-reviewer (if the row touches input, auth, or data)
  → doc-updater + ADR (if the decision changed)
  → conventional commit
  → mark the register row done
  • Update gap-register.md statuses as rows close; the register is the durable state, not the conversation.
  • On session boundaries, hand off through the project's memory mechanism (unified-memory, context carriers) so the next session resumes from the register alone.

Phase 6 — Closure and Re-Audit

When every row is done or wont-fix:

  1. Re-run the Phase 1 audit over the same perimeter.
  2. Diff against baseline-audit.md and verify with verification-loop — the gaps claimed closed must stay closed.
  3. Record the delta (findings then, findings now, rows closed, rows deferred) at the bottom of gap-register.md.
  4. Anything that resurfaced becomes a new row, not a failure — the register is a loop, not a one-shot.

Resuming Mid-Stream

Any session can start in the middle. Read docs/retro/<slice>/gap-register.md first:

  • Register exists with a row in-progress → Phase 5, finish that row.
  • Register exists with at least one row, all rows closed → Phase 6.
  • Register exists, rows open, none in progress → resume at the Current phase: marker (Phase 3 register awaiting triage, or Phase 4 backlog awaiting its first row).
  • No register, but baseline-audit.md exists → Phase 2.
  • No artifacts at all → Phase 0 with the user.

Anti-Patterns

  • Auditing the whole repo before any slice — the workflow is slice-first by design.
  • Fixing code during Phases 1-3 — audit phases produce the register; edits mid-audit corrupt the baseline.
  • Register rows without evidence pointers.
  • wont-fix without a recorded reason.
  • Presenting backfilled ADRs as contemporaneous records.
  • Skipping the Phase 6 re-audit — closure is verified, not declared.

Related Skills

  • codebase-onboarding — recon baseline for Phase 1
  • architecture-decision-records — retro-ADR backfill in Phase 4
  • tdd-workflow — Phase 5 execution discipline
  • verification-loop — Phase 6 closure
  • production-audit — launch-readiness lens (complementary, later)
  • security-review — security-only requests

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

accessibility

무료요약 있음AI 평가 100점

Web·iOS·Android 화면을 WCAG 2.2에 맞춰 설계하고 점검합니다. 화면 읽기와 키보드 조작, 레이블, 대비, 조작 대상 크기를 확인합니다.

  • 아이콘 버튼에 설명 추가
  • 키보드 조작과 모달 초점 점검
  • 대비와 조작 대상 크기 확인
affaan-m/ECC28.4만2026년 10월 16일 업데이트

agent-architecture-audit

무료요약 있음AI 평가 80점

인공지능 에이전트의 문제를 지시, 기억, 도구 실행, 화면 표시 등 12개 계층에서 조사합니다. 코드와 로그를 근거로 원인을 정리하고 심각도에 따른 지적 사항과 수정안을 제시합니다.

  • 앱 안에서만 발생하는 문제 조사
  • 이전 대화가 섞이는 원인 확인
  • 도구 실행 누락과 허위 실행 보고 확인
affaan-m/ECC28.4만2026년 10월 16일 업데이트

agent-eval

무료요약 있음AI 평가 80점

실제 개발 과제로 여러 코딩 에이전트를 비교합니다. 성공률, 확인 가능한 API 비용, 소요 시간과 반복 실행의 안정성을 측정해 도입 결정과 업데이트 후 평가에 활용합니다.

  • 실제 개발 과제로 에이전트를 비교합니다
  • 새 도구나 모델을 도입하기 전에 평가합니다
  • 에이전트 업데이트 후 성능을 확인합니다
affaan-m/ECC28.4만2026년 10월 16일 업데이트

agent-harness-construction

무료요약 있음AI 평가 100점

AI 에이전트의 도구 구성, 입력과 출력 형식, 오류 복구 절차를 설계합니다. 문맥 정보량을 관리하고 완료율, 재시도 횟수, 성공한 작업당 비용으로 개선을 평가합니다.

  • 에이전트 도구와 입력 형식을 설계합니다
  • 도구 결과와 다음 행동을 명확히 합니다
  • 안전한 재시도와 중단 조건을 정합니다
affaan-m/ECC28.4만2026년 10월 16일 업데이트

agent-introspection-debugging

무료요약 있음AI 평가 100점

AI 에이전트의 반복 실패와 도구 사용을 기록하고 원인을 좁힙니다. 영향이 제한된 복구 작업과 결과 보고를 통해 근거 있는 재시도를 돕습니다.

  • 같은 도구 작업을 반복하는 원인 조사
  • 대화 증가에 따른 출력 품질 저하 조사
  • 파일 경로와 환경 불일치 확인
affaan-m/ECC28.4만2026년 10월 16일 업데이트

agent-introspection-debugging

무료요약 있음AI 평가 100점

오류와 실행 환경을 바탕으로 AI 에이전트가 실패하거나 같은 작업을 반복하는 원인을 조사합니다. 작은 복구 작업을 시험하고 결과와 근거를 인계용 보고서로 정리합니다.

  • 에이전트의 연속 실패 진단
  • 동일한 도구 작업의 반복 조사
  • 정보 누적으로 인한 출력 품질 저하 점검
affaan-m/ECC28.4만2026년 10월 5일 업데이트

affaan-m의 스킬 모두 보기

이 스킬의 문제 신고