From buttondown-mgmt
First-run setup for buttondown-mgmt. Registers one or more Buttondown newsletters (each with its own API key reference and user directory), provisions the shared template store, and clones the official Buttondown docs into the local cache.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin buttondown-mgmtThis skill uses the workspace's default tool permissions.
Run on first use, or when the user wants to reconfigure the plugin. Supports multiple newsletters — each newsletter has its own API key, user directory, and default-status flag.
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Executes ctx7 CLI to fetch up-to-date library documentation, manage AI coding skills (install/search/generate/remove/suggest), and configure Context7 MCP. Useful for current API refs, skill handling, or agent setup.
Share bugs, ideas, or general feedback.
Run on first use, or when the user wants to reconfigure the plugin. Supports multiple newsletters — each newsletter has its own API key, user directory, and default-status flag.
DATA_ROOT="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/buttondown-mgmt"
mkdir -p "$DATA_ROOT/cache/docs" "$DATA_ROOT/templates" "$DATA_ROOT/data" "$DATA_ROOT/state"
Config goes in $DATA_ROOT/config.json. Never write config to ~/.claude/.
sitrepisr)op://...) over raw key~/Documents/Buttondown/<slug>/); create if missingrefresh-docs to clone https://github.com/buttondown/docs into $DATA_ROOT/cache/docs/.$DATA_ROOT/templates/ is the shared template store across newsletters; user can scope a template to a specific newsletter via the add-template skill.command -v buttondown — if missing, point at upstream README, don't auto-install.[default] marker, and the templates directory.{
"newsletters": {
"sitrepisr": {
"name": "Israel SITREP",
"api_key_ref": "op://Personal/Buttondown sitrepisr/api_key",
"user_dir": "/home/<user>/Documents/Buttondown/sitrepisr",
"default": true
},
"tech-notes": {
"name": "Tech Notes",
"api_key_ref": "op://Personal/Buttondown tech-notes/api_key",
"user_dir": "/home/<user>/Documents/Buttondown/tech-notes",
"default": false
}
},
"templates_dir": "<DATA_ROOT>/templates",
"docs_cache": "<DATA_ROOT>/cache/docs",
"docs_last_refresh": "2026-04-29T00:00:00Z"
}
If config.json already exists, ask whether the user wants to (a) add another newsletter (delegate to add-newsletter), (b) edit an existing entry, or (c) start over (back up old config to config.json.bak-<timestamp> first).