diff --git a/.kiro/specs/i18n-frontend-comments/design.md b/.kiro/specs/i18n-frontend-comments/design.md
new file mode 100644
index 00000000..5d863448
--- /dev/null
+++ b/.kiro/specs/i18n-frontend-comments/design.md
@@ -0,0 +1,229 @@
+# Design Document — i18n-frontend-comments
+
+## Overview
+
+**Purpose**: Translate Chinese developer comments in `frontend/src/` to English so non-Chinese-reading maintainers can understand intent without translation tooling. Strictly documentation-only; no behavior change.
+
+**Users**: Frontend maintainers and reviewers of MiroFish — developers who read and modify `frontend/src/` but do not read Chinese.
+
+**Impact**: 20 files in `frontend/src/` change; the compiled bundle is byte-equivalent modulo source-map comment lines. The `vue-i18n` user-facing translation surface (`/locales/*.json`) is unaffected.
+
+### Goals
+
+- Eliminate Chinese characters (U+4E00–U+9FFF) from `frontend/src/` comments and dev-facing string literals (`console.*`).
+- Preserve every comment's *why* (semantic intent) when translating; delete comments that merely restate the code per `dev-guidelines.md`.
+- Append `(#9)` ticket reference to any TODO/FIXME marker that lacks one.
+- Keep `npm run build` green and the rendered UI byte-equivalent on a smoke check.
+
+### Non-Goals
+
+- Translating user-facing strings (those live in `/locales/*.json`; tracked separately).
+- Translating LLM prompt template strings (translation would change model input — retained and documented in PR per Requirement 1.5).
+- Restructuring comments into JSDoc (only keep JSDoc when already JSDoc-shaped).
+- Reformatting code, renaming identifiers, or any change to `