Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

test-with-meticulous一丝不苟地测试

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

380

周安装

16

GitHub Stars

1

下载量

133
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:test-with-meticulous(一丝不苟地测试)
来源仓库:https://github.com/alwaysmeticulous/skills
仓库路径:skills/test-with-meticulous
安装命令:
npx skills add https://github.com/alwaysmeticulous/skills --skill test-with-meticulous
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/alwaysmeticulous/skills --skill test-with-meticulous

简介

用于执行细致入微的自动化测试与回归验证。test-with-meticulous 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合逐行检查代码逻辑、边界条件与异常处理路径。
  • 使用时应配合详细日志输出,便于追踪执行轨迹。
  • 避免仅关注表面通过率,需深入验证内部状态正确性。
  • 安装方式:通过 GitHub 仓库安装,支持 Codex、Claude、Cursor、Gemini CLI。

SKILL.md

To test and debug frontend changes using Meticulous, follow the workflow below step by step, using the CLI commands as described.

Step 1 -- Trigger Meticulous test run

If you are already given a test run id, then skip this step.

  1. If possible, find out what build artefact Meticulous expects by checking .github/workflows/ for one of the following steps:

- uses: alwaysmeticulous/report-diffs-action/upload-assets@v1 - build assets - uses: alwaysmeticulous/report-diffs-action/upload-container@v1 - docker image

  1. Build the frontend.
  2. Upload the build artefact and trigger a Meticulous test run:
# upload-assets
npx @alwaysmeticulous/cli ci upload-assets --appDirectory <path-to-build> --repoDirectory <path-to-repo> --waitForTestRunToComplete

# upload-container
npx @alwaysmeticulous/cli ci upload-container --localImageTag <image-tag> --repoDirectory <path-to-repo> --waitForTestRunToComplete

--appDirectory must point to the build output directory (e.g., dist/ subfolder), whereas --localImageTag must point to the local Docker image tag. The --repoDirectory must point to the root of the git repository (e.g., .). The --waitForTestRunToComplete flag is required.

The command will finish with status Failure if visual differences have been detected.

Step 2 -- Assess visual frontend changes

Get an overview of all diffs, then visually inspect representative screenshots to cover all changes. The domDiffIds from Step 2a tell you which screenshots share the same structural DOM change — pick one representative per unique diff ID to efficiently cover all changes. For each representative, always look at the screenshot images first (Step 2b) — the diff image is the most informative way to understand what actually changed. Use the DOM diff (Step 2c) for additional structural detail, and the timeline (Step 2d) only when a diff is unexpected and not explained by the DOM or images. The final report should cover all significant visual changes: each visual change deserves its own explanation.

Step 2a -- Get the replay diff summary

npx @alwaysmeticulous/cli agent test-run-diffs --testRunId <testRunId>

Output format: TSV on stdout, metadata on stderr.

stdout columns:

replayDiffId	screenshotName	index	total	outcome	mismatch	domDiffIds

Example output:

CqctwLpPC7	after-event-0	1	5	diff	0.00234	1;3
RRMGQft7PD	after-event-174	3	8	diff	0.01050	1;2
CLkCJ8WLrJ	after-event-8	2	4	diff	0.00100	none
Ct8HwmJNzM	end-state	5	5	flake	0.00010	error
Ab3xKLmN9Q	after-event-12	3	6	missing-base	0.00000	n/a

Each row represents a screenshot where a visual pixel difference was detected between the base (before) and head (after) replay. Rows with outcome=diff are confirmed visual differences; other outcomes (flake, error, warning, missing-base, missing-head) are informational.

  • outcome: diff (visual pixel difference), flake, error, warning, missing-base, missing-head
  • mismatch (0-1, 5 decimal places) is the pixel mismatch fraction
  • domDiffIds is a semicolon-separated ordered list of diff IDs, one per independent DOM change in the screenshot. Each ID groups structurally identical DOM changes across screenshots (same ID = same structural change). Example: 1;3 means two independent DOM changes with IDs 1 and 3. Special values: none means no DOM changes were found (either computed successfully with no differences, or a matching screenshot where no diff is expected) -- the visual difference is purely pixel-level (e.g. anti-aliasing, rendering differences), so you must inspect the screenshot images to understand the change. n/a means the DOM diff is not applicable (e.g. error/warning outcomes where no comparison is possible). error means the DOM diff was attempted but failed (e.g. metadata unavailable or could not be retrieved).

stderr shows: total counts, unique diff counts, and timing breakdown. Proceed to Steps 2b-2c for rows with outcome=diff.

Use domDiffIds to identify which subset of diffs to inspect. Screenshots sharing the same ID contain the same structural DOM change — pick one representative per unique ID for efficient coverage.

Step 2b -- Get screenshot images

For each representative screenshot:

npx @alwaysmeticulous/cli agent image-files --replayDiffId <replayDiffId> --screenshotName <screenshotName>

This downloads the screenshot images to ~/.meticulous/agent-images/ and prints the local file paths.

Output format:

outcome: <outcome>
screenshot: <path>          # present for missing-base/missing-head
before: <path>              # present for diff/no-diff
after: <path>
diffImage: <path>

Open the before, after, and diffImage files to visually inspect the change. The diffImage is usually the most informative — it highlights exactly which pixels changed. Always inspect the images to understand the actual visual impact of a change, even when the DOM diff is clear.

Alternative: use image-urls instead of image-files to get URLs to the images rather than downloading them locally.

Step 2c -- Inspect the DOM diff (for structural detail)

npx @alwaysmeticulous/cli agent dom-diff --replayDiffId <replayDiffId> --screenshotName <screenshotName>

Optional: pass --context <N|full> to control how many context lines surround each hunk (default 3). Use --context 0 for no context, or --context full for a single unified diff with full file context.

Output format: Unified diff (+/- format) with leading indentation stripped. All diff blocks are separated by [diff 0], [diff 1], etc. headers. Example:

[diff 0]
 <span class="text-zinc-400">#7687</span>
-<span class="min-w-0 flex-1 truncate transition-colors">Use divergence-aware comparison</span>
+<span class="min-w-0 flex-1 truncate transition-colors" data-tooltip-id=":r1h:">Use divergence-aware comparison</span>
[diff 1]
 <span class="inline-flex items-center rounded-lg bg-zinc-800">Temporal Workflow</span></a>
+<a href="/projects/Foo/Bar/test-runs/abc123"><span class="inline-flex items-center rounded-lg bg-zinc-800">Original: abc123</span></a>

To view a single diff block, add --index <0-based index> (maps to the position in the domDiffIds list from Step 2a).

Step 2d -- Get the replay timeline (optional, for diagnosing unexpected diffs)

If a diff is unexpected and the images/DOM don't make it obvious why it happened:

npx @alwaysmeticulous/cli agent timeline-diff --replayDiffId <replayDiffId>

Output format: TSV on stdout, replay IDs on stderr.

stdout columns:

diff	timeMs	event	description
  • diff column: ` (identical), - (removed), + (added), !` (changed)
  • event types: user, screenshot, network, console, debug, urlChange, error, fatalError, etc.
  • description: concise one-line summary of the event

Look for anomalies such as failed network requests, unexpected redirects, or timing-related differences that could explain a visual change.

Decision guide

For each representative screenshot, classify the visual change as intended or unintended based on the diff image and DOM diff:

  • Intended: The visual change is a desired outcome of the task you're working on. Confirm and move on.
  • Unintended: The change was not a goal of the task. This includes both changes that are clearly unrelated to your code, and — often more importantly — side effects of your code changes that weren't meant to happen. A change being *explainable* by your code does not make it *intended*; if the task didn't call for that visual change, it's unintended.

For unintended changes:

  1. If the change is a side effect of your code, attempt to fix it so the code achieves the intended result without the unwanted visual change, then re-run the test.
  2. Use the timeline (Step 2d) to check for failed network requests, redirects, or other anomalies that could explain diffs unrelated to your code.
  3. If you can confidently explain the cause (e.g. a flaky timestamp, a non-deterministic element), note the explanation.
  4. If you cannot explain or fix it, flag it to the user.

Final report

After investigating all diffs and attempting fixes for any fixable issues, produce a summary that covers all significant visual changes. The number of explanation points should be at least as many as the number of unique domDiffIds you inspected — each visual change deserves its own explanation.

  1. Intended changes: For each distinct visual change that is a desired outcome of the task, describe what changed visually (based on the diff image) and why it's intended.
  2. Unintended changes (if any): For each, include:

- A representative replayDiffId / screenshotName - What the visual change looks like (e.g. "new badge element added", "layout shift in header") - Whether it's a side effect of your code or unrelated, and your best assessment of the cause

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.75%
按下载量换算50

Claude

28.92%
按下载量换算38

Cursor

18.69%
按下载量换算25

Gemini CLI

9.91%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills