Back to skills
SKILL.md
Apple Notes Local Dev Loop
ASecurity'Set up local development workflow for Apple Notes automation with JXA hot reload. Trigger: \"apple notes dev loop\". '
- 3 stars
- 0 votes
- 0 copies
- 3 views
- Added September 12, 2026
Security analysis
96/100- Installs packages at runtime which could introduce malicious dependencies
npx -y skills add thedixitjain/the-mega-skill-library --skill apple-notes-local-dev-loop --agent claude-codeAre you the author of Apple Notes Local Dev Loop?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-apple-notes-local-dev-loop)---
name: apple-notes-local-dev-loop
description: "'Set up local development workflow for Apple Notes automation with JXA hot reload. Trigger: \"apple notes dev loop\". '"
allowed-tools: "Read, Write, Edit, Bash(osascript:*), Grep"
category: general-purpose
source_repo: jeremylongshore/claude-code-plugins-plus-skills
source_path: "plugins/saas-packs/apple-notes-pack/skills/apple-notes-local-dev-loop/SKILL.md"
source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/plugins/saas-packs/apple-notes-pack/skills/apple-notes-local-dev-loop/SKILL.md
---
# Apple Notes Local Dev Loop
## Overview
Iterative development workflow for Apple Notes JXA scripts with file watching and test helpers.
## Instructions
### Step 1: Project Setup
```bash
mkdir apple-notes-automation && cd apple-notes-automation
npm init -y
npm install -D chokidar tsx typescript
```
### Step 2: JXA Runner with Hot Reload
```typescript
// src/dev/watch-runner.ts
import { watch } from "chokidar";
import { execSync } from "child_process";
watch("scripts/*.js", { ignoreInitial: true }).on("change", (path) => {
console.log(`Changed: ${path} — running...`);
try {
const output = execSync(`osascript -l JavaScript "${path}"`, { encoding: "utf8" });
console.log(output);
} catch (err: any) {
console.error(err.stderr);
}
});
console.log("Watching scripts/*.js for changes...");
```
### Step 3: Test Helper
```typescript
// src/dev/test-notes.ts
import { execSync } from "child_process";
function runJxa(script: string): string {
return execSync(`osascript -l JavaScript -e '${script}'`, { encoding: "utf8" }).trim();
}
function getNoteCount(): number {
return parseInt(runJxa("Application(\"Notes\").defaultAccount.notes.length"));
}
function createTestNote(title: string): string {
return runJxa(`
const Notes = Application("Notes");
const note = Notes.Note({name: "${title}", body: "<p>Test</p>"});
Notes.defaultAccount.folders[0].notes.push(note);
note.id();
`);
}
export { runJxa, getNoteCount, createTestNote };
```
### Step 4: Dev Scripts
```json
{
"scripts": {
"dev": "tsx src/dev/watch-runner.ts",
"test:notes": "tsx src/dev/test-notes.ts"
}
}
```
## Output
- Hot-reload JXA development with file watching
- Test helpers for note CRUD operations
- Iterative script development workflow
## Resources
- [Mac Automation Scripting Guide](https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/)
- JXA Examples
---
**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `plugins/saas-packs/apple-notes-pack/skills/apple-notes-local-dev-loop/SKILL.md`
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.