agentleFS
forcedotcomforcedotcom/salesforcedx-vscode/.claude/skills/icons-src/SKILL.md

icons-src

Skill1k starsChanged 26 days agoBSD-3-ClauseView on GitHub

Add custom SVG icons to salesforcedx-vscode-services for font generation. Use when adding new icons to media/icons-src, creating SVG icons for VS Code extension, or defining font-based icons.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Who's talking about forcedotcom/salesforcedx-vscode

The biggest 5 of 52 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 52

Talked about on GitHub and Stack Overflow (52 times).

On GitHub · 50

45 more on GitHub

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run npm run test -w salesforcedx-vscode-services — iconConsistency.test.ts validates SVG ↔ icons.json ↔ contributes.icons ↔ ICONS constant.

    line 74

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Icons-src: Adding Custom Font Icons

Location

packages/salesforcedx-vscode-services/media/icons-src/

SVG Requirements

  • viewBox: 0 0 24 24 only (enables better upscaling)
  • xmlns: http://www.w3.org/2000/svg
  • fill: currentColor on inner <g> so VS Code themes control color
  • structure: wrap paths in <g fill="currentColor" transform="scale(X)"> — adjust scale so glyph fits 24×24

External sources (Wikipedia, Illustrator, etc.) may be too complex for font generation. Simplify in vector editor or substitute alternative.

Reference (leaf.svg)

<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <g fill="currentColor" transform="scale(0.75)">
    <path d="..."></path>
  </g>
</svg>

Avoid

  • Hardcoded fill colors (e.g. fill="#000") — breaks theme support
  • viewBox other than 24×24
  • Strokes without stroke="currentColor" if used

Workflow

  1. Add SVG — media/icons-src/<name>.svg (name = lowercase, no spaces). Done: file matches SVG Requirements
  2. Add manifest entry — append to media/icons-src/icons.json per icons.json Format. Done: key + id + description present
  3. Run build — npm run build:icons -w salesforcedx-vscode-services. Done: auto-generated artifacts updated — verify git diff (see Artifacts)
  4. Add ICONS constant — src/vscode/mediaService.ts: ICONS + ICON_DESCRIPTION_KEYS; add i18n key in messages if needed. Done: new icon in both maps, compiles
  5. Regenerate types — if services-types consumes ICONS, run its generate script. Done: icons.ts includes new icon

icons.json Format

{
  "leaf": { "id": "sf-org-leaf", "description": "Leaf icon for default scratch org" },
  "tree": { "id": "sf-org-tree", "description": "Tree icon for default dev hub" }
}
  • Append new icons (order affects 0xe001, 0xe002, … code point assignments)
  • Key = SVG filename without .svg
  • id = VS Code icon ID (use sf-org-* for custom icons)
  • description = human-readable, used in contributes.icons

Artifacts that change (add/remove)

ArtifactAddRemove
media/icons-src/<name>.svgcreatedelete
media/icons-src/icons.jsonadd entryremove entry
package.json → contributes.iconsauto (build:icons)auto
resources/icons-font/*auto (build:icons)auto
src/vscode/mediaService.ts → ICONS, ICON_DESCRIPTION_KEYSmanualmanual
src/messages/* (i18n)manual if neededmanual
salesforcedx-vscode-services-types (icons.ts)manual (generate script)manual

Verification

Run npm run test -w salesforcedx-vscode-services — iconConsistency.test.ts validates SVG ↔ icons.json ↔ contributes.icons ↔ ICONS constant.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.