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>`
}