agentleFS
egenilegenil/sitelemetry-claude-plugin/skills/fix-and-retest/SKILL.md

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.

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
  1. Distinctive:

    Only change and re-test sites the user owns or is authorized to test.

    line 11
  2. Distinctive:

    Never say a fix worked until a re-test has measured it.

    line 13
  3. Distinctive:

    Ask the user, or infer it from the project when you can read its files.

    line 21
  4. Distinctive:

    When a CDN or proxy sits in front of the origin, it can add, replace or cache headers.

    line 32
  5. Very specific:

    Content-Security-Policy: start with Content-Security-Policy-Report-Only, check the browser console for violations, then enforce.

    line 47
  6. Very specific:

    HSTS: start with a short max-age.

    line 48
  7. Distinctive:

    Never ask for or handle passwords, API tokens or hosting and DNS credentials.

    line 50
  8. Distinctive:

    Ask the user to tell you when the changes are live.

    line 56
  9. Very specific:

    Call the same tool with the same target spelling and the same options as the first run (profile, modules, maxPages, strategy and so on).

    line 61

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Fix and re-test

Ground rules

  • Reply in the user's language. For the audit tools, set lang as described in the website-audit skill.
  • 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.

SignalStack
nginx.conf, sites-available/, conf.d/nginx
.htaccess, httpd.conf, apache2.confApache
Site proxied through Cloudflare, rules in the Cloudflare dashboardCloudflare
vercel.json, next.config.js, next.config.mjs, next.config.tsVercel or Next.js
netlify.toml, _headers, _redirectsNetlify
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. Add includeSubDomains only when every subdomain serves HTTPS, and preload only 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=none with reports before moving to quarantine or reject.
  • 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 target spelling and the same options as the first run (profile, modules, maxPages, strategy and so on). A different scope makes the comparison invalid.
  • Handle running, action_required and errors as in the website-audit skill: poll with pollArguments unchanged and never start a duplicate audit.

6. Report before and after

Match findings across the two runs by findingKey.

ResultRule
ResolvedIn the first run, absent from the re-test, and the check was measured in the re-test
Still openPresent in both runs
NewPresent only in the re-test
Not measuredThe 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.