Claude Code Plugins

Community-maintained marketplace

Feedback

Yocto/Bitbake 기반 CCU2 임베디드 리눅스 개발 파이프라인. JIRA 연동, 레시피 작성, Docker 빌드, 이미지 검증 자동화. "yocto", "bitbake", "recipe", "임베디드" 키워드시 활성화

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name snt-ccu2-yocto
description Yocto/Bitbake 기반 CCU2 임베디드 리눅스 개발 파이프라인. JIRA 연동, 레시피 작성, Docker 빌드, 이미지 검증 자동화. "yocto", "bitbake", "recipe", "임베디드" 키워드시 활성화
version 1.0.0
author CCU2 Team
tags yocto, bitbake, embedded, linux, recipe, pipeline

SNT-CCU2-YOCTO Pipeline Agent

JIRA 티켓부터 이미지 빌드까지 CCU2 Yocto 개발 파이프라인을 자동화하는 스킬.

When to Use This Skill

이 스킬은 다음 요청에서 활성화됩니다:

  • Yocto 레시피 작성/수정 (*.bb, *.bbappend, *.bbclass)
  • 커널 설정 변경 (*.config, defconfig)
  • 임베디드 리눅스 이미지 빌드
  • JIRA 티켓 기반 Yocto 기능 구현
  • /snt-ccu2-yocto 명령어 호출

Project Detection

이 스킬은 다음 경로 패턴에서 자동 활성화:

  • *CCU_GEN2.0_SONATUS* - Yocto manifest 저장소
  • mobis/, lge/ 디렉토리 존재 시

Prerequisites

Environment Setup

  1. JIRA 인증: .env 파일에 API Token 설정

    JIRA_BASE_URL=https://sonatus.atlassian.net/
    JIRA_EMAIL=your.email@sonatus.com
    JIRA_API_TOKEN=your_api_token
    
  2. Docker 환경: run-dev-container.sh 실행 가능

  3. 빌드 초기화: init.py 완료 상태

Directory Structure

CCU_GEN2.0_SONATUS.manifest/
├── mobis/                    # MOBIS Tier-1
│   ├── layers/
│   │   └── meta-sonatus/    # Sonatus 레이어
│   ├── build.py             # 빌드 스크립트
│   └── deploy/              # 빌드 결과물
├── lge/                      # LGE Tier-1
├── info/
│   ├── repo_info.json       # 버전 정보
│   └── build_info.json      # 빌드 정보
├── init.py                   # 초기화 스크립트
└── run-dev-container.sh      # Docker 진입

Core Workflow

1. Understand User Intent

사용자 요청에서 다음 정보를 파악:

  • JIRA Ticket ID: CCU2-*, SEB-*, CRM-* 형식
  • 대상 Tier: MOBIS 또는 LGE
  • 변경 유형: 레시피, 커널 설정, 패치, 이미지
  • 빌드 범위: 특정 모듈 또는 전체 이미지

필요시 질문:

  • "어떤 Tier를 대상으로 할까요? (MOBIS/LGE)"
  • "어떤 레시피를 수정할까요?"
  • "전체 이미지 빌드가 필요할까요, 특정 모듈만 빌드할까요?"

2. Execute Appropriate Mode

Spec Mode (명세 모드)

요구사항을 구조화된 명세로 변환.

실행 단계:

  1. JIRA 티켓 또는 요구사항 분석
  2. 영향받는 레시피/레이어 식별
  3. 구조화된 명세 생성

출력 예시:

spec:
  name: "cgroupv2-support"
  tier: mobis
  recipe_changes:
    - layer: meta-sonatus
      recipe: linux-s32_5.10.bbappend
      action: modify
  kernel_configs:
    - file: cgroupv2.config
      options:
        - CONFIG_CGROUP_V2=y
  code_changes:
    - file: systemd_%.bbappend
      action: create

Reference: references/spec-workflow.md

Implement Mode (구현 모드)

명세에 따라 Yocto 파일 생성/수정.

실행 단계:

  1. 레시피 파일 생성/수정
  2. 커널 config fragment 작성
  3. bbappend 파일 작성
  4. 패치 파일 생성 (필요시)

Yocto 파일 패턴:

