Skip to content

v3.0 새로운 기능:Categories 및 Skills 시스템 완전 분석

버전 개요

oh-my-opencode v3.0은 중요한 마일스톤 버전으로, 완전히 새로운 Categories 및 Skills 시스템을 도입하여 AI 에이전트 오케스트레이션 방식을 혁신했습니다. 이 버전은 AI 에이전트를 더 전문화되고 유연하며 조합 가능하게 만드는 것을 목표로 합니다.

주요 개선사항

  • 🎯 Categories 시스템:7개 내장 작업 분류, 최적 모델 자동 선택
  • 🛠️ Skills 시스템:3개 내장 전문 스킬 패키지, 도메인 지식 주입
  • 🔄 동적 조합delegate_task를 통해 Category와 Skill 자유롭게 조합
  • 🚀 Sisyphus-Junior:새로운 위임된 작업 실행기, 무한 루프 방지
  • 📝 유연한 구성:사용자 정의 Categories 및 Skills 지원

핵심 새로운 기능 1:Categories 시스템

Category란 무엇인가요?

Category는 특정 도메인에 최적화된 에이전트 구성 프리셋입니다. 이는 핵심 질문에 답합니다:"이것은 어떤 유형의 작업인가요?"

각 Category는 다음을 정의합니다:

  • 사용할 모델(model)
  • 온도 매개변수(temperature)
  • 프롬프트 마인드셋(prompt mindset)
  • 추론 능력(reasoning effort)
  • 도구 권한(tools)

7개 내장 Categories

Category기본 모델Temperature사용 사례
visual-engineeringgoogle/gemini-3-pro0.7프론트엔드, UI/UX, 디자인, 스타일링, 애니메이션
ultrabrainopenai/gpt-5.2-codex (xhigh)0.1깊은 논리적 추론, 광범위한 분석이 필요한 복잡한 아키텍처 결정
artistrygoogle/gemini-3-pro (max)0.7높은 창의성/예술적 작업, 새로운 아이디어
quickanthropic/claude-haiku-4-50.1간단한 작업 - 단일 파일 수정, 오타 수정, 간단한 변경
unspecified-lowanthropic/claude-sonnet-4-50.1다른 카테고리에 맞지 않는 작업, 낮은 작업량
unspecified-highanthropic/claude-opus-4-5 (max)0.1다른 카테고리에 맞지 않는 작업, 높은 작업량
writinggoogle/gemini-3-flash0.1문서, 에세이, 기술 작성

출처docs/category-skill-guide.md:22-30

Categories를 사용하는 방법?

delegate_task 도구를 호출할 때 category 매개변수를 지정하세요:

typescript
// 프론트엔드 작업을 visual-engineering category에 위임
delegate_task(
  category="visual-engineering",
  prompt="대시보드 페이지에 반응형 차트 구성 요소 추가"
)

시스템은 자동으로 다음을 수행합니다:

  1. visual-engineering Category 선택
  2. google/gemini-3-pro 모델 사용
  3. temperature: 0.7 적용(높은 창의성)
  4. 해당 Category의 프롬프트 마인드셋 로드

Sisyphus-Junior:위임된 작업 실행기

Category를 사용할 때 Sisyphus-Junior라는 특수 에이전트가 작업을 실행합니다.

핵심 기능

  • ❌ 다른 에이전트에게 작업을 재위임할 수 없음
  • 🎯 할당된 작업에 집중
  • 🔄 무한 위임 루프 방지

설계 목적:에이전트가 현재 작업에 집중하도록 보장하여, 작업이 계층별로 위임되는 것으로 인한 복잡성을 방지합니다.


핵심 새로운 기능 2:Skills 시스템

Skill이란 무엇인가요?

Skill은 **전문 지식(Context)**과 도구(MCP)를 에이전트에 주입하는 메커니즘입니다. 이는 또 다른 핵심 질문에 답합니다:"어떤 도구와 지식이 필요한가요?"

3개 내장 Skills

1. git-master

능력

  • Git 전문가
  • 커밋 스타일 감지
  • 원자적 커밋 분할
  • rebase 전략 수립

MCP:없음(Git 명령 사용)

사용 사례:커밋, 기록 검색, 브랜치 관리

2. playwright

능력

  • 브라우저 자동화
  • 웹 테스트
  • 스크린샷
  • 데이터 스크래핑

MCP@playwright/mcp(자동 실행)

사용 사례:구현 후 UI 검증, E2E 테스트 작성

3. frontend-ui-ux

능력

  • 디자이너 마인드셋 주입
  • 색상, 타이포그래피, 모션 가이드라인

사용 사례:단순한 구현을 넘어선 아름다운 UI 작업

출처docs/category-skill-guide.md:57-70

Skills를 사용하는 방법?

delegate_taskload_skills 배열을 추가하세요:

typescript
// 빠른 작업을 위임하고 git-master 스킬 로드
delegate_task(
  category="quick",
  load_skills=["git-master"],
  prompt="현재 변경 사항을 커밋하세요. 커밋 메시지 스타일을 따르세요."
)

시스템은 자동으로 다음을 수행합니다:

  1. quick Category 선택(Claude Haiku, 낮은 비용)
  2. git-master Skill 로드(Git 전문 지식 주입)
  3. Sisyphus-Junior를 시작하여 작업 실행

사용자 정의 Skills

프로젝트 루트의 .opencode/skills/ 또는 사용자 디렉토리의 ~/.claude/skills/에 사용자 정의 Skills를 직접 추가할 수 있습니다.

예시:.opencode/skills/my-skill/SKILL.md

markdown
---
name: my-skill
description: 나의 전문 사용자 정의 스킬
mcp:
  my-mcp:
    command: npx
    args: ["-y", "my-mcp-server"]
---

