Algorithmic Art
nexu-io/open-design
Create generative art using p5.js with seeded randomness so every render is reproducible.
Render an answer as ASCII art plus semantic emojis inline with no setup questions: one render per reply, verdict first.
$ npx skills add yonatangross/orchestkit --skill glyph -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yonatangross/orchestkit glyph --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/glyph .claude/skills/glyph && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .claude/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyphType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yonatangross/orchestkit --skill glyph -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yonatangross/orchestkit glyph --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/glyph .agents/skills/glyph && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .agents/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill glyph -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yonatangross/orchestkit glyph --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/glyph .cursor/skills/glyph && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .cursor/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yonatangross/orchestkit.git --path src/skills/glyph--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yonatangross/orchestkit --skill glyph -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yonatangross/orchestkit glyph --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/glyph .gemini/skills/glyph && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .gemini/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yonatangross/orchestkit glyphInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yonatangross/orchestkit --skill glyph -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/glyph .github/skills/glyph && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .github/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill glyph -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yonatangross/orchestkit glyph --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/glyph .opencode/skills/glyph && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "glyph" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/glyph into .opencode/skills/glyph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "glyph", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
glyphRender an answer as ASCII art plus semantic emojis inline with no setup questions: one render per reply, verdict first.
Glyph is an agent skill from yonatangross/orchestkit. Render an answer as ASCII art plus semantic emojis inline with no setup questions: one render per reply, verdict first. Use for any answer with shape: status, inventories, audits, budgets, comparisons, rankings, pipelines, 'what is using X', or any ad-hoc 'show me X visually' ask. Not for definitions, conceptual explanations, or one-liner asks. For a full multi-artifact plan playground, use visualize-plan instead.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including reference files (for example `CONTRIBUTING.md`, `examples/_featured.md` and `primitives.json`). Compatibility notes: Claude Code 2.1.277+.
The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 02bbf9a. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
orchestkit.yonyon.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude Code 2.1.277+.
From compatibility in the SKILL.md frontmatter.
Glyph loads about 4.3k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,941 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from yonatangross/orchestkit at commit 02bbf9a, republished under its MIT licence (© yonatangross). 1,941 words, ~4,324 tokens.
.claude/skills/glyph/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.Render the answer as ASCII art plus semantic emojis, inline, immediately. All output renders in a monospace terminal with no external tools.
Core principle: Encode information into structure, not decoration. Every diagram element should communicate something meaningful.
A human asking "how do I use this" gets a URL, not a paraphrase:
https://orchestkit.yonyon.ai/docs/reference/skills/glyph#examples (what it draws,
the two picks, three real renders, the exact invocation; generated from this
skill's examples/_featured.md, so it cannot drift from the skill).
The whole point is speed, so there is no setup phase.
Already loaded means render, not hand off. Once this file is loaded, draw the answer here. Do not call the Skill tool for glyph, /glyph, or /ork:glyph. A second invocation loads a skill again and re-runs the planning step. The 2026-09-15 Devin transcript showed "Invoked skill glyph" then "Invoked skill ork:glyph", one render stacked on another. Whether that re-entry is also why the Thoughts text repeated is not verified here; do not re-enter either way. The front door does not delegate. A user may have a personal skill also named glyph (/glyph); it lives in a separate namespace, may call this skill for its chat route, and is never called from here (references/dials.md, "Personal skills named glyph").
With no argument, the topic is the current conversation. Measured over a real 13-prompt session: zero asks supplied a self-contained topic, and the one direct invocation passed nothing at all. glyph on its own means "render where we are right now": the open work, the decision just reached, the state of the thing being discussed. Render that; do not ask what to draw.
Given a topic (or the conversation, when none is given):
Resolve the two dials, then announce them in one line. Surface is chat, ask or page (default chat); audience is operator or novice (default operator). A flag beats inference: --chat, --ask, --page, --eli5, --decide, --signoff. Print exactly → chat · operator (surface, then audience) and a blank line before the answer. Inference rules, the ask guardrail and the --decide shapes: Read("references/dials.md").
Render immediately. Do NOT call AskUserQuestion to pick a format (the ask surface and --signoff are the only questions this skill asks), do NOT call TaskCreate, do NOT spawn an Agent. Choose the form yourself from the topic shape and draw it. Asking first defeats the skill.
Pick the form from the shape of the data, using the pattern library below:
| Topic shape | Form |
|---|---|
| inventory, audit, budget, "what is using X" | inventory render (templates/inventory.md): header meter, traffic-light sections, icon / label / bar / value / action rows, totals, arithmetic summary, caveats |
| state / progress / health | status box + bar meters |
| A vs B, options, trade-offs | comparison table or side-by-side boxes (one narrow table in a non-TTY surface) |
| steps, pipeline, hand-offs | left-to-right flow with ──▶ |
| containment, layers, layout | nested boxes / tree |
| ranked list, scores, counts | table + bar meters |
| over time | sparkline or milestone track |
| triage open issues, what is left, categorize the backlog | triage page (templates/triage.html). Not an inline render. |
| explainer page, NOW vs IDEAL, "show it moving" (page route only) | JS art piece on the page (references/js-art.md). Chat stays ASCII. |
Emit inline in the reply, except the triage page. Never write a file unless the user asked for one. The triage row above is the exception: that answer is templates/triage.html, not an inline render. Every other answer stays in the reply.
Use the closed status set, the domain-icon legend and the box-drawing vocabulary defined in rules/visual-style.md (shipped with this skill) and tokens.json (icons.*). Status icons pair with a word (✅ done, ❌ failed, ⚠️ warning, 🔴 high risk, ℹ️ caveat). Domain icons (🐳 docker, 📦 package, 🧪 test, ...) go one per row in the leading column so they scan as a legend; never inside a prose sentence, never in chains.
Stay inside the budget: ONE render per reply, up to about 50 lines, every line 76 cells or fewer. Two competing renders in one reply is flooding. Above 50 lines it is a page, not a chat answer. The 2026-08-09 budget (12 lines, 40 percent) over-corrected and was reset by operator word on 2026-09-17; the history is in rules/visual-style.md.
Verdict first, then the render, then what the numbers told me. One prose line states the point before the render. After the render, two or three bold-led bullets say what is not obvious from the chart. If the reader has to parse the render to find out what happened, the reply failed.
Stay honest. If a number is unknown, print ? rather than inventing one. A confident-looking chart built on guesses is worse than prose.
Match the width to the host. A render that fits a terminal wraps into a wall in a host that reflows text: CI logs, chat widgets, VS Code chat, web transcripts, agent desktops. Read the surface from the environment the same way you already infer audience and surface: with a terminal (TTY), render as below; without one, cap every diagram line at 72 columns, and render key/value or comparison data as one narrow table or a vertical list, never side-by-side columns. The line budget does not change. Measured failure the rule prevents: a side-by-side key/value board for 5 rows lands at 113 columns, and scripts/render-ascii.sh key-value renders the narrow form of the same data (GH-4159).
When NOT to use this skill: if the deliverable is a multi-section HTML playground, a persisted plan artifact, or any file output other than the triage page, use visualize-plan instead. Glyph is the cheap inline path; visualize-plan is the full pipeline. The triage page stays here.
Triage is a page, every time. Asks shaped like "triage open issues", "what is left", or "categorize this for me" use templates/triage.html and no other layout. This overrides the inline-only rule and the visualize-plan handoff: the page is glyph's, then /page-serve PATH. Fill issues from one snapshot, gh issue list --state open --json number,title,labels,milestone. Put every gh-sourced string in the hidden snapshot textarea as one base64 blob of the JSON, not as raw JSON and not in the lane markup or the raw dump. A title that contains </textarea must never appear as raw markup inside that textarea, or it breaks out before escapeHtml runs. The page decodes the blob, then calls escapeHtml when it inserts each lane item and the raw dump, so a title stays literal text. The open-PRs tile is not in that snapshot. Fill it from gh pr list --state open --json number, and if that command was not run print ?, never a guessed count. Keep the six parts in order: KPI strip, lanes, a route tag on every issue (devin, ork:NAME, hq-ext, 21st-dev, human, external), capability map, DECIDE block, collapsed raw snapshot. Hand the file over with /page-serve PATH. Never paste a bare path. The copy button must emit wave=LANE followups=CSV. When no follow-up is checked, that is followups= with nothing after the equals, never followups=0.
Over budget is the same signal. If the honest rendering needs more than ~50 lines, that is not a bigger chat answer, it is a different deliverable: write the playground or file, then hand the human a URL with /page-serve PATH (a port-free https://<name>.localhost/ route, with a stop) instead of a bare file path or a hand-started python3 -m http.server. Keep a 10-line excerpt in chat next to the URL. The old escape hatch fired on artifact TYPE only, so an over-budget inline reply never tripped it.
JS art is for pages; chat stays ASCII. When the answer is already a page (an explainer, a NOW vs IDEAL plan), the page carries one animated piece above its first beat: an inline <canvas>, a Now/Ideal toggle, a Play/Pause button, and a text alt on the canvas. Build it from references/js-art.md: paste one pattern (flow dots, gate, before/after meter, or real-data bars from a JSON array in the page), then the kernel. draw(ctx, t, mode) is pure, so window.seek(t) can capture any frame to mp4 or gif; prefers-reduced-motion gets one still frame and no animation loop; no Math.random, no network. A piece that shows measured numbers draws ? for a value you do not have. Never put JS art in a chat reply.
The shape below is the default for anything inventory-like (disk, spend,
backlog, dependencies, hooks, "what is using X"). Draw it top to bottom; drop a
part only when the data has nothing for it. The full template with the
column widths is templates/inventory.md; the worked example is in
examples/_featured.md.
<!-- ascii-lint-disable: density-min -->
🖥️ MACINTOSH HD · /System/Volumes/Data header: icon, subject
[▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░] headline meter
used 355 G free 73 G 83 % full · 460 G total numbers under it
──────────────────────────────────────────────── light rule
🟢 SAFE, pure caches; nothing lost, tools refill them traffic-light word
────────────────────────────────────────────────
🐳 Docker dangling images+build cache ▓▓▓▓░░░ 14.5 G docker prune
🌐 Chrome caches (Google + Island) ▓▓░░░░░ 8.9 G browsers refill
📦 npm cache ~/.npm ▓▓░░░░░ 6.2 G npm cache clean
── 45.3 G per-section total
🟢 safe 45 G + 🟡 regenerable 41 G ≈ 87 G → free 73 G → ~159 G
ℹ️ Docker.raw shows 432 G but is sparse: 37 G real. caveat lineParts, in order:
·, the path or scope.[▓▓▓░░] with the numbers printed on the line under it.──── and a traffic-light word
(🟢 SAFE, 🟡 REGENERABLE, 🔴 ASK FIRST, or the domain's own words).▓▓▓░░, value, one-word action, aligned in
columns. One domain icon per row, leading column.── total line per section, right-aligned under the values.ℹ️ caveat lines for the numbers that lie (sparse files, shared
caches, double counts). ? for a number you do not have.The vocabulary is closed. Status icons come from tokens.json icons.status
(plus risk and ranking); row icons from icons.domain. Add there, not ad
hoc. No emoji chains, no emoji in prose sentences, no full-width rules, no
"★ Insight" blocks, no mermaid in chat, no em or en dashes.
This block intentionally shows multiple sets together as a key. Authors
should use ONE set per real diagram; the single-set lint rule enforces
this on production diagrams.
<!-- ascii-lint-disable: single-set,single-arrow-style,density-min -->
default: ┌─┐ │ └─┘ ├─┤ ┬ ┴ ┼
emphasis: ┏━┓ ┃ ┗━┛ ┣━┫ ┳ ┻ ╋
title: ╔═╗ ║ ╚═╝ ╠═╣ ╦ ╩ ╬
soft: ╭─╮ │ ╰─╯
portable: +-+ | +-+ +-+ + + +
Arrows: → ← ↑ ↓ ─> <─ ──> <──
Blocks: █ ▓ ░ ▏▎▍▌▋▊▉
Status: ● ○ ✓ ✗ ⚠ ◆ ◇ ▶ ▷ ↑↓→ ▓▒░ (closed-set vocab, see rules)Tokens live in tokens.json. Names describe USE not APPEARANCE.
| Set | Characters | Use For |
|---|---|---|
default ─│ | Normal boxes and connectors | Most diagrams |
emphasis ━┃ | Headers, focus, draw the eye | Key components, outer frames |
title ═║ | Document titles | §0-style banners only |
soft ╭╮╰╯ ─│ | Status cards, ambient UI | Diff blocks |
portable +-| | NO_COLOR / CI / bare TTY | Fallback |
Rename codemod (D8): old light/heavy/double/rounded/ascii-fallback → new names above. Old names accepted with warning for one minor release.
Closed-set v1 of 11 semantic glyphs (●○✓✗⚠◆◇▶▷ ↑↓→ ▓▒░). Single source of truth: see rules/status-glyph-vocabulary.md. Add-a-glyph process in CONTRIBUTING.md.
┌────────┐ ┌────────┐
│Frontend│─>│Backend │
│React 19│ │FastAPI │
└────────┘ └───┬────┘
┌───┴──────┐
│PostgreSQL│
└──────────┘src/
├── api/
│ ├── routes.py [M] +45 -12 !! high-traffic path
│ └── schemas.py [M] +20 -5
├── services/
│ └── billing.py [A] +180 ** new file
└── tests/
└── test_billing.py [A] +120 ** new file
Legend: [A]dd [M]odify [D]elete !! Risk ** New[████████░░] 80% Complete
+ Design (2 days)
+ Backend (5 days)
~ Frontend (3 days)
- Testing (pending)Backend ===[Schema]======[API]===========================[Deploy]====>
| | ^
| +------blocks------+ |
| | |
Frontend ------[Wait]--------[Components]=======[Integration]=+
=== Active work --- Blocked/waiting | Dependency Ring 3: Tests (8 files)
+-------------------------------+
| Ring 2: Transitive (5) |
| +------------------------+ |
| | Ring 1: Direct (3) | |
| | +--------------+ | |
| | | CHANGED FILE | | |
| | +--------------+ | |
| +------------------------+ |
+-------------------------------+BEFORE AFTER
┌──────────┐ ┌─────────┐
│Monolith │ │Service A│──┐
│(all-in-1)│ └─────────┘ │ ┌───────┐
└──────────┘ ┌─────────┐ ├─>│Shared │
│Service B│──┘ │Queue │
└─────────┘ └───────┘Phase 1 [================] FULLY REVERSIBLE (add column)
Phase 2 [================] FULLY REVERSIBLE (new endpoint)
Phase 3 [============....] PARTIALLY (backfill)
--- POINT OF NO RETURN ---
Phase 4 [........????????] IRREVERSIBLE (drop column)| Rule | Description |
|---|---|
| Font | Always monospace; box-drawing requires fixed-width |
| Weight | Standard for normal, Heavy for emphasis, Double for titles |
| Arrows | ─>, ──>, or │ with v/^ for direction |
| Alignment | Right-pad labels to match column widths |
| Annotations | !! for risk, ** for new, [A/M/D] for change type |
| Width | 76 cells or fewer in a terminal; at most 72 per line in a non-TTY surface, as one narrow table or vertical list (GH-4159) |
| Nesting | Max 3 levels of box nesting before readability degrades |
| Pattern | Use Case |
|---|---|
| Layered boxes | System architecture, deployment topology |
| Concentric rings | Blast radius, impact analysis |
| Timeline bars | Reversibility, migration phases |
| Swimlanes | Execution order, parallel work streams |
| Annotated trees | File change manifests, directory structures |
| Comparison tables | Cross-layer consistency, before/after |
| Progress bars | Status tracking, completion metrics |
| Inventory render | Disk, spend, backlog, dependency audits; anything with sections and totals |
--signoff)With --signoff, the render is the last thing before the gate: lead with any failure,
then ask the one sign-off question from Read("../../shared/rules/done-signoff.md")
with its three labels unchanged ("Accept done", "Show me the evidence", "Not
satisfied"). In a non-interactive run, print the verdict and skip the question.
verify: grades the work, then ends with the same done sign-off
brainstorm: Design exploration where diagrams communicate ideas
architecture-patterns: System architecture that benefits from ASCII diagrams
code-review-playbook: Review comments with inline diagrams
© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 17 other files (references) in src/skills/glyph of yonatangross/orchestkit.
Open the folder on GitHubat commit 02bbf9a
Glyph next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Glyph this skillyonatangross/orchestkit | 290 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Algorithmic Artnexu-io/open-design | 100k | — | ~351 | Automated safety check: Pass | Apache-2.0 | |
| Ascii Art Diagram Creatorjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~577 | Automated safety check: Pass | MIT | |
| Algorithmic Art with p5.jsanthropics/skills | 180k | 38 repos | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| Semantic Liststhedaviddias/Front-End-Checklist | 74k | — | ~504 | Automated safety check: Pass | MIT | |
| Render Blockingthedaviddias/Front-End-Checklist | 74k | — | ~430 | Automated safety check: Pass | MIT |
nexu-io/open-design
Create generative art using p5.js with seeded randomness so every render is reproducible.
jeremylongshore/tons-of-skills-marketplace
Create ascii art diagram creator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
anthropics/skills
Creates original generative art in two steps: a written algorithmic philosophy, then a p5.js sketch with seeded randomness and an interactive viewer for exploring parameters.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Use semantic list elements.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Eliminate render-blocking resources.
github/awesome-copilot
Generate ASCII art diagrams using PlantUML text mode. An agent skill from github/awesome-copilot.
yonatangross/orchestkit
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.
yonatangross/orchestkit
ADR templates in the Nygard format with context, decision, consequences, and alternatives.
yonatangross/orchestkit
Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.
yonatangross/orchestkit
Structured review processes, conventional comments, language-specific checklists, and feedback templates.
yonatangross/orchestkit
Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.
yonatangross/orchestkit
Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.
Render an answer as ASCII art plus semantic emojis inline with no setup questions: one render per reply, verdict first. Glyph is an agent skill from yonatangross/orchestkit. Render an answer as ASCII art plus semantic emojis inline with no setup questions: one render per reply, verdict first.
Glyph fits situations like: any answer with shape: status; what is using X; any ad-hoc show me X visually ask.
Run `npx skills add yonatangross/orchestkit --skill glyph -a claude-code`. Or copy the skill folder (src/skills/glyph in yonatangross/orchestkit) into .claude/skills/glyph in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yonatangross/orchestkit --skill glyph -a codex`. Or copy the skill folder (src/skills/glyph in yonatangross/orchestkit) into .agents/skills/glyph in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yonatangross/orchestkit --skill glyph -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/glyph, .gemini/skills/glyph, .github/skills/glyph and .opencode/skills/glyph in your project.
Going by SKILL.md and its folder, Glyph needs the command-line tools its instructions call (gh and python3). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: Read, Grep, Glob, AskUserQuestion. Compatibility (from SKILL.md): Claude Code 2.1.277+..
SKILL.md names 1 domain. As links in the text: orchestkit.yonyon.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Glyph is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Glyph: Algorithmic Art (nexu-io/open-design, 100k stars), Ascii Art Diagram Creator (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Algorithmic Art with p5.js (anthropics/skills, 180k stars) and Semantic Lists (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 290 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 9, 2026.
Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.