The Local Service Spotlight Agent Fleet: Every Scheduled Job & How They Build a Recursive System

Local Service Spotlight · Fleet system-of-record

Every scheduled job we run — and how they build a recursive system

Eight automations. Five systems. One loop that schedules the work, publishes the results, guards what it published, prices its own fuel, and teaches the whole thing in public.

🗓 Updated July 22, 2026🔁 Refreshed by the weekly fleet audit⚡ Tuned to spread across your usage window
DY
By Dennis Yu · Local Service Spotlight
All clock times are U.S. Pacific (America/Los_Angeles) unless noted.
8
automations in the fleet
across 5 systems
4
run on a fixed clock
2 cloud · 1 local · 1 new audit
52
skills the fleet can call
via clawdbot
28
channels wired in
Slack, WhatsApp, Discord…
2
sites guarded 24/7
blitzmetrics.com · dennisyu.com
5h
shared usage window
Cowork + chat + Code pool into it

The short version

If you only remember one thing: these jobs aren’t a to-do list, they’re a flywheel. A content factory turns Dennis’s videos into published articles. Scheduled watchers guard those articles. A cost loop keeps the whole thing running on the cheapest model that still passes review. And a weekly audit re-checks every job — then republishes this very page. Each turn of the wheel makes the next turn cheaper, safer, and better documented.

How the fleet loops

Follow the arrows — the output of each stage is the input to the next, and the last stage feeds the first.
The Local Service Spotlight agent-fleet flywheelA six-stage loop: orchestrate, schedule and watch, produce, publish, teach, then learn and tune, feeding back to orchestrate.firesdraftsshipsby examplefeedbackre-routesThe FleetFlywheelself-running · self-guarding · self-teaching🧠Orchestrateclawdbot dispatches🛡Schedule & watchcron fires the guards🏭Producethe content factory drafts🌐Publisharticles go live🎓Teachclients learn by example🔁Learn & tuneusage -> re-price -> audit
OrchestrationWatcherMeta / cost loopContent factoryFleet auditPublish & sites

How this page stays true

Every job below is a real directory on a real disk, and this page is generated from those directories once a day. That matters because other agents — ours and other people’s — are pointed at this URL to find out what this workforce already does, so they neither rebuild something that exists nor trample a job that is already running. A stale inventory is worse than no inventory: it gets believed.

Between 22 July and 11 August 2026 this page drifted from describing the fleet to describing about a fifth of it, and nothing noticed, because nothing was watching. The diagram below is what watches now.

How the agent fleet keeps its own inventory trueFour stages in a loop. Fifty active scheduled jobs do the work. A daily refresh job merges what is on disk with the schedule state held in the Claude account, regenerates the inventory, and republishes a public page only when something changed. External agents read that page. A weekly independent audit reads the same inventory and recommends changes, a human decides, and the jobs are edited — closing the loop.1 · THE WORKFORCE50 active jobs, grouped by what they can change35publish to a site6send email5read-only2notify Basecamp1write filesCadences run from every 3h to monthly. 21 more directories are archived — kept as evidence, excluded from these counts.ON DISK71 × SKILL.mdWhat each job does, its guardrails,and why it was written that way.IN THE CLAUDE ACCOUNTcron · enabled · last runNot on disk. Visible only to a toolcall made from inside Cowork.copying this folder copies the jobs — but not their schedule2 · THE JOB THAT WATCHES THE JOBSfleet-inventory-refreshdaily 5:30am, after the 4am wave · merges both sourcesaborts if it sees under 20 jobs — that means wrong surfaceThe inventoryinventory.tsv · .json · .mdgenerated — never hand-edited3 · THE PUBLIC CONTRACT/scheduled-jobs-fleet/republished only on change, then read backOther agentsread the URL instead of guessing,so they neither rebuild whatexists nor trample what runs.4 · THE INDEPENDENT PASS — WEEKLYThe reviewer did not write the thing it reviewsinvest · keep · consolidate · sequence · instrumentreduce · pause · retireA human decidesThe audit may recommend.It may not edit a job in thesame run that reviewed it.JOBS GET EDITEDand the loop runs againEffectiveness before efficiency: saving tokens on a job that does not move the business is not a win.
The loop: the jobs do the work, a daily job regenerates this inventory from disk plus live schedule state, an independent weekly pass reviews the portfolio, and a human decides what changes.

