Community라이팅 & 에디팅github.com

prompt-polish

클로드 코드 스킬로, 원시 질문을 연구 기반의 프롬프트 엔지니어링 전략을 자동 선택하여 고성능 LLM 프롬프트로 재구성합니다.

prompt-polish란 무엇인가요?

이 스킬은 사용자가 입력한 원시 질문이나 작업을 분석하여 가장 적합한 프롬프트 엔지니어링 전략을 자동으로 선택하고, 이를 하나의 완성된 프롬프트로 재구성하여 출력합니다. 14가지 연구 기반의 프롬프트 전략(CoT, ReAct, ToT 등)을 상황에 맞게 조합하며, 출력물은 코드 블록으로 감싸진 재사용 가능한 프롬프트 자체입니다. 클로드 코드 플랫폼에서 동작하며, 사용자가 '프롬프트 최적화'나 '질문 재작성'을 요청할 때 가장 유용합니다. 특히 과도한 전략 사용을 지양하고 2~4개의 핵심 전략만을 조합하여 프롬프트를 간결하고 효과적으로 만드는 데 중점을 둡니다. 출력 규칙이 엄격하여 코드 블록 외부에는 어떤 설명도 추가하지 않으며, 블록 내부에 모든 전략과 구체적인 내용을 포함시킵니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add host452b/prompt-polish

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

Prompt Polish(프롬프트 전략 최적화)

이 스킬이 하는 일

원시 질문/작업을 입력받아, 먼저 작업 유형을 판별한 후 해당 유형에 맞는 텍스트 기반 프롬프트 전략 집합(14개 연구 기관 기법에서 선택)을 선정합니다. 이 전략들을 하나의 일관된 프롬프트로 엮어 재구성된 프롬프트 자체를 출력합니다.

핵심 원칙: 당신의 전체 응답은 재구성된 프롬프트 그 자체여야 하며, 그 외 어떤 것도 작성하지 않습니다. 당신은 사용자가 재사용할 수 있는 프롬프트를 만드는 것이지, 원래 질문에 답하는 것이 아닙니다.

사용 시기

  • 사용자가 문제/작업을 주면서 "더 나은 프롬프트로 바꿔줘" "프롬프트 최적화" "프롬프트 재구성"을 요청할 때
  • 사용자가 질문을 LLM이 더 잘 대답하거나 올바른 형식으로 답변하도록 만들고 싶을 때
  • 키워드: prompt polish / optimize prompt / 프롬프트 엔지니어링 / 질문 재작성

부적합:

  • 사용자가 원래 질문에 직접 답변해주길 원할 때 (그러면 재구성하지 말고 바로 답변하세요)
  • LLM 프롬프트와 관련 없는 글쓰기/편집 작업

출력 계약 (가장 중요)

당신의 전체 응답 = 하나의 코드 블록. 블록 안에는 재구성되어 바로 복사하여 사용할 수 있는 프롬프트가 들어가고, 블록 밖에는 0개의 문자가 있어야 합니다.

구체적으로:

  • 코드 블록 이전에 인사말, 설명, "이것은 재구성된 프롬프트입니다" 같은 말을 쓰지 않습니다.
  • 코드 블록 이후에 설명, 해석, 평가를 쓰지 않으며, 특히 원래 질문의 답을 계산하거나 유출하지 않습니다 (당신은 템플릿을 만드는 중이지, 문제를 푸는 것이 아닙니다).
  • 선택한 전략을 프롬프트 본문에 직접 반영합니다 (역할 설정문, 단계, 답변 앵커 등). 블록 밖에서 "어떤 전략을 사용했습니다"라고 설명하지 않습니다.
  • 기본적으로 ``` 로 감싸고, 프롬프트 본문 자체에 ``` 가 포함되어 있으면 ~~~ 로 대체하여 전체가 하나의 코드 블록이 되도록 합니다.
  • 유형 판단, 조합 선택은 모두 내부 사고이며, 응답에 작성하지 않습니다.

예외: 사용자가 명시적으로 "왜 이렇게 바꿨는지 설명해줘/전략을 설명해줘"라고 요청한 경우에만 설명을 추가합니다 (사용자 명령이 본 계약보다 우선합니다).

작업 흐름 (내부 실행, 과정 출력 안 함)

  1. 유형 판단 — 원시 질문을 아래 테이블의 한 유형으로 분류합니다 (가장 주된 유형 하나 선택; 두 유형을 병합할 수도 있지만, 전략 개수는 2~4개로 제한).
  2. 조합 선택 — 바로 아래 「작업 유형 → 전략 조합」 테이블에서 해당 조합을 가져옵니다 (보통 2~4개). 명확한 이유가 없으면 추가로 전략을 쌓지 마세요—많이 쌓을수록 서로 간섭하고 프롬프트가 비대해집니다.
  3. 재구성 — 「전략 퀵 레퍼런스」를 사용하여 각 전략을 프롬프트 내 구체적인 문장/단계로 작성하고, 원래 질문의 구체적인 내용을 채워 넣습니다 (결과물은 완제품이며, {자리표시자}를 남기지 않습니다. 단, 최종 사용자가 채울 필드인 경우는 예외).
  4. 프롬프트만 출력 — 출력 계약에 따라, 전체 응답은 해당 코드 블록 하나뿐입니다.

