Communitygithub.com

시스템 설계 다이어그램

요구사항이나 코드로부터 UML, ERD, DFD, C4, BPMN, 워크플로우 등 시스템 분석 및 소프트웨어 아키텍처 다이어그램을 생성, 개선 또는 검토합니다. 다이어그램 선택, 표기법 검사, 다이어그램 간 일관성 확인 및 편집 가능한 Draw.io 산출물을 지원합니다.

시스템 설계 다이어그램란 무엇인가요?

이 스킬은 사용자의 질문에 답하는 데 필요한 최소한의 뷰 집합을 생성합니다. UML, ERD, DFD, C4, BPMN 등 다양한 다이어그램 표기법을 지원하며, 특히 편집 가능한 `.drawio` 형식을 선호합니다. 요구사항이나 코드를 입력받아 적절한 다이어그램 유형을 선택하고, 표기법 규칙을 준수하며, 다이어그램 간 일관성을 유지하도록 설계되었습니다. 워크플로우는 청중과 시스템 경계를 설정하는 것부터 시작하여, 의미론적 인벤토리 구축, 도면 절차 적용, Draw.io 파일 생성 및 검증까지 단계별로 진행됩니다. 특히 검증 스크립트를 포함하여 구조적 오류를 자동으로 확인하고, UML이나 DFD와 같은 표기법의 정확성은 별도의 체크리스트로 보완합니다. 최종 산출물은 소스 파일, 미리보기 이미지, 그리고 가정 사항과 검증 결과를 포함한 노트로 구성됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ChaoChuan05/Agent-Skills/tree/HEAD/skill/system-design

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

시스템 설계

사용자의 질문에 답하는 가장 작은 뷰 집합을 생성하세요. 공식 다이어그램에는 편집 가능한 .drawio를 선호하며, 요청된 표기법, 형식, 강의 루브릭 및 기존 파일을 존중하세요. 유효한 XML 파일이 올바른 모델을 증명하지는 않습니다.

