Vexa Meetings
Vexa-ai/vexa
Sends a Vexa bot into a meeting, follows the live transcript and writes meeting notes with speakers, decisions and action items into Obsidian, Notion or Markdown.
Agent skill
by jeremylongshore in jeremylongshore/tons-of-skills-marketplace
Migrate notes between Apple Notes, Obsidian, Notion, and other platforms.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-dive --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .claude/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .claude/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-diveType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-dive --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .agents/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .agents/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-dive --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .cursor/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .cursor/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path skills/.curated/apple-notes-migration-deep-dive--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-dive --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .gemini/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .gemini/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-diveInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .github/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .github/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace apple-notes-migration-deep-dive --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.curated/apple-notes-migration-deep-dive .opencode/skills/apple-notes-migration-deep-dive && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "apple-notes-migration-deep-dive" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/apple-notes-migration-deep-dive into .opencode/skills/apple-notes-migration-deep-dive/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-notes-migration-deep-dive", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
apple-notes-migration-deep-diveMigrate notes between Apple Notes, Obsidian, Notion, and other platforms.
Apple Notes Migration Deep Dive is an agent skill from jeremylongshore/tons-of-skills-marketplace. Migrate notes between Apple Notes, Obsidian, Notion, and other platforms. Trigger: "apple notes migration".
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code
It works with Obsidian and Notion. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBash(osascript:*)GrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqosascriptFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developer.apple.comhelp.obsidian.mddevelopers.notion.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Apple Notes Migration Deep Dive loads about 1.7k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 479 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 479 words, ~1,744 tokens.
.claude/skills/apple-notes-migration-deep-dive/SKILL.md (or your agent's skills folder).Migrating to or from Apple Notes requires understanding that Notes stores content as proprietary HTML with no REST API for bulk operations. All automation goes through JXA/osascript on a local Mac. This guide covers the four most common migration paths with production-tested scripts. Key challenges include: HTML-to-Markdown conversion fidelity, attachment extraction limitations (JXA cannot export binary attachment data directly), and iCloud sync delays that affect timing of bulk imports.
| From | To | Method | Attachments |
|---|---|---|---|
| Apple Notes | Obsidian | JXA export HTML → convert to Markdown → vault | Manual via Shortcuts |
| Apple Notes | Notion | JXA export JSON → Notion API import | Re-upload required |
| Obsidian | Apple Notes | Read .md → convert to HTML → JXA create | Not supported via JXA |
| Evernote | Apple Notes | File > Import from Evernote (built-in) | Preserved automatically |
| OneNote | Apple Notes | Export to .enex → Import from Evernote | Partial preservation |
#!/bin/bash
# Always back up before migration
BACKUP_DIR="$HOME/notes-backup-$(date +%Y%m%d-%H%M)"
mkdir -p "$BACKUP_DIR"
osascript -l JavaScript -e '
const Notes = Application("Notes");
const data = Notes.defaultAccount.notes().map(n => ({
id: n.id(), title: n.name(), body: n.body(),
folder: n.container().name(),
created: n.creationDate().toISOString(),
modified: n.modificationDate().toISOString(),
attachments: n.attachments().length
}));
JSON.stringify(data, null, 2);
' > "$BACKUP_DIR/full-export.json"
echo "Backed up $(jq length "$BACKUP_DIR/full-export.json") notes to $BACKUP_DIR"#!/bin/bash
VAULT_DIR="$HOME/obsidian-vault/Apple Notes Import"
mkdir -p "$VAULT_DIR"
osascript -l JavaScript -e '
const Notes = Application("Notes");
Notes.defaultAccount.notes().map(n => JSON.stringify({
title: n.name(), body: n.body(),
folder: n.container().name(),
created: n.creationDate().toISOString(),
})).join("\n===NOTESEP===\n");
' | while IFS= read -r line; do
[ "$line" = "===NOTESEP===" ] && continue
title=$(echo "$line" | jq -r '.title' 2>/dev/null) || continue
body=$(echo "$line" | jq -r '.body' 2>/dev/null)
folder=$(echo "$line" | jq -r '.folder' 2>/dev/null)
created=$(echo "$line" | jq -r '.created' 2>/dev/null)
# Convert Apple Notes HTML to Markdown
md=$(echo "$body" | sed 's/<h1>/# /g; s/<\/h1>//g; s/<h2>/## /g; s/<\/h2>//g' \
| sed 's/<li class="done">/- [x] /g; s/<li>/- /g; s/<\/li>//g' \
| sed 's/<br[^>]*>/\n/g; s/<[^>]*>//g' | sed '/^$/N;/^\n$/d')
safe_title=$(echo "$title" | tr '/:*?"<>|' '-' | head -c 80)
mkdir -p "$VAULT_DIR/$folder"
printf "---\ncreated: %s\nsource: apple-notes\n---\n\n%s\n" "$created" "$md" \
> "$VAULT_DIR/$folder/$safe_title.md"
done
echo "Migration complete: $(find "$VAULT_DIR" -name '*.md' | wc -l) files in $VAULT_DIR"#!/bin/bash
# Import Markdown files into Apple Notes
VAULT_DIR="${1:-$HOME/obsidian-vault}"
COUNT=0
find "$VAULT_DIR" -name '*.md' -type f | while read -r md_file; do
title=$(head -20 "$md_file" | grep -m1 '^# ' | sed 's/^# //')
[ -z "$title" ] && title=$(basename "$md_file" .md)
# Convert Markdown to Apple Notes HTML
body=$(cat "$md_file" | sed 's/^# \(.*\)/<h1>\1<\/h1>/; s/^## \(.*\)/<h2>\1<\/h2>/' \
| sed 's/\*\*\([^*]*\)\*\*/<b>\1<\/b>/g; s/\*\([^*]*\)\*/<i>\1<\/i>/g' \
| sed 's/$/<br>/g' | tr -d '\n')
osascript -l JavaScript -e "
const Notes = Application('Notes');
const note = Notes.Note({name: '$title', body: '$body'});
Notes.defaultAccount.folders[0].notes.push(note);
"
COUNT=$((COUNT + 1))
sleep 1 # Throttle for iCloud sync
done
echo "Imported $COUNT notes"| Issue | Cause | Solution |
|---|---|---|
| Notes missing after import | iCloud sync delay | Wait 5-10 minutes; check on another device |
| HTML formatting garbled | Unsupported HTML tags in source | Pre-clean HTML; strip to Apple Notes subset only |
| Special characters in title | Shell escaping issues with JXA | Use JSON encoding; pipe through jq |
| Attachments not migrated | JXA cannot write binary attachments | Use Shortcuts "Add Attachment to Note" action |
| Duplicate notes after re-run | No dedup in import script | Track imported note IDs in a local manifest file |
A migration produces a protected source receipt, conversion exception report, destination manifest, reconciliation result, and rollback decision. The routine receipt uses opaque identifiers and counts; note titles, bodies, and attachment names remain in controlled artifacts only.
Migrate a five-note synthetic pilot into a dedicated test folder, compare every manifest key and expected formatting exception, then delete the pilot destination under the test policy. For a production migration, move in bounded approved batches and pause immediately if the reconciliation count or attachment handling differs from the signed plan.
For data format details and HTML conversion, see apple-notes-data-handling. For macOS version compatibility during migration, see apple-notes-upgrade-migration.
© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/.curated/apple-notes-migration-deep-dive of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Apple Notes Migration Deep Dive next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Apple Notes Migration Deep Dive this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Vexa MeetingsVexa-ai/vexa | 2.9k | — | ~631 | Automated safety check: Pass | Apache-2.0 | |
| Video To NotesKIRVO-REPORTING/video-to-notes | 105 | — | ~1.5k | Automated safety check: Pass | MIT | |
| LLM Wikinashsu/llm_wiki_skill | 149 | — | ~3.2k | Automated safety check: Pass | None | |
| Baalda Guidenaveedharri/baalda | 155 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Lzheng Fitness Workbench BuilderLZheng0411/Lzheng-fitness | 119 | — | ~2.2k | Automated safety check: Pass | MIT |
Vexa-ai/vexa
Sends a Vexa bot into a meeting, follows the live transcript and writes meeting notes with speakers, decisions and action items into Obsidian, Notion or Markdown.
KIRVO-REPORTING/video-to-notes
Use immediately for any bare YouTube or YouTube Shorts URL, youtu.be link, Bilibili or b23.tv link, or other video URL; do not ask what the user wants.
nashsu/llm_wiki_skill
Query the user's LLM Wiki knowledge base (the LLM Wiki desktop app at 127.0.0.1:19828 — NOT Obsidian, Notion, Apple Notes, Logseq, or any other PKM tool).
naveedharri/baalda
Answer any question about Baalda (the team second-brain app at baalda.com) in plain, non-technical language — what it is, what it can and cannot do, which file formats it supports (Markdown, images…
LZheng0411/Lzheng-fitness
将训练计划 JSON、执行基准、训练复盘、可选 Notion 导出和内置界面素材组装为可离线打开的个人健身工作台,并完成数据刷新、壁纸替换、内置文档阅读、可选 Obsidian 编辑、响应式页面、发布副本与自动校验。用于用户要求从零构建、迁移、重建、替换背景、打包、同步、修复或发布健身工作台,或希望在新电脑上复刻同款个人训练系统时;不用于制定个性化训练处方、单次训练复盘或医疗建议。
skrun-dev/skrun
Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Migrate notes between Apple Notes, Obsidian, Notion, and other platforms. Apple Notes Migration Deep Dive is an agent skill from jeremylongshore/tons-of-skills-marketplace. Migrate notes between Apple Notes, Obsidian, Notion, and other platforms.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a claude-code`. Or copy the skill folder (skills/.curated/apple-notes-migration-deep-dive in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/apple-notes-migration-deep-dive in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a codex`. Or copy the skill folder (skills/.curated/apple-notes-migration-deep-dive in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/apple-notes-migration-deep-dive in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apple-notes-migration-deep-dive -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apple-notes-migration-deep-dive, .gemini/skills/apple-notes-migration-deep-dive, .github/skills/apple-notes-migration-deep-dive and .opencode/skills/apple-notes-migration-deep-dive in your project.
Going by SKILL.md and its folder, Apple Notes Migration Deep Dive needs the command-line tools its instructions call (jq and osascript). Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(osascript:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 3 domains. As links in the text: developer.apple.com, help.obsidian.md and developers.notion.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Apple Notes Migration Deep Dive is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Apple Notes Migration Deep Dive: Vexa Meetings (Vexa-ai/vexa, 2.9k stars), Video To Notes (KIRVO-REPORTING/video-to-notes, 105 stars), LLM Wiki (nashsu/llm_wiki_skill, 149 stars) and Baalda Guide (naveedharri/baalda, 155 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.