Skip to content

Source Library ​

Every system REACH can reach into. Claude chooses the right library for each source — you declare the source name, Claude handles the connection.

The rule for browser sources: if curl would return what you need, REACH uses HtmlAgilityPack (fast, no browser process). If the page requires JavaScript or interaction, REACH uses Playwright (full headless Chromium).


Outlook ​

Talks directly to your running Outlook instance via COM Interop. No API keys, no Graph auth, no tokens. Works because Outlook is already open.

SourceWhat it reaches
outlook.inboxInbox — filter, count, group by sender/subject/date
outlook.sentSent items — communication cadence from your side
outlook.calendarCalendar entries — meetings, appointments, events
outlook.folderAny named folder — Deleted Items, custom folders
outlook.draftCompose an email (does not send until instructed)
outlook.sendSend the composed draft (always preceded by a prompt gate)
outlook.meetingCompose a meeting invite

Performance: 3-8s cold, 1-2s warm.


Git ​

Reads git history. Runs in the current directory or a specified path. No GitHub API — direct git log.

SourceWhat it reaches
git.commitsCommit history — cadence, after-hours %, velocity
git.logRaw log with custom shape — author, date, message

After-hours analysis — when analyze after-hours is specified, Claude splits commits by time of day and calculates the percentage outside core hours (9am–6pm). The benchmark (benchmark 15%) turns the number into a verdict.

After-hours %RPM stateWhat it signals
0–15%🟢 GreenSustainable — occasional late push, not a pattern
15–25%🟡 YellowWatch — creeping into personal time regularly
25–30%🔴 RedRunning hot — recovery needed
30%+🔴🔴 All redStructural overflow — open valley week essential

Screen ​

Captures exactly what's visible. Returns an image path — Claude reads it inline and reasons about what it sees.

SourceWhat it reaches
screenFull screen capture
screen.windowSpecific named window
screen.regionDefined pixel region

Performance: 3-5s cold, under 1s warm. Fastest reach available.

When to use: UI review, deployment state, errors on screen, anything that words don't capture efficiently. Claude reaches for this itself when it determines it needs to see something.


Browser ​

SourceWhen to useLibrary
browser.pagePage requires JavaScript, SPA, dynamic contentPlaywright — headless Chromium
browser.authLogin flow before reaching target pagePlaywright
http.getStatic page or REST endpointHttpClient built-in
http.postPost to a REST endpointHttpClient built-in

Performance: Playwright — 10-20s cold, 6-10s warm. HtmlAgilityPack / HttpClient — near-instant.

Playwright capabilities:

  • Navigate to any URL, wait for specific CSS selectors
  • Extract text, tables, links from rendered DOM
  • Screenshot full page or specific element
  • Fill forms, click buttons, navigate through auth flows
  • Persist session cookies across steps

Database ​

SQL Server queries across named environments. No hardcoded connection strings — Claude maps environment names to connections from your CLAUDE.md.

SourceWhat it reaches
db.queryRun a SQL query, return results in specified format
db.tableInspect a table — schema, row count, sample data

Environment names — env dev, env staging, env prod — mapped in CLAUDE.md:

csharp
var environments = new Dictionary<string, string>
{
    ["dev"]     = "Server=your-dev-server;Database=YourDb;Integrated Security=true;",
    ["staging"] = "Server=your-staging-server;Database=YourDb;Integrated Security=true;",
    ["prod"]    = "Server=your-prod-server;Database=YourDb;Integrated Security=true;"
};

Files ​

SourceWhat it reaches
file.readRead .txt, .docx, .pdf — extract as plain text
file.mergeMerge multiple files into one
file.watchWatch a folder for new files, signal on arrival
file.writeWrite findings to a file

Document libraries:

  • .docx — DocumentFormat.OpenXml (official Microsoft, handles all Word internals)
  • .pdf — PdfPig for text extraction; iTextSharp if layout matters

UI Automation ​

Interacts with a running application's UI control tree via Windows UIAutomation. Reads the actual control hierarchy — names, types, values. No screenshots needed for structured data.

SourceWhat it reaches
ui.windowAny running desktop application
reach ui.window "OUTLOOK"
  find      name "Inbox"
  read      items
  output    list

Library: FlaUI — wraps Windows UIAutomation cleanly. Finds controls by name, type, or automation ID. Clicks buttons, reads list items, types into fields.


Process ​

SourceWhat it reaches
process.launchLaunch an application
process.signalWrite a signal file for inter-reach communication

Timesheet ​

Posts entries to your organization's timesheet system. Always preceded by a prompt gate — never posts silently.

SourceWhat it reaches
timesystem.timesheetDraft timesheet entries from git + calendar analysis
timesystem.postPost reviewed entries

CI/CD ​

SourceWhat it reaches
ci.pipelineWatch a CI/CD pipeline URL for status changes
ci.error-logRead error output from the most recent pipeline run

How Claude Chooses Libraries ​

Claude selects the least-friction library for the task. Built-ins first.

SituationClaude reaches for
File is .docxDocumentFormat.OpenXml — official, handles all Word internals
File is .pdfPdfPig for text, iTextSharp if layout matters
Outlook is openCOM Interop — no auth, talks to live instance directly
SQL Server queryMicrosoft.Data.SqlClient — modern, works across all environments
UI interaction neededFlaUI — wraps Windows UIAutomation cleanly
Screen captureSystem.Drawing built-in — no package, fastest reach
Page needs JavaScriptMicrosoft.Playwright — real headless Chromium
Page is static HTMLHtmlAgilityPack — fast, no browser process
Simple HTTP / RESTHttpClient built-in — no package needed
Structured outputSystem.Text.Json built-in, or CsvHelper for CSV