From apple-notes-pack
Automates Apple Notes via osascript in GitHub Actions macOS CI runners. Guides on mocking for permission limits with TypeScript examples.
How this skill is triggered — by the user, by Claude, or both
Slash command
/apple-notes-pack:apple-notes-ci-integrationThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Apple Notes automation requires macOS — use GitHub Actions macOS runners.
Apple Notes automation requires macOS — use GitHub Actions macOS runners.
name: Notes Automation Tests
on: [push]
jobs:
test:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- run: npm ci
- name: Test Notes access
run: |
# macOS CI runners have Notes.app but limited permissions
osascript -l JavaScript -e "typeof Application(\"Notes\")" || echo "Notes not available in CI"
- name: Run unit tests (mocked)
run: npm test
macOS CI runners (GitHub Actions) have restricted Apple Events permissions. Real Notes.app automation tests must run on local macOS machines. Use mocked clients in CI.
// tests/mocks/notes-client.mock.ts
export class MockAppleNotesClient {
private notes: Array<{ id: string; title: string; body: string }> = [];
createNote(title: string, body: string): string {
const id = `note-${Date.now()}`;
this.notes.push({ id, title, body });
return id;
}
listNotes() { return this.notes; }
searchNotes(q: string) { return this.notes.filter(n => n.title.includes(q)); }
}
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin apple-notes-packSets up hot-reload workflow for JXA scripts automating Apple Notes on macOS, with chokidar file watching, osascript runner, and test helpers for note CRUD.
Automates Apple Notes via JXA. Use when asked to "create notes programmatically", "automate Notes app", "JXA notes scripting", or "organize notes with automation". Covers accounts/folders/notes, HTML bodies, queries, moves, and Objective-C/UI fallbacks for Notes.app automation on macOS.
Configures GitHub Actions CI/CD pipelines for Evernote integrations with JS mock NoteStore for unit tests and sandbox integration tests.