依据WCAG 2.2设计和检查Web、iOS及Android界面,核查读屏标签、键盘操作、配色对比度和操作目标尺寸,使界面支持辅助技术。
- 为纯图标按钮添加说明
- 检查键盘操作与模态框焦点
- 检查对比度与操作目标尺寸
审查现有代码的一个部分,从设计决策记录、实现惯例、缺失功能和技术选型四个方面整理问题,并推进计划、测试、修复及再次审查。
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.
brownfield-retrospective针对现有代码的一部分,从现状审查推进到改进后的再次核查。它根据代码和Git历史还原当前行为与过去的设计决策,从决策记录不足、实现惯例、缺失功能、技术选型四个方面建立问题台账。每个问题都记录依据、严重程度、工作量和处理状态,并衔接计划、测试先行的实现、代码审查和再次审查。
适合检查接手的代码,或在项目开发途中引入ECC开发流程。也可在添加下一个功能前,判断某个模块应继续修复、重新编写,还是记录理由后保持现状。
流程会使用ECC的相关代理和技能。每个审查范围以约15个文件或2,000行为参考,成果保存到docs/retro/<slice>/。审查期间不做修复;重写、更换技术等重大变更,需要经过项目规定的审批。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。
总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月19日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
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.
planner and tdd-workflow directlyspec-miner agent does that on its ownproduction-auditsecurity-reviewAll artifacts are written inside the audited project, under docs/retro/<slice>/:
| File | Phase | Purpose |
|---|---|---|
gap-register.md | 0-6 | The state machine — perimeter, Current phase: marker, and rows. The only file required to resume mid-stream. |
baseline-audit.md | 1 | Reviewer findings, test/CI snapshot, TODO inventory. |
reconstructed-spec.md | 2 | What the code actually does today (Requirements + Invariants). |
target-design.md | 4 | Target 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.
Start from what the user cares about today. Do not map the whole repo first.
Any of these is a valid slice:
| User signal | Slice |
|---|---|
| Names a directory, module, or service | That path plus its direct callers |
| Names a feature or user flow | The files that implement it, traced from the entry point |
| Names a bug, incident, or pain point | The code that produced it plus one level of call chain |
| Names a dependency or tech choice | Everything that touches it |
| Names nothing | The 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.
Establish what exists now, with evidence. Do not fix anything yet.
codebase-onboarding, scoped to the perimeter).file:line pointer:
typescript-reviewer, python-reviewer, go-reviewer, ...)security-reviewersilent-failure-hunter for swallowed errorstype-design-analyzer where invariants are encoded in typesperformance-optimizer only if the slice is on a hot pathTODO/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.
Work backwards from the present state to the decisions that produced it.
spec-miner against the slice. Its Requirements (WHEN → THEN) and Invariants become reconstructed-spec.md — the baseline truth for Phase 5 tests.git log --oneline -- <slice> for directory history; use --follow only with a single file path — age, authors, cadencedocs/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.code-explorer to trace execution paths before guessing at intent.Convert the audit and reconstruction into register rows. One axis per class of gap:
| Axis | Question | Sources |
|---|---|---|
| Thinking | What was decided but never recorded? Which invariants live only in code? | Decision inventory, reconstructed spec |
| Coding practice | Where 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 features | What 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 selection | Is 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 |
P0 security exposure or data loss, P1 correctness, P2 practice and observability, P3 selection and cleanup.S under a session, M a few sessions, L needs its own plan.open, in-progress, done, wont-fix.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.
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.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.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.P0 first, then interleave quick wins with larger repairs to keep momentum.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
gap-register.md statuses as rows close; the register is the durable state, not the conversation.unified-memory, context carriers) so the next session resumes from the register alone.When every row is done or wont-fix:
baseline-audit.md and verify with verification-loop — the gaps claimed closed must stay closed.gap-register.md.Any session can start in the middle. Read docs/retro/<slice>/gap-register.md first:
in-progress → Phase 5, finish that row.Current phase: marker (Phase 3 register awaiting triage, or Phase 4 backlog awaiting its first row).baseline-audit.md exists → Phase 2.wont-fix without a recorded reason.codebase-onboarding — recon baseline for Phase 1architecture-decision-records — retro-ADR backfill in Phase 4tdd-workflow — Phase 5 execution disciplineverification-loop — Phase 6 closureproduction-audit — launch-readiness lens (complementary, later)security-review — security-only requests还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
依据WCAG 2.2设计和检查Web、iOS及Android界面,核查读屏标签、键盘操作、配色对比度和操作目标尺寸,使界面支持辅助技术。
从指令、记忆、工具执行和界面显示等十二个层面排查人工智能代理故障,依据代码和日志梳理原因,按严重程度列出问题并提出修复方案。
用实际开发任务比较多个编程智能体,记录成功率、可获取的API费用、耗时和重复运行的稳定性,为工具选型及更新后的性能评估提供数据。
设计和调整AI智能体使用的工具、输入与返回格式,明确出错后的恢复、重试和停止条件,管理上下文信息量,并以完成率、重试次数和成功任务成本评估改进。
根据错误信息和执行环境,分析AI代理反复失败或重复操作的原因。通过小范围、可撤销的恢复操作检验假设,并将结果与依据整理成可供交接的报告。
在AI代理反复失败或重复操作时,记录错误与环境前提、排查原因,采取影响有限的恢复操作,并汇总结果和证据,为有依据的重试与交接提供支持。