작업이 너무 모호하거나 정보가 부족할 때: 사용자에게 다시 묻지 마세요. 대신 「대화형 상호작용」 전략을 사용합니다—"먼저 명확히 한 다음 실행"을 재구성된 프롬프트 안에 작성합니다 (목표 모델이 먼저 사용자에게 질문하도록 함). 전체 응답은 여전히 하나의 코드 블록입니다.

작업 유형 → 전략 조합 (텍스트 기반)

작업 유형추천 조합핵심 장점
객관식 / 객관적 판단옵션 우선 + 기호 자리표시자 + 역방향 검증위치 편향 감소 + 정확한 답변 추출 + 자체 오류 수정
전문 분야 / 규정 준수 생성역할-규칙 이중 보험 + 지식 타임스탬프 + 미러 테스트전문 지식 검색 + 시점 정확성 + 2차 최적화
복잡 추론 문제 해결CoT + ToT + 역방향 검증단계적 추론 + 다중 경로 검증 + 자체 반박
배치 표준화 작업메타 프롬프트 + 계층형 프롬프트 + 프롬프트 반복자체 최적화 프롬프트 + 명확한 파싱 + 안정적인 준수
창의성과 사실 융합프롬프트 체이닝 + 역방향 검증 + 미러 테스트단계별 발산 후 수렴 + 사실 자체 점검 + 다듬기
고정밀 Q&A역할-규칙 이중 보험 + 역방향 검증 + 미러 테스트삼중 보험으로 오류율 감소
구조화된 출력계층형 프롬프트 + 기호 자리표시자 + 프롬프트 반복형식 일관성 보장
환각 감소지식 타임스탬프 + 역방향 검증 + 미러 테스트다층 사실 확인
Agent / 도구 호출ReAct + 프롬프트 체이닝다단계 작업의 체계적 처리 (도구 사용 시 최적)
요구 사항 모호대화형 상호작용 → 계층형 프롬프트 → (프롬프트 내에서) 실행먼저 명확히 한 후 실행

이것들은 기본 시작점일 뿐, 불변의 규칙은 아닙니다. 여러 유형에 해당하면 합집합을 취한 후 2~4개로 줄이세요. 전략을 너무 많이 쌓으면 서로 간섭합니다.

전략 퀵 레퍼런스 (14개, 텍스트로 프롬프트에 작성 가능)

전략프롬프트에 작성하는 방법 (한 문장)적합한 경우
프롬프트 반복 Prompt Repetition프롬프트의 시작과 끝에 핵심 명령/핵심 제약을 각각 다시 명시합니다 (총 2~3회)표준화, 형식 제어, 명령 준수
옵션 우선 Option-First MCQ후보 옵션을 질문 앞에 배치하여 먼저 답변 범위를 고정시킨 후 질문합니다객관식, 분류, 객관적 문제
역할+규칙 이중 보험 Role-Rule"당신은 X 분야 전문가이며, 규칙 Y를 엄격히 준수합니다. 위반 시 먼저 '오류'라고 답하고 스스로 수정하세요"전문 Q&A, 규정 준수, 고정밀
역방향 검증 Self-Contrast"답변을 먼저 제시 → 이를 뒤집을 수 있는 3가지 증거를 나열하고 신뢰도 점수(1~5) 부여 → 이를 기반으로 재검토 후 수정"사실 Q&A, 환각 감소, 고위험 판단
기호 자리표시자 Symbolic Placeholder"최종 답변을 ▶︎▶︎answer▶︎▶︎ 사이에 넣으세요. 그렇지 않으면 무효 출력으로 간주합니다"추출, 정확한 답변, 구조화, 파싱 가능
지식 타임스탬프 Knowledge Time-Stamp"YYYY-MM 기준으로 ... ; 이후의 새로운 정보는 '만료되었을 수 있음'을 표시하세요"시의성 있는 Q&A, 업계 동향
계층형 프롬프트 Layered Prompt목표 → 규칙 → 예시 → 형식 네 가지 계층으로 명령 구성다중 제약 복잡 명령, 긴 텍스트
미러 테스트 Mirror Test마지막에 "자신의 답변을 다시 읽고, 어느 문장을 바꾸겠습니까? 수정된 문장만 출력하세요" 추가교정, 다듬기, 최종 품질 검사
대화형 상호작용 Flipped Interaction"실행 전에 다음 3가지 사항에 대해 나에게 질문하여 명확히 한 후, 내 응답에 따라 실행하세요"요구 사항 모호, 개인화 맞춤
CoT"think step by step, 단계적으로 추론하고 각 단계의 이유를 제시하세요"수학, 논리, 다단계 추론
프롬프트 체이닝 Prompt Chaining【단계1 → 단계2 → 단계3】으로 분할, 이전 단계의 출력을 다음 단계에 입력 (하나의 순차 프롬프트로 작성)긴 문서 요약, 다단계 분석, 파이프라인
메타 프롬프트 Meta-Prompting"반복 실행될 이 작업을 위한 더 나은 프롬프트를 먼저 생성한 후, 그것을 사용하여 실행하세요"반복 작업, 프롬프트 자체 최적화
ToT"3가지 추론 경로를 나열 → 각각의 타당성 평가(1~10) → 최적 선택 후 단계적 추론 → 실패 시 차선으로 백트래킹"고난도 추론, 의사 결정, 계획
ReAct"사고 → 행동 → 관찰 순환: 먼저 무엇을 할지 생각하고, 행동한 후, 조정이 필요한지 판단" (도구/검색 사용 시 최적)Agent, 도구 호출, 검색+추론

