Community코딩 & 개발github.com

g-alantok/컨텍스트-엔지니어링

사용자와 함께 간단한 스킬(Claude, ChatGPT, Copilot용)을 구축하거나 점검합니다.

컨텍스트-엔지니어링란 무엇인가요?

이 스킬은 개발자와 AI 에이전트 사용자가 Claude, ChatGPT, Copilot과 같은 LLM 기반 도구에서 사용할 간단한 스킬을 설계하거나 기존 스킬을 감사(audit)할 수 있도록 단계별 청사진을 제공합니다. 핵심은 '최소한의 복잡성으로 목표를 달성하는 가장 단순한 스킬'을 만드는 것입니다. 사용자가 스킬의 목적을 정의하고, 7가지 필수 구성 요소(목적, 트리거, 입력, 방법, 맥락, 지침 및 검증, 출력)를 빠짐없이 포함하도록 안내하며, LLM의 한계를 고려한 구체적인 질문과 예시를 제공합니다. 또한, 잘못된 가정을 최소화하기 위해 최대 두 번의 질문 라운드와 승인 절차를 거쳐, 사용자가 직접 청사진을 검토하고 확정할 수 있도록 지원합니다. 이 스킬은 스킬 자체를 빌드하는 메타스킬로, 다른 에이전트 스킬의 품질과 일관성을 높이는 데 필수적입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/g-alantok/context-engineering/tree/HEAD/skill-blueprint

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

목적

Claude, ChatGPT 또는 Copilot에서 사용할 간단한 스킬에 대한 청사진을 사용자와 함께 작업하고 구축할 준비를 합니다. 모든 질문, 초안 및 수정 사항을 '이것이 사용자가 원하는 작업을 수행하는 가장 간단한 스킬을 완성하는 데 도움이 되는가?'라는 기준에 맞춰 확인합니다.

단계

새로운 스킬과 감사(audit)는 동일한 단계를 따릅니다. 최대 두 번의 질문 라운드(1단계와 4단계)를 요청합니다. 2단계와 5단계의 중지는 '예' 또는 '변경'만 요청합니다. 모든 질문이나 중지 시, 사용자가 동의하거나 변경할 수 있도록 권장 사항과 그 이유를 함께 제시합니다. 사용자가 추상적인 질문에 답하는 대신 구체적인 내용에 반응할 수 있도록 초안을 일찍 작성합니다.

  1. 작업 이해하기. 사용자가 무엇을 하려는지, 좋은 결과는 무엇이라고 생각하는지, 어떤 AI 도구를 사용하는지 파악하는 개방형 질문을 하나 던집니다. 감사의 경우 스킬을 요청합니다. 대화에서 이미 답변된 내용은 건너뜁니다.
  2. 형태 결정하기. 하나의 스킬 또는 여러 개의 스킬, 그리고 단계, 표준 또는 둘 다(‘스킬의 두 가지 유형’ 참조) 결정합니다. 입력이 아닌 목적을 기준으로 결정합니다. 하나의 목적은 입력이 아무리 다양해도 하나의 스킬이고, 두 개의 목표는 두 개의 스킬을 의미합니다. 대부분의 입력에 대해 단계가 변경된다면 숨겨진 두 번째 목적이 있는지 확인합니다. 형태를 권장한 후 중지하고 확인합니다.
  3. 청사진 초안 작성하기. 보유한 정보를 바탕으로 일곱 가지 부분을 모두 초안으로 작성하고, 각 추측을 가정(assumption)으로 표시합니다. 감사의 경우 각 부분이 있거나 없음을 표시합니다. 해당 분야에서 인정된 모범 사례(스토리라인의 경우 민토 피라미드 원리, 평이한 기술 문서 작성을 위한 ASD-STE100) 또는 페르소나(글을 다듬는 스킬의 경우 경험 많은 신문 부편집자)가 스킬을 집중하는 데 도움이 될지 고려합니다. 하나를 지정하면 LLM이 이미 알고 있는 실무 체계를 가리키며 여러 규칙을 대신할 수 있기 때문입니다. LLM이 수행할 작업을 변경하는 경우에만 추가하고, 역할만으로는 대체로 어조만 바뀌므로 페르소나와 그 사람이 다르게 하는 작업을 함께 지정합니다. 이유와 함께 가정으로 나열하여 사용자가 동의, 교체 또는 삭제할 수 있도록 합니다.
  4. 격차 채우기. 한 번의 메시지에서 스킬을 가장 크게 변경할 가정에 대해 최대 세 가지 질문을 합니다. 이것이 마지막 라운드입니다. 아직 알 수 없는 것은 나열된 가정으로 남습니다.
  5. 확인 후 승인 요청하기. 먼저 (1단계의) 사용자가 하려는 작업에 대해 청사진을 확인한 다음, ‘좋은 스킬의 모습’에 대해 확인하고, 실패한 부분을 수정합니다. 이를 보여주고 다음과 같이 질문합니다: “그대로 승인하시겠습니까, 변경하시겠습니까, 아니면 삭제하시겠습니까?” (감사: “어떤 수정 사항이 유효합니까?”). 사용자가 승인한 후에만 스킬을 만들거나 변경합니다.

좋은 스킬의 모습

스킬의 두 가지 유형

  • 단계: 모든 대본을 동일한 요약으로 바꾸는 것과 같은 순서 있는 프로세스.
  • 표준: 누군가의 목소리로 글을 쓰는 것과 같이 결과가 충족해야 하는 순서 없는 규칙. 표준 스킬에서 표준은 Method입니다. 단계 스킬에서는 좋은 결과에 대한 표준이 Context에 들어갑니다.
  • 많은 스킬이 둘 다 사용합니다: 표준에 대한 확인으로 끝나는 단계.

일곱 가지 부분

‘LLM’은 스킬을 실행할 AI 모델을 의미합니다. 세 번째 열은 각 부분의 기본 원칙, 즉 LLM의 한계를 제시합니다. 일곱 가지를 모두 다룹니다. 기본적으로 각 부분에 자체 소제목을 지정합니다. 사용자가 특정 부분이 가장 중요하다고 말하면, 각 질문에 답변되는 한, 판단에 따라 (자체 소제목 또는 병합된 부분) 처리합니다.

부분질문이유 (LLM이 ...하기 때문에)
목적 (Objective)목적이 한두 문장으로 해결하려는 문제를 설명하고, LLM이 각 단계와 결과를 이에 맞춰 확인하도록 지시하는가?사례가 다루어지지 않을 때 목표로 되돌아가므로, 목표는 모든 단계에서 기억할 수 있을 만큼 짧아야 합니다.
트리거 (Trigger)설명이 스킬이 수행하는 작업과 사용 시점을 한 문장으로 명확하게 설명하는가?스킬이 시작될 때까지 이것만 보며, 모든 채팅에서 모든 스킬의 설명을 읽습니다.
입력 (Input)사용자가 제공해야 하는 것, 시작하기에 충분한 정보, 각 입력 유형에 따라 변경되는 사항을 명시하는가? 작업 방식의 변경은 Method에 “이러면 저렇게” 형식으로 들어갑니다.빈틈이 있을 때마다 추측합니다.
방법 (Method)LLM이 수행하는 작업을 순서대로 단계로 설명하고, 되돌리기 어려운 작업 전과 사용자의 판단이 필요한 지점에서 질문으로 끝나는 중지를 포함하며, 표준 또는 둘 다를 명시하는가?행동하고 완료하는 쪽으로 기울기 때문에, 어디서 멈춰야 하는지 알려주지 않으면 멈추지 않습니다.
맥락 (Context)LLM이 이미 알지 못할 배경(정의, 출처, 준수해야 할 모범 사례나 페르소나, 결과 대상)을 제공하는가?앞에 있는 내용만 알고 있습니다.
지침 및 검증 (Guidelines and verification)결과를 망칠 수 있는 몇 가지 실수를 각각 대체 방법과 함께 명명하고, LLM이 자신의 결론을 (출처, 인용문, 사용자의 말)에 대해 자신만의 방식으로 확인하도록 유도하는가?금지된 사항을 떠올리게 하며, 추측하면서도 확신하는 듯 말할 수 있습니다.
출력 (Output)결과와 그 위치를 설명하고, 사용하는 사람에게 맞는 예시를 하나 제공하며, 완료된 상태가 무엇인지 명시하는가?예시를 밀접하게 복사하고, 완료되었다고 생각하면 멈춥니다.

따를 수 있는가?

모든 줄에 대해 다음을 질문하십시오:

  • 작업에 익숙하지 않은 사람이 의미를 묻지 않고 따를 수 있는가?
  • 스킬의 다른 줄(방금 추가되거나 변경된 줄 포함)과 반복되거나 모순되는가?

작성 규칙

ASD-STE100(Simplified Technical English)을 지침으로 삼아 언어를 단순화하여 각 줄이 LLM이 오해할 수 없는 하나의 의미를 갖도록 합니다.

  • 브리핑 (Briefed): 유능한 동료에게 브리핑하듯 작성합니다: 왜 핵심 사항이 중요한지, 필요한 배경, 목적을 달성하기 위해 질문해야 할 사항. 추론할 수 있을 만큼 충분하고 그 이상은 안 됩니다. LLM은 맨 규칙을 엄격하게 적용하고 이유가 있으면 스킬이 나열하지 않은 사례를 처리할 수 있기 때문입니다.
  • 간결함 (Concise): 적을수록 좋습니다. 가장 많은 작업을 수행하는 줄(80/20)을 유지하고 나머지는 삭제합니다. 사실이고 유용한 줄이라도 삭제합니다. 모든 추가 줄이 LLM의 주의를 차지하기 때문입니다. 서문을 삭제합니다. 약 1,000단어는 제한이 아닌 대략적인 지침입니다. 핵심 규칙을 상단과 하단에 배치합니다. LLM은 긴 텍스트의 중간 부분에 가장 적은 주의를 기울이기 때문입니다. 배경이 지침보다 많아지면 참조 파일로 이동할 것을 제안하고 사용자가 결정하도록 합니다.
  • 정밀함 (Precise): 목적에 필요한 결과를 가장 잘 얻는 단 하나의 단어를 사용합니다. 정밀함은 정확한 단어를 의미하며, 일반적으로 더 적은 수의 단어를 의미합니다.
  • 확인 가능함 (Checkable): 각 지침을 동사로 시작하고, 지침과 완료 조건을 LLM이 확인할 수 있는 것으로 만듭니다(“짧게”는 “100단어 미만”이 됩니다). 판단이 필요한 사항은 목적에 맡깁니다.
  • 태그 지정 (Tagged): 소제목을 사용하여 지침을 구성하고, 지침이 아닌 자료(예: 예시, 템플릿, 사용자가 붙여넣는 텍스트)만 해당 유형을 나타내는 XML 태그(<example>)로 감쌉니다. 태그는 LLM에 해당 블록의 시작과 끝, 샘플이며 명령이 아님을 보여줍니다. 본문에 태그를 유지합니다. 이름과 설명에는 태그를 포함할 수 없기 때문입니다. 추가하는 각 태그를 이유와 함께 가정에 나열하여 사용자가 유지하거나 삭제할 수 있도록 합니다.

지침 및 검증

  • 스킬을 변경할 때 LLM은 각 격차에 줄을 추가하여 패치하는 경향이 있으며, 더 짧아 보이기 때문에 스킬에 필요한 부분을 삭제하는 경향이 있습니다. 변경해야 하는 줄 뒤에 새 줄을 추가하는 대신 해당 줄을 다시 작성하고, 목적은 짧게 유지합니다. 삭제하기 전에 (1단계에서) 사용자가 달성하려는 것을 명명하고, 삭제된 버전이 여전히 그 목표에 도달하는지 확인합니다.
  • 감사에서 각 발견 사항 뒤에 해당 줄을 인용하여 사용자가 직접 확인할 수 있도록 합니다.

출력

  • 새 스킬: 채팅의 청사진, 각 부분당 한두 줄, 1단계에서 사용자가 지정한 도구에 설치하는 방법으로 끝맺습니다. 확실하지 않은 경우 해당 도구의 현재 단계를 조사합니다. 각 도구가 스킬을 설치하는 방법은 자주 변경되기 때문입니다. 그 아래에 가정과 두세 개의 테스트 요청(각각 좋은 결과가 무엇인지 포함)을 나열합니다.
  • 감사: 스킬이 하려는 작업을 설명하고, 다섯 줄 요약(작동하는 것, 작동하지 않는 것, 다음에 할 일, 이유)을 제공한 다음, 누락된 각 부분과 검사에 실패한 각 줄을 나열합니다.

예시 청사진. LLM이 이 형태를 따르도록 합니다:

목적: 모든 회의 대본을 동일한 한 페이지 요약으로 변환하여 결정 사항과 조치 사항을 쉽게 찾을 수 있도록 합니다. 포함하기 전에 각 항목을 해당 목표에 맞춰 확인합니다. 트리거: 누군가 회의 대본을 공유하고 요약을 요청할 때 사용합니다. 입력: 대본과 요약 대상. 발언자가 명명되지 않은 경우 누구인지 묻습니다. 방법: 대상이 누구인지 묻고, 대화를 결정 사항, 조치 사항, 공개 질문으로 분류한 다음, 최종 확정하기 전에 중지하고 “누락되거나 잘못 들은 내용이 있습니까?”라고 질문합니다. 맥락: 한 페이지 형식과 독자가 필요로 하는 것. 지침 및 검증: 소유자를 추측하는 대신 [owner?]로 표시합니다. 나열하기 전에 각 조치를 대본과 대조하여 확인합니다. 출력: 채팅의 한 페이지 요약. 모든 조치에 소유자 또는 [owner?] 표시가 있을 때 완료됩니다.

완료 조건

사용자가 형태에 동의하고 1단계에서 설명한 작업을 수행하며 일곱 가지 부분이 모두 포함되고 모든 줄을 따를 수 있는 청사진을 승인하면 완료됩니다.

관련 스킬