원클릭으로
sk-prompt
Prompt engineering specialist: structured AI prompts via 7 frameworks, DEPTH thinking, CLEAR scoring.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Prompt engineering specialist: structured AI prompts via 7 frameworks, DEPTH thinking, CLEAR scoring.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Routes non-trivial requests to matching skills through standalone MCP metadata and stable advisor tool ids.
Unified spec-folder workflow + context preservation: Levels 1-3+, validation, Spec Kit Memory. Required for file modifications.
OpenCode CLI orchestrator: external dispatch, in-OpenCode parallel sessions, cross-AI handback with full runtime context.
Shared deep-loop runtime: executor + prompt-pack + validation + atomic state + coverage-graph + Bayesian scoring + fallback routing.
Iterative codebase-context-gathering deep loop. Runs a configurable pool over a shared scope in parallel (native-only by default; optional heterogeneous CLI seats) and synthesizes a reuse-first Context Report for planning/implementation. Use before /speckit:plan or /speckit:implement to map existing code, integration points, and conventions.
Unified deep-loop workflow skill: routes a request to one of five modes (context, research, review, ai-council, improvement) over the shared deep-loop-runtime backend. Holds no per-mode logic — it dispatches by workflowMode through mode-registry.json. Use for codebase-context gathering, autonomous research, iterative code review, multi-seat AI Council planning, and evaluator-first agent/model/skill/non-dev-system improvement.
| name | sk-prompt |
| description | Prompt engineering specialist: structured AI prompts via 7 frameworks, DEPTH thinking, CLEAR scoring. |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep"] |
| version | 2.3.0.0 |
Transforms vague or basic inputs into highly effective, structured AI prompts. Provides 7 text frameworks with automatic framework selection and CLEAR quality scoring.
Core Principle: Clarity, logic, expression, and reliability through structured methodology.
Use when:
@prompt-improver agent dispatches (the deep-path escalation target for CLI fast-path prompt cards)Keyword Triggers:
$improve, $text, $short, $refine, $json, $yaml$raw (skip DEPTH, fast pass-through)Transform vague requests into structured prompts using RCAF, COSTAR, RACE, CIDI, TIDD-EC, CRISPE, or CRAFT frameworks with CLEAR scoring (40+/50 threshold).
Construct a grounded, anti-default generation brief for the design tool the framework drives (mcp-open-design start_run). Covers the brief shape, the String Seed of Thought anti-median variation technique, pre-answering a multi-turn discovery form, and the handoff to sk-code. See design_generation_patterns.md. This skill owns the prompt only, never the design judgment (sk-interface-design) or the run transport.
Skip this skill when:
The primary routing signal is the command prefix ($improve, $text, $refine, $short, $json, $yaml, $raw). When present, the prefix determines the operating mode directly. When absent, the router falls back to keyword-weighted intent scoring against the request text, selecting the top-scoring intent (or top-2 when scores are close). A zero-score fallback defaults to TEXT_ENHANCE with a disambiguation checklist.
USER REQUEST
|
+- STEP 0: Detect mode ($command prefix or keyword signals)
+- STEP 1: Score intents (top-2 when ambiguity is small)
+- Phase 1: Framework Selection (7 frameworks evaluated)
+- Phase 2: DEPTH Processing (3-10 rounds based on mode)
+- Phase 3: Scoring & Validation (CLEAR)
+- Phase 4: Output Delivery (formatted prompt)
The router discovers markdown resources recursively from references/ and assets/ and then applies intent scoring from INTENT_MODEL.
references/ for DEPTH methodology, framework definitions, and CLEAR scoring.assets/ for format-specific deep-dives (Markdown, JSON, YAML).references/depth_framework.md - DEPTH methodology, RICCE integration
references/patterns_evaluation.md - 7 frameworks, CLEAR scoring
references/design_generation_patterns.md - Design-generation briefs (open-design start_run), seed-of-thought, discovery-form pre-answer
assets/format_guide_markdown.md - Markdown format deep-dive
assets/format_guide_json.md - JSON format deep-dive
assets/format_guide_yaml.md - YAML format deep-dive
| Level | When to Load | Resources |
|---|---|---|
| ALWAYS | Every skill invocation | SKILL.md (this file) |
| CONDITIONAL | If intent signals match | references/depth_framework.md, references/patterns_evaluation.md |
| CONDITIONAL | If design-generation signals match | references/design_generation_patterns.md |
| ON_DEMAND | Only on explicit request | assets/format_guide_markdown.md, assets/format_guide_json.md, assets/format_guide_yaml.md |
from pathlib import Path
SKILL_ROOT = Path(__file__).resolve().parent
RESOURCE_BASES = (SKILL_ROOT / "references", SKILL_ROOT / "assets")
DEFAULT_RESOURCE = "references/depth_framework.md"
INTENT_MODEL = {
"TEXT_ENHANCE": {"keywords": [("improve", 4), ("enhance", 4), ("prompt", 3), ("text", 3), ("refine", 4)]},
"FRAMEWORK": {"keywords": [("framework", 4), ("rcaf", 5), ("costar", 5), ("tidd-ec", 5), ("scoring", 3)]},
"DESIGN_GEN": {"keywords": [("open design", 5), ("start_run", 5), ("design generation", 5), ("generate ui", 4), ("canvas", 3), ("design brief", 4), ("variations", 3)]},
}
RESOURCE_MAP = {
"TEXT_ENHANCE": ["references/depth_framework.md", "references/patterns_evaluation.md"],
"FRAMEWORK": ["references/patterns_evaluation.md"],
"DESIGN_GEN": ["references/design_generation_patterns.md", "references/patterns_evaluation.md"],
}
ON_DEMAND_KEYWORDS = ["deep dive", "full template", "all frameworks", "format guide", "overnight-agent prompt", "system prompt", "prompt package", "prompt variant", "operator prompt", "evaluator prompt", "dispatch prompt"]
UNKNOWN_FALLBACK_CHECKLIST = [
"Is this a prompt enhancement request or a different task?",
"Does the user want a specific framework applied?",
"Is the user asking about scoring or evaluation?",
"Should this route to sk-doc or sk-code instead?",
]
AMBIGUITY_DELTA = 1
def _guard_in_skill(relative_path: str) -> str:
resolved = (SKILL_ROOT / relative_path).resolve()
resolved.relative_to(SKILL_ROOT)
if resolved.suffix.lower() != ".md":
raise ValueError(f"Only markdown resources are routable: {relative_path}")
return resolved.relative_to(SKILL_ROOT).as_posix()
def discover_markdown_resources() -> set[str]:
docs = []
for base in RESOURCE_BASES:
if base.exists():
docs.extend(path for path in base.rglob("*.md") if path.is_file())
return {doc.relative_to(SKILL_ROOT).as_posix() for doc in docs}
def _task_text(task) -> str:
if isinstance(task, str):
return task.lower()
return " ".join(
str(task.get(f, "")) for f in ("text", "query", "description", "keywords")
).lower()
def score_intents(task) -> dict[str, float]:
text = _task_text(task)
scores = {intent: 0 for intent in INTENT_MODEL}
for intent, cfg in INTENT_MODEL.items():
for keyword, weight in cfg["keywords"]:
if keyword in text:
scores[intent] += weight
return scores
def select_intents(scores, ambiguity_delta=AMBIGUITY_DELTA, max_intents=2):
ranked = sorted(scores.items(), key=lambda pair: pair[1], reverse=True)
primary, primary_score = ranked[0]
if primary_score == 0:
return ("TEXT_ENHANCE", None)
secondary, secondary_score = ranked[1]
if secondary_score > 0 and (primary_score - secondary_score) <= ambiguity_delta:
return (primary, secondary)
return (primary, None)
def route_prompt_improver_resources(task):
inventory = discover_markdown_resources()
text = _task_text(task)
scores = score_intents(task)
primary, secondary = select_intents(scores)
intents = [primary] + ([secondary] if secondary else [])
loaded = []
seen = set()
def load_if_available(relative_path: str):
guarded = _guard_in_skill(relative_path)
if guarded in inventory and guarded not in seen:
load(guarded)
loaded.append(guarded)
seen.add(guarded)
# Unknown fallback: when no keywords match at all
if scores[primary] == 0:
load_if_available(DEFAULT_RESOURCE)
return {
"intents": intents,
"intent_scores": scores,
"resources": loaded,
"needs_disambiguation": True,
"disambiguation_checklist": UNKNOWN_FALLBACK_CHECKLIST,
}
# Standard routing: default + intent-mapped resources
load_if_available(DEFAULT_RESOURCE)
for intent in intents:
for relative_path in RESOURCE_MAP.get(intent, []):
load_if_available(relative_path)
# ON_DEMAND: load all resource map paths when trigger keywords are present
if any(kw in text for kw in ON_DEMAND_KEYWORDS):
for paths in RESOURCE_MAP.values():
for relative_path in paths:
load_if_available(relative_path)
return {"intents": intents, "intent_scores": scores, "resources": loaded}
Every prompt enhancement follows this pipeline:
STEP 1: Mode Detection
├─ Command prefix check ($text, $improve, $refine, $short, etc.)
├─ Keyword signal analysis (>=80% confidence = auto-route)
└─ Ambiguous? Ask ONE comprehensive question
↓
STEP 2: Framework Selection
├─ Evaluate 7 frameworks against request characteristics
├─ Score: complexity, urgency, audience, creativity, precision
└─ Select primary framework + alternative
↓
STEP 3: DEPTH Processing (5-10 rounds)
├─ Discover: 5 perspectives, assumption audit, RICCE Role & Context
├─ Engineer: Framework application, RICCE Constraints & Instructions
├─ Prototype: Template build, RICCE validation
├─ Test: Scoring (CLEAR), quality gates
└─ Harmonize: Final polish, RICCE completeness
↓
STEP 4: Scoring & Delivery
├─ Apply context-appropriate scoring system
├─ Verify threshold met (CLEAR 40+/50)
└─ Deliver enhanced prompt with transparency report
See the Smart Routing pseudocode (Section 2) for the complete routing logic.
| Mode | Command | DEPTH Rounds | Scoring | Use Case |
|---|---|---|---|---|
| Interactive | (default) | 10 | CLEAR | Guided enhancement |
| Text | $text | 10 | CLEAR | Standard text prompt |
| Short | $short | 3 | CLEAR | Quick refinement |
| Improve | $improve | 10 | CLEAR | Standard enhancement |
| Refine | $refine | 10 | CLEAR | Maximum optimization |
| JSON | $json | 10 | CLEAR | API-ready format |
| YAML | $yaml | 10 | CLEAR | Config format |
| Raw | $raw | 0 | None | Skip DEPTH |
| Complexity | Primary Need | Framework | Success Rate |
|---|---|---|---|
| 1-3 | Speed | RACE | 88% |
| 1-4 | Clarity | RCAF | 92% |
| 3-6 | Audience | COSTAR | 94% |
| 4-6 | Instructions | CIDI | 90% |
| 5-7 | Creativity | CRISPE | 87% |
| 6-8 | Precision | TIDD-EC | 93% |
| 7-10 | Comprehensive | CRAFT | 91% |
| See patterns_evaluation.md for complete framework details. | |||
| See depth_framework.md for the DEPTH methodology. |
CLEAR (50-point scale): Correctness (10) + Logic (10) + Expression (15) + Arrangement (10) + Reusability (5). Threshold: 40+.
ALWAYS ask ONE comprehensive question before processing
$raw mode skips questions entirelyALWAYS apply DEPTH processing for the detected mode
ALWAYS enforce minimum 3 perspectives during DEPTH Discover phase
ALWAYS validate with RICCE before delivery
ALWAYS apply scoring and verify threshold met
ALWAYS provide a transparency report after delivering the enhanced prompt
NEVER answer own questions
NEVER skip framework evaluation
NEVER deliver without scoring
NEVER use second-person voice in enhanced prompts
NEVER exceed context with full reference loading
ESCALATE IF mode detection confidence < 50%
ESCALATE IF CLEAR score below threshold after DEPTH
ESCALATE IF request conflicts with prompt engineering scope
@prompt-improver is the fresh-context escalation surface for this skill. The agent loads the references in this skill, applies the same framework-selection and CLEAR rules, and returns a structured block that the caller can inject into a CLI dispatch without loading the full skill inline.
| Field | Required | Description |
|---|---|---|
raw_task | Yes | Raw task description or draft prompt to improve |
task_type | No | One of generation, review, research, edit, analyze |
target_cli | No | One of claude-code, codex, copilot |
complexity_hint | No | Integer 1-10 used to choose Quick vs Standard DEPTH energy |
constraints | No | Compliance, security, audience, or output requirements |
references/patterns_evaluation.md as the framework-selection source of truth.references/depth_framework.md for DEPTH flow and CLEAR dimension floors.CLEAR >= 40/50 and all per-dimension floors before returning success.FRAMEWORK: <name>
CLEAR_SCORE: <n>/50 (C:<n> L:<n> E:<n> A:<n> R:<n>)
RATIONALE: <1-2 lines>
ENHANCED_PROMPT: |
<multi-line ready-to-dispatch prompt>
ESCALATION_NOTES: <remaining ambiguity, risk, or follow-up>
This skill operates within the behavioral framework defined in AGENTS.md.
Key integrations:
skill_advisor.py with prompt-related intent boostersThe router discovers reference, asset, and script docs dynamically. Start with references/depth_framework.md, references/patterns_evaluation.md, references/design_generation_patterns.md, assets/format_guide_json.md, assets/format_guide_markdown.md, assets/format_guide_yaml.md, then load task-specific resources from references/, templates from assets/, and automation from scripts/ when present.
Manual validation lives at manual_testing_playbook/manual_testing_playbook.md.
Related skills: sk-doc for documentation outputs, sk-code for code-generation prompt context, and the cli-* skills that use the prompt quality card before dispatch.