mobile-app-echarts-visual
Mobile-readable **product ECharts** (card price/volume, portfolio history, set charts) without desktop regressions — grid gutters, axisLabel floors, legend…
Skill by Evan-Kim2028
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/evan-kim2028-mobile-app-echarts-visual
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mobile-app-echarts-visual
What's inside
- Skill name
mobile-app-echarts-visual- Description
- Mobile-readable **product ECharts** (card price/volume, portfolio history, set charts) without desktop regressions — grid gutters, axisLabel floors, legend placement, adaptive height, touch tooltips, dual-viewport proof. Use when card or portfolio charts are clipped, tiny, sparse, legend-jammed, "mobile echarts", or /mobile-app-echarts-visual. Prefer mobile-blog-chart-visual for blog SVG. Prefer design-system chart tokens + tufte for honesty.
- License
- MIT
- Metadata
- short-description: Product ECharts: mobile grid/axis floors + dual-viewport
- Instructions
- 120 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- verification.md · references/
SKILL.md (first lines)
# Mobile app ECharts visual **Job:** Product charts (canvas ECharts) stay legible at **~390×844** and coherent at desktop widths. Mobile is primary for SilphCo; desktop must not gain poster labels or empty plots from mobile-only hacks. **Scope:** `frontend/src/charts/**`, card-detail price/volume, portfolio valuation history, set volume charts. **Not** blog SVG — use **mobile-blog-chart-visual**. ## Sources | Source | What we take | |--------|----------------| | [Nadieh Bremer — Mobile vs desktop dataviz](https://www.visualcinnamon.com/2019/04/mobile-vs-desktop-dataviz/) | Non-linear type; stack/simplify on small screens; different chart when needed | | [Tableau mobile dashboard design](https://www.tableau.com/blog/mobile-dashboard-design-less-more-small-screen-47854) | Simple views, fewer filters, high-level marks | | [Create with Swift — humanist mobile dataviz](https://www.createwithswift.com/designing-humanist-data-visualization-for-mobile/) | No hover-only UX; high contrast; color-independent cues | | Apache ECharts docs (grid / axisLabel / containLabel) | `grid` + `containLabel` + resize rebuild — not CSS font hacks on canvas | | Silph `chartTheme` + `adaptiveChartHeight` | Token colors; mobile height ≥ desktop for dense series | ## Core rules (ECharts) ### Grid (gutters) At mobile container width (~350–370 CSS px after padding): | Region | Floor (CSS px) | Notes | |--------|---------------:|-------| | `grid.left` | **≥ 44** | Room for y labels (or use `containLabel: true`) | | `grid.right` | **≥ 12** (more if right-side series labels) | | | `grid.top` | **≥ 28** if legend/title; else **≥ 12** | Prefer **no** chart title if page already has one | | `grid.bottom` | **≥ 36** | x labels + dataZoom | Prefer `containLabel: true` on card/portfolio series charts unless a fixed grid is proven. ### Type floors (CSS px, ECharts `fontSize`) | Role | Mobile min | Desktop soft max | |------|----------:|-----------------:| | axisLabel | **11** | **14** | | legend | **11** | **13** | | tooltip | **12** | **14** | Do **not** use blog SVG viewBox math here — ECharts sizes in CSS pixels after layout. ### Height Use `resolveAdaptiveChartHeight` (or equivalent): - Sparse series: compact (~180) - Mobile dense: **≥ 280** - Desktop dense: ~260 Leave room for sticky chrome (card: app + command + tabs + bottom nav). Chart viewport ≈ remaining space after chrome — do not force a 400px chart under a 160px sticky stack without scroll. ### Interaction - Touch: use project `touchTooltip` / axisPointer patterns — **no hover-only** insight. - DataZoom: show a mobile hint once if pinch/pan is required. - Legend: bottom or scrollable; never overflow the container width. ### Color - Always go through `chartTheme` / marketplace color maps — no one-off hex in options. - Dark + light modes both pass contrast against `chartSurface`. - Color-independent series cues (line type / marker) for critical series when possible. ### Title hygiene - Page/section heading owns the title. - **No ECharts `title` text** that duplicates the section heading (wastes top grid). - No subtitle line under the page title restating the axis. ## Verification (product) | # | Check | Pass | |---|--------|------| | E1 | axisLabel fontSize ≥ 11 at 390 | | | E2 | grid gutters / containLabel — labels fully inside chart DOM box | | | E3 | No horizontal document overflow | | | E4 | Canvas width ≥ ~300 on 390 viewport for primary chart | | | E5 | Legend not clipped | | | E6 | Dual viewport 390 + 1280 — no desktop poster fonts | | | E7 | e2e: `card-echarts-mobile-geometry` (or successor) green | | ## Workflow 1. Identify option builder (e.g. PriceOverTime, DailyVolume, portfolio history). 2. Set `grid` + `axisLabel` + legend for mobile first. 3. Wire `adaptiveChartHeight(isMobile)`. 4. Confirm theme tokens. 5. Run card ECharts mobile e2e + manual 390 screenshot. 6. Desktop smoke: same option path at ≥1280. ## Anti-patterns - Copying blog SVG floor math into ECharts options. - `grid.left: '2%'` with long grade labels → clip. - Desktop-only legend on the right → mobile overflow. - Functional e2e green with unreadable axis (must geometry-probe). - Fixing clip with `overflow:hidden` on the chart shell. ## Hand off | Need | Skill | |------|--------| | Blog SVG | **mobile-blog-chart-visual** | | Tokens | **design-system** | | Sticky chrome | **product-chrome-craft** | | Viz honesty | **tufte** | | e2e proof | **browser-verify** | ## Done criteria - [ ] E1–E7 for touched product charts - [ ] No title/subtitle duplicate under section heading - [ ] Live card mobile screenshot: labels inside canvas box
From Evan-Kim2028/agent-skills, MIT.
More from Evan-Kim2028/agent-skills
- 0.552score
data
Evan-Kim2028
Hub for data-engineering pipeline work — storage/ingest/serve choice plus shared discipline (idempotency, incremental-not-full-recompute, schema fencing…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
ebay-listing
Evan-Kim2028
List Pokémon TCG singles on the ekcope-46 eBay store via lake-of-rage ebay-sell (Trading AddFixedPriceItem).
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-product-eval
Evan-Kim2028
Portable methodology for evaluating published estimates, marks, or forecasts against later realized outcomes — frozen snapshots, walk-forward fit vs forecast…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-api
Evan-Kim2028
Use when consuming HTTP APIs for ingestion (rate limits, backoff, pagination, auth, schema fencing) or serving gold over HTTP (FastAPI + DuckDB, pushdown…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-semantic-quality
Evan-Kim2028
Portable methodology for semantic (row-truth) data quality — write-time quality attributes, trust ladders, cohort fences, golden entity packs with dual error…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
data-reels
Evan-Kim2028
Principles for high-retention short-form data video (Instagram Reels, TikTok, Shorts) built from measured competitor research on data-viz and stats accounts.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-pokemon-tcg-foundations
Evan-Kim2028
Use when working with a trading-card sales tape — any sale-level dataset of collectible card transactions across multiple venues (Pokémon TCG, sports cards…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-identity-resolution
Evan-Kim2028
Portable workflow for attaching messy records to canonical entities — evidence ladder, fail-closed assignment, quarantine on strong-vs-weak conflict…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-apache-lakehouse
Evan-Kim2028
Use when designing, modifying, or debugging Apache Iceberg lakehouses (bronze/silver/gold medallion specifically on Iceberg) — PyIceberg +…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-pipeline-operations
Evan-Kim2028
Use when running multiple data pipelines on one host: memory admission, systemd MemoryMax, OOM that only appears under coexistence, capacity ratchets…
SkillBFreshness: B★ 1Claude Code +9 - 0.502score
flutter-pro-ux-review
Evan-Kim2028
Production Flutter UX audit: ranked polish findings (dead taps, null text, a11y, keyboard, haptics, layout shift, async/offline honesty, motion, empty states…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
browser-verify
Evan-Kim2028
Prove UI in a real browser — Playwright e2e, visual snapshots, axe, and/or Chrome DevTools MCP (live DOM, console, network, performance).
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 20, 2026 (3 months ago)
- Last release
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Evan-Kim2028/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Evan-Kim2028
- 0.552score
data
Evan-Kim2028
Hub for data-engineering pipeline work — storage/ingest/serve choice plus shared discipline (idempotency, incremental-not-full-recompute, schema fencing…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
ebay-listing
Evan-Kim2028
List Pokémon TCG singles on the ekcope-46 eBay store via lake-of-rage ebay-sell (Trading AddFixedPriceItem).
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-semantic-quality
Evan-Kim2028
Portable methodology for semantic (row-truth) data quality — write-time quality attributes, trust ladders, cohort fences, golden entity packs with dual error…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-product-eval
Evan-Kim2028
Portable methodology for evaluating published estimates, marks, or forecasts against later realized outcomes — frozen snapshots, walk-forward fit vs forecast…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-api
Evan-Kim2028
Use when consuming HTTP APIs for ingestion (rate limits, backoff, pagination, auth, schema fencing) or serving gold over HTTP (FastAPI + DuckDB, pushdown…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
data-reels
Evan-Kim2028
Principles for high-retention short-form data video (Instagram Reels, TikTok, Shorts) built from measured competitor research on data-viz and stats accounts.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
mobile-app-echarts-visual skill. Agent Mart. https://agentmart.dev/skills/evan-kim2028-mobile-app-echarts-visual (last updated 2026-10-24)