Detect and surface conflicts between specs or between specs and design
Scanned 9/9/2026
Install to Claude Code
npx -y skills add AI-native-Systems-Research/ai-native-storage-certus --skill speckit-sync-conflicts --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Speckit Sync Conflicts?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ai-native-systems-research-speckit-sync-conflicts-de0f72dc)More formats (shields.io, HTML) on the badges page.
---
name: speckit-sync-conflicts
description: Detect and surface conflicts between specs or between specs and design
docs
compatibility: Requires spec-kit project structure with .specify/ directory
metadata:
author: github-spec-kit
source: sync:commands/conflicts.md
user-invocable: true
disable-model-invocation: true
---
# Spec Sync: Detect Conflicts
Find contradictions between specs, or between specs and design documents. Surface them for human resolution.
## User Input
$ARGUMENTS
## Context
Read all spec files and design documents:
- `specs/*/spec.md`
- `docs/plans/*.md` or `docs/design/*.md`
- Any files with "design" or "plan" in the name
## Steps
### 1. Extract Requirements from All Sources
For each spec, extract:
- All FR-* requirements with full text
- All SC-* success criteria
- Key constraints and assumptions
- Out of scope items
For design docs, extract:
- Design decisions
- Constraints
- Behavioral specifications
- Any "MUST", "SHALL", "SHOULD" statements
### 2. Build Requirement Index
Create a semantic index of all requirements, keyed by:
- Feature area (extraction, routing, register, etc.)
- Entity type (document, transaction, row, etc.)
- Behavior type (create, update, validate, etc.)
### 3. Detect Direct Conflicts
Look for contradictions:
**Type 1: Same Feature, Different Behavior**
- Spec A says "one row per document"
- Spec B says "split transactions produce multiple rows"
- Conflict: Row cardinality
**Type 2: Obsolete Constraints**
- Spec A says "5 extraction fields: Date, Vendor, Total, Tax, Currency"
- Design doc says "type-aware fields, 4-8 per document type"
- Conflict: Field count and composition
**Type 3: Scope Overlap**
- Spec A includes feature X
- Spec B also includes feature X
- Conflict: Unclear ownership
**Type 4: Implicit Conflicts**
- Spec A assumes auth is always valid
- Spec B adds offline mode
- Conflict: Assumption violated
### 4. Determine Resolution Path
For each conflict:
**SUPERSEDE**: Newer document replaces older
- Check dates, version numbers
- Design docs often supersede original specs
- Later specs refine earlier specs
**MERGE**: Combine into single authoritative source
- When both have valid parts
- Create unified spec
**DEPRECATE**: Mark older as obsolete
- When requirement is no longer relevant
- Document why it was removed
**HUMAN_REQUIRED**: Can't determine automatically
- Architectural decisions
- Trade-offs involved
- Missing context
### 5. Generate Conflict Report
```markdown
# Spec Conflict Report
Generated: [timestamp]
## Summary
| Conflict Type | Count |
|---------------|-------|
| Same Feature, Different Behavior | X |
| Obsolete Constraints | X |
| Scope Overlap | X |
| Implicit Conflicts | X |
## Conflicts
### Conflict 1: Extraction Field Count
**Sources**:
- `specs/008-field-extraction/spec.md` (FR-003)
- `docs/plans/2026-02-19-type-aware-extraction-design.md`
**Description**:
Spec 008 defines 5 fixed extraction fields for all document types.
Design doc introduces type-aware extraction with 4-8 fields per type.
**Evidence**:
From spec-008:
> FR-003: System MUST extract the following fields: Date, Vendor, Total, Tax, Currency
From design doc:
> Document Types & Extraction Fields
> ### Receipt
> Fields: Date, Vendor, Total, Tax, Currency, Category
> ### Bill
> Fields: Date, Vendor, Description, Total, Due Date, Currency, Category
**Suggested Resolution**: SUPERSEDE
The design doc (dated 2026-02-19) supersedes spec-008 for extraction fields.
Recommend updating spec-008 to reference the design doc or incorporating
the type-aware fields directly.
**Action Required**:
- [ ] Mark spec-008/FR-003 as superseded by design doc
- [ ] Update spec-008 with type-aware field definitions
- [ ] Or create new spec-013 for type-aware extraction
---
### Conflict 2: Register Row Cardinality
[... additional conflicts ...]
## Resolution Tracking
Track resolution decisions:
| Conflict | Resolution | Decided By | Date |
|----------|------------|------------|------|
| Conflict 1 | SUPERSEDE | pending | - |
## Recommendations
1. Schedule a 30-min review session to resolve conflicts
2. Consider consolidating specs 008 and design doc
3. Add explicit "supersedes" metadata to specs
```
### 6. Save Report
Write to:
- `.specify/sync/conflicts.md`
- `.specify/sync/conflicts.json`
## Conflict Resolution Commands
After reviewing conflicts, mark resolutions:
```
/speckit.sync.conflicts resolve 1 --supersede docs/plans/2026-02-19-type-aware-extraction-design.md
/speckit.sync.conflicts resolve 2 --merge spec-011
```
## Example Usage
```
/speckit.sync.conflicts
/speckit.sync.conflicts --include-design-docs
/speckit.sync.conflicts --spec 008
```Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!