Community라이팅 & 에디팅github.com

product-on-purpose/writing-style-catalog

AI 에이전트를 위한 구성 가능한 글쓰기 지침으로, 네 가지 직교 축(어조, 톤, 스타일, 형식)을 제공합니다. 초기/실험 단계이며 product-on-purpose 마켓플레이스를 통해 설치할 수 있습니다.

writing-style-catalog란 무엇인가요?

이 스킬은 개발자와 AI 에이전트 사용자가 음성(Voice), 톤(Tone), 스타일(Style), 형식(Format)이라는 네 가지 직교 축을 따라 체계적으로 글쓰기 지침을 구성할 수 있게 해줍니다. 슬래시 명령어를 통해 원하는 항목 ID를 지정하면, 스킬이 사전 정의된 분류 체계(taxonomy)에서 각 항목의 'llm_instruction_phrasing'을 읽어와 고정된 우선순위 순서(음성 → 톤 → 스타일 → 형식)로 통합된 지침 문자열을 생성합니다. 또한 항목 간 충돌(avoid_with)과 조합(pairs_well_with) 관계를 확인하여 경고를 출력하므로, 단순한 문자열 결합이 아닌 검증된 구성물을 제공합니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, 스킬 폴더 내 scripts/build-instruction.py 스크립트를 직접 실행하거나 슬래시 명령어를 통해 쉽게 활용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add product-on-purpose/writing-style-catalog

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

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

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

문서

글쓰기 지침 구성

음성(Voice), 톤(Tone), 스타일(Style), 형식(Format) 축의 분류 항목을 조합하여 글쓰기 지침을 구성합니다.

사용법

/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<text>] [audience=<text>]

모든 매개변수는 선택 사항입니다. 생략하면 스킬이 적절한 기본값을 선택합니다.

매개변수

  • voice - 음성 항목 ID (예: pragmatic-architect, pastoral, columnist)
  • tone - 톤 항목 ID (예: candid, warm, matter-of-fact)
  • style - 스타일 항목 ID (예: problem-solution, devotional-reflection)
  • format - 형식 항목 ID (예: adr, blog-post-long-form, slack-message)
  • topic - 작성할 주제 또는 제목 (선택 사항, 더 구체적인 지침 구성에 사용)
  • audience - 대상 독자 (선택 사항, 기본값은 일반 독자)

스킬의 기능

  1. 제공된 각 항목 ID를 분류 체계 카탈로그에 대해 검증합니다.
  2. 일치하는 각 항목에서 llm_instruction_phrasing을 읽어옵니다.
  3. 고정된 우선순위 순서(음성 → 톤 → 스타일 → 형식)로 통합된 지침 문자열을 조합합니다.
  4. 선택된 항목 간의 관계 필드를 확인하고 충돌이 있는 경우 경고합니다 (차단하지 않음).
  5. 구성된 지침을 반환하여 모든 LLM 프롬프트에 붙여넣을 준비를 마칩니다.

구현

구성은 이 스킬 폴더의 도우미 스크립트 scripts/build-instruction.py에 의해 구현됩니다. 이 스크립트는 플러그인 루트의 taxonomy/ 디렉터리에서 카탈로그를 읽어오므로, 해당 디렉터리는 플러그인과 함께 제공됩니다. 슬래시 명령어는 key=value 인수를 받고, 스크립트 자체는 --flag value 인수를 받습니다. 슬래시 명령어 없이 직접 실행하여 구성하려면 다음과 같이 사용하세요:

python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr

충돌 인식 구성

빌더는 선택된 각 항목의 avoid_with 및 pairs_well_with 관계를 읽고 이에 대해 보고하므로, 구성 결과는 단순한 문자열 결합이 아닌 검증된 보장입니다. 규칙은 다음과 같습니다 (ADR 0016 참조):

  • 충돌은 대칭적입니다. 한 쌍 중 어느 하나라도 다른 항목을 avoid_with에 포함하면 플래그가 지정되므로, 경고는 링크를 기록한 작성자에 관계없이 발생합니다.
  • 경고하며 차단하지 않습니다. 충돌이 있는 쌍도 여전히 구성됩니다 (의도적인 긴장감을 원할 수 있음). 빌더는 경고를 출력하고 음성 → 톤 → 스타일 → 형식 우선순위를 적용하여 더 높은 우선순위 축이 주도하도록 합니다.
  • 긍정 확인. pairs_well_with 일치는 확인 노트로 표시됩니다.

구성된 지침은 stdout으로 출력됩니다. 충돌 경고 및 긍정 확인 노트는 stderr로 출력되므로, stdout은 깨끗하고 파이프 가능한 프롬프트로 유지됩니다. 예를 들어, pragmatic-architect 음성과 reverent 톤(해당 음성이 avoid_with에 포함한 톤)을 쌍으로 구성하면 지침을 반환하면서 다음을 출력합니다:

warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.

예제

pragmatic-architect 음성과 candid 톤으로 ADR 구성하기:

/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr

pastoral 스타일의 경건 글쓰기:

/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="The discipline of rest"

사용 가능한 항목

인수 없이 실행하면 축별로 그룹화된 모든 사용 가능한 항목을 볼 수 있습니다.

관련 스킬