Omnigraffle
Generate native OmniGraffle .graffle files programmatically. Use this skill whenever the user asks to create, build, or generate an OmniGraffle diagram, network diagram, architecture diagram, flowchart, or any visual diagram that should be saved as a .graffle file. Also trigger when the user mentions "OmniGraffle", ".graffle", "graffle file", or asks for diagrams specifically for macOS/iOS diagramming. This skill generates zipped binary plist packages that open natively in OmniGraffle 7+ without any conversion or import steps. Supports: rectangles with colored fills, text labels (RTF), named l
Install
npx skills add openanvil/omnigraffle-generator --skill omnigrafflegit clone --depth 1 https://github.com/openanvil/omnigraffle-generator.git /tmp/omnigraffle-generator
mkdir -p ~/.claude/skills
cp -r /tmp/omnigraffle-generator/. ~/.claude/skills/omnigrafflePersonal skills live in ~/.claude/skills. Use .claude/skills in a project folder to share a skill with your team.
From the SKILL.md
# OmniGraffle File Generator
Generate native `.graffle` files that open directly in OmniGraffle 7+ on macOS and iOS.
## How It Works
OmniGraffle files are ZIP archives containing a binary Apple plist (`data.plist`) and a preview
JPEG. This skill uses Python's `plistlib` to assemble the document structure and `zipfile` to
package it. The output matches OmniGraffle 7's native format (GraphDocumentVersion 16, zipped).
## ⚠️ Native-quality conventions (READ FIRST)
Five rules separate a clean, editable, professional diagram from a broken one. They were learned
the hard way against real OmniGraffle files — follow them.
1. **Z-ORDER IS FRONT-FIRST (most common bug).** OmniGraffle paints layer index 0 — and the first
graphic within a layer — at the **FRONT**. This is the REVERSE of SVG / normal painter order.
So **backgrounds, zone tints, and rack/frame outlines must be the LAST layer (highest index)**,
never the first — otherwise they sit on top and *hide everything*, and box labels disappear
"behind" their boxes. Two ways to get it right:
- With `GraffleBuilder`: add layers FRONT→BACK (title/labels first, background last); or build
naturally and call `save(z_order="back_first")`.
- With the SVG converter: author SVG layers back-first; `fix_z_order()` reverses them so
OmniGraffle renders exactly like the SVG preview.
2. **Give frames/zones a transparent or translucent fill** (`fill_color=None`, or low opacity) andDetails
- Skill name
omnigraffle- Repository
- openanvil/omnigraffle-generator
- License
- MIT
- Repo updated
- 24 August 2026
FAQ
What does the Omnigraffle skill do?
Generate native OmniGraffle .graffle files programmatically. Use this skill whenever the user asks to create, build, or generate an OmniGraffle diagram, network diagram, architecture diagram, flowchart, or any visual diagram that should be saved as a .graffle file. Also trigger when the user mentions "OmniGraffle", ".graffle", "graffle file", or asks for diagrams specifically for macOS/iOS diagramming. This skill generates zipped binary plist packages that open natively in OmniGraffle 7+ without any conversion or import steps. Supports: rectangles with colored fills, text labels (RTF), named l
How do I install the Omnigraffle skill?
skills CLI (Claude Code, Cursor, Codex and more): npx skills add openanvil/omnigraffle-generator --skill omnigraffle. Skills go in ~/.claude/skills (personal) or .claude/skills (project), and Claude loads them automatically when a task matches the description.
Is Omnigraffle popular?
It lives in openanvil/omnigraffle-generator, which has 13 GitHub stars and 2 forks.
Related skills
Pyxel
14kitao/pyxel-skill
Build, debug, and verify games made with Pyxel, the retro game engine for Python. Use whenever a task creates, changes, tests, or reviews a Pyxel game, or asks for a retro Python game that should use Pyxel. Do not use for other engines or general Python work.
Lamarck
13newdee/lamarck-skill
Lamarckian skill evolution - monitors every real skill invocation, drives governed evolution of observed skills, and evolves itself by the same rules while running. Harness-agnostic (adapters for Claude Code, Codex, Cursor, pi share one ledger); in the reference adapter a PostToolUse hook logs each invocation (stamped with the skill's genome hash for per-version regression windows) and a Stop hook queues a light evaluation loop that runs backstage in a headless CLI (or inline), never reloading this file. Per-skill dynamic rubrics (git-versioned) define what "good" means per skill; a trust ladd
Softr Vibe Coding
11leo-softr/Softr-Vibe-Coding-Block-Claude-Skill
Generate custom Softr Vibe Coding blocks as complete React components (TSX/JSX). Use this skill whenever the user mentions Softr, Vibe Coding, Softr blocks, or wants to build a custom UI component for a Softr app. Also trigger when the user asks to create cards, lists, forms, dashboards, charts, detail pages, or any interactive block intended for Softr — even if they don't say "Vibe Coding" explicitly. If the user mentions Softr in the context of building a custom UI component, creating a JSX block, or vibe coding, use this skill. Do NOT use for standalone brand-token extraction with no Softr
Claris Filemaker Pro
13CadenceUX/claris-filemaker-pro-skill
FileMaker Pro reference for calculation functions, script steps, field types and error codes: exact syntax, parameters, return types, the release that introduced each, and which script steps work in FileMaker Go, WebDirect, Server, Cloud, the Data API and Custom Web Publishing. Also covers the FileMaker Data API, OData, ExecuteSQL and FileMaker SQL, and WebDirect and FileMaker Go limits. Use whenever a FileMaker function or script step is named, written, reviewed or debugged, including inside a calculation, a script or other code, or when asked whether something works on a given FileMaker clie
Clojure Skills
13chaploud/clojure-skills
Clojure/ClojureScript/ClojureDart development skill. Activates when working with .clj, .cljs, .cljc, .cljd, .edn, .bb, .lpy files. Provides structural search and editing of S-expressions, nREPL evaluation, runtime queries via cider-nrepl, and static navigation via clojure-lsp.
Charles Proxy Extract
9wannabehero/charles-proxy-extract-skill
Extracts HTTP/HTTPS request and response data from Charles Proxy session files (.chlsj format), including URLs, methods, status codes, headers, request bodies, and response bodies. Use when analyzing captured network traffic from Charles Proxy debug sessions, inspecting API calls, debugging HTTP requests, or examining proxy logs.
Browse the most popular Claude skills, all software development skills, or write your own with the skills generator.