| name | build-source-grounded-sites |
| description | Build or refactor a source-grounded, human-voiced, multi-page website from chats, interviews, PDFs, social posts, images, videos, and verified web sources. Use when turning scattered owner materials into a real business or expert site, replacing a long landing page with distinct routes, preserving factual contradictions, handling sensitive media, improving SEO and AEO without invented authority, or verifying and publishing a static site end to end. |
Build Source-Grounded Sites
Build the website from evidence, not from plausible copy. Treat the owner as the speaker, the source ledger as the factual boundary, and the browser as the final judge.
Required workflow
- Read project instructions, the objective, existing site files, and the supplied materials.
- Copy
assets/facts-ledger-template.md, assets/site-brief-template.md, and assets/aeo-audit-template.md into the project workspace. Do not edit the skill's originals.
- Read
references/workflow.md and follow its gates in order.
- Build a fact ledger before drafting copy. Record facts, unknowns, contradictions, replacements, permissions, and exact source locations.
- Ask the user only when an unresolved answer would materially change the public result. Never fill gaps with likely claims.
- Design a true information architecture. Give each major category, guide, article, service area, FAQ, and contact area its own route when the content supports it. Do not simulate a site with navigation anchors on one long page.
- Write in the owner's voice without mechanically starting every sentence with the first-person pronoun. Use natural conjugation, possessives, direct facts, questions, and varied sentence openings.
- Use original media according to explicit consent and the media register. Never publish a sensitive original merely because CSS hides part of it.
- Implement measurable SEO and AEO using
references/aeo-and-authority.md.
- Run
scripts/audit-static-site.mjs after every build. Then perform the browser checks in references/verification.md.
- Publish only when the user authorized publication. Rebuild canonical URLs, Open Graph URLs, sitemap entries, and absolute references after obtaining the final public URL.
- Report evidence, remaining uncertainty, contradictions, scores, live URLs, and hosting limitations. Never report success from a build log alone.
Non-negotiable rules
- Publish only claims traceable to a source or explicit approval.
- Preserve contradictory claims as contradictions until a named source resolves them.
- Treat the newest explicit approval as the active instruction while retaining the earlier instruction in the change log.
- Do not invent testimonials, credentials, results, years of experience, audience scope, locations, availability, or platform approval.
- Do not copy claims from an external profile merely because the profile belongs to the same person.
- Verify external identity through at least two stable matching signals when possible, such as exact phone number and an official social link.
- Keep personal copy in first-person voice, but remove artificial third-person phrases such as โaccording to the owner.โ
- Do not claim that image cropping guarantees advertising approval or safety.
- Do not inflate an AEO score. Every awarded point must cite visible or machine-readable evidence.
- Do not claim crawler access from an uploaded
robots.txt until the live response has been checked.
- Do not send, publish, deploy, claim a site, or contact third parties without the authority required by the project.
Working outputs
Keep these artifacts current throughout the work:
- Fact ledger with source locators and change history
- Site brief with audience, voice, scope, routes, and publication boundary
- Media register with full-use, crop-only, excluded, and pending states
- External identity and contradiction register
- AEO audit with evidence-based before and after scores
- Build source as the single source of truth when the site is generated
- Verification report covering local and live behavior
Static-site audit
Run:
node scripts/audit-static-site.mjs <site-directory> --hebrew
For a published build, run:
node scripts/audit-static-site.mjs <site-directory> --hebrew --public-url https://example.com
Use --max-first-person-rate 10 to set the maximum percentage of content fragments that may start with the Hebrew pronoun ืื ื. A zero rate is not automatically better; inspect whether the voice still sounds personal and natural.
Treat the script as a deterministic baseline. It cannot verify whether claims are true, whether the design looks good, whether an external profile belongs to the subject, or whether structured data matches visible content. Complete the manual and browser checks.
Resource routing
- Read
references/workflow.md before discovery, drafting, or restructuring.
- Read
references/aeo-and-authority.md before scoring AEO, adding schema, or linking external profiles.
- Read
references/verification.md before screenshots, browser validation, or publication.
- Copy the files in
assets/ into the project when starting a new site. Keep their headings, replace their placeholders, and remove sections that truly do not apply.
Completion standard
Finish only when:
- every public claim maps to evidence or explicit approval;
- every category in the main navigation opens the intended route;
- personal copy sounds like the owner without repetitive pronoun openings;
- sensitive media follows recorded permission;
- local automated checks pass;
- desktop and mobile browser checks pass;
- live HTTP, canonical, sitemap, robots response, media, and principal routes have been checked after publication;
- the report names what remains unverified or structurally impossible on the current host.