Skip to content
Back to skills

Macos Font Defaults

ASecurity

Set macOS's "user fixed-pitch font" and per-app fixed-width fonts (TextEdit plain text, Stickies default note) to a chosen font — by default JetBrains Mono NL Nerd Font. Idempotent and parameterized, so it doubles as a fresh-machine setup step. Use when the operator wants their default monospaced/fixed-width font changed, or asks "make my fixed-width font X", "default mono font", "set Stickies/TextEdit font". TRIGGERS - default fixed-width font, monospaced font default, set my mono font, fixe...

  • 75 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsshellbash

Works with

  • terminal
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add terrylica/cc-skills --skill macos-font-defaults --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Macos Font Defaults?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Macos Font Defaults
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/terrylica-macos-font-defaults/badge)](https://www.skillsdirectory.com/skills/terrylica-macos-font-defaults)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: macos-font-defaults
description: Set macOS's "user fixed-pitch font" and per-app fixed-width fonts (TextEdit plain text, Stickies default note) to a chosen font — by default JetBrains Mono NL Nerd Font. Idempotent and parameterized, so it doubles as a fresh-machine setup step. Use when the operator wants their default monospaced/fixed-width font changed, or asks "make my fixed-width font X", "default mono font", "set Stickies/TextEdit font". TRIGGERS - default fixed-width font, monospaced font default, set my mono font, fixed-pitch font, Stickies default font, TextEdit plain text font.
allowed-tools: Bash
---

<!-- SKILL-PLUGIN-ROOT-OK: explains why this variable must not be used here -->

# macos-font-defaults — set the system fixed-width font

> **Self-Evolving skill** — if a macOS release changes these defaults keys or Stickies' storage, fix this SKILL.md and `apply.sh`; see the Post-Execution Reflection at the bottom.

macOS has **no single system-wide monospaced-font setting**. This skill sets the three
levers that exist, in one idempotent command:

Resolve the script first — `$CLAUDE_PLUGIN_ROOT` is NOT a shell variable and expands to empty
in a Bash call (it exists only inside plugin manifests and hook/MCP subprocesses):

```bash
APPLY="$(cc-plugin-root macos-font-defaults)/skills/macos-font-defaults/apply.sh"
```

| Lever                                 | What it controls                                                                                |
| ------------------------------------- | ----------------------------------------------------------------------------------------------- |
| global `NSFixedPitchFont`             | `+[NSFont userFixedPitchFontOfSize:]` — TextEdit plain text and other standard-text-system apps |
| `com.apple.TextEdit NSFixedPitchFont` | TextEdit's plain-text font explicitly (belt-and-suspenders)                                     |
| Stickies `DefaultFont`                | new Stickies notes (archived `NSFont` in the sandbox container plist)                           |

## Usage

```bash
"$APPLY" check                          # report current values, change nothing
"$APPLY" apply                          # set everything to JetBrains Mono NL (size = macOS default)
"$APPLY" apply --font "Menlo-Regular"   # a different font (PostScript name)
"$APPLY" apply --size 13                # also pin a size (omit to keep macOS default ~11pt)
```

Always run `check` first and show the operator the current values before `apply`.

## What it does NOT cover (be honest)

- **Terminal / iTerm / VS Code / editors** keep their own font settings — unchanged.
- **Apple Notes** hardcodes its monospaced face and cannot be redirected to a custom font.
  Its only mono lever is the per-note **Monostyled** style (the `draft-park` skill uses it).
- This is **not** a system-UI font override; menus/Finder are unaffected.

## Notes

- The default font is the JetBrains Mono NL Nerd Font regular PostScript name
  `JetBrainsMonoNLNF-Regular`. `apply` fails fast if the font isn't installed.
- The Stickies step only runs when the stored default differs, and quits a running
  Stickies first (it would otherwise overwrite the plist on exit). Re-running is safe.
- Relaunch target apps to pick up changes; already-running apps cache the font.
- Reverse the global lever with `defaults delete -g NSFixedPitchFont NSFixedPitchFontSize`.

## Post-Execution Reflection

After running `apply`, check before closing:

1. **Did `check` confirm all three levers?** — if a value didn't stick, the key or write path drifted; fix `apply.sh`.
2. **Did an app fail to pick up the font?** — note the relaunch requirement, or add that app's own font key.
3. **Did a macOS update move/rename the Stickies plist or change `NSFixedPitchFont` semantics?** — update the levers table here.

Only update if the issue is real and reproducible — not speculative.

Files in this skill

  • SKILL.md3.8 KB
  • apply.sh4.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…