alfred-workflow
Create or modify Alfred workflows by writing info.plist files directly
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Create or modify Alfred workflows by writing info.plist files directly
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Debugging a ghostty crash
Drive a real browser during frontend work — verify a change rendered, click through a flow, fill forms, read console errors, take screenshots, or debug performance/memory/network. Use whenever interacting with a local web app in a browser (Playwright script templates, chrome-devtools tradeoffs, SPA mock-API gotchas).
How to use the tviz CLI to read and write Things 3 tasks
For non-Codex agents, get a Codex second opinion on your changes. Claude sends the diff to Codex for review, discusses the feedback, and synthesizes actionable results.
Productivity coach
Read Oxide RFD contents, metadata, and images by number using rfd-cli. Use when an RFD comes up (e.g. "RFD 63", "what does the networking RFD say") and you need the actual text.
| name | alfred-workflow |
| description | Create or modify Alfred workflows by writing info.plist files directly |
Alfred workflows live in ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/.
Each workflow is a directory named user.workflow.<UUID> containing an info.plist.
uuidgeninfo.plist with the structure belowplutil -lint <path>An info.plist defines:
objects: Array of workflow nodes, each with a type, uid, config, and versionconnections: Dict mapping source UIDs to arrays of {destinationuid, modifiers, modifiersubtext, vitoclose} dictsuidata: Dict mapping UIDs to {xpos, ypos} for canvas layout (space nodes ~230px apart horizontally)name, description, bundleid: Workflow metadataKeyword input (alfred.workflow.input.keyword, version 1):
keyword: the trigger wordargumenttype: 0 = required, 1 = optional, 2 = nonetext: display title in Alfred resultssubtext: subtitle textwithspace: true to allow space before argumentRun Script (alfred.workflow.action.script, version 2):
script: the script body (XML-escaped)type: 0 = bash, 5 = zshscriptargtype: 0 = input as {query} in script, 1 = input as argv ($1 in bash, $argv in zsh)escaping: bitmask (102 = spaces+tilde+backslashes+double quotes, does not escape $)concurrently: false for sequential executionscriptfile: empty string for inline scriptsPost Notification (alfred.workflow.output.notification, version 1):
title: notification titletext: notification body (use {query} for script output)lastpathcomponent: falseremoveextension: falseClipboard (alfred.workflow.output.clipboard, version 3):
clipboardtext: text to copy (use {query})autopaste: true to paste immediatelytransient: true to not save in clipboard historyOpen URL (alfred.workflow.action.openurl, version 1):
url: the URL to openbrowser: bundle ID (e.g., com.google.Chrome) or empty for defaultExisting workflows to study for patterns:
user.workflow.CF67E427-2764-4E80-8A14-50E9E23CAC2A — Google Meet (simple keyword → open URL)user.workflow.A0DC9B64-8694-4A42-B13B-15D6EEDD9691 — Transform selected text (hotkey + keyword → script → clipboard, uses variables)user.workflow.FE496108-4453-4225-87DD-C457FD27420C — Details Wrap (keyword → script → notification)for d in ~/Library/Application\ Support/Alfred/Alfred.alfredpreferences/workflows/*/; do /usr/libexec/PlistBuddy -c "Print :name" "$d/info.plist" 2>/dev/null; done/usr/libexec/PlistBuddy or just Read the info.plist< and > in script bodies as < and >