alfred-workflow
Create or modify Alfred workflows by writing info.plist files directly
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create or modify Alfred workflows by writing info.plist files directly
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
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 >