flutter-brand-icons
Generate every app icon and native splash asset for a Flutter project from one single-color logo SVG, with colors taken from the project's brand doc, design…
Skill by ersanyamarya
Chalk Labs
Need help deploying flutter-brand-icons?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/ersanyamarya-flutter-brand-icons
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: documents, design
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
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/flutter-brand-icons
What's inside
- Skill name
flutter-brand-icons- Description
- Generate every app icon and native splash asset for a Flutter project from one single-color logo SVG, with colors taken from the project's brand doc, design doc, or Dart app theme. Saves the SVG into the project, writes a small config file, runs the skill's own sharp-based generator in place, writes flutter_launcher_icons.yaml and flutter_native_splash.yaml, then runs both packages. Store listing icons are not made here; the stack's image-gen-tools store target owns them. Use when the user asks to "generate app icons from an SVG", "set up the splash screen", "regenerate launcher icons", "make the icons match the brand colors", "set up flutter_launcher_icons / flutter_native_splash", or pastes a logo SVG in a Flutter repo. Flutter projects only.
- License
- MIT
- Instructions
- 58 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- files: referenced but missing: assets/icon/source/logo.svg, assets/icon/source/wordmark.svg, assets/icon/light.png
Files (10)
- SKILL.md
- brand-icons.config.json · assets/tool/
- generate-brand-icons.mjs · assets/tool/
- evals.json · evals/
- theme-mapping.md · references/
- troubleshooting.md · references/
- check-config.mjs · scripts/
- check-svg.mjs · scripts/
- extract-colors.mjs · scripts/
- inspect-project.mjs · scripts/
SKILL.md (first lines)
# Flutter brand icons
Turns one logo SVG into the Android, iOS, web, macOS, and Windows launcher icons, and the native splash for each platform (light, dark, and Android 12+). It does not write App Store or Play listing icons: the stack's `image-gen-tools` `store` target (`pnpm nx run image-gen-tools:store -- --app=<name>`, via the `flutter-store-assets` skill) renders them from `assets/icon/`. Scripts inspect the project, check the SVG and config, and verify the outputs. The model chooses theme colors and asks the user wherever a person has to decide.
1. **Confirm the project**
- Execute `node ${CLAUDE_SKILL_DIR}/scripts/inspect-project.mjs <project-root>`.
- If `flutter` is false, stop: this skill only supports Flutter projects.
- Keep the report. Later steps use `packages`, `configs`, `platforms`, `themeSources`, `jsToolDirs`, `runtimes`, and `existingIconAssets`.
2. **Save the logo SVG before doing anything else**
- Take the SVG from the arguments: a file path, or markup pasted in chat. If neither was given, ask for it.
- Write it to `assets/icon/source/logo.svg`. Save a wordmark, if supplied, to `assets/icon/source/wordmark.svg`. When a file already exists there, show it and ask before replacing it.
- Execute `node ${CLAUDE_SKILL_DIR}/scripts/check-svg.mjs assets/icon/source/logo.svg` (add `--role wordmark` for the wordmark).
- When `ok` is false, list the errors and ask the user for a corrected SVG. The source must be flat colors on a transparent background: black for the mark, plus one distinct flat color per extra tone. Never convert text or raster images by hand.
- The generator trims transparent margins, so padding in the SVG does not matter.
3. **Resolve the theme source**
- When the user named a theme file (`--theme` or in the prompt), use it.
- Otherwise show the `themeSources` candidates and ask the user which file holds the brand colors, recommending a brand or design doc over Dart. When there are no candidates, ask for the location of the brand doc, design doc, or Dart file that defines the app theme. Never guess colors without a source.
- Execute `node ${CLAUDE_SKILL_DIR}/scripts/extract-colors.mjs <file> [file...]` on the chosen files.
- Read `references/theme-mapping.md`, then pick the colors for `roles.mark.light`/`dark`, `background.light`/`dark`, and `tinted`. If an existing YAML config sets colors, compare them as the reference describes.
- Show the chosen colors with the `file:line` each came from, and ask the user to confirm before continuing.
4. **Write the config (the generator is not copied)**
- The generator `${CLAUDE_SKILL_DIR}/assets/tool/generate-brand-icons.mjs` runs from the skill folder. Never copy it into the project. Only the config lives in the project.
- Choose the config folder: the app folder itself, or `tool/brand_icons/` when the project keeps dev scripts there. Ask when unclear.
- Copy `assets/tool/brand-icons.config.json` from `${CLAUDE_SKILL_DIR}` to that folder.
- The generator loads `sharp` from the directory it is run in. In the gentlemans-stack it is already a root devDependency; elsewhere ask before installing it.
- Fill the config:
- `projectRoot` is relative to the tool folder.
- `themeSource` lists the files from step 3.
- Set `platforms` from the report.
- Set `wordmark` when one was saved. With no wordmark SVG but existing branding PNGs in `existingIconAssets`, set `brandingImages` to `{ "light": ..., "dark": ... }` so the splash keeps them.
- Carry over `androidAdaptiveInset`, `fullscreen`, and `brandingBottomPadding` from any existing YAML.
- Ask once, listing everything that changes, before:
- replacing existing `flutter_launcher_icons.yaml` / `flutter_native_splash.yaml` (the generator overwrites both)
- replacing the PNGs in `existingIconAssets`
- running `flutter pub add --dev flutter_launcher_icons flutter_native_splash` when `packages` has either one missing
- installing `sharp` when the project lacks it
5. **Check the config**
- Execute `node ${CLAUDE_SKILL_DIR}/scripts/check-config.mjs <tool-dir>/brand-icons.config.json`.
- Fix every error. For a contrast failure, adjust the background as `references/theme-mapping.md` describes and re-confirm with the user. Mention each warning.
6. **Generate**
- Run `node ${CLAUDE_SKILL_DIR}/assets/tool/generate-brand-icons.mjs --config <config-folder>/brand-icons.config.json` from the project root (where `sharp` resolves). In the gentlemans-stack the Flutter step can instead be run with `node scripts/flutter/generate-assets.mjs <app>` after the PNGs exist. Add `--skip-flutter` only when the user asked for PNGs without regenerating native files.
- On any failure, read `references/troubleshooting.md` and apply the matching fix.
7. **Verify**
- Execute `node ${CLAUDE_SKILL_DIR}/scripts/check-config.mjs <tool-dir>/brand-icons.config.json --outputs` and fix every error.
- Open `light.png`, `dark.png`, `android12_light.png`, and `assets/icon/light.png` as images. Check that the colors match the theme and that nothing is clipped.
8. **Report**
- State what now exists: the regenerate command, the config path, that listing icons come from the stack `store` target, the colors and where each came from, and the platforms covered.
- Summarize `git status` by folder rather than listing every file, and note that nothing was committed.
- Offer, without applying: removing a leftover `pubspec.yaml` config block, and splash preserve/remove in `main()` (see `references/troubleshooting.md`).From ersanyamarya/agentry-labs, MIT.
More from ersanyamarya/agentry-labs
- 0.570score
skill-architect
ersanyamarya
Create, improve, or review Claude Code skills so they are portable, token-efficient, and spec-compliant, with scripts doing the exact work and the model doing…
SkillAFreshness: AClaude Code +9 - 0.570score
image-artifact-setup
ersanyamarya
Set up a reproducible image generator in a project (Open Graph and social cards, link previews, project or product tiles, README banners, store screenshots)…
SkillAFreshness: AClaude Code +9 - 0.570score
flutter-logging-strategy
ersanyamarya
Establish, audit, and enforce a consistent logging strategy in any Flutter/Dart project using package:logging — installs the dependency if missing, builds a…
SkillAFreshness: AClaude Code +9 - 0.570score
flutter-store-assets
ersanyamarya
Operates the gentlemans-stack image tool (tools/image-gen-tools) for a Flutter app.
SkillAFreshness: AClaude Code +9 - 0.570score
humanize-and-unslop
ersanyamarya
Edit drafts into plain, specific, human-sounding writing by removing AI tells (banned vocabulary, em dashes, curly quotes, puffery, chatbot phrases, formulaic…
SkillAFreshness: AClaude Code +9 - 0.570score
lighthouse-audit
ersanyamarya
Run Google Lighthouse against a URL (mobile and desktop), trace the performance, accessibility, SEO, and best-practices findings to the project's actual…
SkillAFreshness: AClaude Code +9 - 0.570score
run-fallow
ersanyamarya
Run the `fallow` CLI on any JavaScript/TypeScript project to find dead code, unused dependencies, duplication, complexity hotspots, and security candidates…
SkillAFreshness: AClaude Code +9 - 0.566score
flutter-bundle-google-fonts
ersanyamarya
Replaces the google_fonts package in a Flutter app with fonts bundled in the app, using the gentlemans-stack scripts/flutter/bundle-fonts.mjs to scan usages…
SkillAFreshness: AClaude Code +9 - 0.565score
mongoose-schema-docs
ersanyamarya
Generate documentation and an entity-relationship diagram from a codebase's Mongoose schemas.
SkillAFreshness: AClaude Code +9 - 0.565score
sync-docs-from-diff
ersanyamarya
Update repo documentation from a git diff.
SkillAFreshness: AClaude Code +9 - 0.565score
script-writer
ersanyamarya
Generate a new shell script in scripts/ following the repo's script conventions (help header, utils.sh sourcing, signal trap, argument parsing).
SkillAFreshness: AClaude Code +9 - 0.565score
generate-commit-message
ersanyamarya
Write a Conventional Commit message in this repo's style (type(scope): Capitalized summary) from staged or unstaged changes.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ersanyamarya/agentry-labs
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ersanyamarya
- 0.570score
flutter-logging-strategy
ersanyamarya
Establish, audit, and enforce a consistent logging strategy in any Flutter/Dart project using package:logging — installs the dependency if missing, builds a…
SkillAFreshness: AClaude Code +9 - 0.570score
flutter-store-assets
ersanyamarya
Operates the gentlemans-stack image tool (tools/image-gen-tools) for a Flutter app.
SkillAFreshness: AClaude Code +9 - 0.570score
humanize-and-unslop
ersanyamarya
Edit drafts into plain, specific, human-sounding writing by removing AI tells (banned vocabulary, em dashes, curly quotes, puffery, chatbot phrases, formulaic…
SkillAFreshness: AClaude Code +9 - 0.570score
lighthouse-audit
ersanyamarya
Run Google Lighthouse against a URL (mobile and desktop), trace the performance, accessibility, SEO, and best-practices findings to the project's actual…
SkillAFreshness: AClaude Code +9 - 0.570score
run-fallow
ersanyamarya
Run the `fallow` CLI on any JavaScript/TypeScript project to find dead code, unused dependencies, duplication, complexity hotspots, and security candidates…
SkillAFreshness: AClaude Code +9 - 0.570score
skill-architect
ersanyamarya
Create, improve, or review Claude Code skills so they are portable, token-efficient, and spec-compliant, with scripts doing the exact work and the model doing…
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get flutter-brand-icons running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
flutter-brand-icons skill. Agent Mart. https://agentmart.dev/skills/ersanyamarya-flutter-brand-icons (last updated 2026-10-24)