artifact-gate
Gate an HTML artifact before publishing - tag balance, dead anchors, duplicate ids, non-absolute links, drifted self-claims, and code links that still resolve…
Skill by cheshirecode
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/cheshirecode-artifact-gate
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/artifact-gate
What's inside
- Skill name
artifact-gate- Description
- Gate an HTML artifact before publishing - tag balance, dead anchors, duplicate ids, non-absolute links, drifted self-claims, and code links that still resolve but no longer say what the page claims - plus on-demand design review against machine-made-looking design. Use before publishing a shared HTML page or when asked if its links and counts hold.
- License
- Unlicense
- Instructions
- 89 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (7)
- SKILL.md
- deslop.md · references/
- gates.md · references/
- check_evidence.py · scripts/
- check_html.py · scripts/
- verify_links.py · scripts/
- test_artifact_gate.py · tests/
SKILL.md (first lines)
# Gate an HTML artifact before it is published Every failure in this class returns something **valid**. A resolvable link to code that moved. A real dashboard that is the wrong rail. A field that exists but is date-granular. A hook that is silent because it is rate-limited, not because it is healthy. A sum that adds up and was typed wrong. Nothing errors. The corollary governs how you use everything below: > **A check that has never failed has not been shown to work.** Force every > gate red before trusting a green. ## Three gates `check_html.py` reads the document. `verify_links.py` reads the repositories the document points at, which is where the interesting failures live. `check_evidence.py` asks whether each emphasised numeric claim still has evidence a reader can reach from the section it sits in. ```bash python3 scripts/check_html.py page.html --count-claim qnum:questions python3 scripts/verify_links.py page.html --repo name=/path/to/clone \ --forge-host git.example.com --forge-namespace example-org python3 scripts/check_evidence.py page.html --evidence-host metrics.example.com ``` All exit 0 clean, 1 on findings, 2 on a usage or environment error. None reads a working tree: every lookup goes through an explicit ref, because a shared checkout has a colleague's HEAD, not the reader's. The evidence gate is scoped to `strong`, a proxy for "the author marked this as carrying weight". It will miss an unemphasised figure — the trade that keeps its flag rate low enough that the output gets read. Run both before publishing, and again before telling anyone the page is still accurate. Read [references/gates.md](references/gates.md) before changing either script or adding a gate — each rule there was earned by a real failure, and the negative tests in `tests/` are the way any new gate is validated. ## Before you link to code at all Ask whether the reference belongs on that page. A line number is the most fragile fact in a document, and a page written for a product audience is usually better with none. Code references belong where the reader is an engineer and staleness is cheap. **Choosing the register often does the work the URL choice is trying to do.** Then, if it stays: - A link **with** a line anchor asserts "line N says X" — true at exactly one commit. Pin it to a sha. On a branch it keeps resolving while silently ceasing to be true. - A link **without** one only says "this lives here". Leave it on the branch; the reader wants today's file. Name the symbol in the link text, not just the line, so drift is visible to the reader rather than only to a script. ## When a pin moves Re-read the code and record **whether the claim survived**, not just that the link was updated. That is what stops the next reader re-deriving it. ## Design review: impeccable, on demand The gates above check that a page is correct. Whether it is well designed is a separate review, run when the page is new or its layout changed, and only when asked for: impeccable is installed as a plain skill with no hooks (`bin/install-impeccable.sh`), and it must stay that way. ```bash ~/.claude/skills/impeccable/scripts/impeccable detect --no-advisory page.html ``` Or `/impeccable critique` for a scored review, and `/impeccable audit` for accessibility and responsive checks. `detect` exits 2 on findings. It is a static scan, so check each finding against the rendered page before acting: on a dark-themed page it has reported contrast against colours the page never shows. Never enable the plugin or run `/impeccable hooks on` to get the review automatically. Its hooks run a downloaded program after every edit in every session, with that session's credentials in its environment. Then read [references/deslop.md](references/deslop.md): the patterns that make a page read as machine-generated, which ones the scan catches, and which only a reader does.
From cheshirecode/dotfiles, Unlicense.
More from cheshirecode/dotfiles
- 0.570score
job-application
cheshirecode
Generate a tailored job-application package (resume, cover letter, skills keyword block) for one job description.
SkillAFreshness: AClaude Code +9 - 0.567score
loop-engineering
cheshirecode
Run bounded, evidence-driven loops for repeated, resumable, delegated, or scheduled work.
SkillAFreshness: AClaude Code +9 - 0.567score
browser-use-setup
cheshirecode
Install, upgrade, wrap, and connect the browser-use CLI across macOS and Linux, with sandbox-safe testing and platform-specific debugging.
SkillAFreshness: AClaude Code +9 - 0.567score
fast-crawl
cheshirecode
Fetch and crawl web pages as markdown locally, fast, with no browser session.
SkillAFreshness: AClaude Code +9 - 0.567score
pr-review
cheshirecode
Review one PR or close out completed work.
SkillAFreshness: AClaude Code +9 - 0.566score
requirement-sync
cheshirecode
Propagate a changed requirement across every place it is written down, and find where the old version still reads as current.
SkillAFreshness: AClaude Code +9 - 0.565score
job-search
cheshirecode
Source remote job postings from public boards (Greenhouse boards, HN Who-is-hiring, RemoteOK, LinkedIn via the browser harness, direct URLs), filter them for…
SkillAFreshness: AClaude Code +9 - 0.529score
evidence-gate
cheshirecode
Gate completion claims by mapping every observable goal or acceptance criterion to typed command, artifact, Git, GitHub, or URL evidence.
SkillBFreshness: BClaude Code +9 - 0.529score
loop-helpers
cheshirecode
Optional deterministic helpers for loop-engineering context packs and fail-open Caveman transport decisions.
SkillBFreshness: BClaude Code +9 - 0.529score
council
cheshirecode
Run multi-angle, audited research with independent voting.
SkillBFreshness: BClaude Code +9 - 0.529score
serena-rg-search
cheshirecode
Pick the right tool for multi-faceted code search across symbols, text, semantic meaning, JSON, git history, and logs.
SkillBFreshness: BClaude Code +9 - 0.526score
pr-cost
cheshirecode
Collect a typed AI cost payload for a newly created GitHub PR, persist it to a local ledger, and optionally post an idempotent PR comment when live writes are…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Unlicense
- Repository
- github.com/cheshirecode/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from cheshirecode
- 0.570score
job-application
cheshirecode
Generate a tailored job-application package (resume, cover letter, skills keyword block) for one job description.
SkillAFreshness: AClaude Code +9 - 0.567score
browser-use-setup
cheshirecode
Install, upgrade, wrap, and connect the browser-use CLI across macOS and Linux, with sandbox-safe testing and platform-specific debugging.
SkillAFreshness: AClaude Code +9 - 0.567score
loop-engineering
cheshirecode
Run bounded, evidence-driven loops for repeated, resumable, delegated, or scheduled work.
SkillAFreshness: AClaude Code +9 - 0.567score
fast-crawl
cheshirecode
Fetch and crawl web pages as markdown locally, fast, with no browser session.
SkillAFreshness: AClaude Code +9 - 0.567score
pr-review
cheshirecode
Review one PR or close out completed work.
SkillAFreshness: AClaude Code +9 - 0.566score
requirement-sync
cheshirecode
Propagate a changed requirement across every place it is written down, and find where the old version still reads as current.
SkillAFreshness: AClaude Code +9
Cite this page
artifact-gate skill. Agent Mart. https://agentmart.dev/skills/cheshirecode-artifact-gate (last updated 2026-10-24)