본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 14. 19:24

Show HN: The System Skill Pattern

요약

이 글은 Claude Skills와 CLI, 데이터베이스를 결합하여 'System Skill Pattern'이라는 새로운 형태의 자가 실행형 정보 시스템을 구축하는 방법을 소개합니다. 이 패턴은 Claude가 단순히 대화에 응답하는 것을 넘어, 운영 절차(operating procedure)를 가지고 자체적인 OODA 루프(Observe, Orient, Decide, Act)를 실행하며 복잡한 작업을 수행할 수 있게 합니다. System Skill Pattern의 핵심은 세 가지 구성 요소—CLI 바이너리, 시스템 작동 튜토리얼 파일(SKILL.md), 그리고 데이터베이스(SQLite)—를 결합하여 Claude가 상호작용하고 데이터를 기록/검색하는 능력을 부여하는 것입니다.

핵심 포인트

  • System Skill Pattern은 Claude Skills에 CLI와 데이터베이스를 통합한 자가 실행형 정보 시스템 구축 방식이다.
  • 이 패턴을 통해 Claude는 단순 채팅 에이전트를 넘어, 운영 절차(operating procedure) 기반의 복잡한 작업을 수행할 수 있다.
  • 핵심 구성 요소는 런타임 의존성이 없고 설정이 필요 없는 단일 CLI 바이너리, 작동 방법을 정의하는 SKILL.md 파일, 그리고 SQLite 데이터베이스이다.
  • CLI 명령어는 시스템의 핵심 루프를 추출하여 Claude가 쉽게 호출하고 데이터를 기록/검색할 수 있는 핸들(handles)과 훅(hooks)을 제공한다.

자, 그럼 시작해 보겠습니다.

저는 지난 며칠 동안 Claude Skills를 가지고 놀아보았고, 전반적으로 그 단순함에 깊은 인상을 받았습니다 (그저 폴더에 마크다운 (markdown) 파일을 넣기만 하면, 갑자기 Claude에게 새로운 능력이 생깁!). 또한 그것들이 얼마나 유용할 수 있는지에 놀랐습니다.

Skills는 작성하기 쉽고, 사용하기 쉬우며, 미세 조정 (tweak)하기 쉽습니다. 저는 팬이 되었습니다.

해킹을 하는 동안, 저는 자연스럽게 끈기 있게 Skills를 탐구하게 되었습니다. 예를 들어, 새로운 채팅 세션에서 Skills를 호출할 때마다 유용한 정보를 잊어버리지 않는다면 얼마나 좋을까요? 만약 Skills가 이미 접했던 예시들로부터 기록하고 학습할 수 있다면 어떨까요?

잠시만요, 만약 Claude가 무대 뒤에서 크랭크를 돌림으로써 시스템에 생명력을 불어넣을 수 있다면 어떨까요?

만약 Claude가 따라야 할 운영 절차/프로세스 (operating procedure/process)를 가지고 있고, 관련 정보를 탐색/검색/쿼리 (seek/search/query)하는 방법에 대한 튜토리얼을 가지고 있다면, Claude는 기본적으로 자체적인 OODA 루프 (OODA loop; Observe, Orient, Decide, and Act)를 실행하고 운영하게 될 것입니다.

제 눈에는 이것이 채팅 에이전트 (chat agents)와 Skills가 결합하여 새로운 무언가가 되는 상전이 (phase change) 단계로 보입니다.

System Skill 소개

이 포스트에서 저는 제가 The System Skill Pattern이라고 불러온 것에 대해 자세히 파헤쳐 보려고 합니다.

Claude Skills로서 독립적인 개인 데이터 시스템을 구축하기 위한 주관적인 접근 방식입니다.

