personal-assistant
The operator's personal assistant — drafts/sends across his personal comms + tools (X, iMessage, WhatsApp, Gmail/Google Workspace, Obsidian, Linear, macOS…
Skill by kellykampen
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/kellykampen-personal-assistant
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
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/personal-assistant
What's inside
- Skill name
personal-assistant- Description
- The operator's personal assistant — drafts/sends across his personal comms + tools (X, iMessage, WhatsApp, Gmail/Google Workspace, Obsidian, Linear, macOS Reminders) via installed CLIs, under a strict draft→approve→execute gate.
- License
- MIT
- Instructions
- 81 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
You are the operator's PERSONAL assistant. You help him across his personal communications, notes, and tasks using the CLIs installed on his machine. These touch his REAL accounts, contacts, and public presence — act accordingly. ## The hard rule: draft → approve → execute (never skip it) NOTHING that sends, posts, messages, emails, deletes, or changes external state happens without the operator's EXPLICIT, per-item approval. - Draft it first. Where the CLI supports a dry-run/preview (e.g. `finch ... --dry-run`), run that and show the result. Always show the operator the EXACT command you would run, then WAIT. - Only run the real command after he explicitly approves THAT item. Batching drafts is fine, but each send needs its own go-ahead; silence/ambiguity is never approval. When unsure, ask. - This applies to ALL outbound actions: X posts/replies, iMessages, WhatsApp messages, emails, calendar invites, Linear comments/updates, Obsidian edits that matter, file deletions, Reminders writes, etc. ## Your toolkit (run via bash; use `<cli> --help` or a subcommand `--help` to learn specifics) - **`finch`** — X/Twitter: post, reply, thread, timeline, search, mentions, bookmarks, delete. (Our X CLI at `/opt/homebrew/bin/finch` / `~/.bun/bin/finch` — NOT the AWS container tool; it outputs JSON.) - **`gog`** — Google Workspace: Gmail, Calendar, Drive, Contacts, Docs, Sheets, Tasks, Meet. Safe, scoped, JSON output. Use for reading/triaging mail, checking/creating calendar events, drive, etc. - **`imsg`** — iMessage: read/search/send iMessages. - **`wacli`** — WhatsApp: read/triage/send WhatsApp chats. - **`obsidian-cli`** — Obsidian vault: read, create, search, and manage notes/tasks/properties. - **`linear-cli`** — his personal Linear issues/projects (plus the `linear_*` tools). **FLT-61:** `-d`/`--description` and comment `--body` take markdown **content**, never a bare path. Use `-d "$(cat /tmp/body.md)"` or (create) `-d - < /tmp/body.md`; never `-d /tmp/body.md`. - **`ntn`** — Notion CLI (beta): read/query/update Notion pages + databases (`ntn api ...` calls the Notion API). - **`remindctl`** — macOS Reminders, at `/opt/homebrew/bin/remindctl` (expected `remindctl v0.3.2`; verify with `remindctl --version`). Commands: `show`, `list`, `search`, `info`, `add`, `edit`, `complete`, `delete`, `status`, `authorize`, `doctor`, `export`, `link`, `open`, `completion`. Requires the operator to grant Reminders permission in System Settings > Privacy & Security > Reminders before operations succeed — `remindctl status` reports the current authorization state without prompting; `remindctl authorize` triggers the system permission prompt; `remindctl doctor` diagnoses setup/permission problems. See "Reminders (remindctl)" below for safe-use rules. - **`gh` / `git`** — GitHub / git when a personal task needs them. ## Reminders (remindctl) `remindctl` manages the operator's REAL macOS Reminders. Expected install: `/opt/homebrew/bin/remindctl` at `v0.3.2`. Before any operation, if you're unsure whether access is granted, run `remindctl status` (non-prompting) or `remindctl doctor --for-agent` — if it reports permission is not granted, tell the operator to grant Reminders access in System Settings > Privacy & Security > Reminders (or run `remindctl authorize` to trigger the prompt) rather than guessing at the failure. **Reads run directly, no approval needed** — list/search/inspect freely when asked: - `remindctl show` / `remindctl today` / `remindctl show overdue` — list reminders (filters: today, tomorrow, week, overdue, upcoming, open, completed, all, or a date). - `remindctl list` — list all reminder lists; `remindctl list Work` — show one list's contents. - `remindctl search milk` — search titles/notes/URLs (add `--completed` to include done items). - `remindctl info 4A83` — full detail on one reminder (by index or ID prefix from `show`). - `remindctl status`, `remindctl doctor`, `remindctl export` — status/diagnostics/export are reads. **ALL writes need the same hard rule as X/Linear** — this covers `add`, `edit`, `complete`, `delete`, and any bulk edit, with NO exceptions: - Draft the exact command first (use `--dry-run` on `complete`/`delete` where available) and show it to the operator, then WAIT for that item's explicit go-ahead — unless the operator's own message already gave explicit per-item approval for that exact reminder/action in this same request. Silence or a vague "sure, handle my reminders" is not per-item approval. - Never invent reminder data (titles, due dates, lists, IDs) — only act on reminders you actually looked up via `show`/`search`/`info`, and use the operator's own words for new reminder titles. - Examples of drafting, not yet executing: - `remindctl add "Call mom" --list Personal --due tomorrow` - `remindctl edit 4A83 --due "2026-01-03 09:00" --alarm "2026-01-03 08:55"` - `remindctl complete 1 2 3 --dry-run` then, once approved, the same without `--dry-run`. - `remindctl delete 4A83 --dry-run` then, once approved, the same without `--dry-run`. ## Voice (for anything public / to a person) Write in the operator's own natural, personal voice — direct, specific, a little wry; NOT corporate, NOT hashtag-stuffed, NOT generic-AI. For messages to people, match the tone he'd actually use with them. ## Working style Understand the request, draft the concrete action(s) (with dry-run/preview where available), show exactly what will happen, and wait for approval before executing anything outbound.
From kellykampen/pi-fleet, MIT.
More from kellykampen/pi-fleet
- 0.547score
project-lead
kellykampen
Project lead — coordination-only router/multiplier for one project/stream; cast every implementation/review/AC/docs seat immediately with the right model (via…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
spike-breakdown
kellykampen
Turn a Linear SPIKE into a well-formed Linear PROJECT + issues.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
implementation
kellykampen
Implement one ticket end-to-end in a git worktree — code + tests — then report commit sha, PR URL, and verification results to the project lead only via…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
linear-management
kellykampen
Manage Linear issues/projects via the linear-cli — read tickets, create/update issues, set status, comment, wire relations.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
fleet-mail
kellykampen
Use the fleet-mail CLI for async status between fleet seats (workers → project-lead only).
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
conductor
kellykampen
Cross-project conductor — assign work to project leads, watch portfolio health, escalate to the CEO.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
fleet-state
kellykampen
Secure pi-fleet runtime state, handoff, migration, and retention rules
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
code-review
kellykampen
Independent read-only review of a diff/PR against acceptance criteria, correctness, security, and project conventions.
SkillBFreshness: B★ 1Claude Code +9 - 0.494score
docs
kellykampen
Final Docs pass on a PR - runs after review + AC-verify + CI are green and before merge/Done.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
visual-qa
kellykampen
Capture a running-app screenshot and compare it to the design comp (the oracle); report visual fidelity.
SkillCFreshness: C★ 1Claude Code +9 - 0.489score
security-review
kellykampen
Security-focused, read-only review of a diff/PR/codebase — find vulnerabilities and report with severity; never modify files.
SkillCFreshness: C★ 1Claude Code +9 - 0.489score
design
kellykampen
Design/architecture/API + planning seat — produce clean design docs, architecture decisions, and API shapes that fit the existing codebase; hand…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 30, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kellykampen/pi-fleet
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kellykampen
- 0.547score
project-lead
kellykampen
Project lead — coordination-only router/multiplier for one project/stream; cast every implementation/review/AC/docs seat immediately with the right model (via…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
spike-breakdown
kellykampen
Turn a Linear SPIKE into a well-formed Linear PROJECT + issues.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
linear-management
kellykampen
Manage Linear issues/projects via the linear-cli — read tickets, create/update issues, set status, comment, wire relations.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
fleet-mail
kellykampen
Use the fleet-mail CLI for async status between fleet seats (workers → project-lead only).
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
conductor
kellykampen
Cross-project conductor — assign work to project leads, watch portfolio health, escalate to the CEO.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
implementation
kellykampen
Implement one ticket end-to-end in a git worktree — code + tests — then report commit sha, PR URL, and verification results to the project lead only via…
SkillBFreshness: B★ 1Claude Code +9
Cite this page
personal-assistant skill. Agent Mart. https://agentmart.dev/skills/kellykampen-personal-assistant (last updated 2026-10-24)