Agent skill

managing-prompts

프롬프트 버전 관리, A/B 테스트, 이진 패턴 힌트, 품질 추적 등 프롬프트 시스템 전반을 다루는 스킬. 프롬프트 관련 질문이면 무조건 이 스킬을 먼저 확인할 것. Triggers: "프롬프트 버전 관리", "A/B 테스트 만들어", "SuperMemo 규칙", "Cloze Enhancer", "프롬프트 성능", "카드 길이 기준", "이진 패턴", "실패 패턴 분석", "시스템 프롬프트", "system prompt", "프롬프트 마이그레이션", "히스토리", "반려 사유", "활성 버전", "메트릭".

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/greenheadHQ/awesome-anki/tree/main/.claude/skills/managing-prompts

SKILL.md

프롬프트 관리

프롬프트 버전 관리 개요

프롬프트 버전 관리, A/B 테스트, 품질 추적 시스템. SuperMemo's Twenty Rules 기반 카드 분할 품질 보장.

저장 구조

output/prompts/
├── versions/           # 버전 파일 (v1.0.0.json 등)
├── history/            # 분할 히스토리 (날짜별)
├── experiments/        # A/B 테스트
└── active-version.json # 현재 활성 버전

핵심 데이터 구조

  • PromptVersion: id, name, description, createdAt, updatedAt, systemPrompt, splitPromptTemplate, analysisPromptTemplate, examples, config, status, metrics, modificationPatterns, parentVersionId?, changelog?
  • SplitHistoryEntry: id, timestamp, promptVersionId, noteId, deckName, originalContent, originalCharCount, originalTags?, splitCards, userAction, rejectionReason?, modificationDetails?, aiModel?, splitReason?, executionTimeMs?, tokenUsage?, qualityChecks
  • Experiment: id, name, createdAt, status, controlVersionId, treatmentVersionId, controlResults, treatmentResults, conclusion?, winnerVersionId?
  • ActiveVersionInfo: versionId, activatedAt, activatedBy
  • REJECTION_REASONS: 6개 상수 (too-granular, context-missing, char-exceeded, cloze-inappropriate, quality-low, other)

카드 길이 기준 / 필수 원칙

코드에서 직접 확인:

  • 길이 기준: packages/core/src/prompt-version/types.tsDEFAULT_PROMPT_CONFIG
  • 필수 원칙: packages/core/src/gemini/prompts.tsSYSTEM_PROMPT
  • 이진 패턴: packages/core/src/gemini/cloze-enhancer.tsBINARY_PATTERNS

LLM 경로 구분

Note: Split 프롬프트는 packages/core/src/llm/factory.ts를 통해 멀티 LLM(Gemini/OpenAI) 지원. Cloze Enhancer는 packages/core/src/gemini/cloze-enhancer.ts에 위치하며, LLM API 호출 없이 순수 로컬 패턴 매칭 로직으로 동작합니다 (LLM 추상화 계층 미사용). gemini/ 디렉토리에 있는 것은 역사적 이유(초기 Gemini 전용 시절의 잔재)이며, 실제로는 LLM 독립적인 유틸리티입니다.

Cloze Enhancer (gemini/cloze-enhancer.ts)

이진 패턴 자동 감지 (26개)로 Yes/No Cloze에 힌트 자동 추가.

카테고리 예시 힌트
존재/상태 있다/없다 있다 | 없다
방향성 증가/감소 증가 ↑ | 감소 ↓
동기화 동기/비동기 Sync | Async
상태 상태/무상태 Stateful | Stateless
계층 물리/논리 Physical | Logical

주요 함수: analyzeClozes(), checkCardQuality(), detectBinaryPattern(), enhanceCardsWithHints(), countCardChars(), detectCardType()

Self-Correction 루프

  1. 생성 후 글자 수 검토
  2. 상한선 초과 시 재작성
  3. 그래도 초과 시 추가 분할

주요 API

typescript
// 버전 관리
await listPromptVersions();          // storage.ts: listVersions()
await getPromptVersion('v1.0.0');    // storage.ts: getVersion()
await createPromptVersion({ name, systemPrompt, ... }); // storage.ts: createVersion()
await savePromptVersion(version);    // storage.ts: saveVersion()
await deletePromptVersion('v1.0.0'); // storage.ts: deleteVersion()
await setActiveVersion('v1.0.0');

// 히스토리 & 메트릭
await addHistoryEntry({ promptVersionId, noteId, ... });
await recordPromptMetricsEvent({ promptVersionId, userAction, splitCards });

// 실패 패턴 분석
const { patterns, insights } = await analyzeFailurePatterns('v1.0.0');

// A/B 테스트
await createExperiment('테스트명', 'v1.0.0', 'v1.1.0');
await getExperiment('exp-id');

export 이름 규칙: storage.ts 내부 함수명(listVersions, getVersion, saveVersion 등)은 packages/core/src/index.ts에서 AnkiConnect getVersion과의 충돌을 피하기 위해 as 별칭으로 re-export됩니다 (listPromptVersions, getPromptVersion, savePromptVersion 등). 함수 자체가 이름이 다른 게 아니라, re-export 별칭입니다.

