CtrlK
BlogDocsLog inGet started
Tessl Logo

poshi-migrate

Migrate a Liferay Poshi .testcase file to its modern test layer (Playwright, Jest, JUnit unit, Java integration). Routes each test to the right layer, consolidates compatible tests at write time, and follows existing Playwright patterns from a configurable reference folder. Use when the user asks to migrate, port, or convert a Poshi .testcase to Playwright, Jest, or JUnit.

72

Quality

88%

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

The body is a highly actionable, clearly sequenced migration playbook with strong validation and feedback loops. Its main weaknesses are occasional rationale prose that could be trimmed and a monolithic structure that keeps detailed material inline instead of offloaded to reference files.

Suggestions

Tighten the Feasibility blocker bullets and remove meta-commentary (e.g. "This is the most fragile part of the workflow; expect to iterate…") to state only the decision rule and the action, improving conciseness.

Split the detailed Poshi→Playwright migration subsections (API First Setup Substitution, State Reset, Cascading Fixtures, Setup Mappings) and the full plan template into a reference file under references/ that SKILL.md links to one level deep, improving progressive disclosure.

Move the explanatory 'why' for each feasibility blocker into a short parenthetical or a reference, keeping the flag condition as the primary line so the section reads as a checklist rather than prose.

DimensionReasoningScore

Conciseness

It avoids explaining concepts Claude already knows and is mostly actionable, but carries rationale prose and meta-commentary ("This is the most fragile part of the workflow; expect to iterate on the heuristic…", "wrong payloads typically surface as 500 errors with non-obvious messages", and paragraph-form justifications of each feasibility blocker) that could be tightened.

2 / 3

Actionability

Provides executable bash ("git log --all --format='%H %s' --grep='^${TICKET}'", "yarn test --repeat-each=10"), a complete copy-paste mergeTests TypeScript block, and specific helper/path names (apiHelpers.headlessDelivery.createSitePage, isolatedSiteTest, performLogin, TransformUtil.transformToArray) plus a concrete validation regex.

3 / 3

Workflow Clarity

Five explicitly gated phases (feasibility, inventory, plan, implement, validate) with a numbered implement order, a dedicated Validate phase, a flake check, and a "When a Spec Fails" feedback loop with failure-mode identification and recovery; destructive Drop/removal operations have validation and commit ordering.

3 / 3

Progressive Disclosure

Sections are clearly labeled and easy to navigate, and general Playwright conventions are deferred to .claude/rules/playwright.md, but the ~410-line body is monolithic with no bundle files: the plan template and the detailed Poshi→Playwright migration subsections remain inline rather than split into one-level-deep reference files.

2 / 3

Total

10

/

12

Passed

Description

100%

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 specific, uses natural trigger terms, explicitly covers both what and when, and occupies a clear distinctive niche. It is written in third person with no over-claims or fluff.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ("Migrate a Liferay Poshi .testcase file", "Routes each test to the right layer", "consolidates compatible tests at write time", "follows existing Playwright patterns") rather than vague language, matching the anchor for listing several specific concrete actions.

3 / 3

Completeness

It states what the skill does (migrate, route, consolidate, follow patterns) and gives an explicit "Use when…" trigger for when to invoke it, answering both what and when.

3 / 3

Trigger Term Quality

The "Use when the user asks to migrate, port, or convert a Poshi .testcase to Playwright, Jest, or JUnit" clause covers the natural terms a user would actually say, with good variation coverage.

3 / 3

Distinctiveness Conflict Risk

The Liferay Poshi .testcase → modern test layer niche is highly specific with distinctive triggers (Poshi, .testcase, Playwright/Jest/JUnit), making accidental triggering of another skill unlikely.

3 / 3

Total

12

/

12

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
liferay/liferay-portal
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.