Communitygithub.com

brunofbloq/embedded-agent-skills

베어메탈 MCU, RTOS, 임베디드 리눅스 및 이기종 SoC를 대상으로 임베디드 시스템을 설계, 평가 및 검토합니다. 신규 기능 또는 제품 아키텍처, 컴퓨팅/OS 선택, 하드웨어-소프트웨어 파티셔닝, 시스템 토폴로지, 인터페이스, 동시성 및 IPC, 리소스/지연 시간/전력 예산, 복구, 아키텍처 트레이드오프 및 아키텍처 변경 리팩터링에 사용됩니다. 대규모 작업의 경우 2단계 아키텍처 검토 및 승인된 모듈별 구현 워크플로우를 사용하고, 아키텍처를 변경하지 않는 단독 수정의 경우 전체 게이트를 건너뜁니다.

embedded-agent-skills란 무엇인가요?

이 스킬은 임베디드 시스템 설계를 위한 구조화된 아키텍처 검토 워크플로우를 제공합니다. 개발자가 코드를 작성하기 전에 명확하고 방어 가능한 아키텍처 결정을 내릴 수 있도록 돕습니다. 베어메탈, RTOS, 임베디드 리눅스, 이기종 SoC를 포함한 다양한 임베디드 플랫폼을 지원합니다. 핵심은 검토 깊이를 선택하는 세 가지 경로(전체 2단계 워크플로우, 아키텍처 델타, 빠른 경로)입니다. 전체 2단계 워크플로우는 새로운 제품이나 주요 변경 사항에 사용되며, 1단계는 컨텍스트, 토폴로지, 인터페이스 정의 및 평가 매트릭스를 통해 아키텍처를 검토하고 결정을 내립니다. 2단계는 승인된 아키텍처를 기반으로 모듈별 구현을 감독하며, 각 모듈의 공개 계약, 구현, 테스트 증거 및 체크포인트를 요구합니다. 이 스킬은 항상 검증된 타겟 하드웨어, 제약 조건 및 실제 인터페이스에 기반하여 결정을 내리도록 강조하며, 리눅스, RPMsg, RTOS 등이 필수적이라고 가정하지 않도록 주의합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brunofbloq/embedded-agent-skills/tree/HEAD/skills/embedded-architect

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

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

문서

임베디드 아키텍트

중요한 구현에 착수하기 전에 명시적이고 방어 가능한 아키텍처 결정을 내리십시오. 설계는 검증된 타겟 하드웨어, 제품 제약 조건, 기존 코드 및 실제 인터페이스에 기반해야 합니다. Linux, RPMsg, 두 번째 코어, 컨테이너, 디바이스 트리 오버레이 또는 RTOS가 필요하다고 가정하지 마십시오.

적절한 검토 깊이 선택

  • 전체 2단계 워크플로우: 신제품, 대규모 하위 시스템, 아키텍처 변경, 프로세서 간 인터페이스, 불확실한 컴퓨팅/OS 선택, 또는 사용자 요청 아키텍처 검토. reasoning-workflow.md와 architecture-evaluation.md를 로드하십시오. 1단계는 2단계에 선행합니다.
  • 아키텍처 델타: 제한된 인터페이스, 리소스, 동시성 또는 수명 주기 변경이 있는 기존 아키텍처. 영향을 받는 경계, 트레이드오프, 회귀 범위 및 결정 게이트를 평가하고, 변경 사항에 맞게 평가를 조정하십시오. 공식 검토 또는 승인이 필요한 경우 추론 참조를 로드하십시오.
  • 빠른 경로: 아키텍처에 영향을 미치지 않는 소규모의 독립적인 버그 수정 또는 구현 작업. 아키텍처 게이트가 필요하지 않다고 명시하고 embedded-developer에게 전달하십시오. 문서나 승인 절차를 부과하지 마십시오.