자주 발생하는 문제

  • export 이름 충돌: storage.tsgetVersion 등은 index.ts에서 as getPromptVersion으로 re-export (별칭, 함수명 자체 변경 아님)
  • SplitWorkspace 버전 선택: 헤더 드롭다운에서 활성 버전 ✓ 표시
  • 히스토리 자동 기록: 분할 적용 시 /api/prompts/history로 자동 전송

상세 참조

  • references/version-system.md — PromptVersion 타입, 저장 구조 상세
  • references/supermemo-rules.md — 20 Rules, 카드 길이 기준
  • references/cloze-enhancer.md — 이진 패턴 26개, 품질 검사
  • references/troubleshooting.md — Phase 1 프롬프트 개선 결정사항

Expand your agent's capabilities with these related and highly-rated skills.

greenheadHQ/awesome-anki

validating-cards

USE THIS SKILL for card content validation — fact-checking, freshness, similarity, context consistency, or anything about duplicate detection and card quality. Triggers: "팩트 체크 결과가", "유사한 카드 찾아줘", "문맥 검증", "검증 캐시", "최신성 검사", "중복 카드", "검증 상태 아이콘", "validate/all", "Jaccard", "임베딩 유사도", "중복 판정", "useValidateCard", "useBatchValidate", "검증 4종", "일괄 검증", "context-checker", "fact-checker", "freshness-checker", "similarity-checker", "findSimilarGroups", "analyzeCardGroup", "검증 폴백". Covers the 4 validation types: fact-check, freshness, similarity, context.

0 0
Explore
greenheadHQ/awesome-anki

developing-web-ui

React 프론트엔드의 컴포넌트, 훅, 렌더링, 스타일 관련 작업이면 반드시 이 스킬을 먼저 확인할 것. Triggers: "React 컴포넌트 추가", "ContentRenderer 수정", "TanStack Query", "CSS 충돌", "웹 UI 버그", "페이지 추가", "Tailwind 스타일", "렌더링 문제", "shadcn", "shadcn 컴포넌트", "shadcn 마이그레이션", "variant API", "UI 마이그레이션", "마이그레이션", "toast", "sonner", "Toaster", "DiffViewer", "ContentPreview", "BottomSheet", "CompactSelector", "markdown 렌더링", "모바일 반응형", "useMediaQuery", "useIsMobile", "훅 추가", "query hook", "캐시 무효화", "staleTime", "분할 미리보기 UI", "분할 반려 UI", "카드 브라우저", "어려운 카드". Covers the React frontend, components, hooks, query patterns, rendering pipeline, and UI troubleshooting.

0 0
Explore
greenheadHQ/awesome-anki

managing-embeddings

USE THIS SKILL for anything related to embeddings, vector similarity, or semantic search. Triggers: "임베딩 생성", "코사인 유사도", "캐시 어디에", "임베딩 상태", "의미 유사도", "text-embedding-3-large", "openai embedding", "벡터 차원", "3072", "임베딩 캐시", "embedding 마이그레이션", "레거시 캐시", "embedding fallback", "유사도 검사 임베딩 모드", "임베딩 배치", "rate limit 429". Covers OpenAI embedding API, file-based cache with migration, and text preprocessing.

0 0
Explore
greenheadHQ/awesome-anki

understanding-project

프로젝트 구조, 아키텍처, 기술 스택, 패키지 역할 등 전반적인 이해가 필요할 때 사용. 코드가 어디에 있는지, 패키지 간 의존성이 어떤지, 왜 이 구조인지 궁금하면 이 스킬. Triggers: "모노레포 구조가 어떻게 돼", "기술 스택", "export 충돌", "패키지 간 의존성", "프로젝트 구조", "어떤 패키지에 있어", "파일 어디에 있어", "아키텍처", "디렉터리 구조", "코드 위치", "모듈 역할", "어떤 기술 쓰고 있어", "스택", "의존성". Covers the monorepo architecture, package roles, tech stack, and coding conventions.

0 0
Explore
greenheadHQ/awesome-anki

managing-llm

LLM 추상화 계층, 프로바이더 어댑터, 가격표, 예산 가드 등 LLM 관련 작업이면 무조건 이 스킬. 모델 변경, 프로바이더 추가, 비용 계산, 토큰 카운트 등 모든 LLM 인프라를 다룬다. Triggers: "LLM 모델 변경", "프로바이더 추가", "비용 추정", "예산 가드", "pricing table", "모델 비교", "LLM 비용", "토큰 사용량", "모델 추가", "LLM 설정", "Gemini", "OpenAI", "API key", "model pricing", "budget cap", "token count", "adapter", "factory".

0 0
Explore
greenheadHQ/awesome-anki

working-with-anki

AnkiConnect 연결, 카드/덱/모델 조회, 학습 데이터 복제, 백업/롤백, 어려운 카드 탐지, 커스텀 config 액션 등 Anki와의 모든 상호작용을 다룬다. Triggers: "AnkiConnect 연결", "test 프로필", "ease factor 복제", "카드 정보 조회", "학습 데이터", "AnkiConnect API", "Anki 프로필", "카드 모델", "어려운 카드", "난이도 탐지", "difficulty", "백업", "롤백", "분할 적용", "scheduling", "스케줄링", "getConfig", "setConfig", "커스텀 액션". Covers AnkiConnect API wrapper, scheduling clone, backup/rollback, difficulty detection, and custom config actions.

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results