Skip to main content

/optimize-prompt Command

Metadata

name: optimize-prompt
version: 1.0.0
category: orchestration
status: active
priority: P0
derived_from: Claude Operating Preferences v6.0

Description

Optimize prompts for Claude Opus 4.5 by replacing aggressive language that may cause overtriggering. Converts imperatives like "MUST", "ALWAYS", "NEVER" to gentler alternatives that produce better results with Opus 4.5.

Usage

# Optimize a prompt string
/optimize-prompt "You MUST ALWAYS follow these rules EXACTLY"

# Optimize from file
/optimize-prompt --file prompts/system-prompt.txt

# Optimize with thinking-disabled mode
/optimize-prompt --no-thinking "Think carefully about each step"

# Show optimization report
/optimize-prompt --report "CRITICAL: NEVER skip validation"

# Batch optimize directory
/optimize-prompt --batch prompts/

# Preview changes without applying
/optimize-prompt --dry-run --file system-prompt.md

Arguments

ArgumentTypeDefaultDescription
promptstring-Prompt text to optimize (positional)
--filepath-Read prompt from file
--no-thinkingflagfalseAlso replace "think" words (for when thinking is disabled)
--reportflagfalseShow detailed optimization report
--batchpath-Optimize all .md/.txt files in directory
--dry-runflagfalsePreview changes without modifying files
--outputpath-Write optimized prompt to file

Replacement Rules

Aggressive Language

OriginalReplacementReason
MUSTPleaseImperative too strong
ALWAYSPrefer toAbsolute may overtrigger
NEVERAvoidAbsolute may overtrigger
CRITICALImportantToo urgent
ABSOLUTELY(removed)Unnecessary emphasis
REQUIREDRecommendedSofter obligation
MANDATORYSuggestedSofter obligation
VERY IMPORTANTNoteLess urgent
EXTREMELYQuiteSofter emphasis
ESSENTIALHelpfulLess demanding
CRUCIALUsefulLess demanding

Thinking Words (when --no-thinking)

OriginalReplacement
think aboutconsider
think throughwork through
think carefullyreview carefully
think step by stepproceed step by step

Output Examples

Basic Optimization

$ /optimize-prompt "You MUST ALWAYS validate input. NEVER trust user data."

Original:
You MUST ALWAYS validate input. NEVER trust user data.

Optimized:
You Please Prefer to validate input. Avoid trust user data.

Changes: 3 replacements made

With Report

$ /optimize-prompt --report "CRITICAL: You MUST NEVER skip the validation step. This is EXTREMELY IMPORTANT!"

Optimization Report
-------------------
Original length: 72 characters
Optimized length: 62 characters
Reduction: 13.9%

Changes Made:
1. CRITICAL → Important (Aggressive language)
2. MUST → Please (Imperative too strong)
3. NEVER → Avoid (Absolute may overtrigger)
4. EXTREMELY → Quite (Softer emphasis)
5. IMPORTANT → helpful (Less demanding)

Original:
CRITICAL: You MUST NEVER skip the validation step. This is EXTREMELY IMPORTANT!

Optimized:
Important: You Please Avoid skip the validation step. This is Quite helpful!

File Processing

$ /optimize-prompt --file system-prompt.md --dry-run

Processing: system-prompt.md
Lines: 45
Size: 2.3KB

Would make 12 replacements:
- Line 3: MUST → Please
- Line 7: ALWAYS → Prefer to
- Line 12: NEVER → Avoid
- Line 15: CRITICAL → Important
...

Use without --dry-run to apply changes.

System Prompt

When this command is invoked:

  1. Parse input - Get prompt from argument, file, or stdin
  2. Apply replacements - Use Opus45PromptOptimizer patterns
  3. If --no-thinking - Also replace "think" words
  4. If --report - Generate detailed change report
  5. Output result - Print optimized prompt or write to file

Implementation

#!/usr/bin/env python3
"""optimize-prompt command implementation"""

import argparse
import re
from pathlib import Path

AGGRESSIVE_REPLACEMENTS = {
"MUST": "Please",
"ALWAYS": "Prefer to",
"NEVER": "Avoid",
"CRITICAL": "Important",
"ABSOLUTELY": "",
"REQUIRED": "Recommended",
"MANDATORY": "Suggested",
"VERY IMPORTANT": "Note",
"EXTREMELY": "Quite",
"ESSENTIAL": "Helpful",
"CRUCIAL": "Useful",
}