각 항목의 전체 템플릿, 원리 및 출처는 references/strategies.md를 참조하세요.

전체 예시

원본 입력: 다음 중 소수인 것은? 51, 57, 61, 91

(내부 판단, 출력하지 않음) 유형 = 객관식/객관적 판단 → 조합 = 옵션 우선 + 기호 자리표시자 + 역방향 검증

당신의 전체 응답은 아래 코드 블록입니다 (참고: 문제를 풀지 않고, 답을 유출하지 않으며, 블록 밖에는 문자 없음):

다음 중 소수인 것을 골라주세요:
A. 51    B. 57    C. 61    D. 91

질문: 위 네 개의 숫자 중 소수는 무엇입니까?

작성 요구사항:
1. 먼저 각 후보에 대해 독립적으로 나눗셈 검증을 수행: p×p ≤ n 을 만족하는 모든 소수 p (2, 3, 5, 7 ...)로 차례로 나눕니다. 나누어 떨어지면 합성수이며 분해식을 쓰고, 모두 나누어 떨어지지 않으면 소수입니다.
2. 명확한 답변을 제시한 후, 해당 답변을 뒤집을 수 있는 3가지 증거를 나열하고 각각의 신뢰도를 점수(1~5)로 매깁니다. 총점이 0보다 크면 이를 기반으로 재검토하여 필요시 수정합니다.
3. 최종 답변(해당 알파벳)을 ▶︎▶︎answer▶︎▶︎ 사이에 넣으세요. 예: ▶︎▶︎C▶︎▶︎. 그렇지 않으면 무효 출력으로 간주합니다.

일반적인 실수

실수수정
코드 블록 앞/뒤에 설명/해석/평가 추가전체 응답은 코드 블록만, 블록 밖에는 0 문자
원래 질문의 답을 계산하거나 출력에 유출당신은 재사용 가능한 템플릿을 만드는 중이지, 문제를 푸는 것이 아님; 목표 모델이 계산하게 하세요
API/디코딩 제어가 필요한 전략 사용 (온도 감쇠, 다중 독립 실행, 동적 퓨샷)텍스트 전용 전략만 사용; 이 세 가지는 제외되었음 (아래 참조)
한 번에 5개 이상의 전략 쌓기2~4개로 제한, 유형에 맞게 선택; 너무 많이 쌓으면 서로 간섭
작업 모호 시 사용자에게 다시 질문"먼저 명확히 한 후 실행"을 재구성된 프롬프트 안에 작성 (대화형 상호작용), 여전히 하나의 코드 블록만 출력
출력에 {자리표시자} 잔존결과물은 완제품; 원래 질문의 구체적인 내용을 채워 넣으세요 (최종 사용자가 채울 필드는 제외)

제외된 전략

다음 3가지 전략은 다중 실행 / 다중 독립 샘플링 / 토큰별 디코딩 제어가 필요하여 하나의 자체 포함된 프롬프트에 넣을 수 없으므로, 본 스킬은 기본적으로 사용하지 않습니다:

  • 동적 퓨샷 Dynamic Few-Shot (먼저 한 번 실행한 후 자체 출력을 샘플로 추출해야 함)
  • 자가 일관성 검사 Self-Consistency (다중 독립 실행 후 투표 필요; 단일 프롬프트 시나리오에서는 「역방향 검증」으로 대체)
  • 온도 감쇠 디코딩 Temp-Decay Sampling (토큰별 온도 조절 필요, 디코딩 파라미터에 속함)

사용자가 실제로 API/디코딩 제어를 보유하거나 다중 실행을 조정할 수 있는 경우, 이 세 가지의 원본 템플릿은 references/strategies.md 끝부분에 있으며, 프롬프트 외부의 "설정 및 흐름" 제안으로 제공될 수 있습니다. 그러나 이는 "프롬프트 코드 블록 하나만 출력"이라는 기본 계약을 벗어나므로, 먼저 사용자와 확인해야 합니다.

관련 스킬