Skip to content

[OPIK-7087] [DOCS] docs: add writing-visual-tests skill - #7574

Draft
natagh23 wants to merge 4 commits into
mainfrom
nata/OPIK-7087-skill-for-visual-tests
Draft

[OPIK-7087] [DOCS] docs: add writing-visual-tests skill#7574
natagh23 wants to merge 4 commits into
mainfrom
nata/OPIK-7087-skill-for-visual-tests

Conversation

@natagh23

@natagh23 natagh23 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Details

Adds a new writing-visual-tests agent skill covering how to add a screenshot-comparison test to Opik's visual regression suite (tests_end_to_end/visual-tests/). It documents the page-object pattern, deterministic seeding via test-helper-service, unique screenshot naming, per-test masking, baseline (re)generation, and the local run-until-stable loop, and adds it to the skills index in .agents/skills/README.md.

Change checklist

  • User facing
  • Documentation update

Issues

  • Resolves OPIK-7087

AI-WATERMARK

AI-WATERMARK: yes

  • Tools: Claude Code
  • Model(s): Claude Sonnet 5
  • Scope: full implementation
  • Human verification: code review

Testing

No code changes — this PR only adds documentation (.agents/skills/writing-visual-tests/SKILL.md and a README index entry). Verified the skill file renders correctly as Markdown and that .agents/skills/README.md table formatting stays intact.

Documentation

  • Added .agents/skills/writing-visual-tests/SKILL.md
  • Updated .agents/skills/README.md to list the new skill

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⏱️ pre-commit per-hook timing

No linted files changed — nothing to run.

⏭️ 41 skipped (no matching files changed)
Hook Description Result
🐍 trim trailing whitespace — python sdk Strip trailing whitespace ⏭️
🐍 fix end of files — python sdk Ensure files end in a newline ⏭️
🐍 ruff — python sdk Lint + autofix Python (ruff) ⏭️
🐍 ruff-format — python sdk Format Python code (ruff) ⏭️
🐍 mypy — python sdk Static type check ⏭️
🤖 trim trailing whitespace — optimizer Strip trailing whitespace ⏭️
🤖 fix end of files — optimizer Ensure files end in a newline ⏭️
🤖 check yaml — optimizer Validate YAML syntax ⏭️
🤖 check json — optimizer Validate JSON syntax ⏭️
🤖 check toml — optimizer Validate TOML syntax ⏭️
🤖 check for added large files — optimizer Block large files (>1MB) ⏭️
🔐 detect private key — optimizer Block committed private keys ⏭️
🤖 check for merge conflicts — optimizer Block merge-conflict markers ⏭️
🤖 check for case conflicts — optimizer Block case-only name clashes ⏭️
🤖 pyupgrade — optimizer Modernize Python syntax ⏭️
🤖 ruff — optimizer Lint + autofix Python (ruff) ⏭️
🤖 ruff-format — optimizer Format Python code (ruff) ⏭️
🤖 mypy — optimizer Static type check ⏭️
📓 nbstripout — optimizer notebooks Strip notebook output ⏭️
📝 markdownlint — optimizer Lint Markdown ⏭️
🔤 codespell — optimizer Fix common misspellings ⏭️
📊 radon cc — optimizer Cyclomatic-complexity gate ⏭️
📊 radon raw — optimizer Raw size metrics gate ⏭️
📊 xenon — optimizer Fail on complexity thresholds ⏭️
📊 lizard — optimizer Cyclomatic-complexity gate ⏭️
🧹 vulture — optimizer Find dead code ⏭️
🛡️ trim trailing whitespace — guardrails Strip trailing whitespace ⏭️
🛡️ fix end of files — guardrails Ensure files end in a newline ⏭️
🛡️ ruff — guardrails Lint + autofix Python (ruff) ⏭️
🛡️ ruff-format — guardrails Format Python code (ruff) ⏭️
🛡️ mypy — guardrails Static type check ⏭️
⚓ helm-docs Regenerate Helm chart README ⏭️
block non-public FE plugins Block non-public FE plugins ⏭️
☕ spotless — java backend Format Java code ⏭️
🧪 pre-commit wrapper smoke tests Self-test the wrapper scripts ⏭️
🌐 eslint — frontend Lint + autofix JS/TS ⏭️
🌐 typecheck — frontend Whole-project tsc type check ⏭️
📘 eslint — typescript sdk Lint + autofix JS/TS ⏭️
📘 typecheck — typescript sdk Whole-project tsc type check ⏭️
⚙️ actionlint — github workflows Lint GitHub Actions workflows ⏭️
🐳 hadolint — dockerfiles Lint Dockerfiles ⏭️

Comment thread .agents/skills/writing-visual-tests/SKILL.md Outdated
Comment thread .agents/skills/writing-visual-tests/SKILL.md Outdated
Comment thread .agents/skills/writing-visual-tests/SKILL.md Outdated
Comment thread .agents/skills/writing-visual-tests/SKILL.md Outdated
Comment thread .agents/skills/writing-visual-tests/SKILL.md
Comment thread .agents/skills/writing-visual-tests/SKILL.md
@natagh23
natagh23 force-pushed the nata/OPIK-7087-skill-for-visual-tests branch from 7df8def to 6a9f1bc Compare July 30, 2026 16:21
…tests

Points to the actual root .gitignore instead of a nonexistent
tests_end_to_end/visual-tests/.gitignore, fixes the inverted
SKIP_TEARDOWN condition for screenshots/comparison/, and separates
.auth/ from .test-state.json since global-teardown.ts only removes
the latter.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

baz: pending documentation Improvements or additions to documentation 🟠 size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant