Weekly executive briefing
Team leads drop their weekly updates, decks and metric exports into a shared folder (a synced Google Drive or Dropbox folder works). Early Monday, Claude Code reads everything that changed in the last week and writes a one-page briefing against your quarter’s priorities, citing the file behind every claim. You approve it, and it’s archived and posted.
- This week’s files Shell
- Write the briefing Claude Code · Opus
- Approve briefing You
- Archive and post Shell
What each step does
This week’s files
ShellLists the files added or changed in the folder in the last week.
Write the briefing
Claude Code · OpusReads every file and writes a one-page briefing against your priorities, citing a file for each claim.
Approve briefing
YouShows you the briefing. Reject with a comment and it is rewritten.
Archive and post
ShellSaves the briefing in the archive folder and posts it to Slack.
From copy to first run
- Copy the pipeline JSON with the button above.
- In Jimothy, open Pipelines → New pipeline, paste it under “Or import a pipeline JSON” and click Import.
- Under Workspace, choose the shared folder your team leads put their weekly updates in.
- Fill in the variables below under Pipeline settings → Variables.
- Triggers → Add trigger → Schedule, cron 45 6 * * 1 (Mondays at 06:45).
What to fill in
The prompts and commands read these as {{vars.<name>}}. The examples are placeholders: replace them with your own.
| Variable | What to put in it | Example |
|---|---|---|
company | Your company name. | Acme |
priorities | This quarter’s priorities, one per line. The briefing reports against each. | 1. Ship the NetSuite integration to GA 2. Net revenue retention above 110% 3. Hire a VP… |
archiveFolder | Folder (inside the updates folder) where approved briefings are kept. | briefings |
slackWebhookUrl | A Slack incoming webhook for the leadership channel. | — |
Show the pipeline JSON
{
"jimothyPipeline": 1,
"name": "Weekly executive briefing",
"description": "Reads the week’s updates from a shared folder and writes a one-page briefing against your priorities.",
"icon": "workflow",
"color": "#a78bfa",
"repo": {
"mode": "inplace",
"localPath": ""
},
"concurrency": 1,
"variables": {
"company": "Acme",
"priorities": "1. Ship the NetSuite integration to GA\n2. Net revenue retention above 110%\n3. Hire a VP Sales",
"archiveFolder": "briefings",
"slackWebhookUrl": ""
},
"steps": [
{
"id": "gather",
"name": "This week’s files",
"type": "shell",
"description": "Lists the files added or changed in the folder in the last week.",
"timeoutMinutes": 2,
"command": "archive={{vars.archiveFolder}}; find . -type f -mtime -8 -not -path \"./$archive/*\" -not -name '.*' | sort | head -200"
},
{
"id": "brief",
"name": "Write the briefing",
"type": "agent",
"description": "Reads every file and writes a one-page briefing against your priorities, citing a file for each claim.",
"harnessId": "claude-code",
"model": "opus",
"dependsOn": [
"gather"
],
"runIf": "{{steps.gather.output | trim}}",
"timeoutMinutes": 30,
"prompt": "Write this week's executive briefing for {{vars.company}}.\n\nFiles added or changed in the last week:\n{{steps.gather.output}}\n\nThis quarter's priorities:\n{{vars.priorities}}\n\nRead every file in the list (skip any you can't open and say so at the end). Do not modify any file. Then write a briefing a CEO can read in three minutes, in Slack formatting (*bold* headings, - bullets):\n\n*Top line*: three bullets\n*Priorities*: for each priority, On track / At risk / Off track, one line of evidence, and the file it came from\n*Numbers*: the metrics that moved, with last week's value where the files have it\n*Risks and blockers*: who is blocked on what\n*Decisions needed*: each as a question with the options and who is asking\n*Wins*: shipped work and people worth calling out\n\nOnly report what the files say. Name the source file in brackets after each claim.{{#if steps.approve.output}}\n\nYour previous draft was rejected with this feedback. Rewrite it:\n{{steps.approve.output}}{{/if}}"
},
{
"id": "approve",
"name": "Approve briefing",
"type": "approval",
"description": "Shows you the briefing. Reject with a comment and it is rewritten.",
"dependsOn": [
"brief"
],
"loopBackTo": "brief",
"maxLoops": 3,
"runIf": "{{steps.gather.output | trim}}",
"approvalMessage": "Post this briefing? Reject with a comment to have it rewritten.\n\n---\n\n{{steps.brief.output}}"
},
{
"id": "publish",
"name": "Archive and post",
"type": "shell",
"description": "Saves the briefing in the archive folder and posts it to Slack.",
"dependsOn": [
"approve"
],
"runIf": "{{steps.gather.output | trim}}",
"timeoutMinutes": 2,
"command": "mkdir -p {{vars.archiveFolder}} && printf '%s\\n' {{steps.brief.output}} > {{vars.archiveFolder}}/briefing-$(date +%F).md && printf '{\"text\":%s}' {{steps.brief.output | json}} | curl -fsS -X POST -H 'Content-Type: application/json' --data @- {{vars.slackWebhookUrl}}"
}
]
}More for executives, and beyond
Decision red team
Pressure-tests a proposal from three angles at once (financial, customer, execution) and writes a decision memo with a recommendation.
ExecutivesQuarterly investor update
Drafts the quarterly investor or board update from your metrics exports and weekly briefings, then has a skeptical board member read it first.
ExecutivesLeadership meeting decisions
Turns a leadership meeting transcript into decisions, owners and deadlines, and posts them once you’ve checked them.