|
| 1 | +--- |
| 2 | +name: go-movie |
| 3 | +en_name: "GO MOVIE — Film Festival & Cinephile Hub" |
| 4 | +zh_name: "GO MOVIE · 影迷互助情报站" |
| 5 | +description: | |
| 6 | + A mobile-first information hub for film festivals and cinephile |
| 7 | + communities, based on GO MOVIE's production mobile information |
| 8 | + architecture and UI patterns. Renders a single-file mobile prototype |
| 9 | + with five navigable views — Home, Films, Cinemas, Saved, Profile — |
| 10 | + switched in place with no router and no reload. Home holds a dark hero |
| 11 | + for the active festival, scope pills, quick-entry cards, and a mixed |
| 12 | + "today's hot" two-column masonry feed; Films and Cinemas are browsable |
| 13 | + with filters; Saved live-syncs with the star-favorite buttons; reusable |
| 14 | + cards cover films, cinemas, limited merchandise, and practical |
| 15 | + attendance guides. Content-first and cinema-focused — the information |
| 16 | + is the interface, never a SaaS dashboard. Use when the brief asks for a |
| 17 | + film festival app, a cinephile information hub, a movie-festival guide, |
| 18 | + a film-week or exhibition companion, or any event-and-community |
| 19 | + discovery product where scattered information needs a single structured |
| 20 | + home. |
| 21 | +zh_description: | |
| 22 | + 面向电影节与影迷社群的移动端信息助手,以 GO MOVIE 生产版移动端信息架构与 |
| 23 | + UI 模式为基础。首页深色 Hero、影展专题切换、快速查阅、今日热门双列瀑布流, |
| 24 | + 以及影片 / 影院 / 周边物料 / 实用攻略四类卡片,支持搜索、筛选与 ★ 收藏。 |
| 25 | + 内容优先、电影文化导向,而非后台仪表盘。 |
| 26 | +triggers: |
| 27 | + - "film festival app" |
| 28 | + - "cinephile information hub" |
| 29 | + - "movie festival guide" |
| 30 | + - "film week companion" |
| 31 | + - "film exhibition app" |
| 32 | + - "电影节信息助手" |
| 33 | + - "影迷攻略" |
| 34 | + - "影展信息平台" |
| 35 | + - "电影节" |
| 36 | +od: |
| 37 | + mode: prototype |
| 38 | + surface: web |
| 39 | + platform: mobile |
| 40 | + scenario: entertainment |
| 41 | + preview: |
| 42 | + type: html |
| 43 | + entry: index.html |
| 44 | + design_system: |
| 45 | + requires: true |
| 46 | + sections: [color, typography, layout, components] |
| 47 | + craft: |
| 48 | + requires: [typography, typography-hierarchy, color, anti-ai-slop, accessibility-baseline, state-coverage, laws-of-ux] |
| 49 | + example_prompt: "Design a mobile-first information hub for an independent international film festival, based on GO MOVIE's information architecture. Help cinephiles discover films, understand cinemas, find limited festival merchandise, read practical attendance tips, filter content by festival topic and venue, and save useful items. The experience should feel cinema-focused and content-first rather than like a SaaS dashboard." |
| 50 | + example_prompt_i18n: |
| 51 | + zh-CN: "设计一个服务电影节观众的移动端信息助手,包含影片推荐、影院攻略、周边物料、影展专题、今日热门、搜索、筛选和收藏。" |
| 52 | +--- |
| 53 | + |
| 54 | +# GO MOVIE — Film Festival & Cinephile Information Hub |
| 55 | + |
| 56 | +Produce a single self-contained mobile web page (390px viewport) that reads |
| 57 | +like a real film-festival product, not a dashboard. It is a single-file SPA |
| 58 | +with five navigable views — Home, Films, Cinemas, Saved, Profile — switched |
| 59 | +in place by toggling `.app-view.active` (no router, no hash, no reload). |
| 60 | +Home anchors the festival scope; Films and Cinemas hold browsable lists with |
| 61 | +filters; Saved mirrors the star-favorite buttons; Profile is a lightweight |
| 62 | +settings surface. Four reusable content cards (Film, Cinema, Merch, Guide) |
| 63 | +are shared across Home, list views, and Saved. |
| 64 | + |
| 65 | +The product serves **cinephiles who need to know what to watch, how a venue |
| 66 | +actually works, where to collect a limited poster, and how to survive the |
| 67 | +gaps between screenings** — real-world logistics and community knowledge, |
| 68 | +structured. |
| 69 | + |
| 70 | +## Resource map |
| 71 | + |
| 72 | +``` |
| 73 | +go-movie/ |
| 74 | +├── SKILL.md ← you're reading this |
| 75 | +├── example.html ← baked reference (READ FIRST) |
| 76 | +└── references/ |
| 77 | + ├── checklist.md ← P0 gates, run before handoff |
| 78 | + ├── information-architecture.md ← festival → topic → type → item model |
| 79 | + └── components.md ← card + section specs |
| 80 | +``` |
| 81 | + |
| 82 | +## Visual source of truth |
| 83 | + |
| 84 | +**The bundled `example.html` is the visual source of truth.** It reproduces |
| 85 | +GO MOVIE's production UI language: warm paper background `#f5f0e6`, card |
| 86 | +`#fffdf8`, ink text `#25211c`, brand red `#8f2f2f`, gold kicker `#a88652`, |
| 87 | +dark page head `#25211c`, a system sans-serif stack (no serif), ticket-style |
| 88 | +merch cards, a two-column masonry feed, and star (★/☆) favorites — never |
| 89 | +bookmarks. |
| 90 | + |
| 91 | +Preserve GO MOVIE's information hierarchy, spacing, card density, navigation |
| 92 | +patterns, content-first presentation, and mobile UI language. You may swap |
| 93 | +the festival, city, films, venues, merch, and copy, and adjust the brand |
| 94 | +accent only when explicitly requested. **Do not reinterpret GO MOVIE as a |
| 95 | +generic editorial film app, and do not redesign the interface language.** |
| 96 | +Start from the bundled GO MOVIE UI patterns and generalize the content. |
| 97 | + |
| 98 | +Specific layout contracts: |
| 99 | + |
| 100 | +- **Today's Hot** is a two-column masonry feed inspired by the production |
| 101 | + GO MOVIE home page, mixing image cards and quote/text cards (no ticket |
| 102 | + perforation, no tear holes). |
| 103 | +- **Film cards** use a wide cinematic image with a left-side information |
| 104 | + gradient rather than a conventional vertical-poster list layout. |
| 105 | +- **Practical guides** reuse the masonry text-card language instead of |
| 106 | + forming a separate generic list UI. |
| 107 | + |
| 108 | +## Workflow |
| 109 | + |
| 110 | +1. **Read `example.html`** end-to-end. It is the canonical reference for the |
| 111 | + GO MOVIE layout, density, spacing, and component language. Copy its |
| 112 | + skeleton and restyle; do not re-derive the structure from scratch. |
| 113 | +2. **Read the active DESIGN.md** (injected above). Map its tokens onto the |
| 114 | + `:root` variables (`--gm-bg`, `--gm-card`, `--gm-text`, `--gm-primary`, |
| 115 | + `--gm-gold`, `--gm-border`, `--gm-dark`). Keep the accent budget: the |
| 116 | + brand red `--gm-primary` is used for active states, category labels, and |
| 117 | + saved stars — never as a full-page theme. |
| 118 | +3. **Read `references/information-architecture.md`** and model the brief as |
| 119 | + Festival → Topic → Content type → Item. Remember that one item can belong |
| 120 | + to several dimensions at once — a tote belongs to a festival, a venue, and |
| 121 | + a film — and surface those cross-links instead of flattening everything. |
| 122 | +4. **Read `references/components.md`** and select the sections and cards the |
| 123 | + brief actually needs. Minimum: hero, scope pills, quick entries, hot feed, |
| 124 | + and at least Film + Cinema cards. Merch and Guide cards are the template's |
| 125 | + signature — keep them whenever the festival has physical goods or |
| 126 | + real-world attendance logistics. |
| 127 | +5. **Write `index.html`** as one self-contained file: inline CSS and JS, no |
| 128 | + CDN, no external images, no backend. Use the system sans-serif stack for |
| 129 | + all text, monoline SVG icons (`currentColor`), and locally bundled WebP |
| 130 | + images from `assets/` for the festival hero, film posters, and |
| 131 | + merchandise (see the "Real imagery" rule). Favorites are ★/☆ stars, not |
| 132 | + bookmarks. Build the five views as `.app-view` sections and switch them by |
| 133 | + toggling `.active` — each tab carries `data-view-target`, and switching |
| 134 | + resets `scrollTop`, updates `aria-current`, and never reloads. Keep the |
| 135 | + Saved view in sync with the star buttons: one shared key per item toggles |
| 136 | + the star, the header badge, and the Saved entry together. |
| 137 | +6. **Self-check against `references/checklist.md`.** Every P0 must pass before |
| 138 | + handoff. Pay special attention to no horizontal overflow at 390px, tap |
| 139 | + targets ≥ 44px, and "most useful first" ordering in the hot feed. |
| 140 | + |
| 141 | +## Hard rules |
| 142 | + |
| 143 | +- **Mobile-first.** The viewport is 390px wide; the content scrolls inside |
| 144 | + the screen while the chrome (status bar, tab bar) stays fixed. No desktop |
| 145 | + dashboard, no side rails, no heavy device bezel. |
| 146 | +- **GO MOVIE is the visual source of truth.** Do not reinterpret it as a |
| 147 | + generic editorial film app. Generalize the content (festival, city, films, |
| 148 | + venues, merch, copy), not the core interface language. |
| 149 | +- **Real navigation, not visual-only tabs.** Every bottom tab and the |
| 150 | + header Saved button switch to a real view; no tab may be a dead control. |
| 151 | + View state, `aria-current`, and scroll position must stay in sync. |
| 152 | +- **Information over decoration.** Every element serves discovery: a film's |
| 153 | + session time, a cinema's arrival tip, a merch item's pickup rule. No |
| 154 | + meaningless statistics, no gradient showcases, no marketing numbers. |
| 155 | +- **One content item, many dimensions.** Cross-link film ↔ venue ↔ merch ↔ |
| 156 | + guide rather than flattening everything into an undifferentiated list. This |
| 157 | + multi-dimensionality is what separates this template from a generic movie |
| 158 | + database app. |
| 159 | +- **Real imagery, not flat placeholders.** Use meaningful visual assets: |
| 160 | + a festival key visual for the hero, poster imagery for film cards, and |
| 161 | + physical-item imagery for merch cards. Never ship flat-color placeholders |
| 162 | + when the artifact expects real imagery — and never use copyrighted film |
| 163 | + posters or real film stills. |
| 164 | +- **Real copy only.** Specific film titles, directors, durations, session |
| 165 | + times, pickup rules. Write `—` or a labelled grey block when a fact is |
| 166 | + genuinely unknown — never fabricate one. |
| 167 | +- **Quick Access uses icon + label, centered.** Three compact cards per row, |
| 168 | + each with a meaningful monoline SVG icon and a centered bold label — never |
| 169 | + abstract numbering (01/02/03). The icon + label group is centered both |
| 170 | + horizontally and vertically within each card. |
| 171 | +- **Text masonry cards use an oversized decorative quote with optical |
| 172 | + alignment and alternating direction.** The opening `"` is visibly large |
| 173 | + (≈54px) and low-contrast, optically left-aligned to the headline via a |
| 174 | + small negative `margin-left` (~-7px) to compensate for glyph side bearing. |
| 175 | + Some cards instead use a closing `"` aligned to the content's lower-right |
| 176 | + edge (negative `margin-right`). Quote direction is deterministic per card |
| 177 | + (not random) — pick the variant that reads best for the content. The same |
| 178 | + component is reused by Today's Hot text cards, Practical Guide cards, and |
| 179 | + the Saved view's guide clones. |
| 180 | +- **Merchandise in overview surfaces uses the same compact image-card |
| 181 | + masonry language as the home hot feed.** No ticket perforation, no tear |
| 182 | + holes, no full-detail fact rows in the overview — just image + title + |
| 183 | + 物料周边 · type + source + favorite. The compact pill 可领取 / 余量不多 |
| 184 | + is the only status chrome. Detailed pickup rules belong in detail |
| 185 | + surfaces, not the overview masonry. |
| 186 | +- **Saved uses the same 2-column masonry as the home hot feed.** Saved |
| 187 | + films and merchandise use compact image cards; saved guides reuse the |
| 188 | + text/quote card component; saved cinemas use compact info cards. Do not |
| 189 | + group Saved content into separate full-width Film / Merch / Guide / |
| 190 | + Cinema sections. |
0 commit comments