🎯

design-synthesizer

🎯Skill

from matteocervelli/llms

VibeIndex|
What it does

design-synthesizer skill from matteocervelli/llms

design-synthesizer

Installation

Install skill:
npx skills add https://github.com/matteocervelli/llms --skill design-synthesizer
6
Last UpdatedNov 17, 2025

Skill Details

SKILL.md

Auto-activates when synthesizing outputs from multiple parallel sub-agents

Purpose

The design-synthesizer skill provides structured methods for integrating outputs from multiple parallel sub-agents into a cohesive design. It ensures consistency across architecture, library documentation, and dependencies while identifying and resolving conflicts or gaps.

When to Use

This skill auto-activates when you:

  • Integrate outputs from multiple parallel sub-agents
  • Synthesize architecture design with library documentation
  • Align dependencies with architectural requirements
  • Check consistency across design documents
  • Resolve conflicts between sub-agent outputs
  • Identify gaps or missing information in design
  • Prepare integrated design for PRP generation

Provided Capabilities

1. Output Integration

  • Load Multiple Documents: Read and parse outputs from all sub-agents
  • Extract Key Information: Identify critical design elements from each output
  • Cross-Reference: Link related elements across different outputs
  • Merge Content: Combine information into unified design

2. Consistency Checking

  • Architecture-Library Alignment: Verify architecture uses documented library features
  • Data Model Validation: Ensure data models match library APIs
  • API Contract Verification: Check API designs align with library patterns
  • Version Compatibility: Validate library versions match dependency analysis
  • Naming Consistency: Ensure consistent terminology across outputs

3. Conflict Resolution

  • Identify Mismatches: Find inconsistencies between sub-agent outputs
  • Version Conflicts: Resolve dependency version incompatibilities
  • Architecture Adjustments: Modify architecture to meet library constraints
  • Trade-off Analysis: Document compromises and decisions
  • Priority Resolution: Apply priority rules for conflicting requirements

4. Gap Identification

  • Missing Documentation: Flag undocumented library features
  • Incomplete Dependencies: Identify missing or unresolved dependencies
  • Architecture Gaps: Find components without implementation paths
  • Unresolved Issues: List conflicts or ambiguities requiring attention

5. Coherent Design Narrative

  • Unified Story: Create cohesive narrative across design elements
  • Traceability: Link design decisions to requirements
  • Rationale Documentation: Explain why specific approaches were chosen
  • Implementation Path: Define clear path from design to code

Usage Guide

Step 1: Load Sub-Agent Outputs

Read outputs from all 3 parallel sub-agents:

```bash

# Architecture Designer output

/docs/implementation/design/architecture-{issue-number}.md

# Documentation Researcher output

/docs/implementation/design/libraries-{issue-number}.md

# Dependency Manager output

/docs/implementation/design/dependencies-{issue-number}.md

```

Parse Each Output:

  • Architecture: Components, data models, API contracts, data flow, error handling
  • Libraries: Library versions, API references, code examples, integration patterns
  • Dependencies: Dependency tree, versions, compatibility, installation order

Step 2: Extract Key Information

Create structured summary of each output:

From Architecture Designer:

```markdown

Architecture Summary

Components:

  • Component A: [Purpose and responsibilities]
  • Component B: [Purpose and responsibilities]

Data Models:

  • Model X: [Fields, validations, relationships]
  • Model Y: [Fields, validations, relationships]

API Contracts:

  • Endpoint 1: [Method, path, request/response]
  • Endpoint 2: [Method, path, request/response]

Data Flow:

  • Flow 1: [Source β†’ Transform β†’ Destination]

Error Handling:

  • Strategy: [Approach and patterns]

```

From Documentation Researcher:

```markdown

Library Documentation Summary

Library A (v1.2.3):

  • Purpose: [What it does]
  • Key APIs: [Main functions/classes]
  • Code Example: [Integration pattern]
  • Best Practices: [Recommended usage]

Library B (v2.0.0):

  • Purpose: [What it does]
  • Key APIs: [Main functions/classes]
  • Code Example: [Integration pattern]
  • Known Issues: [Caveats and workarounds]

```

From Dependency Manager:

```markdown

Dependency Summary

Dependency Tree:

β”œβ”€β”€ library-a==1.2.3

β”‚ β”œβ”€β”€ dep-x>=2.0

β”‚ └── dep-y<3.0

└── library-b==2.0.0

└── dep-z~=1.5

Conflicts: [List of version conflicts]

Resolution: [How conflicts were resolved]

Installation Order: [Sequence of installation]

```

Step 3: Cross-Reference Design Elements

Map architecture components to libraries and dependencies:

Use synthesis-guide.md for detailed cross-referencing methodology.

Architecture β†’ Libraries Mapping:

```markdown

Component A

  • Uses: Library A (v1.2.3)
  • APIs: Library A's ClassX and FunctionY
  • Pattern: Documented in libraries-{issue-number}.md, section 2.3
  • Code Example: [Link to example in library docs]

Data Model X

  • Validation: Uses Library A's ValidationMixin
  • Serialization: Uses Library B's Serializer
  • Storage: Requires dependency: database-driver>=3.0

```

Libraries β†’ Dependencies Mapping:

```markdown

Library A (v1.2.3)

  • Required Dependencies: dep-x>=2.0, dep-y<3.0
  • Optional Dependencies: dep-optional (for feature Z)
  • Compatibility: Python 3.9+
  • Conflicts: None identified

```

Cross-Reference Matrix:

| Component | Library | Version | Dependencies | Documented |

|-----------|---------|---------|--------------|------------|

| Component A | Library A | 1.2.3 | dep-x, dep-y | βœ… |

| Component B | Library B | 2.0.0 | dep-z | βœ… |

| Data Model X | Library A | 1.2.3 | dep-x | βœ… |

Step 4: Check Consistency

Validate alignment across all outputs:

Architecture-Library Consistency:

  • βœ… All architecture components reference documented libraries
  • βœ… All library APIs used in architecture are documented
  • βœ… All data models align with library expectations
  • βœ… All API contracts follow library patterns
  • ⚠️ Warning: Component C uses undocumented Library API (flag for review)

Library-Dependency Consistency:

  • βœ… All libraries have resolved dependencies
  • βœ… All dependency versions are compatible
  • βœ… No circular dependencies detected
  • ⚠️ Conflict: Library A requires dep-x>=2.0, but Library B requires dep-x<2.5 (resolved to 2.4.0)

Naming and Terminology Consistency:

  • βœ… Component names consistent across documents
  • βœ… Data model names match architecture diagrams
  • ⚠️ Inconsistency: Architecture calls it "UserProfile", libraries call it "Profile" (standardize to "UserProfile")

Version Consistency:

  • βœ… Library versions match dependency analysis
  • βœ… All version constraints satisfied
  • ⚠️ Note: Library C has newer version (3.0.0) available, but using 2.8.5 for stability

Step 5: Resolve Conflicts

Use synthesis-guide.md conflict resolution strategies:

Conflict Type 1: Version Incompatibility

```markdown

Conflict: Library A requires dep-x>=2.0, Library B requires dep-x<2.5

Analysis: Both constraints can be satisfied with dep-x==2.4.0

Resolution: Pin dep-x to 2.4.0 in requirements

Trade-off: Cannot use dep-x 2.5+ features until Library B updates

Risk: Low - 2.4.0 is stable and well-tested

```

Conflict Type 2: Architecture-Library Mismatch

```markdown

Conflict: Architecture designs async API, but Library C only supports sync

Analysis: Need to wrap Library C with async adapter or redesign

Options:

1. Use asyncio.to_thread() to wrap Library C (simpler, slight overhead)

2. Replace Library C with async alternative (more work, better performance)

Resolution: Use asyncio.to_thread() wrapper (priority: speed of implementation)

Trade-off: 5-10% performance overhead vs. 2-3 days rewrite

Mitigation: Profile performance, optimize if needed

```

