Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[AI] 클로드코드 스킬 개념 2 - 활용하기 (동적 문자열, 참조, 프론트매터, 자동화 패턴) 본문

AI

[AI] 클로드코드 스킬 개념 2 - 활용하기 (동적 문자열, 참조, 프론트매터, 자동화 패턴)

jake-kim 2026. 2. 18. 01:21

동적 문자열 사용 방법 (Variables)

기술 콘텐츠 내에 동적 값을 주입하여 유연한 대응 가능

  • $ARGUMENTS: 기술 호출 시 전달된 모든 인수값. (예: /fix-issue 123 실행 시 123을 데이터로 활용)
  • ${CLAUDE_SESSION_ID}: 현재 세션의 고유 식별자. 로깅 및 세션별 파일 생성에 활용

ex) skill.md 정의 예시

---
name: session-logger
description: 이 세션에 대한 활동 로그
---

다음을 logs/${CLAUDE_SESSION_ID}.log에 로깅합니다:

$ARGUMENTS

skill에서 다른 파일 참조하기

SKILL.md는 핵심 요약에 집중하고, 상세 내용은 별도 파일로 분리하여 컨텍스트 효율화

  • SKILL.md: 필수 파일. 기술의 개요 및 탐색 가이드 포함 (500줄 이하 권장)
  • 지원 파일: 상세 API 명세(reference.md), 사용 예제(examples.md), 유틸리티 스크립트(scripts/) 등으로 구성
  • 참조 방식: 마크다운 링크를 통해 필요할 때만 해당 내용을 클로드가 로드하도록 유도

파일 구조)

my-skill/
├── SKILL.md (필수 - 개요 및 탐색)
├── reference.md (상세 API 문서 - 필요할 때 로드됨)
├── examples.md (사용 예제 - 필요할 때 로드됨)
└── scripts/
    └── helper.py (유틸리티 스크립트 - 실행됨, 로드되지 않음)

skill.md 파일)

## 추가 리소스

- 완전한 API 세부 정보는 [reference.md](reference.md) 참조
- 사용 예제는 [examples.md](examples.md) 참조

호출 및 권한 제어

프론트매터(Frontmatter) 설정을 통해 사용자 및 AI의 실행 권한 관리

설정 필드 사용자 호출 AI 자동 호출 주요 용도
기본 설정 가능 가능 일반적인 모든 작업
disable-model-invocation: true 가능 불가능 배포, 커밋 의도치 않은 실행 방지
user-invocable: false 불가능 가능 배경 지식, 레거시 컨텍스트 제공

ex) skill.md

---
name: deploy
description: 애플리케이션을 프로덕션에 배포합니다.
disable-model-invocation: true
---

$ARGUMENTS를 프로덕션에 배포합니다:

1. 테스트 스위트 실행
2. 애플리케이션 빌드
3. 배포 대상으로 푸시
4. 배포 성공 확인

도구 액세스 및 보안

  • allowed-tools: 기술 활성화 시 클로드가 사용할 수 있는 도구(Bash, Read, Write 등)를 특정하여 보안 및 오작동 방지
  • 권한 규칙: /permissions 설정을 통해 특정 기술의 실행 권한을 전역적으로 허용하거나 거부 가능

ex) skill.md

---
name: safe-reader
description: 변경하지 않고 파일 읽기
allowed-tools: Read, Grep, Glob
---

고급 자동화 패턴

  • 동적 컨텍스트 주입 (!command): 기술 실행 직전 셸 명령어를 수행하여 실시간 데이터를 프롬프트에 삽입 (예: GitHub CLI를 통한 실시간 PR 데이터 추출)
  • 확장 사고 (Ultrathink): 기술 콘텐츠 내 ultrathink 단어 포함 시 클로드의 추론 능력 극대화
  • 서브에이전트 활용 (context: fork): 현재 대화 맥락과 분리된 독립된 환경(Explore, Plan 등)에서 기술을 수행하여 결과만 수신

ex) skill.md

  • 아래 내용: GitHub CLI를 사용하여 라이브 PR 데이터를 가져와 풀 요청을 요약합니다. !gh pr diff“ 및 기타 명령어가 먼저 실행되고 출력이 프롬프트에 삽입
---
name: pr-summary
description: 풀 요청의 변경 사항 요약
context: fork
agent: Explore
allowed-tools: Bash(gh:*)
---

## 풀 요청 컨텍스트
- PR diff: !`gh pr diff`
- PR 댓글: !`gh pr view --comments`
- 변경된 파일: !`gh pr diff --name-only`

## 작업
이 풀 요청을 요약합니다...

시각적 출력 생성 (Visual Output)

단순 텍스트 응답을 넘어 외부 스크립트와 결합해 시각화 결과물 도출

  • 작동 방식: 기술 내부에 Python/JS 스크립트를 포함하고 클로드가 이를 실행하도록 지시
  • 결과물 예시: 코드베이스 트리 구조 시각화, 테스트 커버리지 보고서, 데이터베이스 스키마 다이어그램 등 브라우저 기반 HTML 파일 생성

ex) skill.md

---
name: codebase-visualizer
description: 코드베이스의 대화형 축소 가능한 트리 시각화를 생성합니다. 새 리포지토리 탐색, 프로젝트 구조 이해 또는 큰 파일 식별 시 사용합니다.
allowed-tools: Bash(python:*)
---

# 코드베이스 시각화기

프로젝트의 파일 구조를 축소 가능한 디렉토리로 보여주는 대화형 HTML 트리 보기를 생성합니다.

## 사용법

프로젝트 루트에서 시각화 스크립트를 실행합니다:

```bash
python ~/.claude/skills/codebase-visualizer/scripts/visualize.py .
```

이렇게 하면 현재 디렉토리에 `codebase-map.html`이 생성되고 기본 브라우저에서 열립니다.

## 시각화가 표시하는 것

- **축소 가능한 디렉토리**: 폴더를 클릭하여 확장/축소
- **파일 크기**: 각 파일 옆에 표시됨
- **색상**: 파일 유형별로 다른 색상
- **디렉토리 합계**: 각 폴더의 집계 크기 표시

skill이 너무 자주 트리거 될때 제어 방법

자동으로 skill을 내부적으로 호출될때가 있는데, 이럴땐 프론트 메타에 아래와 같이 해결이 가능

  • 설명을 더 구체적으로 만들기
  • 수동 호출만 원하면 disable-model-invocation: true 추가하기

* 참고

https://code.claude.com/docs/ko/skills#claude%EA%B0%80-%EB%AA%A8%EB%93%A0-%EA%B8%B0%EC%88%A0%EC%9D%84-%EB%B3%B4%EC%A7%80-%EB%AA%BB%ED%95%A8

Comments