Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Robotframework Reviewer

ASecurity

Reviews Robot Framework test suites for structure, keyword quality, maintainability, and CI readiness.

2 stars
0 votes
0 copies
0 views
Added 9/20/2026
code-qualitygo

Works with

cli

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add domehahn/skpm --skill robotframework-reviewer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Robotframework Reviewer?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Robotframework Reviewer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/domehahn-robotframework-reviewer/badge)](https://www.skillsdirectory.com/skills/domehahn-robotframework-reviewer)

More formats (shields.io, HTML) on the badges page.

SKILL.md
---
name: robotframework-reviewer
description: Reviews Robot Framework test suites for structure, keyword quality, maintainability, and CI readiness.
---

# Robot Framework Reviewer

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.

## When This Skill Activates

Apply this skill when asked to:
- Review a PR adding or changing `.robot` files
- Audit an existing test suite for quality
- Assess whether a suite is ready for CI integration

## Review Checklist

### Structure

```
□ 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
```

### Keyword Quality

```
□ 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
```

### Maintainability

```
□ 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
```

### CI Readiness

```
□ 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
```

## Output Format

```
[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)

## Examples

**Input:**
```robotframework
*** 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
```

Attribution

domehahndomehahn
View sourceMore from domehahn →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1023331 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1023331 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →