refactor(runtime): replace unicode dashes in prompt strings

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-04-04 01:27:51 +09:00
parent 146ca34a7a
commit fabbcaa4b7
51 changed files with 780 additions and 780 deletions
+8 -8
View File
@@ -12,9 +12,9 @@ You are working on VISUAL/UI tasks.
### PHASE 1: ANALYZE THE DESIGN SYSTEM (MANDATORY FIRST ACTION)
**BEFORE writing a SINGLE line of CSS, HTML, JSX, Svelte, or component code — you MUST:**
**BEFORE writing a SINGLE line of CSS, HTML, JSX, Svelte, or component code - you MUST:**
1. **SEARCH for the design system.** Use Grep, Glob, Read — actually LOOK:
1. **SEARCH for the design system.** Use Grep, Glob, Read - actually LOOK:
- Design tokens: colors, spacing, typography, shadows, border-radii
- Theme files: CSS variables, Tailwind config, \`theme.ts\`, styled-components theme, design tokens file
- Shared/base components: Button, Card, Input, Layout primitives
@@ -24,7 +24,7 @@ You are working on VISUAL/UI tasks.
- Naming conventions (BEM? Atomic? Utility-first? Component-scoped?)
- Spacing system (4px grid? 8px? Tailwind scale? CSS variables?)
- Color usage (semantic tokens? Direct hex? Theme references?)
- Typography scale (heading levels, body, caption — how many? What font stack?)
- Typography scale (heading levels, body, caption - how many? What font stack?)
- Component composition patterns (slots? children? compound components?)
**DO NOT proceed to Phase 2 until you can answer ALL of these. If you cannot, you have not explored enough. EXPLORE MORE.**
@@ -34,12 +34,12 @@ You are working on VISUAL/UI tasks.
If Phase 1 reveals NO coherent design system (or scattered, inconsistent patterns):
1. **STOP. Do NOT build the requested UI yet.**
2. **Extract what exists** — even inconsistent patterns have salvageable decisions.
2. **Extract what exists** - even inconsistent patterns have salvageable decisions.
3. **Create a minimal design system FIRST:**
- Color palette: primary, secondary, neutral, semantic (success/warning/error/info)
- Typography scale: heading levels (h1-h4 minimum), body, small, caption
- Spacing scale: consistent increments (4px or 8px base)
- Border radii, shadows, transitions — systematic, not random
- Border radii, shadows, transitions - systematic, not random
- Component primitives: the reusable building blocks
4. **Commit/save the design system, THEN proceed to Phase 3.**
@@ -47,7 +47,7 @@ A design system is NOT optional overhead. It is the FOUNDATION. Building UI with
### PHASE 3: BUILD WITH THE SYSTEM. NEVER AROUND IT.
**NOW and ONLY NOW** — implement the requested visual work:
**NOW and ONLY NOW** - implement the requested visual work:
| Element | CORRECT | WRONG (WILL BE REJECTED) |
|---------|---------|--------------------------|
@@ -58,7 +58,7 @@ A design system is NOT optional overhead. It is the FOUNDATION. Building UI with
| Border radius | System token | Random \`border-radius: 6px\` |
**IF the design requires something OUTSIDE the current system:**
- **Extend the system FIRST** — add the new token/primitive
- **Extend the system FIRST** - add the new token/primitive
- **THEN use the new token** in your component
- **NEVER one-off override.** That is how design systems die.
@@ -72,7 +72,7 @@ BEFORE reporting visual work as complete, answer these:
- [ ] Would a designer see CONSISTENCY across old and new components?
- [ ] Are there ZERO hardcoded magic numbers for visual properties?
**If ANY answer is NO — FIX IT. You are NOT done.**
**If ANY answer is NO - FIX IT. You are NOT done.**
</DESIGN_SYSTEM_WORKFLOW_MANDATE>
+1 -1
View File
@@ -16,7 +16,7 @@ Approach:
- Documentation, READMEs, articles, technical writing
ANTI-AI-SLOP RULES (NON-NEGOTIABLE):
- NEVER use em dashes (—) or en dashes (–). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.
- NEVER use em dashes (-) or en dashes (-). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.
- Remove AI-sounding phrases: "delve", "it's important to note", "I'd be happy to", "certainly", "please don't hesitate", "leverage", "utilize", "in order to", "moving forward", "circle back", "at the end of the day", "robust", "streamline", "facilitate"
- Pick plain words. "Use" not "utilize". "Start" not "commence". "Help" not "facilitate".
- Use contractions naturally: "don't" not "do not", "it's" not "it is".
+3 -3
View File
@@ -8,8 +8,8 @@ WORKFLOW:
5. Use anchors as "LINE#ID" only (never include trailing "|content").
<must>
- SNAPSHOT: All edits in one call reference the ORIGINAL file state. Do NOT adjust line numbers for prior edits in the same call — the system applies them bottom-up automatically.
- replace removes lines pos..end (inclusive) and inserts lines in their place. Lines BEFORE pos and AFTER end are UNTOUCHED — do NOT include them in lines. If you do, they will appear twice.
- SNAPSHOT: All edits in one call reference the ORIGINAL file state. Do NOT adjust line numbers for prior edits in the same call - the system applies them bottom-up automatically.
- replace removes lines pos..end (inclusive) and inserts lines in their place. Lines BEFORE pos and AFTER end are UNTOUCHED - do NOT include them in lines. If you do, they will appear twice.
- lines must contain ONLY the content that belongs inside the consumed range. Content after end survives unchanged.
- Tags MUST be copied exactly from read output or >>> mismatch output. NEVER guess tags.
- Batch = multiple operations in edits[], NOT one big replace covering everything. Each operation targets the smallest possible change.
@@ -75,7 +75,7 @@ Insert after line 13 (between functions):
{ op: "append", pos: "13#QR", lines: ["", "function added() {", " return true;", "}"] }
Result: 4 new lines inserted after line 13. All existing lines unchanged.
BAD — lines extend past end (DUPLICATES line 13):
BAD - lines extend past end (DUPLICATES line 13):
{ op: "replace", pos: "11#XJ", end: "12#MB", lines: [" return \\"hi\\";", "}"] }
Line 13 is "}" which already exists after end. Including "}" in lines duplicates it.
CORRECT: { op: "replace", pos: "11#XJ", end: "12#MB", lines: [" return \\"hi\\";"] }
+1 -1
View File
@@ -1,3 +1,3 @@
export const MULTIMODAL_LOOKER_AGENT = "multimodal-looker" as const
export const LOOK_AT_DESCRIPTION = `Extract basic information from media files (PDFs, images, diagrams) when a quick summary suffices over precise reading. Good for simple text-based content extraction without using the Read tool. NEVER use for visual precision, aesthetic evaluation, or exact accuracy — use Read tool instead for those cases.`
export const LOOK_AT_DESCRIPTION = `Extract basic information from media files (PDFs, images, diagrams) when a quick summary suffices over precise reading. Good for simple text-based content extraction without using the Read tool. NEVER use for visual precision, aesthetic evaluation, or exact accuracy - use Read tool instead for those cases.`
+1 -1
View File
@@ -11,7 +11,7 @@ import type { Diagnostic } from "./types"
export const lsp_diagnostics: ToolDefinition = tool({
description:
'Get errors, warnings, hints from language server BEFORE running build. Works for both single files and directories — file extension is auto-detected for directories.',
'Get errors, warnings, hints from language server BEFORE running build. Works for both single files and directories - file extension is auto-detected for directories.',
args: {
filePath: tool.schema
.string()
+1 -1
View File
@@ -55,7 +55,7 @@ export function formatCombinedDescription(skills: SkillInfo[], commands: Command
return `${TOOL_DESCRIPTION_PREFIX}
<available_items>
Priority: project > user > opencode > builtin/plugin | Skills listed before commands
Invoke via: skill(name="item-name") — omit leading slash for commands.
Invoke via: skill(name="item-name") - omit leading slash for commands.
${availableItems.join("\n")}
</available_items>`
}