Not in the top 1,000 by GitHub stars
hewi333/Mom-n-Pop-Skills
Collection of skills for small businesses using AI Agents
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/agent-cheatsheet-builder/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/construction-agent/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/crm-lite/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/estimator-engine/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/financial-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/grasshopper-voicemail-monitor/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/hermes-production-ops/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/lead-to-payment/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/mailchimp-integration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/marketing-campaign-builder/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/outlook-graph/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/quickbooks-online/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/small-business-ai-transformation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/small-business-website-spec/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/stripe-link-cli/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 70a22739efb5
No earlier version was observed for comparison.
skills/stripe-payments/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
70a22739efb5 → 70a22739efb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 70a22739efb5
No earlier version was observed for comparison.
Heat
2.4- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- agent-cheatsheet-builder
skills/agent-cheatsheet-builder - construction-agent
skills/construction-agent - crm-lite
skills/crm-lite - estimator-engine
skills/estimator-engine - financial-analysis
skills/financial-analysis - grasshopper-voicemail-monitor
skills/grasshopper-voicemail-monitor - hermes-production-ops
skills/hermes-production-ops - lead-to-payment
skills/lead-to-payment - mailchimp-integration
skills/mailchimp-integration - marketing-campaign-builder
skills/marketing-campaign-builder - outlook-graph
skills/outlook-graph - quickbooks-online
skills/quickbooks-online - small-business-ai-transformation
skills/small-business-ai-transformation - small-business-website-spec
skills/small-business-website-spec - stripe-link-cli
skills/stripe-link-cli - stripe-payments
skills/stripe-payments
How it works
agent-cheatsheet-builder
When your agent uses it
Generate a one-page, plain-English cheat sheet for non-technical business owners using a Hermes agent. Scans installed skills, identifies what's wired vs documented, and produces a printable PDF/doc tailored to the business owner's actual capabilities. Written for 60-somethings who've never used AI.
What it loads into context
Frontmatter
128 tokensAlways available to the agent
SKILL.md
1,947 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What This Does
- When to Use
- How It Works
- Cheat Sheet Template
- Customization Rules
- Common Pitfalls
- Verification Checklist
Files
SKILL.mdcore8,076 bytesSKILL.mdcore8,076 bytes
Read SKILL.md
# Agent Cheat Sheet Builder
## What This Does
Generates a one-page cheat sheet for a non-technical business owner so they know
exactly what their Hermes agent can do, how to ask for things, and what the agent
will never do without their approval. Designed for owners in their 60s who have
never used AI — plain English, large print, no jargon.
## When to Use
- Onboarding a non-technical owner to their agent for the first time
- After wiring a new integration (email, payments, CRM, marketing) — regenerate
- Part of a hackathon demo or handoff package
- Any small business using Hermes that needs a "fridge sheet" for the owner
View the complete source on GitHubconstruction-agent
When your agent uses it
Construction company AI agent — orchestrates email (Google Workspace), project management (JobTread Pave API), and file routing for a construction business. Handles email triage, attachment routing to JobTread, project status, task management, and daily briefings via Telegram. Reference implementation for a construction/trades business with an existing email→Drive→PM pipeline.
What it loads into context
Frontmatter
147 tokensAlways available to the agent
SKILL.md
2,193 tokensWhen the skill is activated
Reference documents
1,983 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- The Pattern
- Core Workflows
- API Integrations
- Environment Variables
- Cron Jobs
- Key Scripts
- Adapting to Other PM Systems
- Pitfalls
- Verification Checklist
- Related
Scripts executed separately
scripts/daily_briefing.pyscripts/drive_to_jobtread.pyscripts/google_mail.pyscripts/jobtread_pave.py
Files
SKILL.mdcore9,385 bytesSKILL.mdcore9,385 bytesreferences/google-workspace-setup.mddoc4,367 bytesreferences/jobtread-api-setup.mddoc3,525 bytesscripts/daily_briefing.pyruns6,350 bytesscripts/drive_to_jobtread.pyruns10,627 bytesscripts/google_mail.pyruns15,476 bytesscripts/jobtread_pave.pyruns12,510 bytes
Read SKILL.md
# Construction Agent — Email → Project Management Pipeline
## Overview
A reference implementation of an AI agent that runs the back-office of a construction company. The agent orchestrates between three systems a construction business already uses:
1. **Email** (Google Workspace / Gmail) — where leads, estimates, and project documents arrive
2. **File storage** (Google Drive) — where email attachments are auto-dumped by an existing script
3. **Project management** (JobTread, or similar PM system) — where files and tasks need to end up
The agent bridges the gap: it monitors Drive for new files, downloads them, uploads them to the PM system, and notifies the owner — all through text messages the owner already reads.
**For who:** A construction or trades business (general contractor, remodeler, specialty trade) where:
- The owner gets project documents via emailView the complete source on GitHubcrm-lite
When your agent uses it
Use when tracking customer interactions, managing leads, or building a lightweight CRM for small businesses without dedicated CRM software. Stores contacts, leads, activities, estimates, and communications in local SQLite.
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
1,560 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Don't Use For
- Core Features
- Quick Start
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore6,230 bytesSKILL.mdcore6,230 bytesSKILL.mdcore6,230 bytesSKILL.mdcore6,230 bytes
Read SKILL.md
# CRM-Lite — Lightweight SQLite CRM for Small Business
## Overview
A minimal, file-based CRM built on SQLite for non-technical small business owners. No server, no external dependencies, no auth complexity. Designed for agent-mediated use: the owner interacts via text message with the agent, which reads/writes this database.
## When to Use
- **Small business** (1-10 employees) with no existing CRM
- **Agent-mediated access** — owners interact via chat/Telegram, not direct DB access
- **Lead tracking** from website forms, referrals, email inquiries
- **Pipeline visibility** — estimate sent → accepted/rejected → job scheduled → paid
- **Communication log** — every email, call, text logged automatically
## Don't Use For
- Multi-user concurrent access with role-based permissionsView the complete source on GitHubestimator-engine
When your agent uses it
Use when calculating service estimates for jobs. Computes pricing based on square footage, ceiling height, service type, travel distance, and severity tiers. Config-driven — plug in your own rate card.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
3,532 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Don't Use For
- Configuration
- Pricing Model Structure
- API Interface
- Quick Start
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytesSKILL.mdcore12,535 bytes
Read SKILL.md
# Estimator Engine — Service Pricing Calculator
## Overview
A deterministic pricing engine for a service business. Takes property/job details and returns a structured estimate with line items, ranges, and confidence levels. Designed for agent-mediated use: owners text property details, agent returns instant estimate.
## When to Use
- **Website estimator form** — visitor enters sqft, gets instant price range
- **Referral qualification** — quick ballpark before site visit
- **Agent creates formal estimate** — detailed line items for QuickBooks
- **Insurance claim scoping** — severity tier mapping to pricing multipliers
## Don't Use For
- Dynamic pricing / demand-based surges
- Multi-trade construction estimatesView the complete source on GitHubfinancial-analysis
When your agent uses it
Analyze business financials from a QuickBooks CSV export. Identifies cost categories, drills down on areas to cut costs, flags low-margin jobs, and spots revenue opportunities. CSV import now, QuickBooks API wiring optional later. Designed for small business owners who don't read spreadsheets — agent translates the numbers into plain English.
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
2,647 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Prerequisites
- Supported CSV Formats
- The Flow
- QuickBooks API Integration (Optional, Post-Hackathon)
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore10,675 bytesSKILL.mdcore10,675 bytesSKILL.mdcore10,675 bytesSKILL.mdcore10,675 bytesSKILL.mdcore10,675 bytesSKILL.mdcore10,675 bytes
Read SKILL.md
# Financial Analysis Skill
## Overview
Takes a QuickBooks CSV export (Profit & Loss, Transaction List, or Sales by Item)
and produces a plain-English financial analysis for a non-technical business owner.
The agent identifies cost categories, flags problem areas, and suggests specific
actions — all delivered in Telegram as a readable summary, not a spreadsheet.
**Two modes:**
1. **CSV import** (works now) — owner exports from QuickBooks, sends to agent
2. **QuickBooks API** (optional) — agent pulls financials directly (requires
`quickbooks-online` skill to be wired with OAuth tokens)
## When to UseView the complete source on GitHubgrasshopper-voicemail-monitor
When your agent uses it
Turn voicemail-drop emails from a virtual phone provider (Grasshopper — or any service that emails transcribed voicemails) into CRM leads and Telegram notifications. Cron-based IMAP polling with the no_agent=True pattern — zero cost when idle. The same architecture works for any structured notification email: contact forms, booking alerts, review notifications.
What it loads into context
Frontmatter
144 tokensAlways available to the agent
SKILL.md
2,315 tokensWhen the skill is activated
Reference documents
1,380 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Architecture
- Components
- Pitfalls
- Monitoring & Recovery
- Reusable Pattern
- Verification
Files
SKILL.mdcore9,700 bytesSKILL.mdcore9,700 bytesSKILL.mdcore9,700 bytesSKILL.mdcore9,700 bytesSKILL.mdcore9,700 bytesreferences/cron-script-arguments.mddoc1,509 bytesreferences/notification-email-monitor.mddoc3,908 bytes
Read SKILL.md
# Voicemail & Notification-Email Monitor
## Overview
Many virtual phone products auto-transcribe voicemails and **email the
transcript** to one or more inboxes (Grasshopper — GoDaddy's virtual phone —
does this; Google Voice, OpenPhone and similar services have equivalents).
That email is all you need for a fully automated lead-intake pipeline — no
audio processing, no transcription API, no polling the provider's dashboard.
This skill describes a monitor that polls those inboxes every 3 minutes via
IMAP, extracts the transcript and caller info, logs the voicemail to the CRM
database, and delivers a formatted summary to the right person's Telegram.
**Key insight: the provider already gives you speech-to-text in the emailView the complete source on GitHubhermes-production-ops
When your agent uses it
Operate and maintain a live production Hermes gateway deployment: switch models/providers globally, manage gateway restarts, suppress operational notifications to end-users, tune streaming/progress config for messaging platforms, and recover from stuck states without sudo. Use when changing the global model, planning a gateway restart, or configuring platform behavior for end-user-facing deployments.
What it loads into context
Frontmatter
120 tokensAlways available to the agent
SKILL.md
1,791 tokensWhen the skill is activated
Reference documents
1,684 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Model/Provider Switching (Global)
- Suppressing Gateway Restart Notifications
- Streaming & Progress Config for End-User Deployments
- Planning a Safe Restart
- Key Config Locations
- Pitfalls
Files
SKILL.mdcore8,023 bytesSKILL.mdcore8,023 bytesSKILL.mdcore8,023 bytesSKILL.mdcore8,023 bytesreferences/gateway-restart-notifications.mddoc3,694 bytesreferences/gateway-streaming-config.mddoc3,800 bytes
Read SKILL.md
# Hermes Production Gateway Operations
Techniques for operating a live production Hermes gateway that serves
non-technical end-users via Telegram (or other messaging platforms). The
core constraint: **the gateway cannot go down** and **end-users should not
see operational noise** (restart pings, progress spam, error messages,
technical detail).
## When to Use
- Switching the global model or provider (e.g., GLM-5.2 → GLM-5.3)
- Suppressing gateway restart/startup notifications to end-users
- Tuning streaming/progress config for a messaging deployment
- Planning a gateway restart that minimizes disruptionView the complete source on GitHublead-to-payment
When your agent uses it
Use when a new lead arrives (email, Telegram message, or website form) and needs to move through the full pipeline: qualify the lead, generate an estimate, get owner approval, create a payment link, draft a customer email for owner review, and track payment. This is the master flow that orchestrates estimator-engine, crm-lite, stripe-payments, himalaya (IMAP/SMTP), and quickbooks-online. Owner stays in the loop and approves before anything is sent or charged.
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
2,828 tokensWhen the skill is activated
Reference documents
1,963 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Environment assumptions
- When to Use
- The Flow (happy path)
- Current state (what runs TODAY)
- Owner-in-the-loop rules (important)
- Demo script
- Pitfalls
Files
SKILL.mdcore11,441 bytesSKILL.mdcore11,441 bytesSKILL.mdcore11,441 bytesSKILL.mdcore11,441 bytesSKILL.mdcore11,441 bytesSKILL.mdcore11,441 bytesreferences/godaddy-email-setup.mddoc4,149 bytesreferences/website-lead-intake.mddoc3,645 bytes
Read SKILL.md
# Lead-to-Payment — Master Sales Flow
## Overview
This is the end-to-end pipeline for a service business: a lead comes in, the agent
turns it into a priced estimate, the owner approves it over Telegram, and the agent
creates a payment link or invoice and tracks it to paid. The owner is never bypassed —
the agent **drafts and proposes, the human approves**, then the agent executes. This
mirrors how a small business owner actually wants to work: they stay in control,
the agent removes the 30–60 min of manual work per estimate.
## Environment assumptions
- Model: `zai-org/GLM-5.2` via Together AI, **direct** (no proxy).
- Gateway: Telegram, running as a systemd service. Tool calling works in the gateway.
- Secrets live in `~/.hermes/.env`.View the complete source on GitHubmailchimp-integration
When your agent uses it
Use when integrating with Mailchimp for audience management, campaigns, and automation. Handles API key auth, audience segmentation, and campaign workflows.
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
2,148 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Don't Use For
- Authentication
- Core API Operations
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytesSKILL.mdcore8,127 bytes
Read SKILL.md
# Mailchimp Integration Skill
## Overview
Integrates a small business with Mailchimp for contact management, email campaigns, and automated follow-up sequences. Uses API key authentication. Designed for agent-mediated use: owners text campaign ideas, agent executes Mailchimp API calls.
## When to Use
- **Import contacts** from CSV/export (e.g., a referral partner list of ~2,000 contacts)
- **Segment audiences** by region, engagement, last contact date
- **Create/send campaigns** (monthly newsletter, seasonal promos, re-engagement)
- **Set up automations** (welcome series, estimate follow-up, post-job review request)
- **Track engagement** (opens, clicks, unsubscribes) → feed back to CRM
## Don't Use For
- Transactional emails (use Stripe/QuickBooks for invoice emails)View the complete source on GitHubmarketing-campaign-builder
When your agent uses it
Draft and run Mailchimp email campaigns with AI-generated content, subject line A/B testing, and optimal send timing. Agent drafts the email + subject variants, owner approves in Telegram, agent creates the campaign in Mailchimp. Turns a dormant contact list into an active marketing channel.
What it loads into context
Frontmatter
126 tokensAlways available to the agent
SKILL.md
3,655 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Prerequisites
- The Flow
- Email Content Guidelines
- A/B Testing Strategy
- Segmentation Strategy
- Campaign Report (Post-Send)
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytesSKILL.mdcore13,797 bytes
Read SKILL.md
# Marketing Campaign Builder
## Overview
Most small businesses have a Mailchimp list they never use. They sent a few
campaigns years ago, got busy, and stopped. This skill fixes that by making
campaign creation **fast and owner-gated**:
1. Owner texts a campaign idea in Telegram
2. Agent drafts the email content + 2-3 subject line options
3. Owner picks a subject line (or suggests their own)
4. Agent creates an A/B test campaign in Mailchimp
5. Agent sends a test email to the owner
6. Owner approves → agent schedules the send at optimal time
View the complete source on GitHuboutlook-graph
When your agent uses it
Send and read emails, manage calendar events, and access contacts via Microsoft Graph API for Outlook/M365. Use when emailing customers, scheduling jobs, or managing partner communications.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
3,056 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- ⚠<U+FE0F> Before You Begin: Verify This Is Actually M365
- Prerequisites
- Setup
- API Reference
- Integration Patterns
- Token Management
- When NOT to Use This Skill (Critical Diagnostic)
- Common Pitfalls
- Verification Checklist
Files
SKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytesSKILL.mdcore11,816 bytes
Read SKILL.md
# Outlook Graph Skill
## When to Use
- Sending estimates or invoices to customers via email
- Reading incoming leads or referrals from Outlook inbox
- Scheduling service jobs on calendar
- Looking up contact info for partners or customers
- Sending payment links (from stripe-payments skill) to customers
- Daily report emails to the owner
## ⚠<U+FE0F> Before You Begin: Verify This Is Actually M365
"Uses Outlook" ≠ "Has Microsoft 365." Many small businesses use the Outlook
desktop app as an IMAP client connected to a third-party email host (GoDaddyView the complete source on GitHubquickbooks-online
When your agent uses it
Use when integrating with QuickBooks Online for invoicing, estimates, customers, and payments. Handles OAuth 2.0 auth, token refresh, and sandbox/production environments.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
2,057 tokensWhen the skill is activated
Reference documents
3,451 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- Don't Use For
- Authentication (OAuth 2.0)
- Core API Operations
- Agent Integration Patterns
- Common Pitfalls
- Verification Checklist
- One-Shot Recipes
Files
SKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesSKILL.mdcore7,643 bytesreferences/oauth2-flow.mddoc4,421 bytesreferences/qbo-api.mddoc4,095 bytesreferences/qbo-mapping.mddoc4,816 bytes
Read SKILL.md
# QuickBooks Online Integration Skill
## Overview
Integrates a small business with QuickBooks Online for customer management, estimates, invoices, and payment tracking. Uses Intuit's OAuth 2.0 flow with automatic token refresh. Designed for agent-mediated use: owners text commands, agent executes QB API calls.
## When to Use
- **Create/send estimates** from estimator-engine output
- **Convert estimates to invoices** when job is booked
- **Record payments** (Stripe webhook → QB payment)
- **Sync customers** between CRM and QB
- **Pull reports** for weekly owner summary (AR aging, revenue, outstanding estimates)
## Don't Use For
- Complex inventory/assembly trackingView the complete source on GitHubsmall-business-ai-transformation
When your agent uses it
Methodology for auditing a real non-technical small service business, understanding its operations, and designing an AI agent system (lead generation, qualification, estimation, booking, billing, reporting) that the owners interact with entirely by text message.
What it loads into context
Frontmatter
135 tokensAlways available to the agent
SKILL.md
3,408 tokensWhen the skill is activated
Reference documents
2,185 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Core Principle: The Agent is an Employee, Not a Tool
- Methodology: 6 Steps
- Pitfalls
- Generalization
- Reference Files
- Related Skills in This Repo
Files
SKILL.mdcore15,641 bytesSKILL.mdcore15,641 bytesreferences/quickbooks-financial-analysis.mddoc9,054 bytes
Read SKILL.md
# Small Business AI Transformation
## When to Use
- User wants to help a real small service business with AI (family business, friend's business, etc.)
- Owners are non-technical — phone-driven, no CRM, no dashboards
- Goal: build an AI "front-office employee" that finds leads, qualifies them, estimates jobs, books, bills, and reports
- Also applies when a hackathon concept needs a real-world customer story (not AI-for-AI-people)
## Core Principle: The Agent is an Employee, Not a Tool
The framing matters for both the business owners AND for hackathon judges. A tool requires someone to operate it. An employee works 24/7 and reports by text. The owners don't log into anything. They text. The agent handles the rest.
**The demo moment that wins:** "My 62-year-old mom texts an AI agent to run her business. She doesn't know what an API is."
View the complete source on GitHubsmall-business-website-spec
When your agent uses it
Planning reference for rebuilding a small business website: page structure, copy voice, estimator widget, SEO requirements, form handling, DNS migration, and the no-code vs static-framework decision (Base44 vs Astro/Vercel vs WordPress). NOT a deploy tool for no-code platforms — no-code builders have no agent-accessible CLI. Includes the honest reasons we pivoted from no-code to a static framework.
What it loads into context
Frontmatter
163 tokensAlways available to the agent
SKILL.md
3,067 tokensWhen the skill is activated
Reference documents
606 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Platform Decision: No-Code vs Static Framework
- Prerequisites
- Website Architecture
- Content guide
- Common Pitfalls
- DNS Configuration (registrar → Vercel example)
- Verification Checklist
Files
SKILL.mdcore12,935 bytesreferences/base44-pricing.mddoc2,373 bytes
Read SKILL.md
# Small Business Website Spec
> ⚠<U+FE0F> **This is a planning/specification reference, not a deployable skill for
> no-code platforms.** Base44 and similar builders have no CLI the agent can
> call — building there means dragging pages in a web editor, done by a human.
> A static framework (Astro/Hugo/Eleventy) on Vercel/Netlify/Cloudflare Pages
> *is* agent-workable: the agent can clone the repo, edit, run checks, and push.
> Either way, this skill is the spec: page structure, copy voice, estimator
> widget, SEO checklist, form handling, and the DNS cutover runbook.
## When to Use
- Planning a website rebuild for a small service business
- Choosing between no-code (Base44, Wix Studio, Squarespace) and a static framework (Astro on Vercel)
- Page structure, copy voice, estimator widget, SEO requirementsView the complete source on GitHubstripe-link-cli
When your agent uses it
Agent-initiated spend via Stripe Link — requests purchases, issues virtual cards, owner approves in the Link mobile/web app. Hermes cannot self-approve. The 'spend' rail to complement stripe-payments.
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
2,710 tokensWhen the skill is activated
Reference documents
1,148 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Prerequisites
- Install
- How to Run
- Procedure
- Optional: run as an MCP server instead
- Pitfalls
- Verification
- Reference
Files
SKILL.mdcore11,214 bytesreferences/error-fixes.mddoc4,464 bytes
Read SKILL.md
# Stripe Link CLI Skill
Wraps [@stripe/link-cli](https://github.com/stripe/link-cli) so Hermes can complete purchases on the user's behalf using one-time-use virtual cards or Shared Payment Tokens (SPT). Every spend is gated by an in-app approval in the Link mobile/web app — Hermes cannot self-approve.
US-only at the moment (Link account requirement). Windows is not supported by the upstream CLI — this skill is gated `[linux, macos]`.
## When to Use
Trigger phrases:
- "buy X", "pay for X", "make a purchase", "complete checkout"
- "get me a card", "I need a payment method"
- "log in to Link", "connect my Link wallet"
- HTTP 402 response from a merchant API with `www-authenticate: ... method="stripe"`View the complete source on GitHubstripe-payments
When your agent uses it
Create Stripe checkout sessions, payment links, invoices, and customers via Stripe REST API. Use when processing payments, sending invoices, or managing customer billing for a service business.
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
2,389 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Prerequisites
- Setup
- API Reference
- Integration Patterns
- Quick Start: Full Estimate-to-Payment Flow
- Webhooks (for automated payment confirmation)
- Test Cards (for demo)
- Common Pitfalls
- Verification Checklist
Files
SKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytesSKILL.mdcore8,408 bytes
Read SKILL.md
# Stripe Payments Skill
## When to Use
- Customer needs to pay for an estimate/job
- Creating an invoice for a service
- Setting up a customer in Stripe for recurring billing
- Generating a payment link to send to a client
- Checking payment status for a job
- Agent needs to pay for its own SaaS subscriptions (hackathon "earn and spend" angle)
## Prerequisites
- Stripe API key (secret key, starts with `sk_`)
- Stripe account in test mode for demos
- Stripe CLI installed for webhook testing (optional)View the complete source on GitHubSkills included
- agent-cheatsheet-builder
- construction-agent
- crm-lite
- estimator-engine
- financial-analysis
- grasshopper-voicemail-monitor
- hermes-production-ops
- lead-to-payment
- mailchimp-integration
- marketing-campaign-builder
- outlook-graph
- quickbooks-online
- small-business-ai-transformation
- small-business-website-spec
- stripe-link-cli
- stripe-payments
Repository facts
- License
- MIT
- Created
- Jun 30, 2026
- Last pushed
- Sep 11, 2026
- Forks
- 22
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 86 notes
skills/agent-cheatsheet-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/construction-agent/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/crm-lite/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/crm-lite/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/crm-lite/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/estimator-engine/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/financial-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/financial-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/financial-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/financial-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/financial-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/grasshopper-voicemail-monitor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/grasshopper-voicemail-monitor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 18 dangerous shell commandsin 8 files: outlook-graph/SKILL.md:90 hermes-production-ops/SKILL.md:51 grasshopper-voicemail-monitor/SKILL.md:190 and 5 more
- 138 network referencesin 21 files: stripe-payments/SKILL.md:44 outlook-graph/SKILL.md:86 marketing-campaign-builder/SKILL.md:91 and 18 more
- No hidden or obfuscated text
- 3 instruction override signalsin 1 file: hermes-production-ops/SKILL.md:163
- 4 executable scriptsin 4 files: construction-agent/scripts/daily_briefing.py:1 construction-agent/scripts/drive_to_jobtread.py:1 construction-agent/scripts/google_mail.py:1 and 1 more
- 65 references to secretsin 15 files: marketing-campaign-builder/SKILL.md:89 outlook-graph/SKILL.md:50 construction-agent/scripts/google_mail.py:43 and 12 more
- No requests to vote in Hot
Show all 228 signals by file
skills/agent-cheatsheet-builder/SKILL.md
skills/construction-agent/SKILL.md
- Network accessline 101
- **Endpoint:** `POST https://api.jobtread.com/pave` - Access to secretsline 114
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 176
[Credential-related source omitted]
skills/construction-agent/references/google-workspace-setup.md
- Network accessline 13
1. Go to https://console.cloud.google.com/ - Access to secretsline 46
[Credential-related source omitted] - Network accessline 92
1. Open Google Drive in browser 2. Navigate to the folder 3. The URL looks like: `https://drive.google.com/drive/folders/FOLDER_ID_HERE` - Network accessline 93
2. Navigate to the folder 3. The URL looks like: `https://drive.google.com/drive/folders/FOLDER_ID_HERE` 4. Copy the FOLDER_ID from the URL - Network accessline 94
3. The URL looks like: `https://drive.google.com/drive/folders/FOLDER_ID_HERE` - Network accessline 135
See: https://developers.google.com/admin-sdk/directory/v1/guides/delegation
skills/construction-agent/references/jobtread-api-setup.md
- Network accessline 10
- **Endpoint:** `POST https://api.jobtread.com/pave` - Network accessline 18
1. Log into JobTread: https://app.jobtread.com - Network accessline 100
The exact mutation structure should be verified in the API Explorer: https://app.jobtread.com/docs - Network accessline 101
https://app.jobtread.com/docs - Network accessline 127
Interactive API Explorer: https://app.jobtread.com/docs
skills/construction-agent/scripts/daily_briefing.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Network accessline 54
try: resp = requests.post("https://api.jobtread.com/pave", json={"query": query}, timeout=30) - Network accessline 55
resp = requests.post("https://api.jobtread.com/pave", json={"query": query}, timeout=30) - Access to secretsline 123
[Credential-related source omitted]
skills/construction-agent/scripts/drive_to_jobtread.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 62
TOKEN_FILE = Path.home() / ".hermes" / "cache" / "google_token.json" LOG_FILE = Path.home() / ".hermes" / "logs" / "drive-to-jobtread.log" SCOPES = ["https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readon - Network accessline 64
SCOPES = ["https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"] - Network accessline 66
JOBTREAD_API_URL = "https://api.jobtread.com/pave" - Network accessline 163
try: resp = requests.post(JOBTREAD_API_URL, json={"query": query}, timeout=60) - Network accessline 164
resp = requests.post(JOBTREAD_API_URL, json={"query": query}, timeout=60)
skills/construction-agent/scripts/google_mail.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 53
SCOPES = [ "https://www.googleapis.com/auth/gmail.readonly", - Network accessline 54
"https://www.googleapis.com/auth/gmail.readonly", - Network accessline 55
"https://www.googleapis.com/auth/gmail.send", - Network accessline 56
"https://www.googleapis.com/auth/gmail.compose", - Network accessline 57
"https://www.googleapis.com/auth/drive.readonly", - Network accessline 58
"https://www.googleapis.com/auth/drive.file", - Network accessline 59
"https://www.googleapis.com/auth/calendar.readonly", - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Network accessline 86
[Credential-related source omitted] - Network accessline 87
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted] - Network accessline 88
"auth_uri": "https://accounts.google.com/o/oauth2/auth", - Network accessline 89
"token_uri": "https://oauth2.googleapis.com/token", - Network accessline 90
"redirect_uris": ["http://localhost"],
skills/construction-agent/scripts/jobtread_pave.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 4
======================== Interact with JobTread via their Pave query language API. Endpoint: POST https://api.jobtread.com/pave - Network accessline 5
Interact with JobTread via their Pave query language API. Endpoint: POST https://api.jobtread.com/pave Auth: Grant key (passed as grantKey in $ block) - Network accessline 6
Endpoint: POST https://api.jobtread.com/pave - Network accessline 37
API_URL = "https://api.jobtread.com/pave" - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Network accessline 54
resp = requests.post(API_URL, json={"query": query}, timeout=30) - Network accessline 294
print() print("NOTE: JobTread file upload via Pave API may require a pre-signed URL flow.") print("Check the API explorer at https://app.jobtread.com/docs for the exact mutation.") - Network accessline 295
print("NOTE: JobTread file upload via Pave API may require a pre-signed URL flow.") print("Check the API explorer at https://app.jobtread.com/docs for the exact mutation.") print() - Network accessline 296
print("Check the API explorer at https://app.jobtread.com/docs for the exact mutation.")
skills/grasshopper-voicemail-monitor/SKILL.md
skills/hermes-production-ops/SKILL.md
- Network accessline 35
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Dangerous shell operationline 51
sudo systemctl restart hermes-gateway.service - Dangerous shell operationline 55
### No-Sudo Constraint - Dangerous shell operationline 149
4. Have the operator restart via SSH: `sudo systemctl restart hermes-gateway.service` - Access to secretsline 157
[Credential-related source omitted] - Instruction override signalline 163
- **Never change a model string without verifying it exists on the provider.** A bad model name breaks ALL sessions until rollback. - **Config changes require a restart to take effect.** Do not tell the user - Instruction override signalline 164
A bad model name breaks ALL sessions until rollback. - **Config changes require a restart to take effect.** Do not tell the user the change is "done" until the gateway has been restarted. - Instruction override signalline 165
- **Config changes require a restart to take effect.** Do not tell the user - Dangerous shell operationline 181
`sudo systemctl stop hermes-gateway.service`.
skills/hermes-production-ops/references/gateway-streaming-config.md
skills/lead-to-payment/SKILL.md
skills/lead-to-payment/references/godaddy-email-setup.md
- Network accessline 23
curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh
skills/lead-to-payment/references/website-lead-intake.md
skills/mailchimp-integration/SKILL.md
skills/marketing-campaign-builder/SKILL.md
- Access to secretsline 89
[Credential-related source omitted] - Network accessline 91
# Create campaign CAMPAIGN=$(curl -s -X POST "https://$MAILCHIMP_SERVER_PREFIX.api.mailchimp.com/3.0/campaigns" \ - Network accessline 92
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Network accessline 122
# Create A/B test campaign testing two subject lines CAMPAIGN=$(curl -s -X POST "https://$MAILCHIMP_SERVER_PREFIX.api.mailchimp.com/3.0/campaigns" \ - Network accessline 123
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Network accessline 155
[Credential-related source omitted] - Access to secretsline 155
[Credential-related source omitted] - Access to secretsline 156
[Credential-related source omitted] - Network accessline 166
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 167
[Credential-related source omitted] - Network accessline 182
[Credential-related source omitted] - Access to secretsline 182
[Credential-related source omitted] - Access to secretsline 183
[Credential-related source omitted] - Network accessline 188
# Schedule for Tuesday 10am ET (best open rate for B2B per industry data) curl -s -X PATCH "https://$MAILCHIMP_SERVER_PREFIX.api.mailchimp.com/3.0/campaigns/$CAMPAIGN_ID" \ - Network accessline 189
[Credential-related source omitted] - Access to secretsline 189
[Credential-related source omitted] - Access to secretsline 190
[Credential-related source omitted] - Network accessline 280
# List existing segments curl -s --user "anystring:$MAILCHIMP_API_KEY" \ - Network accessline 281
[Credential-related source omitted] - Access to secretsline 281
[Credential-related source omitted] - Network accessline 282
"https://$MAILCHIMP_SERVER_PREFIX.api.mailchimp.com/3.0/lists/$MAILCHIMP_AUDIENCE_ID/segments" - Dangerous shell operationline 296
[Credential-related source omitted] - Network accessline 296
[Credential-related source omitted] - Access to secretsline 296
[Credential-related source omitted] - Network accessline 297
"https://$MAILCHIMP_SERVER_PREFIX.api.mailchimp.com/3.0/reports/$CAMPAIGN_ID" | python3 -m json.tool
skills/outlook-graph/SKILL.md
- Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Network accessline 86
Base URL: `https://graph.microsoft.com/v1.0` - Dangerous shell operationline 90
[Credential-related source omitted] - Network accessline 90
[Credential-related source omitted] - Access to secretsline 90
[Credential-related source omitted] - Network accessline 92
[Credential-related source omitted] - Network accessline 93
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Network accessline 94
-d "scope=https://graph.microsoft.com/.default" \ - Access to secretsline 96
[Credential-related source omitted] - Network accessline 101
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/sendMail" \ - Network accessline 107
"body": { "contentType": "HTML", "content": "<h2>[BUSINESS_NAME]</h2><p>Dear John,</p><p>Your estimate for service is <strong>$2,800</strong>.</p><p>Payment link: <a href=\"https://buy.stripe.com/...\">Pay Now</a></p><p>Ques - Network accessline 108
"contentType": "HTML", "content": "<h2>[BUSINESS_NAME]</h2><p>Dear John,</p><p>Your estimate for service is <strong>$2,800</strong>.</p><p>Payment link: <a href=\"https://buy.stripe.com/...\">Pay Now</a></p><p>Questions? Call [PHONE - Network accessline 109
"content": "<h2>[BUSINESS_NAME]</h2><p>Dear John,</p><p>Your estimate for service is <strong>$2,800</strong>.</p><p>Payment link: <a href=\"https://buy.stripe.com/...\">Pay Now</a></p><p>Questions? Call [PHONE]</p>" - Dangerous shell operationline 121
[Credential-related source omitted] - Network accessline 121
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/messages?\$top=10&\$select=subject,from,bodyPreview,receivedDateTime" \ - Dangerous shell operationline 127
[Credential-related source omitted] - Network accessline 127
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/messages?\$search=\"service+estimate\"&\$top=5" \ - Network accessline 133
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/messages/$MESSAGE_ID/reply" \ - Network accessline 141
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/calendar/events" \ - Dangerous shell operationline 156
[Credential-related source omitted] - Network accessline 156
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/calendar/events?\$top=10&\$select=subject,start,end,location&\$orderby=start/dateTime" \ - Dangerous shell operationline 162
[Credential-related source omitted] - Network accessline 162
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/contacts?\$top=50&\$select=displayName,emailAddresses,phones" \ - Network accessline 168
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/contacts" \ - Network accessline 182
curl -s "https://graph.microsoft.com/v1.0/users/$MS_USER_EMAIL/messages/$MESSAGE_ID/forward" \ - Network accessline 220
def get_token(): r = requests.post( - Network accessline 221
r = requests.post( - Network accessline 222
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Network accessline 224
[Credential-related source omitted] - Access to secretsline 224
[Credential-related source omitted] - Network accessline 225
[Credential-related source omitted] - Access to secretsline 225
[Credential-related source omitted] - Network accessline 226
"scope": "https://graph.microsoft.com/.default", - Access to secretsline 230
[Credential-related source omitted] - Access to secretsline 263
[Credential-related source omitted]
skills/quickbooks-online/SKILL.md
- Network accessline 34
[Credential-related source omitted] - Network accessline 35
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Network accessline 36
QBO_REDIRECT_URI= # e.g., https://your-domain.com/qbo/callback - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Network accessline 46
### Auth Flow 1. User visits: `https://appcenter.intuit.com/connect/oauth2?client_id={id}&redirect_uri={uri}&scope=com.intuit.quickbooks.accounting&response_type=code&state={random}` - Network accessline 47
1. User visits: `https://appcenter.intuit.com/connect/oauth2?client_id={id}&redirect_uri={uri}&scope=com.intuit.quickbooks.accounting&response_type=code&state={random}` - Network accessline 48
2. Callback receives `code` + `realmId` 3. Exchange code for tokens: `POST https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer` 4. Store tokens + realm_id - Network accessline 49
3. Exchange code for tokens: `POST https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer`
skills/quickbooks-online/references/oauth2-flow.md
- Network accessline 6
## Prerequisites 1. Intuit Developer Account: https://developer.intuit.com - Network accessline 7
1. Intuit Developer Account: https://developer.intuit.com - Network accessline 15
https://appcenter.intuit.com/connect/oauth2? - Network accessline 35
https://your-domain.com/callback? - Network accessline 47
POST https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 87
POST https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 98
[Credential-related source omitted]
skills/quickbooks-online/references/qbo-api.md
- Network accessline 3
## Base URLs - **Sandbox**: `https://sandbox-quickbooks.api.intuit.com` - Network accessline 4
- **Sandbox**: `https://sandbox-quickbooks.api.intuit.com` - Network accessline 5
- **Production**: `https://quickbooks.api.intuit.com` - Access to secretsline 10
[Credential-related source omitted] - Network accessline 75
POST https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted]
skills/small-business-website-spec/references/base44-pricing.md
- Network accessline 3
Retrieved June 25, 2026 from https://base44.com/pricing. - Network accessline 38
link-cli spend-request create --credential-type card --payment-method-id <pm_id> --merchant-name "Base44" --merchant-url "https://app.base44.com" - Network accessline 40
--payment-method-id <pm_id> \ --merchant-name "Base44" \ --merchant-url "https://app.base44.com" \ - Network accessline 41
--merchant-name "Base44" \ --merchant-url "https://app.base44.com" \ --amount <cents> \ - Network accessline 42
--merchant-url "https://app.base44.com" \
skills/stripe-link-cli/SKILL.md
- Network accessline 16
Wraps [@stripe/link-cli](https://github.com/stripe/link-cli) so Hermes can complete purchases on the user's behalf using one-time-use virtual cards or Shared Payment Tokens (SPT). Every spend is gated by an in-app approval in the Link mobil - Network accessline 38
- A Link account at https://app.link.com — created/linked during first `link-cli` auth - Network accessline 39
- At least one payment method — added during first run at https://app.link.com/wallet - Dangerous shell operationline 189
rm -f /tmp/link-card.json
skills/stripe-link-cli/references/error-fixes.md
- Dangerous shell operationline 121
rm -f /tmp/link-card.json
skills/stripe-payments/SKILL.md
- Access to secretsline 27
[Credential-related source omitted] - Network accessline 44
# Install curl -sL https://github.com/stripe/stripe-cli/releases/latest/download/stripe_linux_x86_64.tar.gz | tar xz -C /usr/local/bin/ - Network accessline 45
curl -sL https://github.com/stripe/stripe-cli/releases/latest/download/stripe_linux_x86_64.tar.gz | tar xz -C /usr/local/bin/ - Network accessline 52
All Stripe API calls use `https://api.stripe.com/v1/` with Bearer auth. - Network accessline 56
curl -s https://api.stripe.com/v1/customers \ - Network accessline 68
curl -s https://api.stripe.com/v1/payment_links \ - Network accessline 78
Returns a URL like `https://buy.stripe.com/...` you can send to the customer. - Network accessline 82
curl -s https://api.stripe.com/v1/checkout/sessions \ - Network accessline 83
[Credential-related source omitted] - Network accessline 84
-d mode=payment \ -d "success_url=https://yourdomain.com/success" \ -d "cancel_url=https://yourdomain.com/cancel" \ - Network accessline 85
-d "success_url=https://yourdomain.com/success" \ - Network accessline 86
-d "cancel_url=https://yourdomain.com/cancel" \ - Network accessline 99
# Step 1: Create invoice INVOICE=$(curl -s https://api.stripe.com/v1/invoices \ - Network accessline 100
INVOICE=$(curl -s https://api.stripe.com/v1/invoices \ - Network accessline 106
# Step 2: Add line item curl -s https://api.stripe.com/v1/invoiceitems \ - Network accessline 107
curl -s https://api.stripe.com/v1/invoiceitems \ - Network accessline 115
# Step 3: Finalize and send curl -s https://api.stripe.com/v1/invoices/$INVOICE_ID/finalize \ - Network accessline 116
curl -s https://api.stripe.com/v1/invoices/$INVOICE_ID/finalize \ - Network accessline 117
[Credential-related source omitted] - Network accessline 118
curl -s https://api.stripe.com/v1/invoices/$INVOICE_ID/send \ - Dangerous shell operationline 124
[Credential-related source omitted] - Network accessline 124
curl -s https://api.stripe.com/v1/checkout/sessions/$SESSION_ID \ - Dangerous shell operationline 131
[Credential-related source omitted] - Network accessline 131
curl -s "https://api.stripe.com/v1/payment_intents?limit=10" \ - Network accessline 137
curl -s https://api.stripe.com/v1/refunds \ - Network accessline 177
# 2. Create Stripe customer CUSTOMER=$(curl -s https://api.stripe.com/v1/customers \ - Network accessline 178
CUSTOMER=$(curl -s https://api.stripe.com/v1/customers \ - Network accessline 184
# 3. Create payment link LINK=$(curl -s https://api.stripe.com/v1/payment_links \ - Network accessline 185
LINK=$(curl -s https://api.stripe.com/v1/payment_links \ - Network accessline 201
# Create webhook endpoint curl -s https://api.stripe.com/v1/webhook_endpoints \ - Network accessline 202
curl -s https://api.stripe.com/v1/webhook_endpoints \ - Network accessline 203
[Credential-related source omitted] - Network accessline 204
-d "url=https://yourdomain.com/webhook/stripe" \
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 4 facts
- Contacts www.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionconstruction-agent/scripts/drive_to_jobtread.py:64High confidence
- Contacts www.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionconstruction-agent/scripts/google_mail.py:54High confidence
- Contacts accounts.google.com, which SKILL.md, the README and the plugin manifest do not mentionconstruction-agent/scripts/google_mail.py:88High confidence
- Contacts oauth2.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionconstruction-agent/scripts/google_mail.py:89High confidence
Signal confidence: 228 facts
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueagent-cheatsheet-builder/SKILL.md:35Low confidence
- Network access in code of the SKILL.mdagent-cheatsheet-builder/SKILL.md:162High confidence
- Network access in prose of the SKILL.mdconstruction-agent/SKILL.md:101Low confidence
- Access to secrets in code of the SKILL.mdconstruction-agent/SKILL.md:114High confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueconstruction-agent/SKILL.md:138Low confidence
- Access to secrets in prose of the SKILL.mdconstruction-agent/SKILL.md:172Low confidence
- Access to secrets in prose of the SKILL.mdconstruction-agent/SKILL.md:176Low confidence
- Network access in prose of documentationconstruction-agent/references/google-workspace-setup.md:13Low confidence
- Access to secrets in code of documentationconstruction-agent/references/google-workspace-setup.md:46Low confidence
- Network access in prose of documentationconstruction-agent/references/google-workspace-setup.md:92Low confidence
- Network access in prose of documentationconstruction-agent/references/google-workspace-setup.md:93Low confidence
- Network access in prose of documentationconstruction-agent/references/google-workspace-setup.md:94Low confidence
- Network access in prose of documentationconstruction-agent/references/google-workspace-setup.md:135Low confidence
- Network access in prose of documentationconstruction-agent/references/jobtread-api-setup.md:10Low confidence
- Network access in prose of documentationconstruction-agent/references/jobtread-api-setup.md:18Low confidence
- Network access in prose of documentationconstruction-agent/references/jobtread-api-setup.md:100Low confidence
- Network access in prose of documentationconstruction-agent/references/jobtread-api-setup.md:101Low confidence
- Network access in prose of documentationconstruction-agent/references/jobtread-api-setup.md:127Low confidence
- Executable script in code of a file that runsconstruction-agent/scripts/daily_briefing.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/daily_briefing.py:24Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/daily_briefing.py:25Low confidence
- Network access in code of a file that runsconstruction-agent/scripts/daily_briefing.py:54High confidence
- Network access in code of a file that runsconstruction-agent/scripts/daily_briefing.py:55High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/daily_briefing.py:123Low confidence
- Executable script in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/drive_to_jobtread.py:56Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/drive_to_jobtread.py:57Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/drive_to_jobtread.py:58Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/drive_to_jobtread.py:59Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/drive_to_jobtread.py:60Low confidence
- Network access in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:62High confidence
- Network access in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:64High confidence
- Network access in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:66High confidence
- Network access in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:163High confidence
- Network access in code of a file that runsconstruction-agent/scripts/drive_to_jobtread.py:164High confidence
- Executable script in code of a file that runsconstruction-agent/scripts/google_mail.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/google_mail.py:43Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/google_mail.py:44Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/google_mail.py:45Low confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:53High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:54High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:55High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:56High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:57High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:58High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:59High confidence
- Access to secrets in code of a file that runsconstruction-agent/scripts/google_mail.py:77High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueconstruction-agent/scripts/google_mail.py:78Low confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:86High confidence
- Network access in code of a file that runsconstruction-agent/scripts/google_mail.py:87High confidence
and 178 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/agent-cheatsheet-builder/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.