From apple-notes-pack
Automates Apple Notes tasks on macOS CI runners using osascript JXA. Includes a mock client for testing without Apple Events permissions.
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 ia23a-lachnita/claude-code-plugins-plus-fix-skills --plugin apple-notes-pack2plugins reuse this skill
First indexed Jul 17, 2026
Run Apple Notes automation in CI on macOS runners. Trigger: "apple notes CI".
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.