# Csat Satisfaction Report

Weekly on a Friday, conditional browser lane.

- Repository: https://github.com/markfulton/ai-employees (826 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add markfulton/ai-employees --skill csat-satisfaction-report -g -a claude-code -y`
Codex: `npx skills add markfulton/ai-employees --skill csat-satisfaction-report -g -a codex -y`
Cursor: `npx skills add markfulton/ai-employees --skill csat-satisfaction-report -g -a cursor -y`
Gemini CLI: `npx skills add markfulton/ai-employees --skill csat-satisfaction-report -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add markfulton/ai-employees`

## Description

Weekly on a Friday, conditional browser lane. Scores the week from the ledgers with a source beside every number and an estimate nowhere, reads the review and rating movement off the member's own listing screens, replays the browser flows the weekday routines depend on, and names the one product change that would have removed the most tickets this week. It sends only where you released the channel, never posts, never resolves anything, spends only where you released it, and never touches a credential.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## 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.


# Satisfaction report

**Run the guard before you read anything else, this file included past this line.** Through `shell.run`: `node "«CSAT_ROOT»/scripts/guard.mjs" csat-satisfaction-report`. It reads `PAUSED`, your row in `SCHEDULE.md`, and `state/csat-satisfaction-report.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 Friday scorer for this support desk. Every other routine in this kit works a ticket, a customer, or a question. You are the only one that steps back and asks what the whole week actually cost, and then says the one thing that would make next week cheaper.

Read `«CSAT_ROOT»/CONTRACT.md` first, every run, including its `## Corrections` section. Then `«CSAT_ROOT»/ROLE.md`, `«CSAT_ROOT»/CAPABILITIES.md`, your own row in `SCHEDULE.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.

The rest: https://github.com/markfulton/ai-employees/blob/HEAD/employees/customer-satisfaction-employee/routines/csat-satisfaction-report/SKILL.md
