Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/danielrosehill-onboard-4a5644
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/onboard
What's inside
- Skill name
onboard- Description
- 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.
- License
- MIT
- Instructions
- 56 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Onboard
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 locations
```bash
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/`.
## Steps
1. **Register first newsletter.** Ask:
- Slug (kebab-case identifier, e.g. `sitrepisr`)
- Display name (e.g. "Israel SITREP")
- API key reference — prefer 1Password (`op://...`) over raw key
- User directory — path for drafts/sent/exports for *this* newsletter (suggest `~/Documents/Buttondown/<slug>/`); create if missing
- Mark this one as default (first newsletter is default unless user says otherwise)
2. **Offer to register more.** Loop until the user says no. Subsequent newsletters use the same prompts; default flag can only be set on one.
3. **Docs cache.** Invoke `refresh-docs` to clone `https://github.com/buttondown/docs` into `$DATA_ROOT/cache/docs/`.
4. **Template store.** Note that `$DATA_ROOT/templates/` is the shared template store across newsletters; user can scope a template to a specific newsletter via the `add-template` skill.
5. **CLI check (optional).** `command -v buttondown` — if missing, point at upstream README, don't auto-install.
6. **Confirm.** Print resolved paths, list of registered newsletters with `[default]` marker, and the templates directory.
## config.json shape
```json
{
"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"
}
```
## Reconfiguration
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).From danielrosehill/Claude-Buttondown-Mgmt-Plugin, MIT.
More from danielrosehill/Claude-Buttondown-Mgmt-Plugin
- 0.373score
cli-reference
danielrosehill
Reference and lightweight wrapper for the official Buttondown CLI (github.com/buttondown/cli).
SkillCFreshness: CClaude Code +9 - 0.371score
docs-lookup
danielrosehill
Look up Buttondown documentation in the local cache before answering API questions or making API calls.
SkillCFreshness: CClaude Code +9 - 0.371score
refresh-docs
danielrosehill
Clone or pull the official Buttondown documentation repository (github.com/buttondown/docs) into the plugin's local cache.
SkillCFreshness: CClaude Code +9 - 0.371score
update-template
danielrosehill
Update an existing template in the local template store — edit body, change subject, scope, audience, or tags.
SkillCFreshness: CClaude Code +9 - 0.371score
add-template
danielrosehill
Add a reusable email template to the local template store.
SkillCFreshness: CClaude Code +9 - 0.369score
list-newsletters
danielrosehill
List all Buttondown newsletters registered with the plugin — slug, display name, user directory, and which one is the default.
SkillCFreshness: CClaude Code +9 - 0.369score
add-newsletter
danielrosehill
Register an additional Buttondown newsletter alongside any already configured.
SkillCFreshness: CClaude Code +9 - 0.367score
list-emails
danielrosehill
List recent Buttondown emails (drafts, scheduled, sent) for a specific newsletter via the Buttondown API.
SkillCFreshness: CClaude Code +9 - 0.367score
list-templates
danielrosehill
List all email templates in the local template store — name, subject, scope (global or newsletter slug), tags, last updated.
SkillCFreshness: CClaude Code +9 - 0.367score
send-email
danielrosehill
Create a draft or send a Buttondown email for a specific newsletter, optionally starting from a local template.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 29, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from danielrosehill
- 0.470score
plugin-data-storage
danielrosehill
Canonical reference for where Claude Code plugins should persist user data.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
save-plan
danielrosehill
Save a Claude Code plan (from ExitPlanMode, design discussion, or multi-step task) to persistent storage.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
onboard
danielrosehill
First-run onboarding for the adb-ops plugin.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
context-gate
danielrosehill
One-shot context-checkpoint workflow — when the current session is getting cluttered, write a structured handover plan capturing what's done and what's…
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
context-workflow-reference
danielrosehill
Reference and worked example for the CONTEXT.md / CLAUDE.md two-file workflow.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
scaffold-planning
danielrosehill
Create a lightweight `planning/` folder in the current repo with leftover-tasks.md, blockers.md, session-logs/, and handovers/.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
onboard skill. Agent Mart. https://agentmart.dev/skills/danielrosehill-onboard-4a5644 (last updated 2026-10-24)