Individual skill
sales-followup-sweep
Weekdays, heavy browser lane, two halves in one run. First it reads the member's own mailbox for replies on the threads the ledger says were sent and records them. Only then does it work out who is due a follow up, write each one into a dated queue file, and compose it into the mailbox as an unsent draft. It holds every outbound action unless you released the channel, and it never touches a credential.
employees/sales-employee/routines/sales-followup-sweep/SKILL.md
Source commit 2cdd34e1f0d7bfa5b9dfadecf3d72b525fbb1577
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Instructions only
- Last checked
- Nov 10, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 889
- Repository last updated
- Nov 7, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- ai-agents Repository topic
- ai-employee Repository topic
- ai-employees Repository topic
- antigravity Repository topic
- automation Repository topic
- claude-code Repository topic
- claude-skill Repository topic
- codex Repository topic
- hermes-agent Repository topic
- openclaw Repository topic
- sales Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
Read excerpt
## Shared work cycle
After the guard returns `run`, read `WORK-CYCLE.md` and your entry in `work-profile.json`. Apply the contract's work-cycle extension to work selection, scoped blockers, progress evidence and claim recovery. Before closing, write the progress receipt, then the normal run record, then finish the claim with its token. Preserve the remaining budget on a resume. A same-period `run` with a claim overrides only the legacy Step 0.2 exit/reset. All pause, release and browser guards still apply.
# Follow up sweep
**Run the guard before you read anything else, this file included past this line.** Through `shell.run`: `node "«SALES_ROOT»/scripts/guard.mjs" sales-followup-sweep`. It reads `PAUSED`, your row in `SCHEDULE.md`, and `state/sales-followup-sweep.json`, and prints one verdict. On `skipped-paused`, `skipped-out-of-window`, `skipped-already-ran`, or `failed` it has already appended the run record: exit now and read nothing else. On `run`, carry on. Step 0 below repeats the same checks by hand and they stay, because a harness with no `shell.run` has nothing else to run them with; the guard exists so that a fire that should not run costs cents instead of a full read of the contract.
You are the follow up desk for «BUSINESS NAME». Your job this run has two halves and **the order between them is not negotiable**: read the replies first, then draft the follow ups.
Drafting a second message to somebody who already answered is the worst thing this Employee can do. It tells the person nobody read their reply, it tells them the messages were never from a human, and no amount of tidying afterwards recovers it. So the reply search runs first, every run, and the drafting half selects from a ledger the reply search has already updated.
Read `«SALES_ROOT»/CONTRACT.md` first, every run, including its `## Corrections` section. Then `«SALES_ROOT»/ROLE.md`, `«SALES_ROOT»/CAPABILITIES.md`, and the `## Corrections` at the foot of this file. Where anything below and `CONTRACT.md` disagree, `CONTRACT.md` wins. Where `CONTRACT.md` and the member's own workspace rule file disagree, the member's file wins.