CtrlK
BlogDocsLog inGet started
Tessl Logo

isolating-product-facade-contracts

Plan and execute product isolation migrations to a facade plus contract layer in PostHog, following the Visual review architecture. Use when a product still exposes internals (models/logic/views) across boundaries and needs migration toward contracts.py + facade/api.py + presentation separation, with a PR strategy that minimizes review latency and conflicts with parallel work.

61

Quality

73%

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 ./.agents/skills/isolating-product-facade-contracts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%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 highly actionable with concrete commands, explicit validation gates, and a well-sequenced workflow, but it is dense and verbose: long prose passages explain rationale and edge cases that could be tightened or moved into separate reference files. Splitting the specialized taxonomies out and tightening the explanatory paragraphs would meaningfully improve token efficiency.

Suggestions

Extract the 'Clearing coupling the scan won't show' taxonomy and the 'permanent-interface exception' into separate reference files (e.g. references/coupling-channels.md, references/permanent-interface.md) and link them one level deep, leaving the workflow body lean.

Tighten or cut rationale-heavy paragraphs (e.g. the 'No in-process callers, so no facade' section and repeated 'why' framing) to assume the reader's competence and reduce token cost.

Move the long PR-strategy and presentation-wave sections into referenced sub-documents, keeping SKILL.md as a concise overview that points to them.

DimensionReasoningScore

Conciseness

The body is very long (~560 lines) and repeatedly elaborates rationale and edge cases at length (e.g. extended prose on why 'no in-process callers' is the wrong test, and the permanent-interface exception); while accurate, much of the explanatory framing restates reasoning a capable reader could infer and could be tightened.

2 / 5

Actionability

Provides concrete, executable commands (hogli product:isolate:scan, product:isolate:move --dry-run, lint:tach, build:openapi) and specific file/module shapes (facade/contracts.py, facade/tasks.py) with only minor gaps where guidance is advisory rather than copy-paste ready.

4 / 5

Workflow Clarity

The 'Required migration workflow' is a clearly sequenced multi-step chain with explicit validation checkpoints and feedback gates (lint:tach, lint-imports, product:lint blocking contract-check until ignore_imports is drained), plus a four-step verification sub-chain; the density of caveats does not undermine the sequence.

5 / 5

Progressive Disclosure

No bundle files exist; the skill is a monolithic SKILL.md with heavy inline detail (the coupling-clearing taxonomy, permanent-interface exception) that would read better split into referenced files, and core docs are referenced one level deep but the body itself inlines what could be separate reference material.

3 / 5

Total

14

/

20

Passed

Description

85%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 highly specific and complete, clearly stating both what the skill does and when to use it within a well-scoped niche. Its main weakness is trigger-term naturalness: the trigger clause is precise but jargon-heavy, so a user is less likely to phrase a need in these exact terms.

Suggestions

Add plainer-language trigger phrases a user might actually say (e.g. 'isolate a product', 'add a facade to a product', 'seal product internals') alongside the technical 'contracts.py + facade/api.py' phrasing.

Consider listing common synonyms or related terms (e.g. 'product boundary', 'PR slicing for migrations') to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions (plan and execute isolation migrations, build contracts.py + facade/api.py + presentation separation, define PR strategy) against a specific target architecture, with comprehensive coverage of the migration scope.

5 / 5

Completeness

Explicitly answers both 'what' (plan and execute product isolation migrations to a facade plus contract layer) and 'when' ('Use when a product still exposes internals... and needs migration toward...') with concrete trigger phrasing.

5 / 5

Trigger Term Quality

The trigger phrase ('Use when a product still exposes internals... across boundaries and needs migration toward contracts.py + facade/api.py') is precise but uses internal jargon; it lacks the natural shorthand a user would say and offers no synonyms or common variations.

3 / 5

Distinctiveness Conflict Risk

Targets a clear niche (PostHog product-isolation migrations to the Visual review architecture) with distinct triggers unlikely to fire for unrelated skills; minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (565 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 15 suspicious

Warning

Total

14

/

16

Passed

Repository
PostHog/posthog
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.