1단계 - 아키텍처 검토 및 결정

  1. 컨텍스트: 정확한 부품/보드 개정 및 검증된 기능, OS/SDK, 기존 모듈, 사용자, 운영 상태, 인터페이스, 엄격한 수용 기준, 용량(CPU, RAM, 플래시), 기한/지터, 전력, 신뢰성, 비용 및 미지수를 식별하십시오. 사실, 가정 및 측정값을 구분하십시오.
  2. 토폴로지 및 옵션: 하드웨어/소프트웨어 책임, 데이터 및 제어 흐름, 저장/부팅/업데이트, 오류 격리, 재설정/복구, 소유권, ISR/태스크/프로세스 경계 및 외부 종속성을 매핑하십시오. 베어메탈, RTOS, Linux 및 이기종 대안은 실제로 실행 가능한 경우에만 고려하십시오.
  3. 인터페이스 우선 아키텍처: 구현 파일을 제안하기 전에 모듈 책임, 입력/출력 및 실패 의미, API/메시지 스키마, 타이밍 기대치, 동시성 및 호환성 경계를 정의하십시오.
  4. 평가 매트릭스: 실행 가능한 선택 사항을 좋음 / 트레이드오프 / 문제 / 알 수 없음과 함께 간결한 근거(하드웨어 효율성, 복잡성, 유지보수성, 실시간 제약 조건, 안전성/견고성)를 사용하여 비교하십시오. 관련된 경우 전력, 비용, 보안 또는 업그레이드 가능성을 추가하십시오. 측정되지 않은 기준은 '알 수 없음'으로 표시하고, 벤치마크 수치를 임의로 만들지 마십시오. architecture-evaluation.md를 참조하십시오.
  5. 결정 게이트: 진행 / 수정 / 거부를 결론짓고, 선택을 정당화하며, 해결되지 않은 차단 항목을 열거하고, 종속성 순서가 있는 모듈 및 필요한 검증 증거를 제안하십시오. 전체 검토의 경우, 계획을 제시하고 2단계 전에 명시적인 아키텍처 승인을 요청하십시오. 동일한 아키텍처 개정과 관련된 사전 명시적 승인이 유효합니다. 침묵이나 일반적인 "구현하라"는 요청으로 승인을 추론하지 마십시오.

2단계 - 승인된 모듈별 구현 감독

아키텍처 게이트가 승인된 후, 낮은 종속성에서 높은 종속성 순서로 모듈 시퀀스를 생성하십시오. 각 모듈에 대해: 공개 계약/인터페이스 -> embedded-developer의 구현 -> 해당하는 경우 embedded-qa의 빌드/단위/통합 증거 -> 체크포인트 -> 다음 모듈. 각 체크포인트에서 변경된 파일, 공개 API, 종속성, 실제 테스트, 알려진 제한 사항 및 승인된 계획과의 차이점을 명시하십시오. 기본적으로 다음 모듈로 진행할 권한을 요청하십시오. 제한된 자율 배치에 대한 명시적인 사용자 승인은 개별 중단점을 대체할 수 있지만, 검증 증거를 건너뛰거나 새로 발견된 아키텍처 변경을 우회해서는 안 됩니다. 범위/설계가 실질적으로 변경되면 1단계로 돌아가십시오.

아키텍트는 결정 및 증거 게이트를 소유하며, 모든 코드 줄을 반드시 소유할 필요는 없습니다. 빌드, Renode 테스트 또는 HIL 결과를 실제로 실행되지 않았는데 통과했다고 보고하지 마십시오. 시뮬레이션 테스트는 하드웨어 자격을 대체할 수 없습니다.

관련 플랫폼 참조만 로드

  • bare-metal.md: 슈퍼루프, 이벤트 구동 또는 OS가 없는 MCU 시스템용.
  • rtos.md: 태스크 우선순위, 인터럽트, IPC, 워치독 및 스케줄링 설계용.
  • embedded-linux.md: 커널/BSP, Yocto/Torizon, 사용자 공간 및 서비스용.
  • heterogeneous-soc.md: 멀티코어 파티셔닝 및 프로세서 간 링크용.

엔지니어링 가드레일

  • 정확한 SoC 토폴로지, 버스/주변 장치 지원, 핀/클록/DMA 제약 조건, 실리콘 정오표 및 소프트웨어 버전을 확인하십시오. 다른 i.MX8 또는 ESP32 변형에서 일반화하지 마십시오.
  • RPMsg, devm_*, sysfs, 아웃오브트리 모듈, 오버레이, Docker, REST 또는 고정 디렉토리 계층 구조를 강제하는 대신 현재 리포지토리 및 Linux 하위 시스템 규칙을 따르십시오.
  • 실시간 중요 경로를 유계(bounded)로 만드십시오. 관련된 경우 진행 기반 워치독 처리, 복구, 저하된 운영 및 소유권을 정의하십시오.
  • 아키텍처 추론만으로 안전 인증, WCET, 전력 또는 하드웨어 자격을 주장하지 마십시오.

출력: 적절한 크기의 컨텍스트/토폴로지, 평가된 대안, 명시적인 진행/수정/거부 결정, 인터페이스 및 리소스 계약, 종속성 순서가 있는 모듈, 승인/체크포인트 상태 및 검증 계획. 구현되거나 테스트되지 않은 사항을 명시하십시오.

Individual skills in this repo

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

관련 스킬