Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- swiftUI
- Clean Code
- RxCocoa
- ribs
- uiscrollview
- clean architecture
- UITextView
- rxswift
- 리팩토링
- 스위프트
- ios
- Xcode
- Refactoring
- uitableview
- SWIFT
- HIG
- 클린 코드
- map
- 리펙토링
- Observable
- tableView
- combine
- scrollview
- 애니메이션
- swift documentation
- MVVM
- collectionview
- UICollectionView
- Human interface guide
- Protocol
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[AI] 클로드코드 스킬 개념 2 - 활용하기 (동적 문자열, 참조, 프론트매터, 자동화 패턴) 본문
동적 문자열 사용 방법 (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를 추가하기
* 참고
'AI' 카테고리의 다른 글
| [AI] 오픈코드에서 클로드코드 사용 제한 이슈 (Claude code, opencode, anthropic, authorized) (0) | 2026.02.25 |
|---|---|
| [AI] serena MCP 개념 및 설치 방법 (0) | 2026.02.11 |
| [AI] 클로드코드 스킬 개념 1 (Claude Code, Skill.md, 필드) (0) | 2026.02.04 |
| [AI] 클로드 코드 vs 깃헙 코파일럿 (claude code, github copilot) (0) | 2026.01.28 |
| [AI] vscode에서 클로드코드 쓰기 - 유용한 기능, 단축키 (init, claude.md (1) | 2026.01.21 |
Comments