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

Read pinned source

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.

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.
Back to top