워크플로우

  1. 청중, 시스템 경계, 질문, 시나리오 및 추상화 수준을 설정하세요. 제공된 요구사항/스키마/코드와 루브릭을 읽으세요. 불확실한 카디널리티, 권한, 수명 주기 규칙 및 외부 인터페이스를 가정으로 기록하고, 답변을 실질적으로 변경할 때만 질문하세요. 인프라나 필수 관계를 임의로 만들지 마세요.
  2. 아래 라우팅 테이블을 사용하여 뷰를 선택하세요. 관련 참조 자료와 diagram-validation.md만 읽으세요. 현재 상태 증거와 제안된 설계를 구분하세요. 여러 다이어그램이 개념을 공유하는 경우 안정적인 개념 ID와 함께 작은 용어집을 유지하세요.
  3. 도형을 배치하기 전에 의미론적 인벤토리를 구축하세요: 참여자/요소, 방향과 끝점 의미가 있는 관계, 제약 조건, 요구사항 ID. DFD의 경우 흐름 사전과 분해 경계 시그니처를 추가하고, 데이터 모델의 경우 키와 종속성을 식별하세요.
  4. 다이어그램별 도면 절차를 따르세요. 표기법을 명시적으로 설정하세요(예: UML 2, Crow's Foot, Gane–Sarson; 컨텍스트 다음 수준-0). 의미론적 규칙을 권장 레이아웃 선택과 분리하세요. sources.md에 설명된 대로 충돌하는 출처를 해결하세요.
  5. Draw.io의 경우 drawio-rendering.md와 layout.md를 읽으세요. XML 직렬화기를 사용하여 안정적인 ID를 가진 기본 도형과 연결선을 만드세요. 도메인 사실을 교체한 후에만 관련 예제를 복사하세요. 다른 형식의 경우 fallbacks.md를 읽으세요.
  6. python3 <skill-dir>/scripts/validate_drawio.py <file-or-directory>를 실행하세요. 보고된 구조적 오류를 수정하세요. 의미론적 및 다이어그램 간 체크리스트를 사용하세요: 이 스크립트는 UML, DFD, ERD 또는 BPMN의 정확성을 증명할 수 없습니다.
  7. diagrams.net에서 열거나 가져오거나 사용 가능한 Draw.io 렌더러를 사용하여 내보내세요. 모든 페이지의 레이블, 화살표 끝, 클리핑, 포함 관계 및 교차를 검사하고 조정한 후 다시 검사하세요. 렌더러가 작동하지 않으면 편집 가능한 소스를 제공하고 렌더링이 확인되지 않았음을 명시적으로 보고하세요. XML 구문 분석을 개방성 테스트라고 부르지 마세요.
  8. 소스 파일, 유용한 미리보기, 간단한 검증/가정 노트를 제공하세요. 어떤 검사가 실행되었는지 정확히 명시하세요. 편집 시 기존 수동 레이아웃과 관련 없는 페이지를 보존하고, 오래된 미리보기를 새로고침하세요.

참조 라우팅

사용자 질문읽을 자료
UML 선택 / 표기법 기준uml.md
행위자와 사용자 목표use-case.md
도메인 또는 소프트웨어 구조class-diagram.md
협력자 간의 하나의 시나리오sequence-diagram.md
워크플로우, 분기, 동시성activity-diagram.md
한 엔터티의 이벤트 기반 수명 주기state-machine.md
인스턴스, 링크, 모듈, 런타임 배치structural-views.md
통신, 타이밍, 상호작용 개요advanced-interactions.md
엔터티, 관계, 관계형 스키마erd.md, normalization.md
데이터 이동 및 분해dfd.md, context-diagram.md
아키텍처 수준c4-model.md
비즈니스 협업/프로세스bpmn.md
간단한 절차 또는 책임 전달flowchart-swimlane.md
출력 생성 / 다듬기drawio-rendering.md, layout.md, fallbacks.md
검토 / 다중 뷰 일관성diagram-validation.md
출처 증명 / 판 / 제한 사항sources.md

출력 규칙

사용자 경로를 존중하세요. 그렇지 않으면 docs/diagrams/<system>-<view>.drawio를 사용하고, 가능한 경우 일치하는 .svg 또는 .png 미리보기를 포함하세요. 중요하지 않은 가정 사항은 <system>-assumptions.md에, 다중 뷰 감사는 <system>-validation.md에 기록하세요. 최종 산출물 외부에 임시 내보내기를 보관하세요. 독립적으로 유지 관리되는 뷰는 별도의 파일을, 조정된 집합에는 명명된 페이지를 사용하세요. 요청된 공식 표기법을 일반 순서도로 조용히 대체하지 마세요.

절대적 검사 사항

  • 모델 사실은 증거 또는 레이블이 지정된 가정에서 비롯되어야 합니다.
  • 끝점 의미를 확인하세요. 잘못된 방향의 화살표는 구문적으로 유효할 수 있습니다.
  • DFD 화살표는 데이터를 전달하고, UML/BPMN 제어 흐름은 실행 의미를 전달합니다.
  • 외래 키나 모호한 "has-a" 구문에서 수명 주기 소유권을 추론하지 마세요.
  • 관련 공유 개념을 검토하세요. 다른 범위의 뷰 간에 동일한 내용을 요구하지 마세요.
  • 그림을 편집 가능하게 유지하세요. .drawio 파일에 포함된 이미지는 기본 다이어그램이 아닙니다.

예제와 실행 가능한 검사는 examples/ 및 scripts/에 있습니다. 패키지별 테스트 증거는 TEST-REPORT.md에 있습니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ChaoChuan05/Agent-Skills

Diagnose bugs and failures through reproduction, connected-flow evidence, and root-cause testing; recommend or apply the smallest authorized fix. Also handles explicit behavior-preserving refactoring and structural repair. Use for broken behavior, unexplained errors, or requested refactors; broad quality review and release verification belong to qa-tester.

ChaoChuan05/Agent-Skills

Turn a requested feature, change, or established fix into a repository-grounded implementation plan before coding. Use for implementation sequencing, affected-file and contract analysis, migration risks, and test acceptance planning. Planning does not authorize implementation; unexplained failures belong to debug-and-refactor and architectural modeling to system-design when needed.

ChaoChuan05/Agent-Skills

Test whether software satisfies its requirements. Use for QA reviews, acceptance testing, requirements traceability, test plans, exploratory testing, API/database/UI checks, defect reproduction, regression, fix verification and release readiness. Compare expected and actual behavior with evidence; existing passing tests alone are insufficient. Apply implementation fixes only when the user's task authorizes them.

ChaoChuan05/Agent-Skills

Create, audit, or maintain implementation-grounded developer documentation for software repositories. Use for README, onboarding, setup, configuration, architecture, API reference, deployment runbooks, troubleshooting, undocumented environment variables, and stale documentation. Inspect code and verify procedures; do not use for marketing copy or implementation changes alone.

관련 스킬