writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
fix-seoFix the SEO problem Loomaly ranks first on a site, in this repository: get the fix-first queue, read the evidence and fix prompt, change the code on a branch, mark it fixed with the PR link, and re-check it once it's deployed.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this when the user wants to fix their site's SEO, work through Loomaly issues, or asks "what should I fix first". Run it from inside the site's repository.
sites_list: the sites this account can see, with id, domain, healthScore and scan.phase. Every other tool needs a site id.add_site (domain, optional path, language): adds a site and starts its first scan, when the account has none for this repository.fix_first (siteId, limit): open problems in the order Loomaly recommends. One entry per rule by default, with affectedPages, templates, sampleUrl, sampleFindingId, lastSeenAt and reason. A rule on many pages is usually one change in a shared layout or template.findings_list (siteId, severity, state, ruleId, pathTemplate, url): individual issues with IDs, for fix_prompt and verify.fix_prompt (findingId): the rule, the evidence and devPrompt, an instruction written for the site's framework. template says how many pages of the same template have the problem.mark_fixed (siteId, ruleId + pathTemplate or allPages: true, or findingId; ref, note): moves the problem to pending verification.verify (findingId, or siteId + ruleId + pathTemplate with a limit), then verify_status (auditRunId + findingId, or runs): re-checks live pages. Only after the fix is deployed. Each page re-checked uses one of the plan's monthly pages.ignore_finding (siteId, a target as for mark_fixed, reason): for a finding the user says is not a problem for their site.If the tools aren't available, tell the user to connect Loomaly (claude mcp add --transport http loomaly https://loomaly.com/mcp) and stop.
sites_list. If more than one site matches the repository, ask which one; don't guess. If none does, ask the user for the domain and add_site, then tell them the first scan takes 5–20 minutes. While scan.phase is finding_pages or checking_pages, the queue is still filling: say the scan is running, not that the site is clean.fix_first with limit: 5. Tell the user the top problem in one sentence: what it is, how many pages, and reason. Say what you'll change before you change it.fix_prompt with the entry's sampleFindingId. If lastSeenAt is older than the last deploy, check the live page first: it may already be fixed. Read evidence before the prompt: fix what the evidence shows, not what the rule's name suggests.affectedPages tells you whether it's a template-wide fix.mark_fixed with ruleId and the pathTemplate you fixed (or allPages: true for a layout-wide change), ref set to the PR URL and a one-sentence note.verify one finding (or the group, ruleId + pathTemplate with limit: 3, for a template fix) and poll verify_status every 20–30 seconds until finished. Report the verdict: fixed, still-open (look again at the evidence), or check-failed (the page couldn't be loaded; not a verdict on the fix).verify on a branch that isn't deployed: it reads the live page.ignore_finding it with that reason.