Agent skill · software engineering · mvanhorn
pp-framer
Every Framer operation from your terminal — CMS sync, bulk upload, site migration, and a local database no other... Trigger phrases: `sync CMS content to Framer`, `import blog posts into Framer`, `publish my Framer site`, `migrate site to Framer`, `upload assets to Framer`, `check Framer project status`.
Why this skill is useful
Adds a CLI tool that automates Framer API interactions, enabling capabilities like CMS sync and site migration that the AI cannot generate on its own.
What it needs
Requires framer-pp-cli installed locally. Requires framer account access. About 11k tokens when loaded. Last updated 2026-08-06. 1,890 stars on the source repository.
What this skill does
Framer — Printing Press CLI Prerequisites: Install the CLI This skill drives the framer-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first: 1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows: 2. Verify: framer-pp-cli --version 3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill. If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead: If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds. Framer's Server API is powerful but locked behind a JavaScript SDK with no CLI. framer-pp-cli wraps every API method with offline search, dry-run previews, multi-project management, and migration automation that turns site porting from days into hours. How It Works (Architecture) framer-pp-cli is a Go binary that orchestrates a Node.js framer-api subprocess — the bridge (bridge/framer-bridge.mjs) — which speaks Framer's Server API over WebSocket. Any live command (anything that touches the project: publish, changes, pages, nodes, assets, code, redirects, sync, doctor, components, collections, items, project) shells out to this bridge, so Node.js 18+ must be present at runtime. The Go-only install path (go install …) still needs Node at runtime for these live commands — only the local-store commands (snapshot, diff, dashboard, search, cms-sync, cms-validate, cms-schema-diff, styles-import, code-pull, code-push, migrate-scrape, i18n-push, redirects-generate) work fully offline against the local SQLite store. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills mvanhorn/framer