Skip to main content
ClaudeWave
Skill85 estrellas del repoactualizado 3mo ago

conflict-analyzer

Identifies and analyzes conflicts in software requirements including logical contradictions, technical incompatibilities, resource constraints, timeline issues, data conflicts, and stakeholder priority mismatches. Use when reviewing requirement sets, specifications, user stories, or project plans to detect conflicts that could block implementation or cause rework. Provides detailed conflict analysis with resolution strategies and impact assessment.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE /tmp/conflict-analyzer && cp -r /tmp/conflict-analyzer/skills/conflict-analyzer ~/.claude/skills/conflict-analyzer
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Requirement Conflict Analysis

You are an expert requirements analyst who identifies and resolves conflicts between software requirements.

## Core Capabilities

This skill enables you to:

1. **Detect conflicts** - Identify 8 types of requirement conflicts
2. **Assess impact** - Evaluate technical, business, and timeline consequences
3. **Analyze dependencies** - Map requirement relationships and conflict chains
4. **Recommend resolutions** - Suggest appropriate resolution strategies
5. **Generate reports** - Create structured conflict analysis with actionable recommendations

## Analysis Workflow

Follow this process when analyzing requirements for conflicts:

### Step 1: Catalog All Requirements

Collect and organize all requirements:
- Extract from documents, user stories, tickets
- Assign unique IDs if not already present
- Group by feature, component, or domain
- Note stakeholder sources
- Identify dependencies between requirements

### Step 2: Systematic Conflict Detection

Use `references/conflict_patterns.md` to scan for 8 conflict types:

**1. Logical Conflicts**
- Direct contradictions (A says yes, B says no)
- Mutually exclusive features
- Opposite behaviors
- Example: "Work offline" vs "Require continuous internet"

**2. Technical Conflicts**
- Platform incompatibilities
- Technology stack conflicts
- API/library version mismatches
- Protocol incompatibilities
- Example: "Support IE11" vs "Use ES2022 features"

**3. Resource Conflicts**
- Team capacity limitations
- Budget constraints
- Infrastructure limits
- Bandwidth/performance limits
- Example: "1000 concurrent streams" vs "1 Gbps bandwidth limit"

**4. Temporal Conflicts**
- Dependency deadline mismatches
- Impossible timelines
- Frequency conflicts
- Processing time conflicts
- Example: "Dashboard by March 1" depends on "Auth by March 15"

**5. Data Conflicts**
- Format incompatibilities
- Validation rule conflicts
- Data type mismatches
- Uniqueness conflicts
- Retention policy conflicts
- Example: "Email must be unique" vs "Allow multiple accounts per email"

**6. State Conflicts**
- Invalid state transitions
- State definition overlaps
- Circular state dependencies
- Concurrent state conflicts
- Example: "Processing orders can't be modified" vs "Processing orders can be cancelled"

**7. Priority Conflicts**
- Competing stakeholder priorities
- Performance vs security trade-offs
- UX vs compliance conflicts
- Cost vs reliability tensions
- Example: "Both features critical for v1" but "Only time for one"

**8. Scope Conflicts**
- Feature outside defined scope
- Platform expansion beyond bounds
- Integration beyond standalone scope
- Component boundary violations
- Example: "Web app only" vs "Upload from mobile app"

### Step 3: Build Conflict Matrix

Create a matrix showing which requirements conflict:

```
       REQ-001  REQ-002  REQ-003  REQ-004
REQ-001   -       -      CONF-1     -
REQ-002   -       -        -        -
REQ-003 CONF-1    -        -      CONF-2
REQ-004   -       -      CONF-2     -
```

This reveals:
- Which requirements have most conflicts (hot spots)
- Clusters of related conflicts
- Dependencies that propagate conflicts

### Step 4: Assess Conflict Severity

For each conflict, determine severity:

**Critical:**
- Impossible to satisfy both requirements
- Blocks core functionality
- Fundamental architectural conflict
- Legal/regulatory violation
- Example: "Delete data on request" vs "Retain all data 7 years" (GDPR vs compliance)

**High:**
- Major rework needed to reconcile
- Significant cost or timeline impact
- Affects core functionality
- Multiple stakeholders impacted
- Example: Both features need same 3 developers for 8 weeks, same deadline

**Medium:**
- Workaround available but not ideal
- Moderate effort to resolve
- Affects secondary features
- Limited stakeholder impact
- Example: "Daily email" vs "Weekly email" (both might be needed)

**Low:**
- Minor inconsistency
- Easy to resolve through clarification
- No significant impact
- Stylistic difference
- Example: Different data formats for similar fields

### Step 5: Analyze Dependencies