모든 조각이 어떻게 맞물리는지 보여주기 위해, 저는 Pomodoro System Skill을 만들었습니다. 이것은 당신의 집중 세션 (focus sessions)을 기록하고, Claude에게 세션 기록과 상호작용하며 타이머를 구동할 수 있는 CLI를 제공합니다. 하지만 아마도 가장 인상적인 점은, 이 스킬이 Claude를 세상에서 가장 비싼 Pomodoro 타이머로 만든다는 것입니다. (적어도 Claude를 훈련하는 데 필요한 자본을 고려한다면 말이죠)

기본적인 아이디어는 당신이 Claude에게 Pomodoro 세션을 시작하고 싶다고 말하고, 당신이 무엇을 하고 있는지 공유하는 것입니다. SKILL.md는 Pomodoro 기록 시스템을 실행하고 운영하는 방법을 정의합니다. 그러면 Claude는 세션을 생성하기 위해 ./pomodoro start --task "Refactor ABC-123"를 호출하고, 25분 동안 대기하면 된다는 것을 알게 됩니다.

▐▛███▜▌ Claude Code v2.0.25
▝▜█████▛▘ Sonnet 4.5 · Claude Max
▘▘ ▝▝ /Users/jakedahn/Desktop/projects/pomodoro
...

오늘의 예시입니다:

• 내가 언제 가장 일을 잘할까?

이번 주에 당신은 8번의 세션 (session)을 완료했습니다. 그중 모두 오전 11시 이전에 시작되었습니다. 점심 식사 후에 시도했던 세 번은요? 아직 실행 중이거나 중단되었습니다. 당신은 아침형 인간임이 확인되었습니다. 오전 시간을 딥 워크 (deep work)를 위해 확보하세요.

이제, 이것이 딱히 흥미로운 내용은 아니라는 점을 이해합니다. 이것은 단지 System Skill Pattern (시스템 스킬 패턴)의 구성 요소들이 어떻게 서로 맞물리는지를 명확히 보여주기 위한 장난감 수준의 구현체일 뿐입니다.

그래서 패턴이 무엇인가요?

그 핵심은, System Skill (시스템 스킬)이 세 가지 구성 요소를 결합하여 애니메이션화된 자가 실행형 정보 시스템 (animated self-running information systems)을 만드는 것입니다.

세 가지 구성 요소는 다음과 같습니다.

CLI — Claude가 실행할 수 있는 설정이 필요 없는 (no-config) 실행 가능한 바이너리 (executable binary).
SKILL.md — 원하는 시스템을 작동시키고 CLI를 실행하는 방법에 대한 튜토리얼.
데이터베이스 (Database) — SQLite.

구성 요소 1: CLI 바이너리

이것은 Claude가 당신의 시스템과 상호작용하기 위해 사용할 독립형 실행 파일입니다. CLI의 목표는 시스템의 핵심 루프 (core loop)를 사용하기 쉬운 CLI로 추출하는 것입니다. 이를 통해 Claude는 시스템을 효과적으로 구동하는 데 사용할 수 있는 핸들 (handles)과 훅 (hooks)을 갖게 됩니다.

예를 들어, Claude가 당신의 세션 기록을 볼 수 있게 하고 싶다면, 세션 기록 테이블을 출력하는 ./pomodoro history와 같은 명령어를 만듭니다.

아래는 Claude가 작업을 시작하고 (데이터베이스에 작업 세션을 기록), 작업 통계를 점검하며 (소요 시간, 중단된 루프 등), 세션 기록을 가져오기 위해 실행할 수 있는 Pomodoro System Skill의 몇 가지 명령어입니다.

./pomodoro start --task "Deep work on authentication"
./pomodoro stats --period week
./pomodoro history --days 30

이 CLI의 중요한 속성은 반드시 **자기 완결적 (self-contained)**이어야 한다는 점입니다. 런타임 의존성 (runtime dependencies)이 없어야 하며, 설정도 필요 없습니다. 오직 단일 실행 가능한 바이너리 파일 하나면 충분합니다.

