Token导航 LogoToken导航

Agent Skill · 研究检索

omnifocus(omnifocus 搜索)

用于辅助文档、README、Markdown、说明文和内容稿件的整理与改写。它适合让 Agent 提炼结构、补齐章节、统一术语、检查链接或把零散材料整理成可读文档。使用时应保留项目已有事实、命令和路径,不要把未确认的信息写成确定结论;涉及对外文案时,还需要控制语气,避免过度营销或夸大能力。

omnifocus 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 67,721。

总安装 242周安装 10GitHub Stars 4下载 79核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:omnifocus(omnifocus 搜索)
来源仓库:https://github.com/arlenagreer/claude_configuration_docs
仓库路径:skills/omnifocus
安装命令:
npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill omnifocus
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill omnifocus

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于 OmniFocus 任务与项目管理,支持跨平台自动化操作。自动适配不同版本 API,优先使用 Omni Automation,次选 AppleScript。适用于任务创建、进度跟踪与项目结构维护等场景。安装方式:通过 npx skills add 命令从指定 GitHub 仓库添加。

使用前需确认应用版本与系统权限,避免因兼容性问题导致操作失败。

来源仓库内路径:skills/omnifocus

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

omnifocus 怎么安装?

在终端执行 npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill omnifocus。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

omnifocus 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

omnifocus 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill omnifocus 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

omnifocus 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

omnifocus 用的人多吗?

公开数据是累计安装 242 次,近一周安装 10 次,下载 79 次,GitHub 4 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

omnifocus 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
omnifocus

omnifocus 搜索 · 本页

2424执行命令未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

OmniFocus Task & Project Manager

Overview

Manage OmniFocus tasks and projects programmatically with intelligent automation that works across all OmniFocus versions. The skill automatically detects and uses the best available method:

  1. Omni Automation (OmniFocus 3+) - Modern JavaScript API
  2. AppleScript (All versions) - Compatible fallback
  3. SQLite Read-Only (Last resort) - For analytics when automation unavailable

When to Use This Skill

Use this skill when users request to:

  • Create tasks: "Add task 'Review PR' to project 'Development'"
  • Read tasks: "Show me tasks in the 'Work' project"
  • Update tasks: "Mark task 'Call client' as complete"
  • List projects: "What projects do I have in OmniFocus?"
  • Query tasks: "Show me all tasks tagged with '@urgent'"
  • Manage workflows: "Create project tasks for new feature development"

Core Capabilities

1. Create Tasks

Add new tasks to OmniFocus with full metadata support.

Usage:

scripts/omnifocus_manager.rb --create \
  --name "Review pull request #42" \
  --project "Development" \
  --notes "Check for security issues and code quality"

Claude Integration:

# IMPORTANT: Always look up the exact project name first — names may contain
# special characters, folder prefixes, or trailing spaces (e.g., "Dreamanager/5$$ ")
ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb --list-projects | \
  jq '.[] | select(.name | test("search_term"; "i"))'

# Then create the task (if the name has special chars, use AppleScript fallback below)
ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --create \
  --name "Review API documentation" \
  --project "Documentation"

# AppleScript fallback for projects with special characters in their name:
osascript -e '
tell application "OmniFocus"
  tell default document
    set theProject to first flattened project where its name starts with "ProjectPrefix"
    tell theProject
      make new task with properties {name:"Task title", note:"Task notes"}
    end tell
  end tell
end tell'