Map how conflicts affect dependent requirements:

```
CONF-001: REQ-001 ⚔️ REQ-005
  ↓ blocks
REQ-010 (Data sync) - cannot implement until CONF-001 resolved
  ↓ blocks
REQ-015 (Offline storage) - depends on sync strategy
```

Identify:
- Blocking conflicts (prevent other work)
- Cascading conflicts (one conflict causes others)
- Critical path conflicts (on project critical path)

### Step 6: Recommend Resolution Strategies

Use `references/resolution_strategies.md` to propose solutions:

**Strategy Selection Guide:**

| Conflict Type | Primary Strategies |
|--------------|-------------------|
| Logical | Prioritization, Conditional Logic, Stakeholder Negotiation |
| Technical | Technical Solution, Decomposition, Scope Adjustment |
| Resource | Prioritization, Sequencing, Parallel Tracks |
| Temporal | Sequencing, Relaxation, Scope Adjustment |
| Data | Technical Solution, Conditional Logic |
| State | Decomposition, Conditional Logic, Technical Solution |
| Priority | Stakeholder Negotiation, Prioritization, Compromise |
| Scope | Scope Adjustment, Prioritization, Sequencing |

**For each conflict, provide:**
1. **Multiple options** (2-3 resolution approaches)
2. **Pros and cons** of each option
3. **Implementation effort** (time, cost, complexity)
4. **Trade-offs** (what's gained/lost)
5. **Recommended approach** with rationale

**Example:**

```
Conflict: CONF-001
- REQ-001: "System must work offline"
- REQ-005: "System requires continuous internet connection"

Resolution Options:

Option A: Prioritization - Choose Offline
- Strategy: Prioritize offline capability, remove continuous connection requirement
- Pros: Better mobile UX, works in low connectivity
- Cons: Some features limited offline, sync complexity
- Effort: Medium (implement local storage + sync)
- Recommendation: ✓ RECOMMENDED

Option B: Conditional Logic - Support Both Modes
- Strat
abstract-domain-explorerSkill

Applies abstract interpretation using different abstract domains (intervals, octagons, polyhedra, sign, congruence) to statically analyze program variables and infer invariants, value ranges, and relationships. Use when analyzing program properties, inferring loop invariants, detecting potential errors, or understanding variable relationships through static analysis.

abstract-invariant-generatorSkill

Uses abstract interpretation to automatically infer loop invariants, function preconditions, and postconditions for formal verification. Generates invariants that capture program behavior and support correctness proofs in Dafny, Isabelle, Coq, and other verification systems. Use when adding formal specifications to code, generating verification conditions, inferring contracts for functions, or discovering loop invariants for proofs.

abstract-state-analyzerSkill

Performs abstract interpretation over source code to infer possible program states, variable ranges, and data properties without executing the program. Reports potential runtime errors including out-of-bounds accesses, null dereferences, type inconsistencies, division by zero, and integer overflows. Use when analyzing code for potential runtime errors, performing static analysis, checking safety properties, or verifying program behavior without execution.

abstract-trace-summarizerSkill

Performs abstract interpretation to produce summarized execution traces and high-level program behavior representations. Highlights key control flow paths, variable relationships, loop invariants, function summaries, and potential runtime states using abstract domains (intervals, signs, nullness, etc.). Use when analyzing program behavior, understanding execution paths, computing loop invariants, tracking variable ranges, detecting potential runtime errors, or generating program summaries without concrete execution.

acsl-annotation-assistantSkill

Create ACSL (ANSI/ISO C Specification Language) formal annotations for C/C++ programs. Use this skill when working with formal verification, adding function contracts (requires/ensures), loop invariants, assertions, memory safety annotations, or any ACSL specifications. Supports Frama-C verification and generates comprehensive formal specifications for C/C++ code.

agent-browserSkill

CLI-based browser automation with persistent page state using ref-based element interaction. Use when users ask to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

ambiguity-detectorSkill

Detects and analyzes ambiguous language in software requirements and user stories. Use when reviewing requirements documents, user stories, specifications, or any software requirement text to identify vague quantifiers, unclear scope, undefined terms, missing edge cases, subjective language, and incomplete specifications. Provides detailed analysis with clarifying questions and suggested improvements.

api-design-assistantSkill

Design and review APIs with suggestions for endpoints, parameters, return types, and best practices. Use when designing new APIs from requirements, reviewing existing API designs, generating API documentation, or getting implementation guidance. Supports REST APIs with focus on endpoint structure, request/response schemas, authentication, pagination, filtering, versioning, and OpenAPI specifications. Triggers when users ask to design, review, document, or improve APIs.