Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

automating-notes自动化笔记

Agent Skill

automating-notes 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

514

周安装

21

GitHub Stars

28

下载量

166
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/spillwavesolutions/automating-mac-apps-plugin --skill automating-notes

简介

用于查找、检索和筛选 Apple Notes 自动化相关信息,适合快速定位候选结果。

  • 适用于笔记查询、创建和文件夹管理操作。
  • 使用时需加载 automating-mac-apps 获取权限和 Objective-C 调试支持。
  • 安装方式:通过 npx skills add 从 GitHub 仓库安装,支持 Codex、Claude、Cursor、Gemini CLI。
  • 建议确认权限范围和维护状态,避免越权访问用户笔记。

SKILL.md

Automating Apple Notes (JXA-first, AppleScript discovery)

Relationship to the macOS automation skill

  • Standalone for Notes; reuse automating-mac-apps for permissions, shell, and Objective-C/UI scripting patterns.
  • PyXA Installation: To use PyXA examples in this skill, see the installation instructions in automating-mac-apps skill (PyXA Installation section).

Core framing

  • Notes uses an AEOM hierarchy: Application → Accounts → Folders → Notes (with nested folders).
  • Load: automating-notes/references/notes-basics.md for complete specifier reference.

Workflow (default)

  1. Resolve account/folder explicitly (iCloud vs On My Mac); validate existence and permissions.
  2. Ensure target path exists (create folders if needed); handle creation failures gracefully.
  3. Create notes with explicit name and HTML body; verify creation success.
  4. Query/update with .whose filters; batch delete/move as needed; check counts before/after operations.
  5. For checklists/attachments, use clipboard/Objective-C scripting if dictionary support is insufficient; test fallbacks.
  6. For meeting/people workflows, file notes under meetings/<company>/<date>-<meeting-title> and people/<first>-<last>/...; validate final structure.

Quickstart (ensure path + create)

JXA (Legacy):

const Notes = Application("Notes");

// Ensure folder path exists, creating intermediate folders as needed
function ensurePath(acc, path) {
  const parts = path.split("/").filter(Boolean);
  let container = acc;
  parts.forEach(seg => {
    let f; try {
      f = container.folders.byName(seg);
      f.name(); // Verify access
    } catch (e) {
      // Folder doesn't exist, create it
      f = Notes.Folder({ name: seg });
      container.folders.push(f);
    }
    container = f;
  });
  return container;
}

try {
  // Get iCloud account and ensure meeting folder exists
  const acc = Notes.accounts.byName("iCloud");
  const folder = ensurePath(acc, "meetings/Acme/2024-07-01-Review");

  // Create new note in the folder
  folder.notes.push(Notes.Note({
    name: "Client Review",
    body: "<h1>Client Review</h1><div>Agenda...</div>"
  }));
  console.log("Note created successfully");
} catch (e) {
  console.error("Failed to create note: " + e.message);
}

PyXA (Recommended Modern Approach):

import PyXA

notes = PyXA.Notes()

def ensure_path(account, path):
    """Ensure folder path exists, creating intermediate folders as needed"""
    parts = [p for p in path.split("/") if p]  # Filter empty parts
    container = account

    for part in parts:
        try:
            # Try to find existing folder
            folder = container.folders().by_name(part)
            folder.name()  # Verify access
        except:
            # Folder doesn't exist, create it
            folder = notes.make("folder", {"name": part})
            container.folders().push(folder)

        container = folder

    return container

try:
    # Get iCloud account
    account = notes.accounts().by_name("iCloud")

    # Ensure meeting folder exists
    folder = ensure_path(account, "meetings/Acme/2024-07-01-Review")

    # Create new note in the folder
    note = folder.notes().push({
        "name": "Client Review",
        "body": "<h1>Client Review</h1><div>Agenda...</div>"
    })

    print("Note created successfully")

except Exception as e:
    print(f"Failed to create note: {e}")

PyObjC with Scripting Bridge:

from ScriptingBridge import SBApplication

notes = SBApplication.applicationWithBundleIdentifier_("com.apple.Notes")

def ensure_path(account, path):
    """Ensure folder path exists, creating intermediate folders as needed"""
    parts = [p for p in path.split("/") if p]
    container = account

    for part in parts:
        try:
            folder = container.folders().objectWithName_(part)
            folder.name()  # Verify access
        except:
            # Create new folder
            folder = notes.classForScriptingClass_("folder").alloc().init()
            folder.setName_(part)
            container.folders().addObject_(folder)

        container = folder

    return container

try:
    # Get iCloud account
    accounts = notes.accounts()
    account = None
    for acc in accounts:
        if acc.name() == "iCloud":
            account = acc
            break

    if account:
        # Ensure meeting folder exists
        folder = ensure_path(account, "meetings/Acme/2024-07-01-Review")

        # Create new note
        note = notes.classForScriptingClass_("note").alloc().init()
        note.setName_("Client Review")
        note.setBody_("<h1>Client Review</h1><div>Agenda...</div>")

        folder.notes().addObject_(note)

        print("Note created successfully")
    else:
        print("iCloud account not found")

except Exception as e:
    print(f"Failed to create note: {e}")

Validation Checklist

  • Account access works (iCloud vs On My Mac)
  • Folder creation and path resolution succeeds
  • Note creation with valid HTML body completes
  • Note appears in Notes UI
  • .whose queries return expected results
  • Error handling covers missing accounts/folders

HTML & fallbacks

  • Allowed tags: <h1>-<h3>, <b>, <i>, <u>, <ul>/<ol>/<li>, <div>/<p>/<br>, <a>.
  • Security: Always sanitize HTML input; avoid <script>, <style>, or event handlers to prevent XSS in rendered notes.
  • Checklists/attachments: Objective-C/clipboard fallback (Cmd+Shift+L for checklist, paste image via NSPasteboard + System Events).
  • Append helper: replace </body> with extra HTML, or append when missing; validate HTML structure post-modification.

When Not to Use

  • Cross-platform note taking (use Notion API, Obsidian, or Markdown files)
  • iCloud sync operations requiring status feedback (limited API support)
  • Non-macOS platforms
  • Rich formatting beyond supported HTML tags
  • Collaborative editing workflows (no multi-user support)

What to load

  • Basics & specifiers: automating-notes/references/notes-basics.md
  • Recipes (create/move/query/ensure path/checklists): automating-notes/references/notes-recipes.md
  • Advanced (HTML body rules, attachments/UI, JSON import/export, ObjC bridge): automating-notes/references/notes-advanced.md
  • Dictionary/type map: automating-notes/references/notes-dictionary.md
  • PyXA API Reference (complete class/method docs): automating-notes/references/notes-pyxa-api-reference.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.93%
按下载量换算55

Claude

31.54%
按下载量换算52

Cursor

18.77%
按下载量换算31

Gemini CLI

9.43%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

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

安装前确认

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

来源信息

继续浏览同类 Skills