Conflict Type 3: Missing Documentation

```markdown

Conflict: Architecture uses Library D feature, but no documentation found

Analysis: Feature exists in Library D source code but undocumented

Resolution:

1. Add note in PRP about undocumented feature

2. Include code example from Library D source

3. Flag for testing during implementation

Risk: Medium - undocumented features may change without notice

Mitigation: Pin Library D version, add comprehensive tests

```

Step 6: Identify Gaps

Document missing information or unresolved issues:

Gap Analysis:

```markdown

Missing Documentation

  • Library E's advanced_feature() used in architecture but not documented
  • Library F's error handling patterns unclear from documentation

Incomplete Dependencies

  • Component G requires database driver, but version not specified
  • Testing framework not included in dependency analysis

Architecture Gaps

  • Component H has no implementation path (needs design detail)
  • Error handling for API endpoint 3 not specified

Unresolved Ambiguities

  • Data Model Z validation rules conflict with Library requirements
  • Performance target not specified for async operations

```

Step 7: Create Cohesive Design Narrative

Synthesize all information into unified design:

Use design-patterns.md for common patterns and structures.

Synthesized Design Structure:

```markdown

Synthesized Design

Overview

[High-level description of integrated design]

Component Architecture

[Unified component diagram with library annotations]

Component A (uses Library A v1.2.3)

  • Responsibilities: [What it does]
  • Implementation: Uses Library A.ClassX for [purpose]
  • Dependencies: dep-x>=2.0, dep-y<3.0
  • Integration: [How it connects to other components]

Component B (uses Library B v2.0.0)

  • Responsibilities: [What it does]
  • Implementation: Uses Library B.ServiceY for [purpose]
  • Dependencies: dep-z~=1.5
  • Integration: [How it connects to other components]

Data Models (Pydantic Schemas)

UserProfile Model

```python

from library_a import ValidationMixin

from pydantic import BaseModel

class UserProfile(BaseModel, ValidationMixin):

id: int

name: str

email: EmailStr # From library_a

# ... fields with library-specific validations

```

API Contracts

Endpoint 1: POST /api/users

  • Implementation: Uses Library A's create_user() method
  • Request: UserProfile schema
  • Response: UserProfile with generated ID
  • Error Handling: Library A's exceptions mapped to HTTP status codes

Library Integration Strategy

Library A (v1.2.3): User management and validation

  • Integration Point: Component A, Data Model UserProfile
  • Code Pattern: [Example from documentation]
  • Error Handling: Catch LibraryAException, return 400/500

Library B (v2.0.0): Background task processing

  • Integration Point: Component B
  • Code Pattern: [Example from documentation]
  • Configuration: [Settings required]

Dependency Resolution

Final Dependency Tree:

```

library-a==1.2.3

β”œβ”€β”€ dep-x==2.4.0 # Pinned to resolve conflict

β”œβ”€β”€ dep-y==2.8.0

library-b==2.0.0

β”œβ”€β”€ dep-z==1.5.3

└── dep-x==2.4.0 # Shared with library-a

```

Installation Commands:

```bash

pip install library-a==1.2.3

pip install library-b==2.0.0

pip install -r requirements.txt