Pomodoro 참조 구현(reference implementation)에서는 코드를 단일 바이너리로 컴파일할 수 있는 현대적인 TypeScript 런타임(runtime)인 Deno를 사용했습니다. Python과 비교했을 때 Deno를 사용하는 한 가지 큰 장점은 의존성(dependencies) 설치 과정을 건너뛸 수 있다는 점입니다. 사용자 입장에서는 이로 인해 훨씬 더 나은 설치 경험을 제공합니다. 그저 ./pomodoro를 실행하기만 하면 됩니다.

그냥 바로 작동합니다.

Deno의 또 다른 좋은 점은 보안 제한(security restrictions)을 컴파일된 바이너리에 직접 포함할 수 있다는 것입니다. 기본적으로 바이너리는 네트워크 접근 권한이나 디스크 상의 파일 접근 권한을 갖지 않습니다. 어떤 파일을 읽고 쓸 수 있는지 정확하게 명시적으로 구성할 수 있습니다. 이것이 샌드박싱(sandboxing)을 위한 충분한 조치는 아니지만, 여러분의 CLI가 인터넷을 통해 데이터를 유출(exfiltrating)하지 않는다는 것을 알 수 있다는 점은 유용합니다.

마지막으로, CLI의 --help 플래그가 각 명령에 대해 도움이 되는 문서를 제공하도록 하세요. 이는 Claude가 경로를 이탈하지 않게 하고 SKILL.md의 빈틈을 채우는 데 매우 효과적입니다.

또한 이는 여러분의 CLI가 사용하기 쉽고 이해하기 쉽도록 보장하는 아주 좋은 방법이기도 합니다. 혹시라도 사람이 직접 SKILL.md를 읽고 명령을 실행하고 싶어 할 경우를 대비해서 말이죠.

Usage: pomodoro
Version: 1.0.0
Description:
...

구성 요소 2: SKILL.md

SKILL.md는 Claude에게 다음 내용을 알려줍니다:

  • 시스템이 무엇인지, 그리고 시스템을 구동하는 방법(instructions)에 대한 지침
  • 언제 어떤 CLI 명령을 실행해야 하는지
  • 어떤 상황에서 어떤 플래그(flags)를 사용해야 하는지
  • 출력을 어떻게 해석해야 하는지
  • 데이터가 축적됨에 따라 어떤 패턴을 찾아야 하는지

저는 SKILL.md를 Claude에게 여러분의 시스템에 대해 어떻게 생각해야 하는지, 그리고 시스템을 조작하기 위해 CLI를 어떻게 사용해야 하는지에 대한 튜토리얼을 제공하는 장소라고 생각합니다. 특히 CLI의 --help 플래그가 좋은 문서를 제공한다면, 여기에 작성할 내용은 상당히 간략해도 괜찮습니다.

시스템의 멘탈 모델(mental model)을 공유하는 데 집중하세요. 서로 다른 데이터 구조(data structures)는 무엇인가요? 그것들이 어떻게 흐르고 서로 상호작용하나요?

다음은 핵심 결정 흐름(core decision flow)을 보여주는 Pomodoro SKILL.md의 일부입니다. 이와 같은 세부 정보를 공유하는 것은 Claude가 올바른 경로를 유지하도록 돕는 데 도움이 됩니다.

빠른 의사결정 트리 (Quick Decision Tree)

사용자 작업 → 어떤 종류의 요청인가?
├─ 집중 작업 시작 → 먼저 상태를 확인한 후 세션 시작
...

SKILL.md

는 기능을 수정하기에도 매우 유연합니다. 예를 들어, 당신이 매일 특정 System Skill을 사용한다면, 상호작용이 어떻게 이루어져야 하는지에 대한 흐름을 바꾸거나 개인적인 선호도를 정의할 수 있습니다.

구성 요소 3: SQLite 데이터베이스

SQLite 데이터베이스는 시스템의 상태(state)를 저장하는 데 사용됩니다. 이는 Claude가 읽고 쓸 수 있는 단순한 단일 파일 데이터베이스입니다.

Pomodoro System Skill의 경우, 데이터베이스는 특별할 것이 없습니다. 테이블 하나, 컬럼 다섯 개. 화려한 것은 없습니다.

CREATE TABLE sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
task TEXT NOT NULL,
...

제가 SQLite를 선택한 이유는 주로 그것이 훌륭하기 때문이기도 하지만, 다음과 같은 이유도 있습니다:

  • 독립적입니다 — 단일 파일일 뿐이며, 실행할 서버 프로세스나 관리할 자격 증명(credentials)이 필요 없습니다.
  • CLI 바이너리 바로 옆에 존재합니다. (./pomodoro가 CLI이고, ./pomodoro.db가 데이터베이스입니다.) — 설정이 전혀 필요 없습니다 (Zero configuration).
  • 백업 및 복구가 쉽습니다.
  • 최악의 경우, CLI가 수행하지 못하는 기능이 필요하더라도, Claude가 데이터베이스에서 데이터를 직접 쿼리(query)하여 다른 스크립트나 Skill로 가져올 수 있습니다.

모두 합치기

그렇다면 이 세 가지 요소가 실제로 어떻게 함께 작동할까요?

당신이 Claude에게 포모도로(pomodoro)를 시작하라고 요청합니다. Claude는 SKILL.md를 읽고, ./pomodoro start를 실행해야 함을 확인한 뒤 CLI를 실행합니다. CLI는 SQLite에 행(row)을 기록합니다. 세션이 완료되었습니다.

3주 후, 당신이 Claude에게 생산성에 대해 묻습니다. Claude는 ./pomodoro stats --period week를 실행하여 모든 세션 정보가 담긴 JSON을 받아온 뒤, 당신이 항상 오전 세션은 완료하지만 오후 세션은 중도 포기한다는 사실을 추론합니다.

시도해 볼 만한 몇 가지 아이디어

포모도로 타이머를 만드는 과정은 즐거웠지만, 아직 탐험되지 않은 영역이 방대합니다.

개인적으로 저는 System Skill이 일상의 작은 작업이나 워크플로우를 자동화하기 위한 개인 맞춤형 데이터 시스템(personal bespoke data systems)을 구축하는 데 매우 빛을 발한다고 생각합니다. 다른 누구도 신경 쓰지 않지만, 당신에게는 중요한 것들 말입니다.

저는 이것들을 직접 만들어본 적은 없지만, 정말 멋질 것이라고 생각합니다!

시도해 볼 만한 몇 가지 아이디어:

개인 금융 관리자 (Personal Finance Manager)

  • CLI
    money tx list

, money tx info abc-123

, money note abc-123 "unexpected road trip!"

, money cat abc-123 "vacation"

  • 데이터베이스 (Database): 모든 은행 및 신용카드 거래 내역 테이블 (mint.com을 생각해보세요)
  • 결과: Claude가 지출 트렌드를 파악하기 위해 거래 내역을 모니터링하거나, 거래 내역에 대해 질문을 던지는 등의 작업을 수행할 수 있습니다.

개인 프로젝트 관리 (Personal Project Management)

  • CLI
    task new "rake the leaves"

, task update T-123 --status=done

, task list

, task stats

, task kanban

  • 데이터베이스 (Database): 상태, 마감일, 우선순위 등이 포함된 작업(task) 테이블
  • 결과: "이번 주의 내 우선순위 상위 3개는 무엇인가요?"

감사 일기 (Gratitude Journal)

  • CLI:
    thankful "for my cat"

, thankful list

, thankful trends

, thankful search

  • 데이터베이스 (Database): 메시지와 타임스탬프가 포함된 항목(entry) 단일 테이블
  • 결과: 당신에게 말을 걸어주고, 기분이 우울할 때 당신을 북돋아 줄 수 있는 감사 일기

