The small business automation consultant delivers one bespoke build. Fazm ships 17 of them, bundled in the .app.

Every top SERP result for this keyword sells a discovery call, a custom Zapier or n8n build, and an hourly rate between $150 and $300. That model produces one automation per engagement, owned by the consultant's vendor account. Fazm takes the opposite angle: on first launch the Mac app installs a library of 17 ready-made .skill.md files to ~/.claude/skills/, each one covering an SMB workflow a consultant would normally bill separately for.

M
Matthew Diakonov
12 min read
4.8from 420+
17 skills ship in the app
SHA-256 verified on every launch
Markdown, not vendor lock-in
Open source
17 skills installed on first launch, not per-engagement

McKinsey's 2025 report found 67% of small businesses using AI automation saw 20%+ revenue growth. The question is who owns the automation after the consultant leaves.

McKinsey, 2025 SMB automation report (cited across the SERP)

The SERP sells a process, not a product

Read the top ten results for this keyword and a pattern emerges. theautomators.ai, aijourn.com, bizzby.ai, IBM Consulting, Automaly, smallbusinessautomationconsultant.com, and trafft.com all describe automation consulting as a service with the same three steps: audit, design, and implement. The deliverable at the end of the engagement is a running integration inside a SaaS tenant the consultant set up for you. Miss a renewal and the automation disappears with it.

None of those pages show you the artifact. That is the SERP gap. The reader has no way to compare what they would receive for the $5k to $40k engagement fee against what a consumer app can drop on their Mac for free. Fazm's bundled skills are that artifact, and they are not cloud-hosted: they are seventeen individual markdown files inside Resources/BundledSkills/ in the .app bundle.

0Bundled skills in the .app
0Categories auto-grouped at onboarding
0Bit SHA hash verified per skill
$0/hrLow-end SMB consultant rate

The anchor fact: SkillInstaller.swift, 319 lines

This is the mechanism the SERP competitors cannot copy without reshaping their business. The installer is a single Swift file that runs on every app launch. It does four things: enumerate bundled skills by file extension, hash each one, compare against the installed copy, and copy over anything new or changed. The excerpt below is the core loop verbatim.

Desktop/Sources/SkillInstaller.swift (excerpt)

Three details matter. First, skill discovery is file-system driven. Drop new-thing.skill.md into the bundle, and the next release installs it. No code change, no registry entry. Second, the hash check means user edits survive app updates when the bundle has not changed for that specific skill. Third, the installer records analytics (installed_skills_count, bundled_skills_count) to PostHog so the team can see which skills users keep and which they delete.

The 17 skills, every file name

These are the exact files shipped in Resources/BundledSkills/ at release time. Each one is a markdown file with YAML frontmatter, readable in any text editor. On install they land at ~/.claude/skills/<name>/SKILL.md.

SkillInstaller.categoryMap

Bundled skills, grouped by onboarding category

ai-browser-profile

Personal · Persistent browser profile with saved logins

telegram

Productivity · Send/read Telegram messages via telethon

google-workspace-setup

Productivity · Create a personal Gmail/Drive/Calendar OAuth app

pdf

Documents · Read, merge, split, OCR, fill form PDFs

docx

Documents · Create and edit Word documents

xlsx

Documents · Open, fix, and generate Excel/CSV files

pptx

Documents · Build and edit PowerPoint decks

video-edit

Creation · Trim, transcode, caption video files

frontend-design

Creation · Generate and iterate on UI components

canvas-design

Creation · Produce visual canvases and layouts

doc-coauthoring

Creation · Long-form co-writing and revision loops

deep-research

Research & Planning · Multi-source research with citations

travel-planner

Research & Planning · End-to-end trip planning and booking

web-scraping

Research & Planning · Pull structured data from any site

social-autoposter

Social Media · Post and track on Reddit, X, LinkedIn, Moltbook

social-autoposter-setup

Social Media · One-time auth for every social platform

find-skills

Discovery · Catalog and introspect installed skills

How a skill file becomes a live automation

Resources/BundledSkills
npm package registry
User-authored skills
~/.claude/skills/
macOS accessibility tree
Native APIs
Browser flows

The seven categories, and who a consultant usually helps with each

The categoryMap in SkillInstaller.swift hard-codes seven categories and an ordering. This is the shape the app uses to present skills during onboarding. It is also a map of the engagements SMBs most commonly hire consultants for.

Documents (4 skills)

pdf, docx, xlsx, pptx. The core artifact work: clean a messy spreadsheet, build a vendor contract template, generate a quarterly deck. Classic consultant billable hours collapse here.

Creation (4 skills)

video-edit, frontend-design, canvas-design, doc-coauthoring. Marketing and content production. Usually outsourced to a freelancer or agency at $50 to $200 per hour.

Productivity (2 skills)

google-workspace-setup, telegram. The integration plumbing. Setting up Gmail/Drive/Calendar OAuth and messenger auth is exactly the kind of work a setup fee covers.

Research & Planning (3 skills)

deep-research, travel-planner, web-scraping. Competitor scans, travel logistics, and structured-data extraction. Billable hours on most small-agency retainers.

Social Media (2 skills)

social-autoposter, social-autoposter-setup. Post and track across Reddit, X, LinkedIn, Moltbook. Replaces a social-media manager's scheduling stack.

Personal + Discovery (2 skills)

ai-browser-profile (persistent logged-in Chrome profile) and find-skills (catalogs what is installed). Infrastructure plus introspection, so the system tells you what it can do.

Watching Fazm install the bundle on a fresh Mac

Those seventeen directories, each with a SKILL.md, are the entire library. Delete a directory, the next launch reinstalls it. Edit the file, the hash changes and it persists until a bundled update supersedes it.

What happens the first time you open Fazm

01 / 05

1. App launches, `SkillInstaller.install()` fires

The installer enumerates every file in Resources/BundledSkills/ that matches the pattern <slug>.skill.md. Seventeen matches on a standard build.

Consultant engagement vs a Fazm install, side by side

This is not a claim that consultants are obsolete. It is a claim that the default consultant engagement for an SMB (audit, Zap, handoff) produces strictly less than what the .app bundle gives you for free, on every dimension an SMB cares about except org-wide change management.

What each model delivers

FeatureTypical SMB consultantFazm bundle
Number of automations you get1 custom build per engagement17 shipped on first install
Deliverable formatZap/Make scenario or n8n graph inside vendor tenantPlain .skill.md files on your disk
Cost$5k to $40k per engagementFree with the app
Time to first working automation2 to 8 weeksUnder 60 seconds on app launch
Edit the automation yourselfSchedule another billable callOpen the .md in any text editor
Survives a SaaS sunsetNo, automation dies with the platformYes, markdown file stays on disk
Integrity checkManual QA sign-offSHA-256 hash compared on every launch
Update pathNegotiate scope for v2App update re-hashes, overwrites if changed
Discovery/onboardingKickoff workshopfind-skills skill introspects the library
Cross-team change managementYes, real value hereNo, Fazm automates, it does not negotiate

Orthogonal comparison. If your problem is negotiation, hire a human. If your problem is doing the thing, install the app.

Native Mac apps the skills drive through the accessibility tree

MailFinderSafariChromeNumbersExcelWordPowerPointPreviewQuickBooksNotionFigmaSlackMessagesCalendarKeynoteShopify (browser)Stripe (browser)HubSpot (browser)Salesforce (browser)

Anything VoiceOver can read, a skill can drive. That is why the bundle includes pdf, docx, and xlsx skills that operate on files and social-autoposter skills that drive browser tabs: the same AX-tree primitive covers both.

Four steps to a working automation

This is the self-serve version of the consultant engagement. The discovery-to-production loop that usually takes weeks compresses to an afternoon because the skills are already there.

From install to running

1

Download and open Fazm

Drag the .app into /Applications and launch. On first launch, SkillInstaller runs, hashes every bundled skill, and installs all 17 to ~/.claude/skills/. You see a single 'Installed 17 skills' line in the log.

2

Pick a skill that matches your workflow

Each skill advertises trigger phrases in its frontmatter description. Ask Fazm 'post this to Reddit' and it matches social-autoposter. Ask 'read the xlsx in my downloads' and it matches xlsx. No manual routing.

3

Run it, watch the AX-tree log

Fazm names every AX role and label it interacts with. When something misbehaves, the log tells you whether the model misread the step or the app changed its tree. You can edit the markdown in place.

4

Author a skill for the rest

If you have a workflow the bundle does not cover, drop a new ~/.claude/skills/<slug>/SKILL.md. Frontmatter is name and description. Body is English. Fazm picks it up on the next run without re-installing.

Fit checklist: do I need a consultant or do I need to install Fazm?

If you answer yes to any of the first four, Fazm is the faster path. If you answer yes to any of the last three, talk to a human.

F

The process lives on one Mac and touches fewer than five apps.

F

The operator can describe the workflow in plain English to a new hire.

F

The deliverable is a document, a spreadsheet, a deck, a PDF, or a social post.

F

You want to keep the automation when a vendor subscription lapses.

C

Forty people across three departments disagree on how the process should run.

C

The output needs to be signed by an auditor for SOX, HIPAA, or SOC 2.

C

The target system is a bespoke ERP with SAML auth and no public API.

Why this matters for a small business operator

A small business automation consultant sells you their expertise at arranging other vendors' tools. That expertise is real, especially when you have never set up Gmail OAuth or scraped a website or built a Zap. The problem is that the artifact you walk away with is tied to the vendors, so you pay rent on it forever. Fazm inverts that: the expertise is in the bundle, encoded as seventeen readable markdown files, and the vendors are replaced by the macOS accessibility API and a handful of native integrations. Install once and own the library.

The exception is cross-team change work. No bundle fixes the political problem of getting forty people to agree on a single source of truth. If that is your actual problem, you need a human, and you do not need the seventeen skills.

Counting hours, concretely

Rough arithmetic based on SMB engagement rates the SERP competitors publish openly.

Discovery phase0 hrs

Interviews, shadowing, scope doc

Replaced by: find-skills introspects the library

Tool selection0 hrs

Zapier vs Make vs n8n vs custom

Replaced by: Already chosen: Claude-backed agent, AX tree

Build phase0 hrs

One custom workflow in the vendor stack

Replaced by: Edit the matching .skill.md file

Testing0 hrs

Walkthroughs and edge cases

Replaced by: Run it, watch the AX log, tweak the markdown

Handoff docs0 hrs

Loom + written runbook

Replaced by: The SKILL.md IS the runbook

Ongoing retainer0 hrs

Monthly maintenance, small tweaks

Replaced by: npm auto-update on npm-backed skills

Totals: roughly 69 billable hours per engagement. At $200/hour the engagement sits at about $13,800. The entire bundle installs in under 60 seconds on first launch.

Still need a second set of eyes?

Book a 30-minute call if your workflow has more than five apps, touches compliance, or crosses team lines. That is where Fazm benefits from a human in the loop.

Book a call

Frequently asked questions

What does a small business automation consultant actually produce at the end of an engagement?

On the SERP, the offer is uniform: diagnosis, a recommended stack (Zapier, Make, UiPath, n8n, custom GPTs), then a bespoke build that lives in the consultant's vendor account. The deliverable is usually a Zap or Make scenario, plus a short Loom video explaining it. The asset is intangible, billed hourly at $150 to $300, and tied to the platform. That is the default pattern every top-5 result for this keyword (theautomators.ai, aijourn.com, Automaly, smallbusinessautomationconsultant.com, IBM) is selling.

How does Fazm's skill bundle change that?

Fazm ships 17 automation skills inside the .app bundle, not as SaaS credits. On first launch, `SkillInstaller.swift` enumerates every file in `Resources/BundledSkills/` that ends in `.skill.md`, SHA-256 hashes each one via CryptoKit's `SHA256.hash`, and copies to `~/.claude/skills/<name>/SKILL.md`. On subsequent launches it re-hashes and only overwrites if the bundle has changed, so user-edited skills and app updates can coexist. The artifact is a plain markdown file you can read, copy, and version-control.

What are the 17 bundled skills and what do they actually do?

Personal: ai-browser-profile (sets up a persistent browser profile with saved logins). Productivity: telegram (send/read Telegram messages via the telethon API), google-workspace-setup (creates a personal OAuth app for Gmail/Drive/Calendar). Documents: pdf, docx, xlsx, pptx (read, write, convert). Creation: video-edit, frontend-design, canvas-design, doc-coauthoring. Research & Planning: deep-research, travel-planner, web-scraping. Social Media: social-autoposter (Reddit/X/LinkedIn/Moltbook), social-autoposter-setup. Discovery: find-skills (catalogs what is installed). Together they cover the span of workflows an SMB typically hires a consultant to bolt together for them.

Why does it matter that the skills are in the app bundle instead of the cloud?

Three practical reasons. First, no vendor account: the skill does not live in a tenant you do not own. Second, no licensing cliff: the hashed markdown is on your disk and survives a subscription lapse. Third, the skills execute against the macOS accessibility tree on your machine, via `AXUIElementCreateApplication` against the frontmost app. A consultant's Zap that relies on the HubSpot v3 REST API breaks when HubSpot deprecates v3. A skill file that asks Fazm to click the button labeled 'Save' in QuickBooks survives UI refreshes because the AX tree is role-indexed, not pixel-indexed.

Can I verify the bundle mechanism myself without installing the app?

Yes. Every bundled skill is shipped as an individual `.skill.md` file with YAML frontmatter. The installer is at `Desktop/Sources/SkillInstaller.swift` in the open-source Fazm desktop repo. The file defines `obsoleteSkills` (skills removed from a past release that get purged on launch), `categoryMap` (the 7 onboarding categories), `npmSkills` (a separate auto-update path for npm-backed skills like social-autoposter that runs `npm view <package> version` and upgrades when a newer version exists), and `analyticsProperties` (the telemetry shape that reports `installed_skills_count` and `bundled_skills_count` to PostHog). Every function is less than 100 lines.

Which SMB consultant engagements does Fazm NOT replace?

Four cases keep a consultant in the picture. One, cross-team change management: if forty people in three departments disagree on the current-state process, you need a human to run interviews and broker buy-in. Two, compliance-signed workflows: SOX, HIPAA, or SOC 2 audits want a signed artifact and a named owner. Three, systems-of-record integrations with custom auth: if the process touches a bespoke ERP or a SAML-gated legacy app, a consultant may need to spec middleware. Four, process redesign: Fazm automates the process you describe, it does not decide whether that process should exist.

How do skills update after the app is installed?

Two paths. Bundled skills update when the .app itself updates: on launch, SkillInstaller re-hashes every bundled `.skill.md`, and a hash mismatch triggers an overwrite and a toast ('Skill updated: <name>'). npm-backed skills (currently just social-autoposter) update asynchronously: SkillInstaller runs `npm view social-autoposter version`, compares to the installed `package.json`, and runs `npx --yes social-autoposter update` when the remote version is newer. That path lets frequently-changing skills ship out-of-band from the Mac app.

What is the hire-vs-self-serve decision rule for an SMB?

Count three things. Apps: how many apps does the process touch? Operators: how many people run it today? Audit risk: does the output need to be signed? If apps is five or fewer, operators is two or fewer, and audit risk is low, write a `.skill.md` and run Fazm. If any of those break, talk to a consultant. A typical SMB month-end close, invoice intake, vendor reconciliation, or weekly ops report falls in the self-serve bucket. Org-wide workflow redesigns do not.

Do the skills work on both Intel and Apple Silicon Macs?

Yes. The skill installer uses pure Swift + CryptoKit's SHA256 and FileManager APIs that ship on both architectures. The Fazm bundle itself is distributed as a universal binary (`x86_64-apple-macosx/release/Fazm_Fazm.bundle/BundledSkills/` is just the staging location for one architecture during the build). At runtime the skills run inside a Claude-backed agent that shells out to tools like `npm`, `jq`, and `curl`, and those are all arch-agnostic.

If I edit a skill file locally, will Fazm overwrite my changes?

Only if the bundled version has also changed in a later release. SkillInstaller always re-hashes the bundled file and compares it against the installed file. If they match, the installer emits 'Skipped <name> (up to date)' and leaves your edited copy alone. If they differ, it overwrites — the assumption is that new bundled content is intentional and supersedes the installed one. If you want a permanent local-only variant, rename the directory in `~/.claude/skills/` or author a new skill with a different `name:` in the frontmatter.