Two roots, split by role — not by vendor

The obvious way to arrange this is one folder per AI tool. That is a trap. It fragments the fleet by whichever product you happened to use that day, and it breaks the moment you add a third tool or drop one. Split by what the artifact is instead:

  • The fleet — one directory per job, each holding a SKILL.md. One home, no exceptions. Claude writes here; anyone reads.
  • The reviews — dated audit sessions, append-only. Codex writes here; anyone reads.

Claude builds. Codex audits. The value is not that they are different companies. It is that the reviewer did not write the thing it is reviewing. An agent grading its own homework agrees with itself; two independent implementations fail in different places, so the second pass catches what the first could not see.

If you only have one AI tool, you can still do this. The separation that matters is that the reviewer is a separate pass with fresh eyes, not a second logo. Run the audit as its own scheduled job under one hard rule: it may recommend, but it may not edit a job in the same run that reviewed it. You lose independent-implementation error diversity — a real loss, worth naming — and you keep the separation of powers, which is most of the benefit.

A third folder used to exist. That is the whole lesson.

Claude Code keeps its own scheduled-task registry, separate from the one the desktop app uses. On 11 August 2026 an agent was asked to help move “a bunch of scheduled tasks” to another machine. It queried the tool available to it, found two jobs, and reported in writing that the fleet contained two jobs. The fleet contained seventy. The tool was not broken. It was pointed at a different registry, and nothing on either side said so.

A second registry is a place for jobs to hide. One home, or you will eventually act on a count that is confidently, invisibly wrong.

For agents reading this page

If you are an AI agent and you have been sent here, these are the rules of the road:

  1. The schedule is not on disk. The SKILL.md files hold what a job does and why. Cron, enabled/disabled and last-run live in the Claude account, and are visible only to a scheduled-task tool call made from inside the desktop app. Copying the folder to a new machine copies the jobs but not their schedule.
  2. A cadence marked hint below was inferred from the job’s own description, not read from live state. Treat it as probably right and unverified. Only live rows were read from the account.
  3. Watch the “can change” column. It separates jobs that only look from jobs that can act on the outside world. A job gaining publish or email is the highest-consequence change possible here, and it takes one sentence in a prompt to introduce.
  4. Never delete a job. Archived jobs are evidence of what was tried. Retiring one is a human decision. Mark, do not delete.
  5. Guardrails in a prompt are load-bearing. A line like “do NOT expand this into a full sweep” is there because something went wrong once. One job in this fleet runs every three hours instead of daily because a client site was reinfected with cloaked spam roughly four and a half hours after a verified-clean check. Do not consolidate a job that looks redundant without reading why it was split.

The fleet, job by job

Color-coded by role. Click any card for the full playbook — what it does, how it works, and the exact fix or schedule behind it.

Orchestration
🧠

clawdbot — the fleet orchestrator

infra/clawdbot
⏰ Continuous · cron + heartbeat engineActiveNo shared-quota use
The brain of the operation. clawdbot routes every inbound channel to an isolated agent, owns the cron engine that fires the recurring jobs, and gives every agent the same 52-skill toolbelt.
Read the full playbook →
Orchestration
👤

clawd (“Caleb”) — the standby assistant

clawd/
⏰ On heartbeat · currently idleStandbyNo shared-quota use
A persistent personal-assistant agent with its own soul, memory, and judgment about when to speak. Wakes on a heartbeat to do quiet background work — right now its heartbeat checklist is empty, so it’s parked.
Read the full playbook →
Watcher
🛡

Weekly SEO + Security Watch

Cowork cloud scheduled job
⏰ Every Monday, 4:01 AM PTActiveRescheduled to off-hours
A read-only guard dog for blitzmetrics.com and dennisyu.com. Each Monday it scans Gmail for malware / rogue-admin / registrar signals and pulls Ahrefs for new toxic backlinks, then reports a GREEN / AMBER / RED status.
Read the full playbook →
Meta / cost loop
📊

Kimi K3 vs Claude — model-routing re-price

