CtrlK
BlogDocsLog inGet started
Tessl Logo

open-policy-agent

Open Policy Agent integration. Manage data, records, and automate workflows. Use when the user wants to interact with Open Policy Agent data.

53

Quality

60%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/open-policy-agent/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is a usable, command-rich guide to driving OPA through the Membrane CLI with real executable examples and a polling feedback loop. Its main weaknesses are a concept-explaining intro, missing validation around destructive proxy calls, and an all-inlined structure with no referenced detail files.

Suggestions

Cut the introductory OPA concept paragraph and the bare Overview terms list; assume Claude knows what OPA is.

Add validation/confirmation guidance around destructive proxy calls, e.g. verifying a resource exists before DELETE and checking the response status before proceeding.

Move the proxy flag table and the clientAction state reference into a separate reference file and link to it from SKILL.md to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body opens by explaining what OPA is ("general-purpose policy engine... decouple policy decision-making from application code"), a concept Claude already knows, plus a thin Overview terms list, though the bulk is a lean command reference.

3 / 5

Actionability

Concrete, executable CLI commands are provided throughout (install, login, connection ensure, action run with JSON input, request proxy) with a full flag table, but proxy examples leave some common cases (body, --json) incomplete and rely on placeholders.

4 / 5

Workflow Clarity

A reasonable install→auth→connect→poll→search→run sequence exists with a polling feedback loop, but destructive proxy methods (DELETE/PUT via `membrane request`) have no verification steps, and the per-rubric destructive/batch cap holds workflow clarity at 3.

3 / 5

Progressive Disclosure

The file is well-sectioned with clear headers, but at ~140 lines with no bundle files it inlines reference-like material (the proxy flag table, clientAction state reference) that could live in a separate file, and it signals no external references.

3 / 5

Total

13

/

20

Passed

Description

62%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is functional and includes a trigger clause, but it leans on generic verbs ("data, records, automate workflows") rather than OPA-specific capabilities and lacks natural trigger synonyms like OPA, policies, or Rego. It is distinct as an OPA integration but could be sharper.

Suggestions

Replace generic verbs with OPA-specific actions, e.g. "author and evaluate Rego policies, inspect bundles and data, query decision logs".

Broaden trigger keywords to natural terms users say, such as "OPA", "policies", "Rego", "policy decisions", and "bundles".

Make the "Use when" clause concrete, e.g. "Use when the user wants to write, test, or query Open Policy Agent (OPA) policies, Rego rules, or policy data."

DimensionReasoningScore

Specificity

The description names the OPA domain and offers a couple of actions ("Manage data, records, and automate workflows"), but "data" and "records" are generic and not tied to OPA's real capabilities (policies, rules, bundles), so coverage is not comprehensive.

3 / 5

Completeness

Both a "what" (integration, manage data/records/workflows) and an explicit "Use when" clause are present, but the "when" is generic ("interact with Open Policy Agent data") rather than concrete trigger phrases.

4 / 5

Trigger Term Quality

A "Use when..." trigger names the domain and "data", but it omits natural synonyms a user would actually say (OPA, policies, Rego, policy decisions), leaving keyword coverage incomplete.

3 / 5

Distinctiveness Conflict Risk

The skill is tied to a specific named product (Open Policy Agent), giving it a clear niche, though the generic action verbs ("data, records, workflows") leave minor overlap risk with adjacent integration skills.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
membranedev/application-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.