```

Implementation Path

Phase 1: Foundation

  1. Install dependencies (in order above)
  2. Create data models with Library A validations
  3. Set up Library B configuration

Phase 2: Core Components

  1. Implement Component A using Library A patterns
  2. Implement Component B using Library B patterns
  3. Test components independently

Phase 3: Integration

  1. Connect Component A β†’ Component B
  2. Implement error handling across components
  3. Integration testing

Phase 4: Validation

  1. Unit tests for each component
  2. Integration tests for component interactions
  3. Performance testing

Design Decisions

Decision 1: Async Wrapper for Library C

  • Rationale: Library C only supports sync, but architecture requires async
  • Approach: Use asyncio.to_thread() wrapper
  • Trade-off: 5-10% performance overhead vs. 2-3 days to rewrite with async library
  • Risk: Low - overhead is acceptable for current scale

Decision 2: Pin dep-x to 2.4.0

  • Rationale: Resolve version conflict between Library A and Library B
  • Approach: Pin to highest compatible version (2.4.0)
  • Trade-off: Cannot use dep-x 2.5+ features until Library B updates
  • Risk: Low - 2.4.0 is stable

Identified Issues

Issue 1: Undocumented Library D Feature

  • Description: Architecture uses Library D's advanced_feature(), but not in docs
  • Impact: Medium - feature may change without notice
  • Mitigation: Pin Library D version, add comprehensive tests, monitor for updates

Issue 2: Component H Implementation Gap

  • Description: Component H responsibilities defined, but implementation approach unclear
  • Impact: High - blocks implementation
  • Action Required: Architecture Designer needs to provide implementation details

Gaps Requiring Attention

  • [ ] Resolve Component H implementation approach
  • [ ] Verify Library D's advanced_feature() API stability
  • [ ] Specify database driver version for Component G
  • [ ] Clarify performance targets for async operations
  • [ ] Add testing framework to dependency analysis

```

Step 8: Validate Synthesis Quality

Quality checklist:

Completeness:

  • βœ… All architecture components mapped to libraries
  • βœ… All libraries mapped to dependencies
  • βœ… All data models have implementation details
  • βœ… All API contracts have library integration notes
  • ⚠️ Component H needs more detail

Consistency:

  • βœ… Terminology consistent across documents
  • βœ… Version numbers match everywhere
  • βœ… Component names standardized
  • βœ… Dependencies resolved without conflicts

Actionability:

  • βœ… Implementation path is clear and specific
  • βœ… Installation commands provided
  • βœ… Code patterns documented
  • ⚠️ Some gaps flagged for resolution

Traceability:

  • βœ… Design elements link to requirements
  • βœ… Library choices justified
  • βœ… Design decisions documented with rationale

Best Practices

1. Start with Overview

  • Read all outputs completely before synthesis
  • Create summary of each output
  • Identify major themes and patterns

2. Map Systematically

  • Use structured templates for mapping
  • Create traceability matrices
  • Document every cross-reference

3. Validate Early

  • Check consistency as you integrate
  • Flag issues immediately
  • Don't ignore small discrepancies

4. Resolve Conflicts Transparently

  • Document all conflicts found
  • Explain resolution reasoning
  • Note trade-offs and risks

5. Identify All Gaps

  • Missing documentation
  • Incomplete specifications
  • Unresolved ambiguities
  • Assumptions that need validation

6. Create Unified Narrative

  • Tell coherent story from architecture β†’ libraries β†’ dependencies β†’ implementation
  • Link every design element to requirements
  • Provide clear implementation path

Resources

synthesis-guide.md

Comprehensive guide for synthesizing sub-agent outputs including:

  • Cross-referencing methodology
  • Consistency checking procedures
  • Conflict resolution strategies
  • Gap identification techniques
  • Quality validation criteria

design-patterns.md

Common design patterns and structures including:

  • Component integration patterns
  • Library usage patterns
  • Dependency management patterns
  • Error handling patterns
  • Testing patterns

Example Usage

Input (Sub-Agent Outputs)

Architecture Designer Output:

```markdown

Components

  • UserService: Handles user CRUD operations
  • TaskQueue: Manages background tasks

Data Models

  • User: id, name, email, created_at
  • Task: id, task_type, status, payload

APIs

  • POST /api/users: Create user
  • POST /api/tasks: Queue background task

```

Documentation Researcher Output:

