fix-and-retest
Skill0 starsChanged 46 days agoMITView on GitHub
Turn Sitelemetry audit findings into concrete fixes for the user's stack (nginx, Apache, Cloudflare, Vercel or Next.js, Netlify, WordPress), apply them with the user's approval or hand them over ready to use, then re-run the same audit on the same target and report honestly what is resolved, still open or not measured. Use after an audit when the user asks how to fix the findings, wants the changes made, or wants to confirm that a fix worked.
In this repository4 other files it gives its agents.
- ai-visibilitySkill
- domain-verificationSkill
- pre-launch-checkSkill
- website-auditSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Only change and re-test sites the user owns or is authorized to test.
- Distinctive: line 13
Never say a fix worked until a re-test has measured it.
- Distinctive: line 21
Ask the user, or infer it from the project when you can read its files.
- Distinctive: line 32
When a CDN or proxy sits in front of the origin, it can add, replace or cache headers.
- Very specific: line 47
Content-Security-Policy: start with Content-Security-Policy-Report-Only, check the browser console for violations, then enforce.
- Very specific: line 48
HSTS: start with a short max-age.
- Distinctive: line 50
Never ask for or handle passwords, API tokens or hosting and DNS credentials.
- Distinctive: line 56
Ask the user to tell you when the changes are live.
- Very specific: line 61
Call the same tool with the same target spelling and the same options as the first run (profile, modules, maxPages, strategy and so on).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Fix and re-test
Ground rules
- Reply in the user's language. For the audit tools, set
langas described in thewebsite-auditskill. - Only change and re-test sites the user owns or is authorized to test.
- Base every fix on a returned finding: its evidence, impact and
remediation. If you suggest something the audit did not report, label it as an extra suggestion. - Never say a fix worked until a re-test has measured it.
1. Start from real findings
Use the findings of an audit from this conversation. If there are none, run one first with the website-audit skill. For every finding, note its findingKey, severity, title and location, and note the exact tool, target and options of that run. The re-test must repeat them.
2. Identify the stack
Ask the user, or infer it from the project when you can read its files.
| Signal | Stack |
nginx.conf, sites-available/, conf.d/ | nginx |
.htaccess, httpd.conf, apache2.conf | Apache |
| Site proxied through Cloudflare, rules in the Cloudflare dashboard | Cloudflare |
vercel.json, next.config.js, next.config.mjs, next.config.ts | Vercel or Next.js |
netlify.toml, _headers, _redirects | Netlify |
wp-config.php, wp-content/ | WordPress |
When a CDN or proxy sits in front of the origin, it can add, replace or cache headers. Decide which layer owns each header and set it in one place.
3. Write the fixes
Work from critical to info. For each finding give:
- what changes and where (file path or dashboard location);
- the change for the user's stack, adapted to the site;
- the risk and how to roll it back;
- how to check it before re-testing, for example
curl -sI https://example.com/for response headers.
Starting points for common findings (security headers, HTTPS redirect, HSTS, server version disclosure, caching, compression and email DNS records) are in stack snippets. Adapt them to the site; do not paste them blindly.
Safety rules:
- Content-Security-Policy: start with
Content-Security-Policy-Report-Only, check the browser console for violations, then enforce. A strict policy copied without testing breaks sites. - HSTS: start with a short
max-age. AddincludeSubDomainsonly when every subdomain serves HTTPS, andpreloadonly when the owner decides to submit the domain to browser preload lists. - DNS and email records (SPF, DKIM, DMARC, CAA): the user changes these at their DNS provider. Start DMARC at
p=nonewith reports before moving toquarantineorreject. - Never ask for or handle passwords, API tokens or hosting and DNS credentials.
4. Apply or hand over
- With access to the project files (for example in Claude Code): show the diff and apply it only after the user agrees. Do not deploy, restart services or change production settings on your own.
- Without file access: give complete, copy-ready changes and the order to apply them in.
- Ask the user to tell you when the changes are live. If the site uses a CDN or page cache, ask them to purge it so the re-test sees the new responses.
5. Re-test the same way
- Tell the user that the re-test is a new audit run and uses the account's audit allowance.
- Call the same tool with the same
targetspelling and the same options as the first run (profile,modules,maxPages,strategyand so on). A different scope makes the comparison invalid. - Handle
running,action_requiredand errors as in thewebsite-auditskill: poll withpollArgumentsunchanged and never start a duplicate audit.
6. Report before and after
Match findings across the two runs by findingKey.
| Result | Rule |
| Resolved | In the first run, absent from the re-test, and the check was measured in the re-test |
| Still open | Present in both runs |
| New | Present only in the re-test |
| Not measured | The check was unmeasured, unavailable or partial in the re-test (see coverageStatus, auditDetails and failedPillars). Do not count it as resolved. |
Show a table with the finding, severity, before, after and result. Report a score change only when both runs have a non-null score, and mention that scores can move for other reasons too, such as lab variance in performance measurements. If findingsTruncated was true in either run, say that the comparison covers only the returned findings.
End with what is still open and the next step for each item.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