THINK_REPLACEMENTS = {
"think about": "consider",
"think through": "work through",
"think carefully": "review carefully",
"think step by step": "proceed step by step",
}

def optimize_prompt(text: str, no_thinking: bool = False) -> tuple[str, list]:
"""Optimize prompt and return (result, changes)"""
result = text
changes = []

for original, replacement in AGGRESSIVE_REPLACEMENTS.items():
pattern = re.compile(re.escape(original), re.IGNORECASE)
if pattern.search(result):
changes.append((original, replacement, "Aggressive language"))
result = pattern.sub(replacement, result)

if no_thinking:
for original, replacement in THINK_REPLACEMENTS.items():
pattern = re.compile(re.escape(original), re.IGNORECASE)
if pattern.search(result):
changes.append((original, replacement, "Thinking word"))
result = pattern.sub(replacement, result)

# Remove excessive exclamation marks
if re.search(r'!{2,}', result):
changes.append(("!!", "!", "Excessive punctuation"))
result = re.sub(r'!{2,}', '!', result)

return result.strip(), changes

def print_report(original: str, optimized: str, changes: list):
"""Print detailed optimization report"""
print("\nOptimization Report")
print("-" * 40)
print(f"Original length: {len(original)} characters")
print(f"Optimized length: {len(optimized)} characters")

reduction = (1 - len(optimized) / len(original)) * 100 if original else 0
print(f"Reduction: {reduction:.1f}%")

print(f"\nChanges Made ({len(changes)}):")
for i, (orig, repl, reason) in enumerate(changes, 1):
print(f" {i}. {orig}{repl} ({reason})")

print(f"\nOriginal:\n{original}")
print(f"\nOptimized:\n{optimized}")

def main():
parser = argparse.ArgumentParser(description="Optimize prompts for Opus 4.5")
parser.add_argument("prompt", nargs="?", help="Prompt to optimize")
parser.add_argument("--file", type=Path, help="Read from file")
parser.add_argument("--no-thinking", action="store_true")
parser.add_argument("--report", action="store_true")
parser.add_argument("--batch", type=Path)
parser.add_argument("--dry-run", action="store_true")
parser.add_argument("--output", type=Path)

args = parser.parse_args()

# Get input text
if args.file:
text = args.file.read_text()
elif args.prompt:
text = args.prompt
else:
print("Error: Provide prompt or --file")
return

# Optimize
optimized, changes = optimize_prompt(text, args.no_thinking)

# Output
if args.report:
print_report(text, optimized, changes)
else:
print(optimized)

if args.output and not args.dry_run:
args.output.write_text(optimized)
print(f"\nWritten to: {args.output}")

if __name__ == "__main__":
main()
  • skills/opus-optimization/ - Core optimization patterns
  • agents/prompt-optimizer-opus45.md - Agent for batch optimization
  • scripts/prompt-optimizer.py - Batch processing script

Action Policy

<default_behavior> This command optimizes prompts automatically. Proceeds with:

  • Text replacement based on rules
  • Report generation
  • File output if specified

Provides before/after comparison. </default_behavior>

After execution, verify: - Replacements applied correctly - Original meaning preserved - Output file written (if specified)

Success Output

When optimize-prompt completes:

✅ COMMAND COMPLETE: /optimize-prompt
Input: <source>
Replacements: <N>
Output: <optimized text or file>
Reduction: <N>%

Completion Checklist

Before marking complete:

  • Input parsed
  • Replacements applied
  • Report generated (if --report)
  • Output written (if --output)

Failure Indicators

This command has FAILED if:

  • ❌ No input provided
  • ❌ File not found
  • ❌ Write failed
  • ❌ Invalid options

When NOT to Use

Do NOT use when:

  • Prompt already optimized
  • Need aggressive language
  • Non-Opus target model

Anti-Patterns (Avoid)

Anti-PatternProblemSolution
Over-optimizeLoses emphasisReview output
Skip --reportMiss changesUse --report first
Ignore contextWrong replacementsCheck semantic fit

Principles

This command embodies:

  • #3 Complete Execution - Full optimization
  • #6 Clear, Understandable - Clear report
  • #9 Based on Facts - Rule-based changes

Full Standard: CODITECT-STANDARD-AUTOMATION.md