# 나의 스킬 프롬프트

이 내용은 에이전트의 시스템 프롬프트에 주입됩니다.
...

출처docs/category-skill-guide.md:87-103


핵심 새로운 기능 3:동적 조합 능력

조합 전략:전문 에이전트 생성

서로 다른 Categories와 Skills를 조합하여 강력한 전문 에이전트를 만들 수 있습니다.

🎨 디자이너(UI 구현)

  • Category: visual-engineering
  • load_skills: ["frontend-ui-ux", "playwright"]
  • 효과:아름다운 UI를 구현하고 브라우저에서 직접 렌더링 결과 검증

🏗️ 아키텍트(설계 검토)

  • Category: ultrabrain
  • load_skills: [](순수 추론)
  • 효과:GPT-5.2의 논리적 추론 능력을 활용하여 깊이 있는 시스템 아키텍처 분석

⚡ 유지 관리자(빠른 수정)

  • Category: quick
  • load_skills: ["git-master"]
  • 효과:비용 효율적인 모델을 사용하여 코드를 빠르게 수정하고 깔끔한 커밋 생성

출처docs/category-skill-guide.md:111-124

delegate_task 프롬프트 가이드

작업을 위임할 때 명확하고 구체적인 프롬프트가 중요합니다. 다음 7가지 요소를 포함하세요:

  1. TASK:무엇을 해야 하나요?(단일 목표)
  2. EXPECTED OUTCOME:전달물은 무엇인가요?
  3. REQUIRED SKILLSload_skills를 통해 어떤 스킬을 로드해야 하나요?
  4. REQUIRED TOOLS:어떤 도구를 사용해야 하나요?(허용 목록)
  5. MUST DO:무엇을 반드시 해야 하나요(제약 조건)
  6. MUST NOT DO:절대 해서는 안 되는 것은 무엇인가요
  7. CONTEXT:파일 경로, 기존 패턴, 참조 자료

❌ 나쁜 예시

"이것을 수정하세요"

✅ 좋은 예시

TASKLoginButton.tsx의 모바일 레이아웃 문제 수정 CONTEXTsrc/components/LoginButton.tsx, Tailwind CSS 사용 MUST DOmd: 브레이크포인트에서 flex-direction 변경 MUST NOT DO:기존 데스크톱 레이아웃 수정 EXPECTED:버튼이 모바일에서 수직으로 정렬됨

출처docs/category-skill-guide.md:130-148


구성 가이드

Category 구성 스키마

oh-my-opencode.json에서 Categories를 미세 조정할 수 있습니다.

필드유형설명
descriptionstringCategory 목적의 사람이 읽을 수 있는 설명. delegate_task 프롬프트에 표시됨.
modelstring사용할 AI 모델 ID(예:anthropic/claude-opus-4-5
variantstring모델 변형(예:max, xhigh
temperaturenumber창의성 수준(0.0 ~ 2.0). 낮을수록 더 결정적임.
top_pnumber핵 샘플링 매개변수(0.0 ~ 1.0)
prompt_appendstring이 Category가 선택될 때 시스템 프롬프트에 추가되는 내용
thinkingobjectThinking 모델 구성({ type: "enabled", budgetTokens: 16000 }
reasoningEffortstring추론 노력 수준(low, medium, high
textVerbositystring텍스트 상세 수준(low, medium, high
toolsobject도구 사용 제어({ "tool_name": false }를 사용하여 비활성화)
maxTokensnumber최대 응답 토큰 수
is_unstable_agentboolean에이전트를 불안정으로 표시 - 모니터링을 위해 백그라운드 모드 강제

출처docs/category-skill-guide.md:159-172

구성 예시

jsonc
{
  "categories": {
    // 1. 새로운 사용자 정의 category 정의
    "korean-writer": {
      "model": "google/gemini-3-flash",
      "temperature": 0.5,
      "prompt_append": "You are a Korean technical writer. Maintain a friendly and clear tone."
    },

    // 2. 기존 category 재정의(모델 변경)
    "visual-engineering": {
      "model": "openai/gpt-5.2",
      "temperature": 0.8
    },

    // 3. thinking 모델 구성 및 도구 제한
    "deep-reasoning": {
      "model": "anthropic/claude-opus-4-5",
      "thinking": {
        "type": "enabled",
        "budgetTokens": 32000
      },
      "tools": {
        "websearch_web_search_exa": false // 웹 검색 비활성화
      }
    }
  },

  // skills 비활성화
  "disabled_skills": ["playwright"]
}

출처docs/category-skill-guide.md:175-206


기타 중요한 개선사항

Categories 및 Skills 시스템 외에도 v3.0에는 다음과 같은 중요한 개선사항이 포함되어 있습니다:

안정성 향상

  • ✅ 버전을 안정으로 표시(3.0.1)
  • ✅ 에이전트 위임 메커니즘 최적화
  • ✅ 오류 복구 능력 개선

성능 최적화

  • ✅ 불필요한 컨텍스트 주입 감소
  • ✅ 백그라운드 작업 폴링 메커니즘 최적화
  • ✅ 다중 모델 오케스트레이션 효율성 향상

Claude Code 호환성

  • ✅ Claude Code 구성 형식과 완전 호환
  • ✅ Claude Code의 Skills, Commands, MCPs 로드 지원
  • ✅ 자동 발견 및 구성

출처README.md:18-20, README.md:292-304


다음 단계

v3.0의 Categories 및 Skills 시스템은 oh-my-opencode를 유연하게 확장할 수 있는 기반을 마련했습니다. 이러한 새로운 기능을 사용하는 방법을 더 깊이 알고 싶다면 다음 섹션을 참조하세요:

이러한 새로운 기능을 탐색하고 AI 에이전트를 더 전문화되고 효율적으로 만드세요!