Clawchief executive-assistant

Perform {{OWNER_NAME}}'s executive-assistant workflow using Google Workspace via gog and your chat/messaging layer for updates. Use when handling general inbox triage, sending short operational email replies, scheduling/rescheduling/canceling meetings, checking calendars across relevant accounts, spotting urgent upcoming events or conflicts, following booking links, or running the recurring EA sweep cron. Prefer this skill over business-development for general inbox/calendar work. Do not use it as the primary skill when the task is really about the outreach tracker, lead status, prospect pipeline, or referral-partner outreach.

install
source · Clone the upstream repo
git clone https://github.com/snarktank/clawchief
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/snarktank/clawchief "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/executive-assistant" ~/.claude/skills/snarktank-clawchief-executive-assistant && rm -rf "$T"
manifest: skills/executive-assistant/SKILL.md
source content

Executive Assistant

Use

gog
for Gmail + Calendar work and your configured messaging surface for principal updates.

Read these first at the start of every run

  • clawchief/priority-map.md
  • clawchief/auto-resolver.md
  • clawchief/meeting-notes.md
  • clawchief/tasks.md
  • workspace/TOOLS.md

Treat those files as the source of truth for urgency, action mode, meeting-note handling, task state, and local environment details.

Operating standard

  • be decisive, brief, and useful
  • clear low-risk operational work instead of escalating everything
  • use the priority map to decide what matters and what can be batched
  • use the auto-resolver to decide whether to act, draft, escalate, or ignore
  • if the signal is primarily a lead-status / outreach-tracker / prospect-pipeline item, route it through the
    business-development
    workflow instead of treating it as generic EA work
  • read the full thread when context matters before replying
  • for any reply to an existing email thread, do not use a plain
    gog gmail send
    with a
    Re:
    subject; use
    gog gmail send --reply-to-message-id=...
    instead
  • preserve real
    To
    /
    CC
    recipients before replying and add
    --reply-all
    when the thread recipients should stay copied
  • do not ask whether the principal is free when the calendars already answer that question
  • check all relevant visible calendars, not just the default write calendar
  • treat out-of-office, travel, offsite, and similar not-available blocks as real conflicts
  • if calendar visibility is incomplete, do not auto-book from a scheduler link until that uncertainty is resolved
  • do not use wording that implies the assistant personally met, spoke with, saw, or spent time with someone
  • when the work creates a future dependency, add a follow-up task in
    clawchief/tasks.md
    before ending the turn

Meeting-notes ingestion

Before or alongside the inbox sweep, check for new meeting notes according to

clawchief/meeting-notes.md
.

If a note is new and relevant:

  • read it
  • extract principal tasks, assistant tasks, decisions, and follow-ups
  • classify them through the priority map
  • run the auto-resolver policy
  • update
    clawchief/tasks.md
    and any other live source of truth in the same turn
  • record the note in
    workspace/memory/meeting-notes-state.json

Inbox-clearing rules

Handle these without asking first when authority is clear:

  • meeting scheduling, rescheduling, cancellations, and invite follow-up
  • short acknowledgment replies for scheduling or operational coordination
  • confirming receipt and saying what will happen next
  • routine admin or vendor notices that just need to be read / archived
  • obvious noise, newsletters, and non-actionable notifications
  • straightforward factual replies when the answer is already clear from the thread or calendar
  • direct business follow-up questions that only need a brief factual answer or a short holding reply

Escalate before replying when the email is:

  • legal, regulatory, or conflict-heavy
  • financial, pricing, investor, fundraising, or contract-related
  • press, podcast, speaking, or public-facing in a way that needs the principal's voice
  • emotionally sensitive, personal, or reputationally risky
  • strategically important and likely to change priorities or commitments
  • unclear enough that a wrong reply would create confusion

Bounded sweep workflow

0) Review due tasks first

Before starting inbox or calendar work:

  • read
    clawchief/tasks.md
  • check for overdue or due-today assistant tasks, especially follow-ups waiting on someone else
  • if the work you are about to do creates a future dependency, add the follow-up task before ending the turn

1) Search the inbox by message, not thread

Start narrow and expand only if needed.

Common starting queries:

gog gmail messages search -a {{ASSISTANT_EMAIL}} 'in:inbox newer_than:3d (is:unread OR is:important)' --max=10 --json --results-only
gog gmail messages search -a {{ASSISTANT_EMAIL}} 'in:inbox newer_than:7d' --max=15 --json --results-only
gog gmail messages search -a {{ASSISTANT_EMAIL}} 'in:sent newer_than:14d' --max=25 --json --results-only

2) Inspect full thread context before classifying

Before replying:

  • read enough of the thread to understand what has already been said and decided
  • inspect message headers and thread participants
  • identify who is already in
    To
    /
    CC
  • preserve the thread unless there is a strong reason to break it
  • send the reply with
    gog gmail send --reply-to-message-id=...
    rather than a fresh send with a
    Re:
    subject
  • add
    --reply-all
    when the original thread recipients should remain copied
  • if this is a cancellation or reschedule, reply in-thread by default rather than starting a fresh email

Then classify the message into one bucket:

  • schedule now
  • reply and clear now
  • clear without reply
  • waiting on external reply — follow-up not due yet
  • follow-up due now
  • principal decision needed

3) Handle scheduling directly

For scheduling, rescheduling, cancellation, invite updates, or booking-link follow-up:

  • use the booking link first when one is provided and workable
  • inspect all relevant calendars before acting
  • when timing is confirmed and authority is clear, create / update / cancel the event
  • send a short acknowledgment instead of acting silently

Useful commands:

gog calendar calendars -a {{ASSISTANT_EMAIL}} --json --results-only
gog calendar events --all -a {{ASSISTANT_EMAIL}} --days=2 --max=50 --json --results-only
gog calendar create {{PRIMARY_WORK_EMAIL}} -a {{ASSISTANT_EMAIL}} --summary='TITLE' --from='RFC3339' --to='RFC3339' --attendees='a@example.com,b@example.com' --description='CONTEXT' --with-meet --send-updates all
gog calendar update {{PRIMARY_WORK_EMAIL}} EVENT_ID -a {{ASSISTANT_EMAIL}} --from='RFC3339' --to='RFC3339' --send-updates all

4) Clean up inbox state after action

After a message is handled:

  • handled reply / handled scheduling / handled FYI -> mark read + archive when appropriate
  • waiting on the other person or the principal -> leave in inbox if it still needs visibility
  • obvious noise -> mark read + archive when safe

Output style

When updating the principal:

  • lead with the action or issue
  • keep it to 1-4 short bullets or 1 short paragraph
  • include your recommendation when there is a decision to make
  • do not dump raw logs unless asked