| name | aap-update |
| description | Check the local ArduPilot AI Playbook version against the upstream GitHub version and update if newer. Use when the user asks to update the playbooks, check for playbook updates, or wants to know which version is installed. |
Update ArduPilot AI Playbooks
Compares the **Playbook version:** line in the local AGENTS.override.md against the same line in the upstream codex/AGENTS.md template on GitHub, and re-runs install-codex.sh if the upstream is newer.
Workflow
Step 1: Read the local version
The root playbook lives at ./AGENTS.override.md in an ArduPilot checkout.
LOCAL=$(grep -m1 '^\*\*Playbook version:\*\*' ./AGENTS.override.md | sed 's/^\*\*Playbook version:\*\* *//')
echo "Local: ${LOCAL:-<not found>}"
If LOCAL is empty, the installed playbook predates versioning. Treat that as "older than any tagged version" and recommend updating.
Step 2: Fetch the upstream version
REMOTE=$(curl -fsSL https://raw.githubusercontent.com/fossuav/aap/main/codex/AGENTS.md \
| grep -m1 '^\*\*Playbook version:\*\*' \
| sed 's/^\*\*Playbook version:\*\* *//')
echo "Remote: ${REMOTE:-<not found>}"
If the fetch fails, report the error and stop — do not attempt to update.
Step 3: Compare and report
Step 4: Confirm and run the installer
Show the user the version delta ($LOCAL → $REMOTE) and confirm before running:
curl -fsSL https://raw.githubusercontent.com/fossuav/aap/main/install-codex.sh | bash
The installer downloads each file, diffs against the existing copy, and only writes a .bak and replaces the file when the contents actually changed. Files that are unchanged upstream are left alone.
Step 5: Verify
After the installer finishes, re-read ./AGENTS.override.md and confirm the version line now matches the upstream version.
Notes
- This skill must be run from the root of an ArduPilot checkout (the same directory layout
install-codex.sh requires).
- The version line format is exactly
**Playbook version:** X.Y.Z near the top of codex/AGENTS.md upstream and AGENTS.override.md locally.
- The skill installs playbooks and skills only. It does not install Codex permissions or hooks.