csat-satisfaction-report

Featured

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.

Data & Documents 432 stars 135 forks Updated today MIT

Install

View on GitHub

Quality Score: 94/100

Stars 20%
88
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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 headline deliverable is one named product change.** Not the numbers table. The table is what justifies the change...

Details

Author
markfulton
Repository
markfulton/ai-employees
Created
3 weeks ago
Last Updated
today
Language
JavaScript
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

csat-desk-standup

Weekdays, file work only, no browser at all. Reads every ledger, every queue file, and every run record since its cursor, turns the member's ticks into replied lines and closed cards, computes the first response and time to resolution clocks the Friday report is built from, folds the card inbox, re-renders the desk board, and writes the short morning brief the member opens first. It holds every outbound action unless you released the channel, and it never touches a credential.

432 Updated today
markfulton
AI & Automation Featured

csat-churn-watch

Weekdays, conditional browser lane. Reads the ticket ledger and the account, billing, and usage surfaces the member named, and decides which paying customers are about to leave. Every flag is a dossier carrying the trip wires that fired, the exact evidence behind each one, that account's whole history, and one suggested save with its cost and the screen it happens on. It reads billing screens and touches no control on them: a refund, a credit, a plan change, and a cancellation are named and never made.

432 Updated today
markfulton
AI & Automation Featured

csat-inbox-sweep

Weekdays, heavy browser lane. Reads every support channel named in strategy/channels.md, meaning the mailbox, the helpdesk queue, the review and rating listings, the marketplace pages, and the forums where the member's products are discussed, and captures every new or changed item as one dated, sourced, severity graded line on the ticket ledger. It replies to nothing, reacts to nothing, marks nothing read or resolved, and takes no action of any kind on LinkedIn. It holds every outbound action unless you released the channel, and it never touches a credential.

432 Updated today
markfulton