Token导航 LogoToken导航TokenDH.com
研究检索external-servicegithub未标认证来源可访问许可证需确认审计异常

finalrun-update-test最终运行更新测试

Agent Skill

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

总安装

312

周安装

13

GitHub Stars

公开资料未说明

下载量

104
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

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

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

SKILL.md

FinalRun Test Update

Update existing tests via MCP tools only when code changes break them. Update in place, preserve intent.

MCP Preflight

Before updating tests:

  1. Run ping.
  2. If ping fails, the FinalRun MCP server may not be installed or configured. Ask the user to verify their MCP setup.
  3. Resume this workflow only after MCP is healthy.

Critical Rules

  1. Tests are natural-language AI prompts — No selectors, no locators, no technical details
  2. NEVER modify code — Only read code, only update tests via MCP
  3. If test still valid, do nothing — Don't fix what works
  4. Update in place — Same test, same folder — preserve name unless scope fundamentally changed
  5. Login can be a prerequisite — If the flow needs sign-in, include login prerequisites and verify the in-app outcome
  6. Do not validate auth provider internals — OAuth/Google/Facebook/GitHub internals are out of scope
  7. App relaunch is conditional — Include relaunch only when the scenario requires it; state why and verify expected state after relaunch
  8. Never invent data — Never invent credentials, OTP, user identities, test data, login paths, appId, or appUploadId
  9. Missing required info means stop — Ask the user before proceeding

User Input & Credentials

When updating test prompts that reference user-specific data (login credentials, form values, environment details), follow these rules:

  1. Never guess or fabricate credentials, emails, passwords, or account-specific values in updated prompts.
  2. Ask the user if an updated flow requires new inputs that are unknown — this includes but is not limited to:

- Login credentials (username, email, password) - Form field values (addresses, phone numbers, payment details) - Environment-specific URLs or endpoints - Account-specific data (user IDs, org names, project names)

  1. Preserve existing values — if the original prompt already contains credentials or user data and the flow hasn't changed for those fields, keep them as-is.
  2. Ask during Step 4 (Review the Update Plan) — identify any new required user inputs and resolve them before executing updates.
Not asking the user for unknown inputs is a blocker — do not skip this step or invent placeholder values.

Your Only Job

  1. Read the code changes
  2. Find the existing tests via MCP
  3. Decide if each test needs updating (valid, outdated, or obsolete)
  4. If all tests are still valid → Stop here, nothing to do
  5. Present the update plan to the user for confirmation
  6. Update outdated test prompts via MCP (never touch code)
  7. Delete obsolete tests if features were removed
  8. Create new tests for new flows (via finalrun-generate-test)

When to Update

✅ Update if:

  • User flow changed (added/removed/reordered steps)
  • Button or field labels changed
  • Expected behavior different (new success message, different screen transition, or navigation outcome)
  • Screen layout reorganized (form moved, navigation structure changed, or elements repositioned)
  • Navigation patterns changed (tab bar, back navigation, or screen hierarchy updated)
  • Interactive elements changed (gestures, input behavior, or user interaction patterns)

❌ Don't update if:

  • Code refactored, same UI
  • Only styling changed
  • Backend changes, frontend unchanged
  • Third-party authentication provider internals (OAuth, Google, Facebook, GitHub)
  • Test still accurately describes current flow

Natural Language Prompts

FinalRun tests use plain language AI prompts, not technical selectors:

Good — Natural language:

Navigate to the Products page.
Enter "laptop" in the search box.
Tap the search button.
Select "Electronics" from the category dropdown.
Verify products display correctly.

Bad — Technical selectors:

Navigate to /products
Enter "laptop" in input[data-testid="search-field"]
Click button#search-btn

Write like you're instructing a human, not a robot.

Workflow Steps

Step 1 — Understand the Code Changes

Read the changed files and identify:

  • What user-facing flows were affected
  • Which UI elements changed (labels, buttons, navigation)
  • What new behavior was introduced
  • Whether any screens were added or removed
  • Changes to form validation rules or error messages
  • Whether any features were removed entirely (signals test deletion in Step 6)

Step 2 — Find Existing Tests

Browse folders and list tests to find tests related to the changed feature:

Use MCP tool: browse_folder
Arguments: {}  # browse root level to find the feature folder
Use MCP tool: browse_folder
Arguments: { "folderId": "<feature-folder-id>" }  # list tests inside

Or search directly:

Use MCP tool: list_tests
Arguments: { "search": "<feature keyword>" }

Also search for related test suites:

Use MCP tool: list_test_suites
Arguments: { "search": "<feature keyword>" }

Before moving to Step 3, collect run preconditions for changed flows:

  • Confirm whether authentication is required
  • Ask for approved login method and test credentials (or how credentials will be supplied)
  • Ask for MFA/OTP handling if applicable
  • Ask for required account state, seed data, permissions, feature flags, and environment assumptions

Hard rules:

  • Never guess login paths or random account details
  • Never invent credentials, OTP, or test data
  • If any required precondition is missing, stop and ask the user

Step 3 — Evaluate Each Test

For each test found, compare the prompt against the new code behavior:

  • Still valid? → Skip, do nothing
  • Outdated? → Needs update (Step 5)
  • Obsolete? → Feature removed, needs deletion (Step 6)

Step 4 — Review and Confirm the Update Plan

Present the evaluation from Step 3 to the user for review:

  • List tests that are still valid (no changes needed)
  • List tests that are outdated with the proposed updated prompt
  • List tests that are obsolete and will be deleted
  • List any new tests needed for new flows
  • List prerequisite dependency mapping for changed/new flows (auth, navigation, data state, permissions)
  • List suite order impact (prerequisites first, then feature tests)
  • Confirm readiness of credentials, preconditions, and app upload/mapping when suite context is affected
  • Allow the user to confirm, edit, or adjust the plan
  • Incorporate the user's feedback and finalize before execution