Supported Parameters:

  • --name (required): Task title
  • --project (optional): Project name (creates if doesn't exist)
  • --notes (optional): Task notes/description
  • --tag (optional): Tag to assign (repeatable for multiple tags)
  • --due (optional): Due date (ISO 8601 format)

2. Read Tasks

Query tasks with powerful filtering options.

Usage:

# All incomplete tasks
scripts/omnifocus_manager.rb --read

# Tasks in specific project
scripts/omnifocus_manager.rb --read --project "Development"

# Tasks with specific tag
scripts/omnifocus_manager.rb --read --tag "@urgent"

# Include completed tasks
scripts/omnifocus_manager.rb --read --completed

# Limit results
scripts/omnifocus_manager.rb --read --limit 50

Claude Integration:

# When user says: "What tasks do I have in my Work project?"
ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --read \
  --project "Work"

Output Format (JSON):

[
  {
    "id": "abc123xyz",
    "name": "Review pull request #42",
    "completed": false,
    "note": "Check for security issues",
    "project": "Development",
    "dueDate": "2025-11-25T17:00:00Z",
    "tags": ["@code-review", "@high-priority"]
  }
]

3. Update Tasks

Modify existing tasks programmatically.

Usage:

# Mark task complete
scripts/omnifocus_manager.rb --update TASK_ID --completed

# Update task name
scripts/omnifocus_manager.rb --update TASK_ID --name "New task title"

# Update notes
scripts/omnifocus_manager.rb --update TASK_ID --notes "Updated description"

Claude Integration:

# When user says: "Mark the task 'Call client' as done"
# First, find the task ID
TASK_ID=$(ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --read | jq -r '.[] | select(.name == "Call client") | .id')

# Then mark it complete
ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --update "$TASK_ID" \
  --completed

4. List Projects

View all OmniFocus projects.

Usage:

scripts/omnifocus_manager.rb --list-projects

Output Format (JSON):

[
  {
    "id": "proj123",
    "name": "Development",
    "status": "active",
    "note": "Software development tasks",
    "taskCount": 15
  },
  {
    "id": "proj456",
    "name": "Marketing",
    "status": "active",
    "note": "",
    "taskCount": 8
  }
]

Automation Method Detection

The skill automatically detects and uses the best available automation method:

Priority Order

  1. Omni Automation (Preferred)

- Modern JavaScript API - OmniFocus 3+ required - Cross-platform (Mac, iOS, iPad) - Full read/write capabilities - Fastest performance

  1. AppleScript (Compatible)

- Works with all OmniFocus versions - macOS only - Full read/write capabilities - Requires OmniFocus Pro for automation

  1. SQLite Read-Only (Fallback)

- Last resort when automation unavailable - Read operations only - No permissions required - Useful for analytics and reporting

Detection is automatic - no configuration needed. The manager checks availability in order and uses the first working method.

Permission Requirements

Omni Automation

  • Minimal: Enable Automation in OmniFocus Preferences → Automation
  • No system-level permissions required

AppleScript

  • System Permission: System Preferences → Security & Privacy → Privacy → Automation
  • User prompted on first use
  • Must grant permission for controlling application to control OmniFocus

SQLite Read-Only

  • File System Access: Read access to ~/Library/Caches/
  • No automation permissions needed
  • Read-only operations only

Setup Guidance

When encountering permission errors, guide users to:

  1. Open System Preferences (or System Settings on macOS 13+)
  2. Navigate to Security & Privacy → Privacy → Automation
  3. Find the controlling application (e.g., Terminal, Ruby, Claude Code)
  4. Enable checkbox for OmniFocus
  5. Restart the application if needed

Common Workflows

Workflow 1: Create Project with Tasks

# Create project by adding first task
ruby scripts/omnifocus_manager.rb --create \
  --name "Set up database schema" \
  --project "New Feature Development"

# Add more tasks to the project
ruby scripts/omnifocus_manager.rb --create \
  --name "Implement API endpoints" \
  --project "New Feature Development"

ruby scripts/omnifocus_manager.rb --create \
  --name "Write unit tests" \
  --project "New Feature Development"

Workflow 2: Daily Task Review

# Get all incomplete tasks
ruby scripts/omnifocus_manager.rb --read > /tmp/tasks.json

# Process with jq for specific queries
cat /tmp/tasks.json | jq '.[] | select(.dueDate != null) | {name, dueDate}'

Workflow 3: Bulk Task Completion

# Find all tasks matching criteria
ruby scripts/omnifocus_manager.rb --read --project "Sprint 23" > /tmp/sprint_tasks.json

# Mark each as complete
cat /tmp/sprint_tasks.json | jq -r '.[].id' | while read task_id; do
  ruby scripts/omnifocus_manager.rb --update "$task_id" --completed
done

Workflow 4: Task Analytics

# Count tasks by project (using read-only SQLite)
ruby scripts/omnifocus_manager.rb --read | \
  jq 'group_by(.project) | map({project: .[0].project, count: length})'

Claude Usage Patterns

Pattern 1: Natural Language Task Creation

User Request: "Add a task to call the client about Q4 planning to my Work project"

Claude Response:

ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --create \
  --name "Call client about Q4 planning" \
  --project "Work"

Pattern 2: Task Query with Formatting

User Request: "Show me my urgent tasks"

Claude Response:

# Query urgent tasks
ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --read \
  --tag "@urgent" | \
  jq -r '.[] | "- \(.name) [\(.project // "Inbox")]"'

Pattern 3: Task Status Updates

User Request: "I finished the code review task"

Claude Response:

# Find task ID
TASK_ID=$(ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --read | \
  jq -r '.[] | select(.name | contains("code review")) | .id' | head -1)

# Mark complete
if [ -n "$TASK_ID" ]; then
  ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
    --update "$TASK_ID" \
    --completed
  echo "✅ Task marked as complete"
else
  echo "❌ Task not found"
fi

Pattern 4: Project Overview

User Request: "What's in my Development project?"

Claude Response:

ruby ~/.claude/skills/omnifocus/scripts/omnifocus_manager.rb \
  --read \
  --project "Development" | \
  jq -r '
    "Development Project Tasks:\n" +
    "Total: \(length)\n" +
    "Incomplete: \([.[] | select(.completed == false)] | length)\n\n" +
    "Tasks:\n" +
    (.[] | "- [\(if .completed then "x" else " " end)] \(.name)")
  '

Troubleshooting

Issue: "Can't convert types" (-1700) when creating tasks

Cause: Project names containing special characters (e.g., Dreamanager/5$$) cause the Ruby manager's Omni Automation bridge to fail with a type conversion error.

Solution: Fall back to direct AppleScript for task creation when the project name has special characters:

# First, find the exact project name
ruby scripts/omnifocus_manager.rb --list-projects | jq '.[] | select(.name | test("dream"; "i"))'

# Then use AppleScript directly with prefix matching
osascript -e '
tell application "OmniFocus"
  tell default document
    set theProject to first flattened project where its name starts with "Dreamanager"
    tell theProject
      make new task with properties {name:"Task title", note:"Task notes"}
    end tell
  end tell
end tell'

Best Practice: Always run --list-projects first to get exact project names before creating tasks. Project names in OmniFocus may include special characters, folder prefixes, or trailing spaces that don't match what the user says.

Issue: "Omni Automation Error: Application isn't running"

Solution: Start OmniFocus application

open -a OmniFocus
sleep 2  # Wait for app to launch
# Retry operation

Issue: "AppleScript Error: Not authorized"

Solution: Grant automation permissions

  1. System Preferences → Security & Privacy → Privacy → Automation
  2. Enable checkbox for controlling app → OmniFocus
  3. Restart controlling application

Issue: "Task not found" when updating

Solution: Verify task ID exists

# List all task IDs
ruby scripts/omnifocus_manager.rb --read | jq -r '.[].id'

# Or search for task by name
ruby scripts/omnifocus_manager.rb --read | jq '.[] | select(.name | contains("search term"))'

Issue: "OmniFocus database not found"

Solution: Verify OmniFocus is installed and has been run at least once

ls -la ~/Library/Caches/com.omnigroup.OmniFocus*

Issue: "Write operations not available"

Explanation: Only read-only SQLite access is available Solution: Enable Omni Automation or grant AppleScript permissions for write operations

Advanced Usage

Programmatic Integration

Use the Ruby API directly for custom integrations:

require_relative 'scripts/omnifocus_manager'

manager = OmniFocusManager.new
puts "Using automation: #{manager.automation_type}"

# Create task
result = manager.create_task(
  name: "Process expense report",
  project: "Finance",
  notes: "Q4 2025 expenses",
  tags: ["@admin", "@urgent"]
)

# Read tasks
tasks = manager.read_tasks(project: "Finance", completed: false)
tasks.each do |task|
  puts "#{task['name']} - #{task['completed'] ? '✓' : '○'}"
end

JSON Output Processing

All commands output JSON for easy processing with jq:

# Tasks due this week
ruby scripts/omnifocus_manager.rb --read | \
  jq '.[] | select(.dueDate != null and (.dueDate | fromdateiso8601) < (now + 604800))'

# Group by project
ruby scripts/omnifocus_manager.rb --read | \
  jq 'group_by(.project) | map({project: .[0].project, tasks: map(.name)})'

# Export to CSV
ruby scripts/omnifocus_manager.rb --read | \
  jq -r '["Name","Project","Completed","Due Date"], (.[] | [.name, .project, .completed, .dueDate]) | @csv'

Performance Considerations

  • Omni Automation: Fastest, direct API access (~100-200ms per operation)
  • AppleScript: Moderate speed (~200-500ms per operation)
  • SQLite: Very fast for reads (~10-50ms), but read-only

For bulk operations (>100 tasks), consider:

  1. Using SQLite read-only for queries
  2. Batching write operations
  3. Caching project IDs to avoid repeated lookups

Resources

See references/api_reference.md for detailed API documentation including:

  • Complete Omni Automation JavaScript API reference
  • AppleScript object model and properties
  • SQLite database schema details
  • Advanced query examples

Version Compatibility

  • OmniFocus 3+: Full Omni Automation support
  • OmniFocus 2: AppleScript only
  • OmniFocus 1: AppleScript only
  • All versions: SQLite read-only fallback

Security & Privacy

  • No data transmission: All operations are local
  • Read-only by default: SQLite fallback is read-only to prevent corruption
  • Permission-gated: Requires explicit user authorization for automation
  • Temporary database copies: SQLite operations use copies, never modify live database

平台分布

Codex

37.35%
按下载量换算30

Claude

33.3%
按下载量换算26

Cursor

17.73%
按下载量换算14

Gemini CLI

9.17%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/arlenagreer/claude_configuration_docs --skill omnifocus 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills