--- title: 'BMad 커스터마이징 방법' description: 업데이트 호환성을 유지하면서 에이전트와 워크플로를 커스터마이징합니다 sidebar: order: 8 --- 설치된 파일을 수정하지 않고 에이전트 페르소나를 조정하고, 도메인 컨텍스트를 주입하고, 기능을 추가하고, 워크플로 동작을 설정하세요. 커스터마이징은 업데이트 후에도 유지됩니다. :::tip[TOML을 직접 쓰고 싶지 않나요? `bmad-customize`를 사용하세요] `bmad-customize` 스킬은 이 문서에서 설명하는 **스킬별 에이전트/워크플로 오버라이드 영역**을 안내형으로 작성해 주는 도우미입니다. 설치된 항목 중 무엇을 커스터마이즈할 수 있는지 스캔하고, 의도에 맞는 영역(에이전트 또는 워크플로)을 고르게 하고, 오버라이드 파일을 작성하고, 병합이 적용되었는지 검증합니다. 중앙 설정 오버라이드(`_bmad/custom/config.toml`)는 v1 범위 밖이므로 아래 중앙 설정 섹션에 따라 직접 작성해야 합니다. ::: ## 사용 시점 - 에이전트의 성격이나 커뮤니케이션 스타일을 바꾸고 싶습니다 - 에이전트가 계속 기억할 사실이 필요합니다(예: "우리 조직은 AWS만 사용") - 매 세션 시작 시 에이전트가 반드시 수행해야 하는 절차적 단계를 추가하고 싶습니다 - 자체 스킬이나 프롬프트를 실행하는 커스텀 메뉴 항목을 추가하고 싶습니다 - 팀 공통 커스터마이징은 git에 커밋하고, 개인 선호는 그 위에 덧씌우고 싶습니다 :::note[필수 조건] - 프로젝트에 BMad 설치([BMad 설치 방법](./install-bmad.md) 참고) - PATH의 Python 3.11+(병합 스크립트용, stdlib `tomllib`만 사용하며 `pip install`, `uv`, virtualenv 불필요) - TOML 파일을 편집할 텍스트 에디터 ::: ## 작동 방식 커스터마이즈 가능한 모든 스킬은 기본값이 들어 있는 `customize.toml` 파일을 제공합니다. 이 파일은 스킬의 전체 커스터마이징 영역을 정의합니다. 무엇을 바꿀 수 있는지 보려면 이 파일을 읽으세요. 이 파일은 직접 편집하지 않습니다. 대신 바꾸려는 필드만 담은 오버라이드 파일을 만듭니다. ### 3계층 오버라이드 모델 ```text 우선순위 1(승리): _bmad/custom/{skill-name}.user.toml (개인, git 무시) 우선순위 2: _bmad/custom/{skill-name}.toml (팀/조직, 커밋) 우선순위 3(마지막): 스킬 자체 customize.toml (기본값) ``` `_bmad/custom/` 폴더는 처음엔 비어 있습니다. 누군가 실제로 커스터마이즈할 때만 파일이 생깁니다. ### 병합 규칙(필드명이 아니라 모양 기준) 병합 스크립트는 네 가지 구조 규칙을 적용합니다. 필드명은 특별 취급되지 않습니다. 값의 구조가 동작을 결정합니다. | 모양 | 규칙 | | --- | --- | | 스칼라 값(문자열, 정수, 불리언, 실수) | 오버라이드가 이깁니다 | | 테이블 | 깊은 병합(재귀적으로 이 규칙을 적용) | | 모든 항목이 **같은** 식별자 필드(`code` 또는 `id`)를 공유하는 테이블 배열 | 해당 키로 병합합니다. 같은 키는 **제자리에서 교체**, 새 키는 **추가**됩니다 | | 그 밖의 배열(스칼라 값, 식별자가 없는 테이블, `code`와 `id`가 섞인 배열) | **추가**됩니다. 기본값, 팀, 사용자 순서입니다 | **삭제 메커니즘은 없습니다.** 오버라이드는 기본값 항목을 지울 수 없습니다. 기본 메뉴 항목을 숨겨야 한다면 같은 `code`로 동작 없는 설명이나 프롬프트를 넣어 덮어쓰세요. 배열을 더 깊게 재구성해야 한다면 스킬을 포크하세요. **`code` / `id` 관례.** BMad는 테이블 배열의 병합 키로 `code`(예: `"BP"`, `"R1"` 같은 짧은 식별자)와 `id`(더 긴 안정 식별자)를 사용합니다. 직접 만든 테이블 배열이 추가 전용이 아니라 키로 교체 가능해야 한다면 한 가지 관례만 고르고 전체 배열에서 일관되게 사용하세요. 일부 항목은 `code`, 일부 항목은 `id`를 쓰면 키 병합 대신 추가 방식으로 처리됩니다. ### 일부 에이전트 필드는 읽기 전용입니다 `agent.name`과 `agent.title`은 기준 메타데이터로 `customize.toml`에 있지만, 에이전트의 SKILL.md는 런타임에 이를 읽지 않습니다. 정체성은 하드코딩되어 있습니다. 오버라이드 파일에 `name = "Bob"`을 넣어도 효과가 없습니다. 정말 다른 이름의 에이전트가 필요하다면 스킬 폴더를 복사해 이름을 바꾸고 커스텀 스킬로 배포하세요. ## 단계 ### 1. 스킬의 커스터마이징 영역 찾기 설치된 디렉터리에서 스킬의 `customize.toml`을 확인합니다. PM 에이전트 예: ```text .claude/skills/bmad-agent-pm/customize.toml ``` 경로는 IDE별로 다릅니다. Cursor는 `.cursor/skills/`, Cline은 `.cline/skills/`를 사용합니다. 이 파일이 기준 스키마입니다. 읽기 전용 정체성 필드를 제외하고 보이는 모든 필드는 커스터마이즈할 수 있습니다. ### 2. 오버라이드 파일 만들기 프로젝트 루트에 `_bmad/custom/` 디렉터리가 없다면 만듭니다. 그런 다음 스킬 이름을 딴 파일을 만듭니다. ```text _bmad/custom/ bmad-agent-pm.toml # 팀 오버라이드(git에 커밋) bmad-agent-pm.user.toml # 개인 선호(git에서 무시) ``` :::caution[전체 `customize.toml`을 복사하지 마세요] 오버라이드 파일은 **희소**입니다. 바꾸는 필드만 포함하세요. 생략한 필드는 아래 계층(팀은 기본값에서, 사용자는 팀 또는 기본값에서) 자동 상속됩니다. 전체 `customize.toml`을 오버라이드로 복사하면 해롭습니다. 다음 업데이트가 새 기본값을 제공해도 오버라이드 파일이 옛 값을 고정하기 때문에 릴리스마다 조용히 어긋납니다. ::: **예시 - 아이콘을 바꾸고 원칙 하나 추가:** ```toml # _bmad/custom/bmad-agent-pm.toml # 바꾸는 필드만 둡니다. 나머지는 모두 상속됩니다. [agent] icon = "🏥" principles = [ "FDA 감사를 통과할 수 없는 것은 출시하지 않습니다.", ] ``` 이 설정은 새 원칙을 기본값에 추가하고(제공된 원칙은 그대로 유지), 아이콘을 교체합니다. 나머지 필드는 제공된 값으로 남습니다. ### 3. 필요한 항목 커스터마이즈하기 아래 예시는 BMad의 평면 에이전트 스키마를 가정합니다. 필드는 `[agent]` 아래에 직접 위치하며 중첩된 `metadata`나 `persona` 하위 테이블은 없습니다. **스칼라 값(icon, 역할, 정체성, communication_style).** 스칼라 값 오버라이드가 이깁니다. 바꾸는 필드만 설정하면 됩니다. ```toml # _bmad/custom/bmad-agent-pm.toml [agent] icon = "🏥" role = "규제 대상 헬스케어 도메인의 제품 발견을 이끕니다." communication_style = "정밀하고 규제를 의식하며, 초반부터 컴플라이언스 관점의 질문을 던집니다." ``` **영구 사실, 원칙, 활성화 후크(추가 배열).** 아래 네 배열은 추가 전용입니다. 팀 항목은 기본값 뒤에 실행되고, 사용자 항목은 마지막에 실행됩니다. ```toml [agent] # 에이전트가 세션 내내 염두에 둘 정적 사실입니다. 조직 규칙, 도메인 # 상수, 사용자 선호 등이 여기에 들어갑니다. 런타임 메모리 사이드카와는 다릅니다. # # 각 항목은 문장 그대로이거나, 내용을 사실로 로드하는 `file:` 참조입니다 # glob 패턴도 지원합니다. persistent_facts = [ "우리 조직은 AWS만 사용합니다. GCP나 Azure를 제안하지 마세요.", "모든 PRD는 엔지니어링 착수 전에 법무 승인을 받아야 합니다.", "대상 사용자는 환자가 아니라 임상의입니다. 예시도 그에 맞춰 구성하세요.", "file:{project-root}/docs/compliance/hipaa-overview.md", "file:{project-root}/_bmad/custom/company-glossary.md", ] # 에이전트의 가치 체계에 추가합니다 principles = [ "FDA 감사를 통과할 수 없는 것은 출시하지 않습니다.", "사용자 가치를 먼저, 컴플라이언스는 항상 지킵니다.", ] # 표준 활성화(페르소나, persistent_facts, 설정, 인사) 전에 실행합니다. activation_steps_prepend = [ "{project-root}/docs/compliance/를 스캔하고 HIPAA 관련 문서를 컨텍스트로 로드하세요.", ] # 인사 후, 메뉴 전에 실행합니다. activation_steps_append = [ "{project-root}/_bmad/custom/company-glossary.md가 있으면 읽으세요.", ] ``` 두 후크는 역할이 다릅니다. Prepend는 인사 전에 실행되어 인사 자체를 개인화하는 데 필요한 컨텍스트를 로드할 수 있습니다. Append는 인사 후 실행되어 무거운 스캔이 끝날 때까지 사용자가 빈 화면만 보지 않게 합니다. **메뉴 커스터마이징(`code`로 병합).** 메뉴는 테이블 배열입니다. 각 항목에는 `code` 필드가 있으므로 병합 스크립트는 코드로 병합합니다. 같은 코드는 제자리에서 교체되고, 새 코드는 추가됩니다. TOML 테이블 배열 문법은 항목마다 `[[agent.menu]]`를 사용합니다. ```toml # 기존 CE 항목을 커스텀 스킬로 교체 [[agent.menu]] code = "CE" description = "우리 전달 프레임워크로 에픽 생성" skill = "custom-create-epics" # 새 항목 추가(기본값에는 RC 코드가 없음) [[agent.menu]] code = "RC" description = "컴플라이언스 사전 점검 실행" prompt = """ {project-root}/_bmad/custom/compliance-checklist.md를 읽고 {planning_artifacts}의 모든 문서를 그 기준에 맞춰 스캔하세요. 공백이 있으면 관련 규제 조항을 인용해 보고하세요. """ ``` 각 메뉴 항목은 `skill`(등록된 스킬 호출) 또는 `prompt`(텍스트 직접 실행) 중 정확히 하나를 가집니다. 오버라이드에 나열하지 않은 항목은 기본값을 유지합니다. **파일 참조.** `persistent_facts`, `activation_steps_prepend`/`activation_steps_append`, 메뉴 항목의 `prompt`처럼 텍스트가 파일을 가리켜야 할 때는 `{project-root}`를 기준으로 한 전체 경로를 사용하세요. 파일이 `_bmad/custom/`에서 오버라이드 옆에 있더라도 `{project-root}/_bmad/custom/info.md`처럼 전체 경로를 적습니다. ### 4. 개인 vs 팀 **팀 파일**(`bmad-agent-pm.toml`): git에 커밋합니다. 조직 전체에 공유됩니다. 컴플라이언스 규칙, 회사 페르소나, 커스텀 기능에 사용합니다. **개인 파일**(`bmad-agent-pm.user.toml`): 자동으로 git에서 무시됩니다. 말투 조정, 개인 워크플로 선호 사항, 에이전트가 기억해야 하는 개인 사실에 사용합니다. ```toml # _bmad/custom/bmad-agent-pm.user.toml [agent] persistent_facts = [ "선택지를 제시할 때 항상 대략적인 복잡도 추정(낮음/중간/높음)을 포함하세요.", ] ``` ## 해석이 작동하는 방식 활성화 시 에이전트의 SKILL.md가 공유 Python 스크립트를 실행해 3계층 병합을 수행하고 해석된 블록을 JSON으로 반환합니다. 스크립트는 Python 표준 라이브러리의 `tomllib`만 사용하므로 기본 `python3`이면 충분합니다. ```bash python3 {project-root}/_bmad/scripts/resolve_customization.py \ --skill {skill-root} \ --key agent ``` **요구사항**: Python 3.11+(이전 버전에는 `tomllib`이 없습니다). `pip install`, `uv`, virtualenv는 필요 없습니다. `python3 --version`으로 확인하세요. Homebrew 없는 macOS나 Ubuntu 22.04 같은 플랫폼은 기본 `python3`이 3.10 이하일 수 있으므로 3.11+를 별도 설치해야 할 수 있습니다. `--skill`은 스킬이 설치된 디렉터리(`customize.toml`이 있는 위치)를 가리킵니다. 스킬 이름은 디렉터리의 basename에서 파생되며, 스크립트는 `_bmad/custom/{skill-name}.toml`과 `{skill-name}.user.toml`을 자동으로 찾습니다. 유용한 호출: ```bash # 전체 에이전트 블록 해석 python3 {project-root}/_bmad/scripts/resolve_customization.py \ --skill /abs/path/to/bmad-agent-pm \ --key agent # 단일 필드 해석 python3 {project-root}/_bmad/scripts/resolve_customization.py \ --skill /abs/path/to/bmad-agent-pm \ --key agent.icon # 전체 덤프 python3 {project-root}/_bmad/scripts/resolve_customization.py \ --skill /abs/path/to/bmad-agent-pm ``` 출력은 항상 JSON입니다. 특정 플랫폼에서 스크립트를 사용할 수 없다면 SKILL.md는 에이전트에게 세 TOML 파일을 직접 읽고 같은 병합 규칙을 적용하라고 지시합니다. ## 워크플로 커스터마이징 `bmad-product-brief`처럼 여러 단계 프로세스를 구동하는 워크플로(스킬)도 에이전트와 같은 오버라이드 메커니즘을 공유합니다. 커스터마이즈 가능한 영역은 `[agent]` 대신 `[workflow]` 아래에 있습니다. ```toml # _bmad/custom/bmad-product-brief.toml [workflow] activation_steps_prepend = [ "Load {project-root}/docs/product/north-star-principles.md as context.", ] activation_steps_append = [] persistent_facts = [ "모든 개요에는 명시적인 규제 위험 섹션이 포함되어야 합니다.", "file:{project-root}/docs/compliance/product-brief-checklist.md", ] on_complete = "개요를 세 개의 글머리표로 요약하고 gws-gmail-send 스킬로 이메일 발송을 제안하세요." ``` 동일한 필드 관례가 에이전트/워크플로 경계를 넘습니다. `activation_steps_prepend`/`activation_steps_append`, `persistent_facts`(`file:` 참조 포함), 그리고 키 기반 병합용 `code`/`id`가 있는 메뉴 스타일 `[[...]]` 테이블이 모두 같은 방식으로 동작합니다. 병합 스크립트는 최상위 키와 관계없이 네 구조 규칙을 적용합니다. SKILL.md 참조는 네임스페이스를 따릅니다: `{workflow.activation_steps_prepend}`, `{workflow.persistent_facts}`, `{workflow.on_complete}`. 워크플로가 노출하는 추가 필드(출력 경로, 토글, 리뷰 설정, 단계 플래그 등)도 같은 구조 기반 병합 규칙을 따릅니다. 무엇을 커스터마이즈할 수 있는지는 워크플로의 `customize.toml`을 읽으세요. ### 활성화 순서 커스터마이즈 가능한 워크플로는 후크가 언제 실행되는지 알 수 있도록 고정된 순서로 활성화됩니다. 1. `[workflow]` 블록 해석(기본값 → 팀 → 사용자 병합) 2. `activation_steps_prepend`를 순서대로 실행 3. 실행의 기반 컨텍스트로 `persistent_facts` 로드 4. 설정(`_bmad/bmm/config.yaml`) 로드 및 표준 변수(프로젝트 이름, 언어, 경로, 날짜) 해석 5. 사용자에게 인사 6. `activation_steps_append`를 순서대로 실행 6단계 이후 워크플로 본문이 시작됩니다. 인사를 개인화하기 전에 컨텍스트가 필요하면 `activation_steps_prepend`를 사용하고, 설정이 무거워 사용자에게 인사를 먼저 보여주고 싶다면 `activation_steps_append`를 사용하세요. ### 현재 초기 단계의 범위 커스터마이징은 점진적으로 출시됩니다. 위에서 문서화한 `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete`는 모든 커스터마이즈 가능한 워크플로가 노출하는 **기준 영역**이며 버전 간 안정적으로 유지됩니다. 오늘 당장 사전/사후 단계 주입, 기반 컨텍스트 고정, 후속 작업 트리거 같은 큰 단위의 제어를 제공합니다. 시간이 지나면 개별 워크플로가 실제로 하는 일에 맞춘 **더 세밀한 커스터마이징 지점**을 노출할 것입니다. 단계별 토글, 단계 플래그, 출력 템플릿 경로, 리뷰 게이트 같은 것들입니다. 그런 항목이 추가되면 기준 필드를 대체하지 않고 그 위에 쌓이므로 오늘 작성한 커스터마이징은 계속 동작합니다. 아직 노출되지 않은 세밀한 조절점이 필요하다면 `activation_steps_*`와 `persistent_facts`로 동작을 조정하거나, 원하는 커스터마이징 지점을 구체적으로 설명하는 이슈를 열어 주세요. ## 중앙 설정 스킬별 `customize.toml`은 **깊은 동작**(후크, 메뉴, persistent_facts, 단일 에이전트/워크플로의 페르소나 오버라이드)을 다룹니다. 별도 영역은 **공유 상태**를 다룹니다. 설치 답변과 `bmad-party-mode`, `bmad-retrospective`, `bmad-advanced-elicitation` 같은 외부 스킬이 사용하는 에이전트 명단입니다. 이 영역은 프로젝트 루트의 네 TOML 파일에 있습니다. ```text _bmad/config.toml (설치 프로그램 소유) 팀 범위: 설치 답변 + 에이전트 명단 _bmad/config.user.toml (설치 프로그램 소유) 사용자 범위: user_name, 언어, 스킬 수준 _bmad/custom/config.toml (사람이 작성) 팀 오버라이드(git에 커밋) _bmad/custom/config.user.toml (사람이 작성) 개인 오버라이드(git에서 무시) ``` ### 4계층 병합 ```text 우선순위 1(승리): _bmad/custom/config.user.toml 우선순위 2: _bmad/custom/config.toml 우선순위 3: _bmad/config.user.toml 우선순위 4(기반): _bmad/config.toml ``` 스킬별 커스터마이즈와 같은 구조 규칙을 사용합니다. 스칼라 값 오버라이드, 테이블 깊은 병합, `code`/`id` 키 기반 배열 병합, 그 밖의 배열 추가입니다. ### 무엇이 어디에 있나요? 설치 프로그램은 `module.yaml`의 각 프롬프트에 선언된 `scope:`에 따라 답변을 나눕니다. - `[core]`와 `[modules.]` 섹션 - 설치 답변입니다. `team` 범위는 `_bmad/config.toml`에, `user` 범위는 `_bmad/config.user.toml`에 들어갑니다. - `[agents.]` - 각 모듈의 `module.yaml` `agents:` 블록에서 추출한 에이전트 핵심 정보(코드, 이름, 직함, 아이콘, 설명, 팀)입니다. 항상 팀 범위입니다. ### 편집 규칙 - `_bmad/config.toml`과 `_bmad/config.user.toml`은 **설치할 때마다 재생성**됩니다. 읽기 전용 출력으로 취급하세요. 직접 수정하면 다음 설치에서 덮어쓰입니다. 설치 답변을 지속적으로 바꾸려면 설치 프로그램을 다시 실행하거나 `_bmad/custom/config.toml`에서 값을 덮어쓰세요. - `_bmad/custom/config.toml`과 `_bmad/custom/config.user.toml`은 설치 프로그램이 **절대 건드리지 않습니다**. 커스텀 에이전트, 에이전트 설명자 오버라이드, 팀 강제 설정, 설치 답변과 무관하게 고정하려는 값을 넣는 올바른 영역입니다. ### 예시 - 에이전트 리브랜딩 ```toml # _bmad/custom/config.toml (git에 커밋, 모든 개발자에게 적용) [agents.bmad-agent-pm] description = "헬스케어 PM - 규제를 의식하고 이해관계자 중심이며, FDA 관점의 질문을 먼저 던집니다." icon = "🏥" ``` 병합 스크립트가 설치 프로그램이 작성한 `[agents.bmad-agent-pm]` 위로 병합합니다. `bmad-party-mode`와 명단을 사용하는 스킬은 새 설명을 자동으로 사용합니다. ### 예시 - 가상 에이전트 추가 ```toml # _bmad/custom/config.user.toml (개인용, git에서 무시) [agents.kirk] team = "startrek" name = "Captain James T. Kirk" title = "우주선 선장" icon = "🖖" description = "대담하고 규칙을 굽힐 줄 아는 지휘관입니다. 극적인 쉼표를 두고 말하며 지휘의 무게를 소리 내어 생각합니다." ``` 스킬 폴더가 없어도 핵심 정보만으로 파티 모드가 Kirk를 하나의 목소리로 생성할 수 있습니다. `team` 필드로 필터링해 엔터프라이즈 승무원만 라운드테이블에 초대할 수 있습니다. ### 예시 - 모듈 설치 설정 오버라이드 ```toml # _bmad/custom/config.toml [modules.bmm] planning_artifacts = "/shared/org-planning-artifacts" ``` 오버라이드는 각 개발자가 로컬 설치 중 답한 값보다 우선합니다. 팀 관례를 고정할 때 유용합니다. ### 어떤 영역을 사용할까요? | 필요 | 사용 | | --- | --- | | 모든 개발 워크플로에 MCP 도구 호출 추가 | 스킬별: `_bmad/custom/bmad-agent-dev.toml` `persistent_facts` | | 에이전트에 메뉴 항목 추가 | 스킬별: `_bmad/custom/bmad-agent-{role}.toml` `[[agent.menu]]` | | 워크플로의 출력 템플릿 교체 | 스킬별: `_bmad/custom/{workflow}.toml` 스칼라 값 오버라이드 | | 에이전트 공개 설명자 리브랜딩 | **중앙**: `_bmad/custom/config.toml` `[agents.]` | | 커스텀 또는 가상 에이전트를 명단에 추가 | **중앙**: `_bmad/custom/config.*.toml` 새 `[agents.]` 항목 | | 팀 강제 설치 설정 고정 | **중앙**: `_bmad/custom/config.toml` `[modules.]` 또는 `[core]` | 필요에 따라 한 프로젝트에서 두 영역을 함께 사용하세요. ## 실전 예시 에이전트가 실행하는 모든 워크플로에 걸친 동작 조정, 조직 관례 강제, Confluence와 Jira로 출력 게시, 에이전트 명단 커스터마이즈, 출력 템플릿 교체 같은 엔터프라이즈 지향 레시피는 [조직을 위해 BMad 확장하기](./expand-bmad-for-your-org.md)를 참고하세요. ## 문제 해결 **커스터마이징이 보이지 않나요?** - 파일이 `_bmad/custom/`에 올바른 스킬 이름으로 있는지 확인하세요 - TOML 문법을 확인하세요. 문자열은 따옴표가 필요하고, 테이블 헤더는 `[section]`, 테이블 배열은 `[[section]]`입니다. 테이블의 스칼라 값 또는 배열 키는 해당 테이블의 `[[subtables]]`보다 먼저 와야 합니다 - 에이전트의 경우 커스터마이징은 `[agent]` 아래에 있습니다. 그 헤더 아래에 쓴 필드는 다른 테이블 헤더가 시작될 때까지 `agent`에 속합니다 - `agent.name`과 `agent.title`은 읽기 전용입니다. 오버라이드해도 효과가 없습니다 **업데이트가 커스터마이징을 망가뜨렸나요?** - 전체 `customize.toml`을 오버라이드 파일에 복사했나요? **하지 마세요.** 오버라이드 파일은 바꾸는 필드만 포함해야 합니다. 전체 복사는 옛 기본값을 고정하고 릴리스마다 조용히 어긋납니다. 오버라이드를 변경분만 남기도록 줄이세요. **무엇을 커스터마이즈할 수 있는지 봐야 하나요?** - `bmad-customize` 스킬을 실행하세요. 프로젝트에 설치된 모든 커스터마이즈 가능한 스킬을 열거하고, 이미 오버라이드가 있는 항목을 보여주며, 추가 또는 업데이트 과정을 안내합니다 - 또는 스킬의 `customize.toml`을 직접 읽으세요. `name`과 `title`을 제외하고 모든 필드가 커스터마이즈 가능합니다 **초기화가 필요하나요?** - `_bmad/custom/`에서 오버라이드 파일을 삭제하세요. 스킬은 내장 기본값으로 돌아갑니다