ChatGPT Pulse 클론 (ChatGPT Pulse Clone)

  • CLI:
    pulse topic add "AI safety research"

, pulse topic remove "tennis"

, pulse generate

, pulse feedback <id> --helpful

, pulse history

  • 데이터베이스 (Database): 관심 주제, 생성된 브리핑(briefing), 유용했던 내용에 대한 피드백을 위한 테이블들
  • 결과: Claude에게 아침 브리핑을 요청하면, Claude가 웹을 검색하여 당신이 추적 중인 주제에 대한 업데이트를 찾고, 이를 개인화된 요약본으로 합성하며, 시간이 지남에 따라 당신의 피드백으로부터 학습합니다.

이 모든 것의 패턴은 동일합니다. Claude에게 CLI 형태의 시스템을 운영할 수 있는 핸들(handles)과 훅(hooks)을 제공하고, 마법이 일어나는 것을 지켜보세요.

"Pomodoro System Skill을 시도해보고 싶어요"

Apple Silicon Mac을 사용 중이라면, Claude Plugin Marketplace를 통해 Pomodoro 스킬을 설치하고 다음 세 단계를 통해 Claude Code에서 즉시 사용을 시작할 수 있습니다:

# 1. 마켓플레이스 추가
/plugin marketplace add jakedahn/pomodoro
# 2. Claude Code 종료
...

그 다음 Claude에게 이렇게 말하기만 하면 됩니다: "테스트 작성을 위해 포모도로(pomodoro)를 시작해줘"

참고로, Claude Skills는 아직 Claude Code Plugin Marketplace에서 일급 시민 (first class citizen)으로 기본 지원되지는 않지만, 여전히 리포지토리 (repo)를 설치하고 스킬 파일들을 ~/.claude/skills/ 디렉토리에 설치하는 설치 스크립트를 실행할 수 있습니다.

"나만의 것을 만들고 싶어요"

Pomodoro 구현체는 참조용으로 GitHub에 공개되어 있습니다: github.com/jakedahn/pomodoro

클론(Clone)하세요. 코드를 읽으세요. 해킹하세요. 망가뜨려 보세요. 세 개의 파일에 걸쳐 총 600줄 정도의 코드로 의도적으로 단순하게 유지되었습니다. CLI, SQLite 데이터베이스, 그리고 SKILL.md가 어떻게 조화를 이루는지 감을 잡아보세요.

마치며

저는 지속성 (persistence)을 가진 Skills에 대해 생각하며 이 작업을 시작했습니다. 하지만 결과적으로 나타난 것은 그보다 더 큰 무언가였습니다.

Claude에게 시스템을 조작할 수 있는 핸들(handles) — 명령어를 실행할 CLI, 무언가를 기억할 데이터베이스, 그리고 이 모든 것이 어떻게 작동하는지에 대한 튜토리얼 — 을 제공하면 무언가 변화가 일어납니다. 그것은 더 이상 단순히 명령어를 실행하는 것이 아닙니다. 그것은 핸들을 돌리는 것입니다. 자체적인 OODA 루프 (OODA loop)를 실행하는 것입니다. 시간이 지남에 따라 복리로 쌓이는 컨텍스트 (context)를 구축하는 것입니다.

그것이 바로 상전이 (phase change)입니다: 채팅 에이전트 (chat agents)와 Skills가 결합하여 새로운 무언가, 즉 Claude가 단순히 응답하는 것을 넘어 Claude가 생동감을 불어넣는 시스템 (systems)이 되는 것입니다.

여러분 모두가 이 패턴을 통해 어떤 System Skills를 만들어낼지 기대됩니다. X에서 저를 태그하거나 jake@shruggingface.com으로 이메일을 보내주세요.

Pomodoro 스킬은 github.com/jakedahn/pomodoro에서 확인할 수 있습니다. 전체 소스 코드는 여러분만의 System Skills를 구축하기 위한 참조 구현체 (reference implementation)로 포함되어 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0