Validate WCAG 2.1 Level AA compliance and accessibility best practices. Use when performing accessibility audits and WCAG certification.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Design system architecture, API contracts, and data flows. Use when translating analyzed requirements into technical design for feature implementation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
This skill provides systematic guidance for designing software architecture, API contracts, data models, and workflows based on analyzed requirements.
Choose Architectural Pattern:
Review architecture-patterns.md for appropriate patterns:
For This Project (Python):
src/tools/, src/core/, src/utils/Define Components:
Component Name: <name>
Responsibility: <what it does>
Dependencies: <what it needs>
Interfaces: <public API>
Deliverable: Component diagram with responsibilities
Define Entities:
For Python Projects:
from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
class EntityModel(BaseModel):
"""Entity description."""
id: Optional[int] = None
name: str = Field(..., min_length=1, max_length=255)
created_at: datetime = Field(default_factory=datetime.utcnow)
class Config:
"""Pydantic configuration."""
validate_assignment = True
Deliverable: Data models with Pydantic schemas
Design API Contracts:
Refer to api-design-guide.md for best practices
REST API Pattern:
Resource: /api/v1/resources
Methods:
GET /resources - List resources
GET /resources/{id} - Get single resource
POST /resources - Create resource
PUT /resources/{id} - Update resource (full)
PATCH /resources/{id} - Update resource (partial)
DELETE /resources/{id} - Delete resource
Request Body:
{
"field1": "value",
"field2": 123
}
Response Body:
{
"data": {...},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"version": "1.0"
}
}
Error Response:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Field validation failed",
"details": [...]
}
}
For Internal APIs (Python Functions/Methods):
def process_feature(
input_data: InputModel,
options: Optional[ProcessOptions] = None
) -> ProcessResult:
"""
Process feature with given input.
Args:
input_data: Input data model
options: Optional processing options
Returns:
ProcessResult with outcome
Raises:
ValidationError: If input is invalid
ProcessError: If processing fails
"""
pass
Deliverable: API specification with request/response formats
Map Data Flows:
Sequence Diagram Format:
User → API Endpoint → Validator → Business Logic → Repository → Database
↓ ↓ ↓
ValidationError BusinessError DatabaseError
↓ ↓ ↓
Error Handler → Error Response → User
Deliverable: Sequence diagrams for key workflows
Define Module Boundaries:
Python Module Structure:
src/tools/feature_name/
├── __init__.py # Public exports
├── models.py # Pydantic models
├── interfaces.py # Abstract interfaces
├── core.py # Core business logic
├── repository.py # Data access layer
├── validators.py # Input validation
├── utils.py # Helper functions
└── tests/
├── test_core.py
├── test_validators.py
└── fixtures.py
Dependency Injection Pattern:
class FeatureService:
"""Service with injected dependencies."""
def __init__(
self,
repository: FeatureRepository,
validator: FeatureValidator
):
self.repository = repository
self.validator = validator
Deliverable: Module dependency graph
Define Error Hierarchy:
class FeatureError(Exception):
"""Base exception for feature."""
pass
class ValidationError(FeatureError):
"""Input validation failed."""
pass
class ProcessingError(FeatureError):
"""Processing failed."""
pass
class NotFoundError(FeatureError):
"""Resource not found."""
pass
Error Handling Strategy:
Deliverable: Error handling specification
Externalize Configuration:
from pydantic_settings import BaseSettings
class FeatureConfig(BaseSettings):
"""Feature configuration from environment."""
api_key: str
timeout: int = 30
max_retries: int = 3
debug: bool = False
class Config:
env_prefix = "FEATURE_"
case_sensitive = False
Configuration Sources:
Deliverable: Configuration specification
Use the templates/architecture-doc.md template to generate:
# Architecture Design: [Feature Name]
## Overview
Brief description of the feature and design approach.
## Architecture Pattern
[Chosen pattern] with rationale.
## Component Design
### Component 1: [Name]
- **Responsibility**: [What it does]
- **Dependencies**: [What it needs]
- **Interface**: [Public API]
## Data Model
### Entity: [Name]
```python
class EntityModel(BaseModel):
field: str
[Sequence diagrams or descriptions]
src/tools/feature/
├── ...
[Exception hierarchy and strategy]
[Required configuration with defaults]
[From security-checklist.md in analysis phase]
[Any specific guidance for implementation]
## Best Practices
**Architecture:**
- Prefer composition over inheritance
- Design for testability (dependency injection)
- Keep modules loosely coupled
- Follow SOLID principles
- Keep files under 500 lines
**Data Models:**
- Use Pydantic for validation
- Type hint everything
- Provide sensible defaults
- Document field constraints
- Consider backward compatibility
**APIs:**
- RESTful for external APIs
- Clear function signatures for internal APIs
- Consistent naming conventions
- Version APIs from the start
- Document all parameters and return values
**Error Handling:**
- Create specific exception types
- Log errors with sufficient context
- Don't catch exceptions you can't handle
- Provide actionable error messages
- Consider retry strategies
## Supporting Resources
- **architecture-patterns.md**: Common architectural patterns
- **api-design-guide.md**: API design best practices
- **templates/architecture-doc.md**: Output template
## Example Usage
```bash
# 1. Review analysis report from previous phase
Read docs/implementation/feature-name-analysis.md
# 2. Choose architecture pattern
Review architecture-patterns.md
# 3. Design data models
Create models.py with Pydantic schemas
# 4. Design API contracts
Use api-design-guide.md for REST/function APIs
# 5. Design module structure
Follow project conventions (src/tools/...)
# 6. Generate architecture document
Use templates/architecture-doc.md template
# 7. Review and validate
Check design meets requirements from analysis phase
Input: Requirements analysis report Process: Systematic design using patterns and guidelines Output: Architecture document with specs Next Step: Implementation skill for coding
Before proceeding to implementation:
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Validate WCAG 2.1 Level AA compliance and accessibility best practices. Use when performing accessibility audits and WCAG certification.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Analyze feature requirements, dependencies, and security considerations. Use when starting feature implementation from GitHub issues to understand scope, technical feasibility, and risks.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Run SQL queries against psql, BigQuery, or MySQL from the terminal, including natural-language-to-SQL and schema exploration. Use when analyzing data, inspecting DB state, or debugging tables. Trigger on "query the database", "SQL", "show me data from", "explore table".
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Design REST APIs or function contracts with clear request/response specifications, error handling patterns, authentication strategies, and comprehensive documentation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Generate comprehensive API endpoint tests for REST and GraphQL APIs. Creates tests for all HTTP methods, status codes, authentication, and validation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Design component architecture and module structure using established architectural patterns for clean, maintainable, and scalable systems.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.