Do not execute any updates, deletions, or creations until the user confirms the full plan.

Step 5 — Update Outdated Tests

Update the test prompt via MCP:

Use MCP tool: update_tests_by_name
Arguments:
  testNameQuery: "<exact test name>"
  prompt: "<updated natural-language prompt>"
  limit: 1

This will preview the match. Then confirm:

Use MCP tool: update_tests_by_name
Arguments:
  testNameQuery: "<exact test name>"
  confirm: true
  confirmationToken: "<token-from-preview>"

What to update:

  • prompt — New flow description with verification steps. Follow the prompt guidelines from finalrun-generate-test — be specific, sequential, and include verification steps.

What you MAY update (only if necessary):

  • name — If the scope fundamentally changed

Step 6 — Delete Obsolete Tests (If Needed)

If a feature was removed entirely and a test is no longer relevant:

Use MCP tool: delete_tests_by_name
Arguments:
  testNameQuery: "<test name>"
  limit: 1

This will preview the match. Then confirm:

Use MCP tool: delete_tests_by_name
Arguments:
  testNameQuery: "<test name>"
  confirm: true
  confirmationToken: "<token-from-preview>"

Step 7 — Create New Tests (If Needed)

If the code change introduced a new user flow not covered by existing tests, create a new test inside the appropriate folder. Follow the finalrun-generate-test workflow, including auth/preconditions intake, prerequisite dependency mapping, app upload/mapping gating, and suite order confirmation.

Step 8 — Update Related Test Suites (If Needed)

If any tests were updated, deleted, or created, check if they belong to a test suite:

Use MCP tool: list_test_suites
Arguments: { "search": "<feature keyword>" }

Update the suite if:

  • A deleted test is still referenced → remove it from the suite's testIds
  • A new test was created → add it to the suite's testIds in the correct order
  • Prerequisite tests changed → update the suite order

If suite update requires app mapping, resolve it first:

Use MCP tool: available_apps
Arguments: { "search": "<app name>", "platform": "Android" }  # or "IOS"

Build:

appMapping: { "<appId>": "<appUploadId>" }

If no suitable upload exists:

  • Ask the user to upload/provide an app version
  • Ask for target platform, app name, and either app binary path or existing appId + appUploadId
  • Do not proceed with suite update that needs mapping until mapping is confirmed

Hard rules:

  • Never invent or guess appId/appUploadId
  • Do not proceed without confirmed mapping when required
Use MCP tool: update_test_suites_by_name
Arguments:
  testSuiteNameQuery: "<suite name>"
  testIds: ["<updated-ordered-test-ids>"]

Then confirm:

Use MCP tool: update_test_suites_by_name
Arguments:
  testSuiteNameQuery: "<suite name>"
  confirm: true
  confirmationToken: "<token-from-preview>"

Stop Conditions (Required)

Pause and ask the user instead of proceeding if any of the following is true:

  • Missing or unconfirmed credentials for required login flows
  • Unclear authentication path or unclear MFA/OTP handling
  • Missing account state/data/permissions/environment assumptions needed for a flow
  • Missing suitable app upload for the target platform when app mapping is required
  • Missing confirmed appMapping when suite update requires it
  • Ambiguous prerequisite dependency mapping or suite order

Update Examples

Example 1: Flow Changed

Code change: Added a review step before payment

Before prompt:

Navigate to checkout.
Fill in shipping address.
Tap continue to payment.
Enter payment details.
Tap place order.
Verify order confirmation page displays.

After prompt:

Navigate to checkout.
Fill in shipping address.
Tap continue to review.
Review the order summary and verify items and totals are correct.
Tap continue to payment.
Enter payment details.
Tap place order.
Verify order confirmation page displays.

Example 2: Button Label Changed

Code change: "Login" button renamed to "Sign In"

Before prompt:

...Tap the "Login" button...

After prompt:

...Tap the "Sign In" button...

Example 3: No Update Needed ✅

Code refactored but same UI flow → Leave test unchanged.

Example 4: Feature Removed — Test Deleted

Code change: Removed the wishlist feature entirely

Action: Delete the "User adds product to wishlist" test. Update any suite that referenced it.

Checklist

  • Read and understood code changes
  • Found existing tests via browse_folder / list_tests
  • Collected auth and setup preconditions for changed flows
  • Evaluated each test — determined valid, outdated, or obsolete
  • Presented update plan to user and got confirmation
  • Updated prompts in natural language (no selectors)
  • Used two-phase update (preview → confirm)
  • Did NOT modify any code files
  • Deleted obsolete tests if features were removed
  • Created new tests for new flows (via finalrun-generate-test)
  • Checked and updated related test suites
  • Mapped prerequisite dependencies (auth, navigation, data state, permissions) where needed
  • Confirmed suite order updates (prerequisites first, then feature tests)
  • Confirmed app upload and appMapping when required
  • Did not invent credentials, OTP, test data, login path, or app mapping

Key Reminders

  • Natural language only — Write for humans, not robots
  • Never touch code — Only read code, only update tests via MCP
  • Update in place — Same test, same folder
  • Only if broken — Don't fix what works
  • Two-phase updates — Always preview before confirming
  • Do not guess setup data — Ask for credentials, OTP handling, and required preconditions
  • Keep suite order valid — Prerequisites first, then feature tests
  • Do not guess app mapping — Require confirmed appId + appUploadId when needed

If test still accurately describes the flow, don't touch it.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

38.48%
按下载量换算40

Claude

28.56%
按下载量换算30

Cursor

17.3%
按下载量换算18

Gemini CLI

9.39%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

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

来源信息

继续浏览同类 Skills