mobile-custom-icons/SKILL.md
Use custom PNG icons in mobile apps (Android and iOS) instead of library icons. Enforces placeholder usage, standard directories, and PROJECT_ICONS.md tracking. Applies to Jetpack Compose, XML layouts, and SwiftUI.
npx skillsauth add peterbamuhigire/skills-web-dev mobile-custom-iconsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
mobile-custom-icons or would be better handled by a more specific companion skill.SKILL.md first, then load only the referenced deep-dive files that are necessary for the task.Use custom PNG icons in mobile apps instead of icon libraries. Whenever UI code includes an icon, the agent must use a PNG placeholder and update PROJECT_ICONS.md so the icon list is tracked for later upload.
Use for: All mobile UI generation (Android Compose/XML and iOS SwiftUI).
Do not use: Material Icons, SF Symbols, Font Awesome, or any bundled icon libraries unless the user explicitly asks for them.
app/src/main/res/drawable/app/src/main/res/drawable-nodpi/If multiple densities are provided later, place them in
drawable-hdpi,drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpiusing the same file name.
R.drawable.<name>Examples:
cancel.png -> R.drawable.cancelchart.png -> R.drawable.chartfilter.png -> R.drawable.filterIcon(
painter = painterResource(R.drawable.cancel),
contentDescription = "Cancel",
modifier = Modifier.size(24.dp)
)
Image(
painter = painterResource(R.drawable.chart),
contentDescription = null,
modifier = Modifier.size(48.dp)
)
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/cancel"
android:contentDescription="@string/cancel" />
Assets.xcassets/Icons/.imageset folder inside Icons/.imageset folder contains the PNG files and a Contents.json manifestDirectory structure example:
Assets.xcassets/
Icons/
cancel.imageset/
[email protected]
[email protected]
[email protected]
Contents.json
chart.imageset/
[email protected]
[email protected]
[email protected]
Contents.json
Contents.json template:
{
"images": [
{ "filename": "[email protected]", "idiom": "universal", "scale": "1x" },
{ "filename": "[email protected]", "idiom": "universal", "scale": "2x" },
{ "filename": "[email protected]", "idiom": "universal", "scale": "3x" }
],
"info": { "version": 1, "author": "xcode" }
}
During placeholder phase, provide at least the 2x variant. Xcode will scale for missing sizes.
.imageset folder name is the image identifier used in codeExamples:
cancel.imageset/ -> Image("cancel")bar-chart.imageset/ -> Image("bar-chart")filter.imageset/ -> Image("filter")Image("cancel")
.resizable()
.frame(width: 24, height: 24)
// Or with accessibility
Image("chart")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 48, height: 48)
.accessibilityLabel("Chart")
let icon = UIImage(named: "cancel")
imageView.image = icon
Maintain a PROJECT_ICONS.md file at the project root. Every time code introduces a new icon placeholder, append a row.
# Project Icons
Android path: app/src/main/res/drawable/
iOS path: Assets.xcassets/Icons/
| Icon File | Usage | Screen/Component | Status | Platform | Notes |
| ---------- | ------------ | ----------------- | ----------- | ------------- | ------------------------ |
| cancel.png | Close action | EditProfileTopBar | placeholder | Android + iOS | Provide 24dp/24pt PNG |
cancel.png).placeholder until the PNG is provided.Android, iOS, or Android + iOS depending on where the icon is used.painterResource(R.drawable.<name>) or @drawable/<name>Image("<name>") referencing the asset catalogPROJECT_ICONS.md with the Platform column filled inAndroid + iOS platformdata-ai
Use when adding AI-powered analytics to a SaaS platform — semantic search over business data, natural language queries, trend detection, anomaly alerts, and AI-generated insights for dashboards. Covers embeddings, NL2SQL, and per-tenant analytics...
data-ai
Design AI-powered analytics dashboards — what metrics to show, how to display AI predictions and confidence, drill-down patterns, KPI cards, trend visualisation, AI Insights panels, export design, and role-based dashboard variants. Invoke when...
development
Use when designing, building, reviewing, or upgrading production software systems that must be secure, performant, maintainable, scalable, and user-centered. Apply before writing specs, code, architecture, APIs, databases, mobile apps, SaaS platforms, or ERP systems.
development
Professional web app UI using commercial templates (Tabler/Bootstrap 5) with strong frontend design direction when needed. Use for CRUD interfaces, dashboards, admin panels with SweetAlert2, DataTables, Flatpickr. Clone seeder-page.php, use...