# bbappend 위치
meta-sonatus/recipes-*/*/
meta-sonatus/recipes-kernel/linux/

# Config fragment 위치
meta-sonatus/recipes-kernel/linux/files/
meta-sonatus/recipes-kernel/linux-ccu2/

Reference: references/implement-workflow.md

Build Mode (빌드 모드)

Docker 컨테이너에서 bitbake 빌드 실행.

Slash Command: /snt-ccu2-yocto:build

빌드 범위 결정:

  • MODULE: 특정 레시피만 빌드 (-m linux-s32)
  • FULL: 전체 이미지 빌드 (-ncpb)

실행 예시:

# Docker 컨테이너 진입
./run-dev-container.sh

# 컨테이너 내부에서
cd mobis/
./build.py -m linux-s32 -c cleansstate  # 클린
./build.py -ncpb -j 16 -p 16            # 전체 빌드

Reference: references/build-workflow.md

Test Mode (테스트 모드)

빌드 결과 검증.

테스트 단계:

  1. Stage 1: 빌드 검증 - 에러/경고 확인
  2. Stage 2: 이미지 검증 - 필수 패키지 포함 확인
  3. Stage 3: 정적 분석 - 레시피 문법 검사
  4. Stage 4: 타겟 테스트 - 실제 보드에서 실행 (optional)

Reference: references/test-workflow.md

Pipeline Mode (전체 파이프라인)

JIRA 티켓부터 테스트까지 전체 자동화.

JIRA → SPEC → IMPLEMENT → BUILD → TEST

Slash Command: /snt-ccu2-yocto:pipeline

3. Handle Errors Gracefully

bitbake 파싱 에러:

  • bbappend 문법 확인
  • FILESEXTRAPATHS 경로 확인
  • SRC_URI 체크섬 확인

빌드 실패:

  • 의존성 누락 확인
  • LICENSE 파일 확인
  • do_compile 로그 분석

이미지 실패:

  • ROOTFS 크기 확인
  • 패키지 충돌 확인

Reference: references/error-recovery.md

Tool Integration

JIRA API 사용

source <(grep -E '^JIRA_' .env | sed 's/^/export /')
curl -s -u "${JIRA_EMAIL}:${JIRA_API_TOKEN}" \
  "${JIRA_BASE_URL}/rest/api/3/issue/${TICKET_ID}"

build.py 사용

# 모듈 빌드
./build.py -m <recipe> [options]

# 전체 이미지 빌드
./build.py -ncpb -j 16 -p 16

# 클린 빌드
./build.py -m <recipe> -c cleansstate

주요 옵션:

  • -m, --module - 대상 레시피
  • -c, --clean - cleansstate 실행
  • -j, --jobs - 병렬 태스크 수
  • -p, --parallel - 병렬 레시피 수
  • -ncpb - 전체 이미지 빌드
  • --dry-run - 명령만 출력

Docker 컨테이너

# 컨테이너 진입
./run-dev-container.sh

# 컨테이너 내 명령 실행
./run-dev-container.sh -x "cd mobis && ./build.py -ncpb"

Communication Patterns

명세 생성 결과

## Spec Generated: cgroupv2-support

### Recipe Changes
| Layer | Recipe | Action |
|-------|--------|--------|
| meta-sonatus | linux-s32_5.10.bbappend | modify |
| meta-sonatus | systemd_%.bbappend | create |

### Kernel Configs
- cgroupv2.config: CONFIG_CGROUP_V2=y

### Implementation Ready
다음 명령으로 구현을 시작하세요:
/snt-ccu2-yocto:implement

빌드 진행 상황

## Build Progress

Tier: MOBIS
Scope: MODULE (linux-s32)

[1/3] ✅ cleansstate 완료
[2/3] 🔄 do_compile 진행 중...
[3/3] ⏳ do_deploy 대기

예상 완료: 45분

테스트 결과

## Test Results

Stage 1: ✅ Build Verification
  - Errors: 0
  - Warnings: 3 (non-critical)

Stage 2: ✅ Image Validation
  - Size: 512MB (limit: 1GB)
  - Required packages: All present

Stage 3: ✅ Static Analysis
  - Recipe syntax: OK
  - License compliance: OK

Overall: PASSED ✅

Success Criteria

태스크 완료 전 다음 확인:

  • ✅ Yocto 레시피 문법 검증
  • ✅ 빌드 에러 없이 완료
  • ✅ 이미지 크기 제한 이내
  • ✅ 필수 패키지 포함 확인
  • ✅ 테스트 통과 (또는 실패 문서화)

Important Constraints

What This Skill Can Do

  • Yocto 레시피/bbappend 작성
  • 커널 config fragment 생성
  • Docker 컨테이너에서 빌드 실행
  • 빌드 결과 분석 및 리포트
  • JIRA 티켓 연동

What This Skill Cannot Do

  • 프로덕션 이미지 직접 배포
  • 타겟 보드 플래싱 (수동 필요)
  • Yocto 메타 레이어 구조 변경
  • 빌드 시스템 자체 수정

Assumptions

  • Docker 환경 설정 완료
  • init.py 실행으로 저장소 동기화 완료
  • 빌드 호스트에 충분한 디스크 공간 (최소 100GB)
  • 네트워크 접근 가능 (패키지 다운로드)

Available Slash Commands

Command Description
/snt-ccu2-yocto:pipeline 전체 파이프라인 (JIRA→빌드→테스트)
/snt-ccu2-yocto:spec 명세 생성
/snt-ccu2-yocto:implement 레시피/설정 구현
/snt-ccu2-yocto:build Docker 빌드 실행
/snt-ccu2-yocto:test 테스트 파이프라인
/snt-ccu2-yocto:jira JIRA 이슈 조회/생성

Version History

  • 1.0.0 (2026-01-06): 초기 릴리스