aiconographer
Skill1 starsChanged 8 days agoMITView on GitHub
Generate, compile, blind-judge, and finalize consistent two-color lore article icons with a coding agent's native image tools. Use for subscription-backed agent runs; use the Aiconographer Python package for API, module, or pipx automation.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- aftermath-rewindSkill
- ask-socratesSkill
- check-project-nameSkill
- goal-checkSkill
- lean-proof-reviewSkill
- parallax-imageSkill
- prior-artSkill
- projectbotSkill
- quiet-uxSkill
- rmddSkill
- rmdsSkill
- rmdvSkill
- rrr-review-remedy-respondSkill
- soft-skill-creatorSkill
- thought-rigSkill
- todoSkill
- verifier-systemSkill
- what-huhSkill
- what-whatSkill
- write-humanlySkill
- write-plainlySkill
- write-simplified-technical-englishSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 11 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Create six distinct article-icon candidates, assess them at their real UI sizes, and retain one transparent two-fill SVG as the canonical …
- Distinctive: line 24
Full article run: Read references/production-guide.md completely, then plan, generate, inspect, compile, blind-judge, and finalize.
- Very specific: line 26
Compile an existing candidate sheet: Read the compile and provided-sheet sections of the production guide.
- Distinctive: line 29
Judge existing compiled candidates: Read the blind-judging section of the production guide.
- Distinctive: line 30
Use only the article text and the compiler's anonymous 192px/48px review pack.
- Very specific: line 31
Finalize an already selected candidate: Run scripts/finalize-winner.mjs --help.
- Distinctive: line 35
When generating a sheet, plan exactly six materially different concepts.
- Very specific: line 39
Use charcoal #2C2C2B and coral #F45138 as the only final SVG fills.
- Distinctive: line 40
Keep final SVG backgrounds transparent.
- Distinctive: line 42
Keep each icon roughly centered.
- Distinctive: line 57
Write six genuinely different one-sentence icon concepts.
- Distinctive: line 65
Use a fresh judge context when available.
- Distinctive: line 93
Check the four-percent safety band before compilation:
- Distinctive: line 111
After judging, finalize without overwriting prior output:
- Very specific: line 120
Use equivalent node and npm commands on non-Windows systems.
≈ “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.
Files
Aiconographer — coding-agent edition
Create six distinct article-icon candidates, assess them at their real UI sizes, and retain one transparent two-fill SVG as the canonical asset.
This skill is the coding-agent edition of Aiconographer. Use the host agent's native image generation and reasoning capabilities under the user's coding subscription. It must not require an API key or invoke the Python package merely to perform an ordinary skill run.
The separate Python package is the API edition: it exposes a module and pipx CLI and uses Chatsnack for model calls. Provider plumbing intentionally differs. Keep the editions aligned on their shared workflow and document any behavioral differences rather than assuming identical output.
Choose the path
- Full article run: Read references/production-guide.md completely, then plan, generate, inspect, compile, blind-judge, and finalize.
- Compile an existing candidate sheet: Read the compile and provided-sheet sections of the
production guide. Run
scripts/check-sheet-padding.mjs --helpandscripts/process-sheet.mjs --helpbefore compiling. - Judge existing compiled candidates: Read the blind-judging section of the production guide. Use only the article text and the compiler's anonymous 192px/48px review pack.
- Finalize an already selected candidate: Run
scripts/finalize-winner.mjs --help.
Shared behavior contract
- When generating a sheet, plan exactly six materially different concepts.
- Generate one landscape 3-by-2 candidate sheet on pure white.
- Allow at most three generated-sheet attempts. Preserve every attempt and feed concrete rejection reasons into the next one.
- Use charcoal
#2C2C2Band coral#F45138as the only final SVG fills. - Keep final SVG backgrounds transparent; white is a temporary raster background.
- Validate tile padding deterministically before model inspection or compilation.
- Keep each icon roughly centered. The compiler shifts noticeably displaced artwork as a whole; small offsets and the design's internal composition remain unchanged.
- Trace at source resolution and judge direct SVG renders at 192px and 48px.
- Give the judge anonymous previews without candidate IDs, concepts, positions, prompts, or creator preference. A same-agent judging phase is not independent or fully blind if it saw the sheet.
- Produce a parsed scorecard, exclusive winner finalization, and a retained run record.
- Support a user-provided 3-by-2 sheet by skipping planning and generation while preserving deterministic validation, blind judging, and provenance.
- Derive the final slug from the article title: lowercase ASCII, replace non-alphanumeric runs
with hyphens, trim hyphens, and fall back to
source-icon. Never overwrite an existing result.
Generated-sheet run
- Extract the source text's primary identity, defining relationship, essential structure, emotional register, and useful motifs.
- Write six genuinely different one-sentence icon concepts.
- Generate a 1536×1024 candidate sheet with the host's native image tool. Request six square cells, generous padding, the exact palette, and no dividers or forbidden rendering effects.
- Save the sheet as
candidate-sheet-attempt-N.png. Run the deterministic padding check, then inspect the whole sheet visually. If rejected, retain the reasons and retry, up to three total attempts. - Compile the first accepted sheet with
process-sheet.mjs. Treat compiler rejection like an inspection rejection when attempts remain. - Use a fresh judge context when available. Give it only the exact source text and paired anonymous 192px/48px previews.
- Save the structured result as
aiconographer-scorecard.json, verify its aliases and weighted arithmetic, and map the winner throughreview-map.json. Stop before finalization when the scorecard is structurally invalid. - Finalize exactly one candidate with
finalize-winner.mjs. - Retain the source, concept brief, all attempts, inspections, accepted sheet, prompt, compiler
outputs, scorecard, selection, provider label, tool versions, and checksums in
run-record.json.
For a provided sheet, follow the guide's provided-sheet path instead of planning or generating.
Deterministic compiler setup
The bundled scripts use pinned Node dependencies from a caller-supplied directory so
node_modules stays outside the skill. Stage them in a temporary directory:
$skillRoot = '<absolute-path-to-this-skill>'
$depsRoot = Join-Path ([System.IO.Path]::GetTempPath()) 'aiconographer-node-deps'
$npm = (Get-Command npm.cmd -ErrorAction Stop).Source
$node = (Get-Command node.exe -ErrorAction Stop).Source
New-Item -ItemType Directory -Path $depsRoot -Force | Out-Null
Copy-Item -LiteralPath "$skillRoot\scripts\package.json" -Destination $depsRoot
Copy-Item -LiteralPath "$skillRoot\scripts\package-lock.json" -Destination $depsRoot
& $npm ci --prefix $depsRootCheck the four-percent safety band before compilation:
& $node "$skillRoot\scripts\check-sheet-padding.mjs" `
--input '<candidate-sheet.png>' `
--deps-root $depsRootCompile into a new or empty directory:
& $node "$skillRoot\scripts\process-sheet.mjs" `
--input '<candidate-sheet.png>' `
--output '<new-empty-run-directory>' `
--deps-root $depsRoot `
--article '<source-text-file>'After judging, finalize without overwriting prior output:
& $node "$skillRoot\scripts\finalize-winner.mjs" `
--run '<run-directory>' `
--candidate c6 `
--slug '<article-slug>'Use equivalent node and npm commands on non-Windows systems. Do not add these dependencies
to the host project merely to process a sheet.
Completion
Inspect the white and dark contact sheets and the winning 48px render before reporting success.
Provide the canonical SVG, preview, scorecard, run record, exact generation prompt, and candidate
provider. For a provided sheet, report the generation prompt as null. State that this was the
coding-agent edition so the provenance is unambiguous.
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
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.

