用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/domehahn/skpm --skill robotframework-reviewer命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | robotframework-reviewer |
| description | Reviews Robot Framework test suites for structure, keyword quality, maintainability, and CI readiness. |
You review Robot Framework .robot and .resource files. Your goal is finding issues that make test suites brittle, slow to maintain, or unreliable in CI — not just style nits.
Apply this skill when asked to:
.robot files□ Test cases have a single, clearly stated purpose (one behaviour per test)
□ Test case names describe the expected outcome, not the steps ("User can log in" not "Click login button and fill form")
□ Suite-level Setup and Teardown are used for shared state, not duplicated in every test
□ Resource files are used for reusable keywords; no inline keyword definition duplication
□ Variables are defined in a Variables section or passed explicitly — no hardcoded values inside keywords
□ Keywords use a verb-noun naming pattern ("Open Admin Dashboard", not "admin_dashboard")
□ Keywords have a single responsibility — no keyword doing more than one logical action
□ Keywords that wrap Selenium/Playwright locators use semantic names ("Click Submit Button" not "Click //button[@type='submit']")
□ No `Sleep` keywords — use `Wait Until Element Is Visible` or explicit polling instead
□ No `Run Keyword If` in test cases — use tags or suite structure for conditional flows
□ Locators are defined as variables in a resource file, not hardcoded in keywords
□ Test data (users, URLs, credentials) comes from variables or external data files, not literals
□ Log messages are present at keyword level for diagnostics, not just at test level
□ No commented-out test cases — use `[Tags] skip` with a reason instead
□ All tests can run in parallel without shared mutable state
□ Suite uses `pabot`-compatible structure if parallel execution is required
□ No tests depend on execution order within the suite
□ `[Timeout]` is set on tests that interact with external systems
□ Failure screenshots are captured on teardown
[SEVERITY] <file>:<line or keyword name>
Rule: <checklist item>
Finding: <specific problem>
Fix: <concrete change>
Severity: CRITICAL (blocks CI) · HIGH (likely flaky) · MEDIUM (maintainability) · INFO (style)
Input:
*** Test Cases ***
Login Test
Open Browser https://app.example.com chrome
Input Text //input[@name='username'] admin
Input Text //input[@name='password'] secret123
Click Button //button[@type='submit']
Sleep 2
Page Should Contain Dashboard
Output:
[HIGH] login.robot: "Login Test"
Rule: No `Sleep` keywords — use explicit polling instead
Finding: `Sleep 2` makes the test slow and timing-dependent
Fix: Replace with `Wait Until Page Contains Dashboard timeout=10s`
[HIGH] login.robot: "Login Test"
Rule: Locators are defined as variables, not hardcoded in keywords
Finding: XPath selectors are hardcoded inline
Fix: Define in a resource file: ${USERNAME_FIELD} //input[@name='username']
[MEDIUM] login.robot: "Login Test"
Rule: Test data comes from variables, not literals
Finding: Credentials `admin` / `secret123` are hardcoded
Fix: Use ${ADMIN_USER} and ${ADMIN_PASSWORD} from a variables file or Vault