一键导入
roc-icons
Use Roc icon library (@marcus/roc) in projects. Covers React, Svelte, and HTML sprite usage, all 4 styles, and migration from other icon sets.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use Roc icon library (@marcus/roc) in projects. Covers React, Svelte, and HTML sprite usage, all 4 styles, and migration from other icon sets.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Orchestrate development work through sub-agents using td for state. Use when given a td task ID, text idea, markdown plan, or td epic to execute through plan-implement-review loops.
Set up and run autonomous overnight coding loops that process td epic tasks one at a time. Includes the loop runner, Rich TUI cockpit dashboard, and prompt template. Use when automating multi-day feature development across many tasks with td for state management.
Start a td review session and do a detailed review of open reviews. Fix obvious bugs immediately, create tasks for bigger issues, ensure test coverage, and use parallel subagents for independent reviews. Use when you want to review and triage pending td reviews.
Task management for AI agents across context windows. Use when agents need to track work, log progress, hand off state, and maintain context across sessions. Includes workflows for single-issue focus, multi-issue work sessions, and structured handoffs. Essential for AI-assisted development where context windows reset between sessions.
Create and maintain DESIGN.md files — a design system specification optimized for AI consumption. Use when creating a project's design system file, extracting tokens from existing CSS/code, auditing design consistency, or onboarding an agent to a project's visual language.
Write naturally and avoid AI-detectable patterns. Use when (1) generating any written content, (2) reviewing/editing text for AI-like patterns, (3) user asks to make writing sound more human/natural, or (4) improving text that sounds robotic or generic. Covers vocabulary, structure, tone, and formatting tells that signal AI authorship.
基于 SOC 职业分类
| name | roc-icons |
| description | Use Roc icon library (@marcus/roc) in projects. Covers React, Svelte, and HTML sprite usage, all 4 styles, and migration from other icon sets. |
| tags | ["icons","react","svelte","svg","ui"] |
Handcrafted SVG icon library with 416 icons across 4 styles. Use this skill when adding, replacing, or configuring icons in any project.
Browse all icons: https://roc.haplab.com
npm install @marcus/roc
Requires Node.js 22+.
| Style | Import path | Description | Use when |
|---|---|---|---|
| outline | */outline | Rounded strokes, 1.5px | Default for most UI |
| solid | */solid | Filled shapes | Active/selected states, nav bars |
| duotone | */duotone | Tinted bg + outline strokes | Feature highlights, dashboards |
| sharp | */sharp | Angular, miter joins, butt caps | Technical/developer UIs |
Pick one style per context. Don't mix outline and solid in the same toolbar.
import { Home, Bell, Search } from '@marcus/roc/react/outline';
<Home size={20} className="text-gray-500" />
<Bell size={20} />
<Search size={16} /> {/* stroke auto-adjusts to 1.75 at <=16px */}
// Single style barrel import
import { Home, Bell } from '@marcus/roc/react/outline';
import { Home, Bell } from '@marcus/roc/react/solid';
import { Home, Bell } from '@marcus/roc/react/duotone';
import { Home, Bell } from '@marcus/roc/react/sharp';
| Prop | Type | Default | Notes |
|---|---|---|---|
size | number | 24 | Width and height in px |
strokeWidth | number | auto | 1.75 at <=16px, 1.5 at 20px+. Only on stroked styles (outline, duotone, sharp). |
className | string | — | CSS class |
...rest | SVGProps | — | All standard SVG attributes passed through |
<script>
import Home from '@marcus/roc/svelte/outline/Home.svelte';
import Bell from '@marcus/roc/svelte/solid/Bell.svelte';
</script>
<Home size={24} class="icon" />
<Bell size={20} />
// Individual component (recommended for Svelte)
import Home from '@marcus/roc/svelte/outline/Home.svelte';
// Barrel import (works but larger bundle)
import { Home, Bell } from '@marcus/roc/svelte/outline';
Component names are PascalCase: arrow-left.svg becomes ArrowLeft.svelte.
Copy dist/sprite.svg to your public directory, then:
<svg width="24" height="24" class="text-gray-700">
<use href="/sprite.svg#home-outline" />
</svg>
Symbol IDs: {name}-{style} (e.g., bell-solid, search-duotone, home-sharp).
Duotone icons require a CSS custom property. Add once globally:
:root {
--color-duotone-fill: rgba(94, 106, 210, 0.15);
}
Adjust the color/opacity to match your design system. Common values:
/* Blue tint (default) */
--color-duotone-fill: rgba(94, 106, 210, 0.15);
/* Brand-colored */
--color-duotone-fill: rgba(var(--brand-rgb), 0.12);
/* Neutral */
--color-duotone-fill: rgba(0, 0, 0, 0.08);
import metadata from '@marcus/roc/metadata';
// { icons: [...], categories: [...], total: 416 }
Use for building icon pickers, search, or documentation.
416 icons across 18 categories. See references/icon-catalog.md for the full list.
Categories: Navigation, Data, Communication, People, System, Brand, Actions, Files, Media, Weather, Transport, Commerce, Development, Devices, Objects, Food, Gaming, Nature
Common icons by use case:
| Use case | Icons |
|---|---|
| Navigation | home, arrow-*, chevron-*, caret-*, compass, map, globe |
| Forms & input | search, check, x, plus, minus, eye, eye-off, pencil |
| CRUD actions | plus, pencil, trash, copy, download, upload, share |
| Auth & security | lock, unlock, key, shield, shield-check, fingerprint, sign-out |
| Notifications | bell, mail, inbox, send, message-circle, chat |
| Media controls | play, pause, stop, skip-forward, skip-back, volume, volume-off |
| Status & feedback | check-circle, x-circle, alert-triangle, alert-circle, info, help-circle |
| Data viz | chart, pie-chart, line-chart, bar-chart, trending-up, trending-down, activity |
| E-commerce | shopping-cart, shopping-bag, credit-card, dollar, euro, tag, receipt |
| Social/Brand | github, twitter-logo, discord-logo, slack-logo, linkedin-logo + 30 more |
// Before (Lucide)
import { Home, Bell } from 'lucide-react';
// After (Roc)
import { Home, Bell } from '@marcus/roc/react/outline';
Props map directly: size, strokeWidth, className all work the same.
Name differences: most icon names match Lucide conventions. Check the icon catalog for exact names. Key differences:
arrow-left not arrowLeftArrowLeft (same as Lucide)-logo suffix: github (icon), twitter-logo, discord-logoReplace <i> tags with components:
// Before
<i className="fa-solid fa-house" />
// After
import { Home } from '@marcus/roc/react/solid';
<Home size={20} />
<!-- Before (any icon lib) -->
<Icon name="home" />
<!-- After (Roc) -->
<script>
import Home from '@marcus/roc/svelte/outline/Home.svelte';
</script>
<Home size={24} />
@marcus/roccurrentColor inheritance works with your color system