Token导航 LogoToken导航TokenDH.com
前端设计敏感数据github未标认证来源可访问许可证需确认审计通过

finalrun-test-and-fix最终运行测试和修复

Agent Skill

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

总安装

612

周安装

26

GitHub Stars

248

下载量

214
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:finalrun-test-and-fix(最终运行测试和修复)
来源仓库:https://github.com/final-run/finalrun-agent
仓库路径:skills/finalrun-test-and-fix
安装命令:
npx skills add https://github.com/final-run/finalrun-agent --skill finalrun-test-and-fix
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/final-run/finalrun-agent --skill finalrun-test-and-fix

简介

用于辅助测试设计、自动化测试、用例整理和回归验证。finalrun-test-and-fix 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

  • 适合编写单元测试、端到端测试或根据失败日志定位问题。
  • 使用时需确认项目测试框架、运行命令和夹具数据,避免误改逻辑。
  • 涉及浏览器或外部服务时,应区分本地模拟与生产环境。
  • 安装前建议核对来源仓库和权限范围,确保安全合规使用。

SKILL.md

FinalRun Test and Fix Orchestrator

You own the end-to-end generate → run → diagnose → fix loop for FinalRun coverage in this repository. You do not replace finalrun-generate-test or finalrun-use-cli — you call into them. Your job is to keep the loop moving: plan tests for the feature, execute them, read the artifacts on failure, decide whether the bug is in the app code or the test, apply the narrowest fix, and re-run until green or until you hit a legitimate blocker.

If your session has an agreed plan, acceptance criteria, and touched files, treat those as the primary inputs — do not start from a blank slate.

Core Principles

  • Suspected bugs found while exploring are hypotheses, not fix targets. While finalrun-generate-test reads source code to plan tests, you may notice code that looks broken or inconsistent with the acceptance criteria. Do not fix it yet. Note it as a hypothesis, make sure the generated test would actually exercise that path, and let the FinalRun run confirm or refute it. Fixing source code before the test runs hides which behaviors the test actually catches and risks "fixing" code that was fine.
  • Generate and run before fixing. The order is strict: first author or update tests via finalrun-generate-test, then get finalrun check clean, then execute via finalrun-use-cli, and only after that read artifacts and apply fixes. Do not edit app code before the test has run, even if the hypothesis from exploration feels obvious.
  • Fix the app first, the test second. Once the run has failed and you have read the artifacts, the default hypothesis is that the app does not meet the acceptance criteria. Only edit the test when requirements actually changed, or when the assertion was wrong (for example, asserting on ephemeral toasts/snackbars, or over-tight positional context that the feature does not guarantee). Never relax an assertion just to force green.
  • Artifacts are the source of truth. Diagnose from the CLI's printed result.json, actions/, screenshots/, recording.*, device.log, and runner.log. Do not guess from the YAML alone, and do not summarize a failure without having read the artifacts the CLI pointed you at.
  • Never fabricate secrets, credentials, or env values. If a run blocks on a missing shell variable or missing .finalrun/env/<env>.yaml binding, hand off to the user with the exact variable name and command. Do not invent values.
  • Keep looping until green or legitimately blocked. Validation errors, failed steps, and red runs are not the end of the task — they are the loop's input. Stop only when the run is green, or when execution is genuinely impossible: no emulator/device available, required secret missing, or the user opted out.

Workflow

1. Explore and generate

Invoke finalrun-generate-test. Feed it the current session's plan, acceptance criteria, touched files, and described user flows so its Steps 1–4 build on existing context. Let that skill own the YAML authoring rules, folder grouping, env file handling, and finalrun check loop.

While exploring, do not edit application source code. If the deep-dive surfaces code that looks suspicious or inconsistent with the acceptance criteria, record it as a *hypothesis* (a one-line note: file, line, what you suspect, which test step would exercise it). Make sure the generated test actually covers that path so the run can confirm or refute the hypothesis. Resist the urge to "just fix it now" — fixes belong in step 5, after the run has produced evidence.

Return here only after finalrun check is clean on the scope you changed.

2. Run