Cowork cloud scheduled job (one-shot)
⏰ One-shot · Saturday, Aug 1, ~4:00 AM PTScheduled (one-shot)Off-hours · spread
A scheduled re-run of the “should we switch the content factory off Claude?” cost math. It re-checks live prices for Fable 5 / Opus 4.8 / Sonnet 5 / Haiku 4.5 vs Kimi K3, rebuilds the cost-per-day table, and updates the live article.
Read the full playbook →
Meta / cost loop
📈

Claude Usage Weekly Report

claude-usage-automation (macOS launchd)
⏰ Weekly · Monday ~7:00 AM (local)Needs a fixTiming to review
A local script that parses your Claude usage and writes a weekly cost/consumption report — the raw data that feeds decisions like the Kimi re-price. It is currently failing and needs a one-line fix.
Read the full playbook →
Content factory
🎬

yt_to_wp — YouTube → WordPress pipeline

yt_to_wp/
⏰ Run on demand (no fixed clock found)ActiveNo shared-quota use
Pulls Dennis’s latest YouTube videos, grabs the transcript, builds a categorized article, and posts it to WordPress as a draft — using zero LLM tokens (the article assembly is rule-based).
Read the full playbook →
Content factory
🎤

DigiMarCon Repurposer

digimarcon-repurposer/
⏰ Run on demand (resumable)ActiveNo shared-quota use
Scans the DigiMarCon conference channel for sessions featuring Dennis, then writes SEO articles that honor the featured expert — following the house blog SOP — and posts them to blitzmetrics.com.
Read the full playbook →
Fleet audit
🔁

Weekly Fleet Audit

Cowork cloud scheduled job
⏰ Every Sunday, 8:01 PM PTNew this weekOff-hours · spread
The new closing loop. Every Sunday night it inventories every scheduled job — cloud and local — checks each for load-spreading and failures, and refreshes this very page with what changed.
Read the full playbook →

The live inventory

50 active jobs (21 archived and excluded; 71 directories total). Regenerated 2026-08-12. Everything between these markers is generated — the surrounding article is hand-written. A cadence marked * was inferred from the job’s own description rather than read from live schedule state.

JobCadenceCan changeWhat it does
access-coverage-auditweekly*publish, email, notifyWeekly access + measurement coverage audit across every property we post to or hold access for
anthony-hilb-seo-trackerweekly*publish, notifyWeekly Ahrefs tracking of anthonyhilb.com content effectiveness vs the June 2026 baseline
create-app-passwords?publish, emailCreate WordPress Application Passwords on Local Service Spotlight fleet sites via Chrome browser automation
cxotalk-weekly-maaweekly*publishWeekly #MAA (Metrics > Analysis > Action) report for the CXOTalk / Michael Krigsman engagement
dennis-os-daily-refreshdaily*writeDaily refresh of the Dennis OS Obsidian vault — relationships, snapshot, and git commit
dennis-yu-serp-monitorweekly*publishWeekly (bumped from monthly 2026-07-17 — attacks escalating) check of Dennis Yu’s name + vetting-query SERPs, attack-URL liveness, and brigading-account patterns; alert only on changes vs baseline
descript-reel-editorweekly*publishWeekly: edit any Descript project tagged [edit] into a captioned reel/clean cut via the video-editing-agent skill, publish a share link, and draft a note (never send). Safe opt-in — only touches [edit
dsh-daily-article-wavebiweekly*publishEvery 2 weeks (1st + 15th, 4am): channel-refresh wave of Digital Social Hour guest articles to seankelly.io
evidence-verification-meta-articleone-time*publishOne-time (Fri 7 Aug, 4:30am): write and publish the meta article on evidence-verification — by then the skill has run across the fleet for five days and the Aug 8 Grokipedia fleet run is imminent, so
family-law-leaderboard-weekly-checkinweekly*publish, notifyFriday check-in on the Jack Hughes Family Law Leaderboard plan — metrics deltas, milestones, blockers, Basecamp sync
fleet-cloak-checkevery 3h*publishEvery 3h except 3am: fast cloak-only canary check on the anchors + the reinfection cohort + every open cloak-family watchlist entry. Silent one-liner unless there’s a hit. Companion to the daily fleet
fleet-inventory-refreshdaily*publishDAILY (5:30am local, after the 4am agent wave): regenerate the agent-fleet inventory from every SKILL.md on disk, attach live schedule state, and republish the public fleet page only when something ac
fleet-uptime-monitordaily*publish, emailDAILY (3am local, ahead of the 4am agent wave; was every 3h until 2026-08-10 per Dennis): full fleet sweep — HTTP 5xx + ungated Googlebot/canary cloak check + robots/shell/parked sweeps + watchlist de
grokipedia-fleetweekly*publish, notifyWEEKLY (Sat 4:25am, changed from monthly 2026-08-10) Grokipedia pass across CLIENTS, PARTNERS and our own entities. Grokipedia’s review queue has been frozen since April — the run is now LIVENESS-GATE
grokipedia-readinessmonthly*publishStandalone MONTHLY Grokipedia Authority agent — re-score readiness, re-check existing pages (with control probes), submit a capped drip (top 3, verified via POST body), harden the ‘nearly’ band, monit
hyrum-parry-site-followupone-time*publishOne-time 2026-08-24: check whether the athletespotlight.com site-builder / personal-brand automation is far enough along to comp Hyrum Parry a subscription and build his site.
igor-ivitskiy-monthly-brand-refreshmonthly*email, notifyMonthly refresh of Igor Ivitskiy’s brand article + Basecamp-first follow-up (project 48348588) — the agent chases open client to-dos and escalates on a date; Dennis is not the follow-up mechanism
junks-above-daily-progressweekly*publish, notifyWeekly work cycle on the Junk’s Above client project until handoff meeting
kingdom-broker-friday-maaweekly*publish, notifyEvery Friday 7 AM CT — run Local Service Spotlight MAA weekly report across all active Kingdom Broker clients and post to Basecamp via Chrome.
matt-bodnar-monthly-delta-auditmonthly*publish, emailMonthly full-power rerun of Matt Bodnar’s DealCon authority audit with delta vs. prior month + June 10 baseline; PDF published, reply draft staged in his thread
monthly-agent-library-refreshmonthly*publishMonthly refresh of the Local Service Spotlight Task Library + agents — keep skills current with the latest models and update the live “last updated” proof.
nail-dollar-a-day-weekly-updateone-time*publish[DEFERRED 2026-08-03 per Dennis — paused for three weeks; resumes Mon 2026-08-24 via the one-time task `nail-dollar-a-day-reactivate`. Weekly cadence (Mon 4:40am) is unchanged; only the start date mov
quick-audit-auto-scoringevery 3h*emailEvery 3h: pick up new Quick Audit orders from Gmail, run the tiered audit engine (collect-only), stage client draft (CC ops), score MVS — and chase its own open items directly with their owners so Den
refresh-site-cacheweekly*publish, emailWeekly (Mon 03:30, ahead of the 4am fleet wave) refresh of the BlitzAdmin site roster — stages a loud Gmail DRAFT when the token path is blocked, so the cache can never rot silently again
scheduled-jobs-health-auditweekly*publish, notifyWeekly health audit of the WHOLE automation fleet — the ~39 enabled on-computer scheduled tasks on this Mac plus the cloud scheduled tasks — checking that each one actually fired, spreading load off t
sigrun-security-monitordaily*notifyDaily sigrun.com security monitor — external-domain + spam-injection + WP users/plugins drift vs baseline; alert drafts only on change (built 20 Jul 2026 on Sigrun’s “we need a monitoring service” ask
sigrun-website-request-intakedaily*publish, notifyDaily scan of the Sigrun Personal Brand Website request form sheet — process new entries, advance statuses, post status to the Basecamp Updates thread
skill-pack-propagationdaily*publish, writeDAILY (was weekly; Dennis 2026-07-18: packs should update multiple times a day via recursive self-improvement): harvest run-learnings into source skills, rebuild + re-stamp every pack, republish zips
skills-auditweekly*publishSelf-improving weekly skills audit (Fridays) — verifies last week’s decision-sheet items against real state, diffs, and reports
somba-daily-new-member-scoringdaily*publish, email, notifyDaily 5am: scan Sigrun’s Personal Brand Audit sheet for new SOMBA members → research, score, audit PDF, scoreboard + dashboard publish, sheet script refresh — zero Dennis input; Gmail drafts only.
somba-skill-weekly-updateweekly*publishEvery Monday: publish “what changed in your skills this week” to ALL SOMBA member dashboards and the Agent Library — one message, ~100 members. (Was a private note to one member until 2026-08-02.)
somba-weekly-brand-updateweekly*emailWeekly Sunday-evening personal-brand progress update for SOMBA gift-site members — CONSENT-GATED since 2026-08-08 (only Christine currently passes; Sol, Agnieszka, Annelie, Pia refused pending Ina).
somba-weekly-maaweekly*publishEvery Friday: post the weekly MAA to every SOMBA member dashboard, run the members-area consistency sweep (counts/benchmark must match the roster), republish hub+scoreboard+dashboards, and draft the t
spotlight-network-weekly-scanweekly*publishWeekly master-first loop: GoDaddy *spotlight* scan, collect new vertical examples, strengthen the LSS master, propagate down, refresh the registry
tim-francis-weekly-brand-agentweekly*publish[PAUSED — client relationship inactive since ~2026-06-15, not in current active roster; confirm with Dennis before re-enabling] Weekly brand monitor + content repurposing digest for Tim Francis
trenton-sandler-weekly-maamonthly*publish, email, notifyTWICE MONTHLY (1st + 15th, 4:35am — changed from weekly Fridays on 2026-07-31 per Dennis) MAA (Metrics→Analysis→Action) report for Trenton Sandler. Posts to Basecamp “Special Project: Trenton Sandler”
weekly-basecamp-task-defaultsweekly*notifyWeekly sweep: assign project leads + one-week due dates to all unassigned/undated open Basecamp tasks in recently active projects.
weekly-claude-usage-reportweekly*emailWeekly Claude usage report (Cowork desktop sessions, not Claude Code) — reads the real report generated locally on Dennis’s Mac every Monday 8am by com.dennisyu.claude-usage-weekly, and emails a summ
weekly-fleet-hub-auditweekly*publish, writeWeekly fleet audit v2 — foundation (hub coverage + admin-authorship, read-only) PLUS business impact: content velocity, Ahrefs proof, GCT credibility gaps, Fleet Pulse dashboard with week-over-week de
weekly-fleet-interlinking-agentweekly*publish, emailWeekly editorial interlinking pass across the Local Service Spotlight fleet — build genuinely helpful, topical, relationship-grounded links between our sites (legit SEO, never a link farm).
weekly-fleet-wikidata-auditweekly*publishWeekly Wikidata audit across the combined Local Service Spotlight fleet + Sigrún’s SOMBA clients — verify, enhance, drip-create (1–2/wk), re-check Tier-C for newly-notable people, and log to the registry.
weekly-geo-ai-citation-auditweekly*emailWeekly GEO/AI-answer-engine citation tracking. PRIMARY = DataForSEO live LLM probes (ChatGPT + Perplexity, identity AND discovery prompts, own-domain-cited read from annotations[]). Ahrefs is SECONDAR
weekly-vault-promotion-passweekly*publish, emailWeekly Obsidian vault promotion pass — sweep daily notes into entity hubs, export ChatGPT sync zip, refresh Home.md every Monday at 8:30am
wtp-monthly-seo-reauditmonthly*publish, notifyMonthly Western Trading Post SEO re-audit — re-pull Ahrefs + re-crawl, compare to the June 2026 baseline, report score movement.
zoom-call-highlightsdaily*emailDaily: find new Zoom recordings, pull highlights, and draft recap notes to the team for review.
blitzadmin-monthly-schema-sweepmonthly*read-onlyMonthly structured-data (JSON-LD) audit across the BlitzAdmin fleet
fb-unfriend-deactivated-dennisone-time*read-onlyRetry: find & unfriend deactivated accounts on Dennis Yu’s Facebook friends list, slowly, to free space under the 5,000 cap.
grokipedia-drip?read-onlyDrip the queued SOMBA Grokipedia submissions — ONE per run every ~12 min (respects Grokipedia’s 1-per-600s rate limit) until the queue is empty, then self-disable.
linkedin-pk-ph-under30-cleanupweekly*read-onlyWeekly LinkedIn cleanup: remove 1st-degree connections in Pakistan/Philippines with under 30 mutual connections.
weekly-fleet-rankmath-pro-qaweekly*read-onlyWeekly fleet sweep: flag sites missing/outdated/disconnected RankMath Pro before they crash

How we schedule around Claude’s real limits

How Claude’s limits actually work — and why we schedule this way

The optimization isn’t about a magic cheap hour. It’s about one shared meter. Here’s the model, checked against the current rules:

  • One rolling 5-hour window. Your allowance runs in a 5-hour window that starts on your first prompt and resets 5 hours later — not on a fixed clock. Anthropic doubled this window on May 6, 2026.
  • Everything shares one pool. Cowork scheduled jobs, your Claude chats, and Claude Code all draw from the same account-level quota. A heavy job at 9 AM eats the window you’re working in.
  • Metered as it runs. Usage is counted continuously as tokens are consumed — every prompt, tool call, and thinking block — not fixed at the start. A long job that runs 4–6 AM is counted across that whole span.
  • No silent overage on Max. Hit the wall and new prompts are blocked until the window resets — there’s no surprise charge. Overflow only happens if you deliberately route to API/Console pay-as-you-go. So the risk of crowding jobs isn’t a bill; it’s getting locked out of your own session.
  • The weekday “peak” throttle is gone (for now). Earlier in 2026 Anthropic shrank limits on weekday mornings (5–11 AM PT). That was removed on May 6, 2026 and isn’t in effect as of July 2026 — but it could return, so we design to be robust either way.

So the winning move is to spread the fleet out — stagger jobs so they don’t pile into one 5-hour window, run them when Dennis isn’t working, and watch the weekly cap. Do that and no single burst can lock you out, whatever Anthropic does with peak hours.

So here’s when each clock-scheduled job runs, and why that time:

JobWhen it runsStatusWhy that time
Weekly SEO + Security WatchMon 4:01 AM PTRescheduled ✓Overnight, before the work-week — never shares a 5-hour window with Dennis’s own Claude use. (Was 8:01 AM.)
Weekly Fleet AuditSun 8:01 PM PTSpread ✓Weekend evening — a different day and a different 5-hour window from the Monday watch, so they never stack.
Kimi K3 vs Claude Re-priceSat ~4:00 AM PTSpread ✓Weekend pre-dawn one-shot; nothing else runs near it, so it has the window to itself.
Claude Usage Weekly ReportMon ~7:00 AMReviewLocal parser — never touches your Claude quota, so timing is harmless. The real issue is it’s failing; fix first.

What changed this week

This section grows every week — the fleet’s public lab notebook.

Week of July 22, 2026

Scheduling tune-up + the fleet documents itself

  • Checked the schedule against how Claude’s limits actually work. The weekday 5–11 AM “peak” throttle we first set out to dodge turned out to have been removed by Anthropic on May 6, 2026 — so we re-aimed the fix at the thing that still bites: the shared rolling 5-hour window.
  • Timed the fleet to spread across windows and off Dennis’s work hours — the Weekly SEO + Security Watch now runs overnight Monday (moved from 8:01 AM), and the new Fleet Audit runs Sunday evening. Different days, different 5-hour windows, no stacking.
  • Audited all 8 automations across 5 systems and confirmed which actually draw on the shared Claude quota (only the cloud jobs and clawdbot cron do; the pipelines run on Grok or no model at all).
  • Caught the Claude Usage Weekly Report silently failing for weeks — macOS was blocking it from reading the Desktop folder. Fix documented.
  • Stood up this page and a Weekly Fleet Audit that spreads new jobs automatically and republishes this page every Sunday.

Who runs this, and how we know it’s right

DY

Dennis Yu

Founder · digital-marketing educator

Dennis builds and runs this agent fleet in the open. The fleet teaches by example: the same automations that run the business become the curriculum for clients and the wider community. This page is maintained as a living system-of-record and refreshed by the fleet’s own weekly audit.

Sources for every job: the live Cowork scheduled-jobs API and the automation repos on Dennis’s machine (clawdbot, clawd, yt_to_wp, digimarcon-repurposer, claude-usage-automation). Usage-limit mechanics verified against public documentation, July 2026. Author bio & profile links are placeholders for Dennis to confirm.

This page owns observed operations. For the whole architecture, read The System and the cross-model operating-system map. For how to define timing and acceptance before a job enters this fleet, use the scheduled-jobs guide.