```markdown

Libraries

SQLAlchemy (v2.0.0): ORM for database

  • User model: Use declarative_base() pattern
  • Example: [Code snippet]

Celery (v5.3.0): Background task queue

  • Task definition: Use @app.task decorator
  • Example: [Code snippet]

```

Dependency Manager Output:

```markdown

Dependencies

sqlalchemy==2.0.0

β”œβ”€β”€ greenlet>=2.0

celery==5.3.0

β”œβ”€β”€ kombu>=5.3

└── billiard>=4.0

Conflict: greenlet version (resolved to 2.0.2)

```

Output (Synthesized Design)

```markdown

Synthesized Design

Component Architecture

UserService (uses SQLAlchemy v2.0.0)

  • Implementation: SQLAlchemy declarative_base() pattern
  • Dependencies: sqlalchemy==2.0.0, greenlet==2.0.2
  • Data Model: User class inherits from SQLAlchemy Base

TaskQueue (uses Celery v5.3.0)

  • Implementation: Celery @app.task decorator
  • Dependencies: celery==5.3.0, kombu>=5.3, billiard>=4.0
  • Integration: Tasks defined in tasks.py, queued via TaskQueue service

Data Models (SQLAlchemy + Pydantic)

```python

from sqlalchemy import declarative_base

from pydantic import BaseModel

Base = declarative_base()

class User(Base):

__tablename__ = 'users'

id: int

name: str

email: str # With SQLAlchemy validation

created_at: datetime

```

Library Integration

SQLAlchemy: Use declarative_base() for User model (documented pattern)

Celery: Define tasks with @app.task, configure broker in settings

Dependencies (Resolved)

```

sqlalchemy==2.0.0

β”œβ”€β”€ greenlet==2.0.2 # Pinned to resolve conflict

celery==5.3.0

β”œβ”€β”€ kombu>=5.3

└── billiard>=4.0

```

Installation:

```bash

pip install sqlalchemy==2.0.0 celery==5.3.0

```

Design Decisions

Decision: Pin greenlet to 2.0.2

  • Rationale: Resolve version conflict between SQLAlchemy and system
  • Risk: Low

```

Integration

This skill is used by:

  • design-orchestrator agent during Phase 2: Design & Planning
  • Activates automatically when orchestrator synthesizes sub-agent outputs
  • Provides unified design for PRP generation (prp-generator skill)

---

Version: 2.0.0

Auto-Activation: Yes (when synthesizing sub-agent outputs)

Phase: 2 (Design & Planning)

Created: 2025-10-29

More from this repository10

🎯
e2e-test-writer🎯Skill

Generates comprehensive end-to-end browser tests using Playwright, implementing page object model and best practices for user workflow validation.

🎯
dependency-analyzer🎯Skill

Analyzes project dependencies, builds dependency trees, detects conflicts, and checks compatibility across Python projects.

🎯
implementation🎯Skill

Systematically implements software features by writing tests first, creating clean code, and documenting according to project standards.

🎯
api-test-generator🎯Skill

Generates comprehensive API endpoint tests for REST and GraphQL APIs, covering HTTP methods, authentication, validation, and error scenarios.

🎯
doc-analyzer🎯Skill

doc-analyzer skill from matteocervelli/llms

🎯
architecture-planner🎯Skill

Designs clean, modular software architectures using established patterns like Layered and Hexagonal Architecture to create maintainable and scalable system structures.

🎯
data-modeler🎯Skill

Designs comprehensive Pydantic data models with robust type annotations, validation rules, and relationship mappings for Python applications.

🎯
documentation-updater🎯Skill

Systematically updates project documentation across implementation docs, user guides, API docs, and architecture diagrams after feature completion.

🎯
doc-fetcher🎯Skill

Fetches comprehensive, version-specific library and framework documentation using MCP integrations for accurate implementation guidance.

🎯
unit-test-writer🎯Skill

Automatically generates comprehensive unit tests for functions and methods, covering edge cases and improving code reliability with minimal manual effort