Invoke finalrun-use-cli to execute the affected scope. Follow that skill's command construction — it owns the flag semantics. In short:

  • Ask the user whether to rebuild the app or run against an existing build before executing. Do not rebuild silently and do not assume a prior --app artifact is current. If the user chooses rebuild, build first and then pass --app <fresh artifact> (Android .apk, iOS .app). If they choose the existing build, ask for or confirm the path to that artifact and pass it as --app.
  • Default to finalrun test <selectors> against the single spec(s) you just touched so iteration is fast and the first failure surfaces immediately. Do not run finalrun suite unless the user explicitly asks for a suite-level run (for example, to confirm no regressions across the whole feature before sign-off).
  • Pass --env <name> when the workspace has multiple .finalrun/env/*.yaml files.
  • Pass --platform when it cannot be inferred from the --app extension.

If the CLI says the run succeeded, stop — include the report URL and do not escalate.

3. Triage on failure

If the run is red, read the artifacts the CLI listed. The layout and reading order are defined in finalrun-use-cli under Post-Execution → On failure — use that list verbatim rather than duplicating it here. Before writing anything to the user, you should have read at minimum result.json for the failing test and the actions/ entry for the step that failed, plus the screenshot at that step.

4. Classify the failure

Map the failure to one of these buckets. This decides who gets edited — app or test.

Symptom in artifactsRoot causeFix target
The actions/ entry shows the agent could not ground a described element, but the screenshot clearly shows the correct UITest wording too strict (over-tight positional context, wrong label)Test — loosen the step, drop unnecessary positional qualifiers
The screenshot shows the app in the wrong state vs. acceptance criteria (missing field, wrong navigation, stale data)App bugApp code
runner.log or validation output cites an unresolved ${variables.*} / ${secrets.*}, or a missing provider API keyEnv/binding/secret not availableNeither — hand off. Tell the user the exact variable to export; never invent
Test flaps on a toast/snackbar that the recording shows briefly appearing and disappearingTest asserted on ephemeral UITest — replace the assertion with a check on the persistent consequence (updated list, badge count, changed field, navigated screen)
device.log shows a crash or the recording ends at a crash dialogApp crashApp code
result.json failure message reports an expected_state mismatch and the screenshot confirms the app really is in that stateRequirements changed or assertion was wrongTest — only if the new behavior is correct per the session's acceptance criteria; otherwise App code

When the table does not fit cleanly, default to app code.

5. Apply the fix

  • App-code fixes: edit directly in this repo. Keep the fix narrow — do not refactor surrounding code, do not add defensive branches for scenarios that cannot happen.
  • Test YAML fixes: if the change is a small wording tweak in an existing step or expected_state entry, edit the YAML in place. If the change is non-trivial (new setup steps, new edge-case coverage, env binding changes, new feature folder), route back to finalrun-generate-test so its rules (idempotent setup, allowed action vocabulary, positional-context guidance, env file shape) are applied consistently.
  • Never silently delete an assertion, weaken expected_state to - The screen is visible, or comment out a failing test to make the run green.

6. Re-run

Re-run finalrun check on the changed scope. If app code changed, ask the user whether to rebuild before re-running — do not rebuild silently. When they confirm a rebuild, pass the new --app artifact; otherwise reuse the existing build path. Then re-run the same finalrun test command that failed (stay on the single-spec, fail-fast path; do not escalate to finalrun suite unless the user asks). Loop back to step 3 until green.

7. Stop conditions

Stop the loop when:

  • The run is green. Report success with the CLI's report URL.
  • Execution is genuinely blocked: no device/simulator available on this host, a required secret that only the user can provide, or the user explicitly opted out. In that case, print the exact command for the user to run locally — including --app <path>, --env <name>, and --platform when relevant — and state precisely what is blocking.

Do not stop just because a step failed, a validation error appeared, or the first fix did not work. Those are loop inputs, not terminal states.

What this skill does NOT do

  • Authoring YAML from scratch, deciding folder structure, or editing .finalrun/env/*.yaml binding shape → route to finalrun-generate-test.
  • Teaching CLI flags, artifact layout, host readiness, provider/model selection, or finalrun doctor / finalrun runs / finalrun start-server usage → route to finalrun-use-cli.
  • Inventing credentials, silently relaxing assertions, or marking a task done without a green run (unless genuinely blocked).

Coordination with sibling skills

This skill is the orchestrator. It hands work off on each pass of the loop:

  • Any request that is purely about writing or updating YAML tests, suites, or env bindings → finalrun-generate-test.
  • Any request that is purely about running, validating, or reading artifacts from the CLI → finalrun-use-cli.
  • Requests to debug a failing FinalRun run, verify a feature end-to-end, or close out a UI change with FinalRun coverage → this skill, which will call the other two in order.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

39.48%
按下载量换算84

Claude

28.65%
按下载量换算61

Cursor

18.24%
按下载量换算39

Gemini CLI

9.91%
按下载量换算21

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills