explore-feature

A process for adding one end-to-end browser test for a feature change. End-to-end means testing a complete user flow through the real interface, using Playwright, a browser testing tool.

In plain words
What is it for?
Use it to choose the most important happy-path flow, create the Playwright test, place it in the expected folder, add its tags, and confirm it passes locally.
Why use it?
It turns a feature change into a locally passing test without requiring the developer to work out the test structure, labels, and test location alone.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/comet-ml/opik/explore-feature
Any agent
npx skills add comet-ml/opik --skill explore-feature
Clone the repo
git clone --depth 1 https://github.com/comet-ml/opik

Made for: Claude Code, Codex.

Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,519 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00044 $0.03519
Opus 5 $0.00022 $0.01759
Sonnet 5 $0.00009 $0.00704
Haiku 4.5 $0.00004 $0.00352

Measured yesterday against content hash c614d79aaa01, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

explore-feature scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

build, not just that a FE answers**: for a FE-only PR merged to main, `curl
.agents/skills/explore-feature/SKILL.md · 210 lines

How it starts

The opening of the file, as written. The whole thing — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Explore Feature

Turns "here's my change, cover it" into one committed, locally-green Playwright spec.

It is a thin orchestrator: it owns two phases — resolve what to cover, and confirm the result — and delegates the actual authoring (analyze FE, discover live UI, write POM/spec, run green) to the writing-e2e-tests skill.

Announce at start: "I'm using the explore-feature skill to add an e2e test for X."

What this does — and doesn't

  • Does: resolve the change surface → pick the one flow worth covering → hand it to writing-e2e-tests → confirm the spec is tagged, in the taxonomy, and green.
  • Doesn't: deep bug-hunting or edge-case coverage (that's a separate QA activity); CI wiring.
  • Cheap per-PR happy-path only. One flow, green locally in minutes.

The output is an ordinary spec: tests/<area>/<name>.spec.ts, a tier tag, an @area:, a @cap: per test — exactly what every other spec in the estate looks like, and picked up by the same suites. There is no separate lane and no version stamp.

The loop

digraph explore_feature {
    rankdir=TB;
    "1. Resolve scope (GATE)" [shape=box];
    "2. Local-run gate (GATE)" [shape=box];
    "3. Delegate authoring to writing-e2e-tests" [shape=box];
    "4. Confirm tagged + green" [shape=box];

    "1. Resolve scope (GATE)" -> "2. Local-run gate (GATE)";
    "2. Local-run gate (GATE)" -> "3. Delegate authoring to writing-e2e-tests";
    "3. Delegate authoring to writing-e2e-tests" -> "4. Confirm tagged + green";
}

Phase 1 — Resolve scope (gate)

Normalize whatever the dev pointed at into one ScopeSpec before authoring anything.

Input modes (auto-detect from the argument; ask if ambiguous):

Mode Trigger Resolve
Local diff no arg / dirty tree / "my branch" / "my changes" see Local-diff mode below — this is the default when no PR is named, incl. "I haven't opened a PR yet"
A PR #<n> or a PR URL PR diff + linked ticket via gh pr view <n> --json … (or the GitHub MCP)
Multi-PR / multi-ticket a list union of the diffs

Read the full file on GitHub · 210 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 210 lines · 44 tokens per session scan A c614d79aaa01

Subscribe to this mod's changes

explore-feature is a skill published in the GitHub repository comet-ml/opik (21,685 stars, last pushed yesterday), licensed Apache-2.0. It adds 44 tokens to every session and 3,519 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

amazon

Shop on Amazon and Amazon Fresh through your browser.

vellum-ai/vellum-assistant · 11 tokens

html-deck-builder

Plan and build browser-editable HTML presentations with narrative contracts, responsive slide layouts, keyboard navigation, offline-safe assets, and render verification. Use when the final presentation should be an HTML file or browser-based deck rather than a native PPTX.

TIKAZI/TIKAZ-AI-Skills · 53 tokens

magazine-web-deck

Create editorial or Swiss-inspired single-file web presentations with strong typographic hierarchy, horizontal navigation, responsive composition, and restrained motion. Use for keynote-like web decks, editorial stories, launches, and visually distinctive browser presentations.

TIKAZI/TIKAZ-AI-Skills · 49 tokens

textual-screenshot

Capture a Textual terminal UI as an SVG using its headless test harness. Use when asked to make, attach, or preview a screenshot of deepagents-code/dcode or another Textual app, visually verify a TUI state, or render a modal, screen, or widget without a desktop or browser.

langchain-ai/deepagents · 67 tokens

playwright

Use when the task requires capturing or automating a real browser from the terminal.

openai/openai-agents-python · 19 tokens

search-params

URL search param and hash state management. Use when adding or modifying URL search params, working with useSearchParams, setSearchParams, useSearchParamState, or navigate() with query strings or hash fragments, or fixing browser back/forward button issues.

promptfoo/promptfoo · 55 tokens