android-custom-icons

📁 peterbamuhigire/skills-web-dev 📅 11 days ago
16
总安装量
16
周安装量
#21013
全站排名
安装命令
npx skills add https://github.com/peterbamuhigire/skills-web-dev --skill android-custom-icons

Agent 安装分布

opencode 16
gemini-cli 16
github-copilot 16
codex 16
amp 16
kimi-cli 16

Skill 文档

Required Plugins

Superpowers plugin: MUST be active for all work using this skill. Use throughout the entire build pipeline — design decisions, code generation, debugging, quality checks, and any task where it offers enhanced capabilities. If superpowers provides a better way to accomplish something, prefer it over the default approach.

Android Custom PNG Icons

Use custom PNG icons in Android 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.

Scope

Use for: All Android UI generation (Compose and XML).

Do not use: Material Icons, Font Awesome, or any bundled icon libraries unless the user explicitly asks for them.

Standard Icon Directory

  • Primary location: app/src/main/res/drawable/
  • If you need 1:1 pixels (no scaling): app/src/main/res/drawable-nodpi/

If multiple densities are provided later, place them in drawable-hdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi using the same file name.

File Naming Rules (Required)

  • Lowercase letters, numbers, underscores only
  • No hyphens, no spaces, no uppercase
  • File name becomes R.drawable.<name>

Examples:

  • cancel.png -> R.drawable.cancel
  • chart.png -> R.drawable.chart
  • filter.png -> R.drawable.filter

Compose Usage (Required)

Icon(
    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)
)

XML Usage (Required)

<ImageView
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:src="@drawable/cancel"
    android:contentDescription="@string/cancel" />

PROJECT_ICONS.md (Required)

Maintain a PROJECT_ICONS.md file at the project root. Every time code introduces a new icon placeholder, append a row.

Template

# Project Icons

Standard path: app/src/main/res/drawable/

| Icon File  | Usage        | Screen/Component  | Status      | Notes            |
| ---------- | ------------ | ----------------- | ----------- | ---------------- |
| cancel.png | Close action | EditProfileTopBar | placeholder | Provide 24dp PNG |

Update Rules

  • Add a row every time a new icon placeholder is referenced in code.
  • Use the exact file name used in code (e.g., cancel.png).
  • Keep status as placeholder until the PNG is provided.

Mandatory Checklist (Per UI Generation)

  • Use PNG placeholders only (no icon libraries)
  • Use painterResource(R.drawable.<name>) or @drawable/<name>
  • Add or update PROJECT_ICONS.md
  • Placeholders use valid Android resource naming