Examples
Ready-to-run .reach and .octo files. Clone, adapt, run.
All examples are in the GitHub repo under examples/.
.octo Files
morning.octo — Morning Brief
The canonical OCTO demonstration. Four arms. One surface. One decision. One joke.
Reaches into inbox, planner, last meeting transcript, and yesterday's commits. Surfaces the three things that need attention. Closes with personality.
# morning.octo
name morning-brief
arms
- outlook.inbox since yesterday analyze urgent
- teams.planner status overdue
- teams.transcript latest summarize
- git.commits since yesterday analyze cadence
surface
title "Good morning. Here's what needs you."
show urgent-items
actions
draft-reply → reach outlook.draft from selected
send-summary → reach outlook.draft to team summarize all
snooze → reach teams.planner snooze selected
show-all → expand full output
close
tone warm
joke truedeploy.octo — Deployment Verification
Verify a deployment before telling the team it's live. Checks the staging health endpoint, deployment log, yesterday's commits, and any deployment mentions in recent meeting transcripts.
name deploy-verify
arms
- browser.page "https://staging.internal/health" extract status
- db.query env staging sql "SELECT COUNT(*) FROM DeployLog WHERE Date = TODAY()"
- git.commits since yesterday analyze summary
- teams.transcript latest summarize deployment-mentions
surface
type brief
title "Deployment status — {date}"
actions
all-clear → reach outlook.draft to team subject "Deploy verified ✓"
flag-issue → reach outlook.draft to lead subject "Deploy issue flagged"
investigate → expand full findings
close
tone neutral
joke falsesprint-review.octo — Sprint Cadence Review
10-week read across email cadence, calendar density, and git commit history. Calls RPM state. Flags after-hours against the 15% benchmark. Surfaces the recommendation.
name sprint-cadence-review
arms
- outlook.inbox since 10-weeks-ago analyze cadence where subject contains project
- outlook.calendar since 10-weeks-ago analyze density
- git.commits since 10-weeks-ago analyze after-hours benchmark 15%
surface
type review
title "Sprint health — 10 week read"
show rpm-verdict after-hours-benchmark cadence-by-month
actions
share-findings → reach outlook.draft to manager summarize
save-report → reach file.write sprint-review-{date}.reach-artifact
plan-recovery → prompt.input "When does your valley week start?"
close
tone warm
joke true
summary true.reach Files
sprint-review.reach — Sprint Cadence (Single Arm Version)
Standalone reach version of the sprint review. Run it without an OCTO orchestrator — useful when you want findings without the decision surface.
# sprint-review.reach
name sprint-cadence-review
description Read sprint health across email, calendar, and commits
reach outlook.inbox + outlook.calendar + git.commits
since 10-weeks-ago
analyze rpm
benchmark after-hours 15%
output reporttimesheet-daily.reach — Daily Timesheet Draft
Reaches into today's git commits, calendar, and inbox. Reconstructs the workday. Surfaces a form with pre-filled timesheet entries. Human reviews and posts.
# timesheet-daily.reach
name daily-timesheet-draft
description Reconstruct today's work from git and calendar, draft timesheet entries
reach git.commits + outlook.calendar + outlook.inbox
since today
analyze summary
then timesystem.timesheet
draft from analyze.summary
map commits to request-ids via project-plan
then prompt.form
title "Review today's timesheet"
fields
entry-1-request text "Morning request ID"
entry-1-desc textarea "Morning description"
entry-2-request text "Afternoon request ID"
entry-2-desc textarea "Afternoon description"
on submit timesystem.post
on cancel outlook.save-drafttimesheet.octo — Daily Timesheet (OCTO Version)
Same workflow as above, orchestrated as an OCTO with the daily report close.
How to Use These
- Clone the repo:
git clone https://github.com/semanticintent/reach - Copy the example file into your own reach folder
- Open
CLAUDE.mdin your Claude Code session to activate the practice - Edit the example — change project filters, connection strings, surface title
- Run it:
dotnet reach your-file.reachordotnet reach your-file.octo
The .reach and .octo files are the sharing unit. Fork, adapt, run. The pattern travels as a file.
Adapting for Your Context
Every example has a few places you'll want to adapt:
| Placeholder | Replace with |
|---|---|
[PROJECT] | Your project name, ticket prefix, or email filter |
staging.internal | Your internal staging URL |
your timesheet system | Your actual timesheet tool name |
env staging | Your environment names from CLAUDE.md |
10-weeks-ago | The timeframe that matches your sprint cadence |
The vocabulary stays the same. Claude adapts the compiled C# to your actual systems.