.claude/skills/add-icon/SKILL.md
Add a new Tabler icon to the project. Use when adding icons to the UI.
npx skillsauth add arto-app/arto add-iconInstall 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.
This skill guides you through adding a new icon from Tabler Icons to the project.
Icons are managed via icons.json and automatically built by Vite plugin.
Choose Icon
folder-open, info-circle)Add to icons.json
renderer/icons.jsonBuild Icon Sprite (Automatic)
just dev or cargo buildAdd Rust Enum Variant
desktop/src/components/icon.rsIconName enum (use PascalCase)Display implementationrenderer/icons.json:
[
"folder",
"folder-open",
"file"
]
desktop/src/components/icon.rs:
pub enum IconName {
Folder,
FolderOpen,
File,
}
impl std::fmt::Display for IconName {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
IconName::Folder => write!(f, "folder"),
IconName::FolderOpen => write!(f, "folder-open"),
IconName::File => write!(f, "file"),
}
}
}
| File | Purpose | Git Tracked |
|------|---------|-------------|
| renderer/icons.json | Icon list configuration | ✅ Yes |
| renderer/vite.config.ts | Icon sprite plugin | ✅ Yes |
| renderer/public/icons/tabler-sprite.svg | Generated sprite (Vite source) | ❌ No |
| assets/dist/icons/tabler-sprite.svg | Build output (Dioxus asset) | ❌ No |
assets/dist/ directory is .gitignored as build outputbuildStart hook)asset!("/assets/dist/icons/tabler-sprite.svg")@tabler/icons npm package (outline style only)icons.json
↓
Vite plugin (buildStart hook)
↓
renderer/public/icons/tabler-sprite.svg
↓
Vite build
↓
assets/dist/icons/tabler-sprite.svg
↓
Rust asset!() macro
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.