ワンクリックで
using-icons
Use this skill when making use of any icons in any part of the frontend.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use this skill when making use of any icons in any part of the frontend.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
FLS content types, file formats, and frontmatter schemas. Use when authoring a topic, form, quiz, survey, course, course part, chapter, module, or any content file.
FLS course-authoring conventions — numbering, file naming, UUID rules, and HTML-escaping rules. Use when asking about uuid, numbering, ordering, file name, folder, or directory structure.
Define and manage per-app Django settings via per-app config.py modules. Use when adding, reading, or enforcing a setting an app owns, when a downstream project must supply a value, or when the user mentions config.py, AppSettings, declared_settings, required settings, or COURSE_ACCESS_BACKEND.
Write Playwright E2E tests for user flows and browser interactions. Use when testing HTMX, user journeys, or when the user mentions E2E, Playwright, or browser testing.
Write pytest tests. Use when implementing features, fixing bugs, or when the user mentions testing, TDD, or pytest
Every FLS c-* widget — purpose, attributes, and examples. Use when asking about a widget, component, admonition, flashcard, accordion, youtube, picture, table, code block, card, pull quote, or equation.
| name | using-icons |
| description | Use this skill when making use of any icons in any part of the frontend. |
| allowed-tools | Read, Grep, Glob |
Use this skill when adding, modifying, or working with icons in templates.
All icons use the <c-icon /> Cotton component. Icons are referenced by semantic name (e.g. "success", "next", "home"), not by icon-set-specific names. The system resolves semantic names to concrete icons from the active icon set (Heroicons by default).
"next", "previous", "home", "expand", "collapse", "menu_open", "menu_close", "dropdown",
"success", "error", "warning", "info", "in_progress", "complete", "locked", "not_started",
"check", "close", "retry", "download", "more_options", "settings",
"topic", "form", "course_part",
"user", "notifications", "achievement", "loading",
"sort_asc", "sort_desc", "sort_neutral", "boolean_true", "boolean_false",
"deadline",
"sentiment_good", "sentiment_bad", "unknown", "star", "notes"
<c-icon name="next" class="size-5 text-blue-500" />
<c-icon name="success" variant="solid" class="size-6" />
{# When the icon name comes from a template variable, use :name #}
<c-icon :name="activity.icon" class="size-5" />
{# With aria label for standalone informative icons #}
<c-icon name="success" aria_label="Completed" />
<c-icon name="semantic_name" /> in templates{% icon %} or {% load icon_tags %} directly -- these are internal to the Cotton componentfa-, fas, far), hand-coded inline SVGs, or Unicode icon characterssize-3 -- extra compact (inside badges, deadlines)size-4 -- compact (inside lists, small UI elements)size-5 -- standard (buttons, most UI) -- defaultsize-6 -- emphasis (modal close buttons)size-8 -- large (loading spinners)size-12 -- extra large (lightbox close)size-16 -- hero (success/error result pages)role="img" and aria-label set to the semantic name<c-icon name="success" aria_label="Completed" />aria-label on the button elementSince <c-icon /> is server-side, use x-show on wrapper spans for Alpine.js toggling:
<span x-show="expanded" x-cloak><c-icon name="expand" class="size-4" /></span>
<span x-show="!expanded"><c-icon name="collapse" class="size-4" /></span>
For directional flips, use rotate-180 on a wrapper:
<span :class="sidebarOpen ? '' : 'rotate-180'">
<c-icon name="menu_close" class="size-5" />
</span>
Refer to these if you need to change rendering behavior: