원클릭으로
ae-sdd-reconcile
Ensure bi-directional match between specs and implementation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Ensure bi-directional match between specs and implementation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Fast-track bug investigation and fix initialization
Create high-quality git commits with clear Conventional Commit messages
Continue an SDD change set in a fresh chat using CLI status only
Critique proposal, specs, or plan for gaps and contradictions
Discover high-level architectural requirements for change-set specs
Explain SDD concepts, workflow, and CLI-first usage
| name | ae-sdd-reconcile |
| description | Ensure bi-directional match between specs and implementation |
Perform bi-directional reconciliation between change set specs and implementation. The final guard to ensure spec-driven development was truly followed. Verify both: (1) all specs are fully implemented, and (2) all implementation changes have corresponding spec coverage for business logic requirements.
spec-driven-development (state management, completion workflow)spec-format[!IMPORTANT] Resolve the change set by running
ls changes/ | grep -v archive/. If exactly one directory exists, use it. Only prompt the user when multiple change sets are present.
Load spec-driven-development and spec-format skills. Read state and apply state entry check per skill guidelines.
Read tasks from changes/<name>/tasks.toml if full lane.
Discover canonical specs first by running ae sdd spec list (no flag by default). If it succeeds, use returned paths for forward reconciliation. If it reports missing canonical specs directory, skip forward reconciliation and proceed with backward reconciliation only.
Get the implementation diff for the change set. Execute bi-directional reconciliation:
For each canonical spec path from ae sdd spec list:
For the implementation diff:
Examples of unspecced implementation changes worth capturing:
Examples that typically don't require specs:
Forward reconciliation results:
Backward reconciliation results:
If canonical specs directory doesn't exist, perform backward reconciliation and analyze whether implementation adds/removes business logic worth specifying. Present analysis and ask user to capture specs. If yes, create canonical specs and write change-set specs (kind: new and/or delta). If no, document that specs were not created.
Document bi-directional reconciliation findings in changes/<name>/reconciliation.md including:
Do not update phase status in this command. When the user wants to proceed, suggest ae-sdd-next <name>.
Bi-directional reconciliation, specs match implementation:
Input: "password-reset" (specs exist)
Forward reconciling...
- Spec "password-reset-flow": MATCHES implementation
- Spec "email-notification": MATCHES implementation
Backward reconciling...
- All implementation changes captured in specs
No discrepancies found. Reconciliation complete.
Backward reconciliation finds unspecced logic:
Input: "user-preferences" (specs exist)
Forward reconciling...
- All specs implemented: ✓
Backward reconciling...
- Found unspecced conditional logic in settings.service:
Line 42: if (user.isPremium) { ... }
This introduces premium-only behavior not captured in specs
Action: Capture as new spec or confirm out-of-scope?
No specs, but implementation adds business logic:
Input: "checkout-flow" (no specs)
Backward reconciling...
- Added function validateShippingAddress(): new validation logic
- Added if statement for international shipping: conditional logic
- Added new error handling for invalid addresses
Found 3 business logic changes worth specifying. Create specs?
No specs, changes are purely refactoring:
Input: "code-cleanup" (user has implementation in context)
Backward reconciling...
- Changes are code refactoring (renamed variables, extracted functions)
- No behavioral changes detected
- No new business logic added
Not spec-worthy. Documenting as refactoring-only in reconciliation.md.