CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

announcing-behavior-changes

Decides whether a behavior-changing fix needs an in-app notice, then builds one that reaches only the affected users and can be removed later. Use when a change alters what an existing user sees without them doing anything — a metric moves, a chart shifts, a count drops, a date range resolves differently, a matcher matches differently — and when adding, reviewing, or removing such a notice. Trigger terms: behavior change, breaking change, semantics change, "results may differ", change notice, deprecation banner, migration banner. Carries the gate (narrow to the affected users with a tested predicate, or do not ship a notice at all), the pattern from `SqlInsightDateFilterNotice`, where to anchor the notice, and the flag-based removal path. Not for new features (use the changelog), not for permanent per-object warnings computed by the backend, and not for the wording itself (see `/writing-user-facing-copy`).

76

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 body is a dense, highly actionable workflow: a decision gate with explicit conditions and fallback mechanisms, a five-part pattern grounded in a real exemplar with executable code, copy and testing guidance, and a closing checklist. Its only weaknesses are minor — a few editorial flourishes that could be trimmed and a single-file layout that, while well-organized, is the sole structure offered.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence throughout — it never explains feature flags, React, testing basics, or what a banner is — and each section delivers repo-specific guidance. A few editorial sentences ("Nobody deletes these", "If you are reading this because notices have piled up, that is the gap to close…") go beyond strict necessity and could be trimmed, which matches the score-4 'minor instances of over-explanation' anchor rather than the score-5 'every token earns its place'.

4 / 5

Actionability

Guidance is fully executable: exact file paths (frontend/src/lib/constants.tsx, the exemplar component and its test), copy-paste-ready flag declaration and component code showing the real LemonBanner usage with the dismissKey-equals-flag-key rule, a two-clause copy template with a worked example, and a named model test using it.each. Specific examples cover the common cases; nothing is pseudocode or hand-wavy.

5 / 5

Workflow Clarity

The process is clearly sequenced with decision gates and validation: four explicit gate conditions, the narrowing test with an alternatives table for when the predicate fails, five ordered pattern pieces, testing requirements (unit test covering affected and unaffected cases), and a final checklist. This is not a destructive or batch operation, so the cap of 3 does not apply, and the checkpoints present satisfy the score-5 anchor over the score-4 'minor validation gaps' case.

5 / 5

Progressive Disclosure

No bundle files exist and none are needed; the ~130-line body is organized into clearly headed, well-navigable sections with clearly signaled cross-references to other skills and to the exemplar file in the repo. This fits the score-4 'good structure, most content appropriately placed' anchor: the single-file layout is justified, but at this length it exceeds the under-50-line case where section organization alone earns a 5, and no one-level-deep reference structure exists for the score-5 anchor.

4 / 5

Total

18

/

20

Passed

Description

100%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 exemplary: it states concrete capabilities in third person, answers what and when explicitly with natural trigger terms and synonyms, and actively delineates its boundaries against neighboring skills. Despite its length, every clause carries information — gate conditions, triggers, exclusions — with no padding or over-claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions in third person — "Decides whether a behavior-changing fix needs an in-app notice, then builds one that reaches only the affected users and can be removed later" — and enumerates the specific deliverables it carries (the gate with a tested predicate, the SqlInsightDateFilterNotice pattern, anchoring, flag-based removal). Coverage is comprehensive within its niche with no gaps, matching the score-5 anchor rather than the score-4 'minor gaps' case.

5 / 5

Completeness

Both questions are explicitly answered: what ("Decides whether a behavior-changing fix needs an in-app notice, then builds one…") and when ("Use when a change alters what an existing user sees without them doing anything… and when adding, reviewing, or removing such a notice"), with concrete trigger phrases and explicit exclusions ("Not for new features (use the changelog)…"). This matches the score-5 anchor exactly; score 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

It gives an explicit trigger-term list — "behavior change, breaking change, semantics change, 'results may differ', change notice, deprecation banner, migration banner" — plus natural phrasings users would say ("a metric moves, a chart shifts, a count drops"). Synonym and variant coverage is thorough; no file-extension analog applies to this domain, so it fits the comprehensive score-5 anchor, not the score-4 'a few natural terms missing' case.

5 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (in-app, time-boxed behavior-change notices gated by a tested predicate) with distinct triggers, and explicitly fences off adjacent territories — the changelog for new features, permanent backend per-object warnings, and copywriting via /writing-user-facing-copy. Minimal conflict risk; the score-4 anchor's 'minor overlap risk with closely related skills' does not apply given the explicit boundaries.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

PostHog/posthog

Path

.agents/skills/announcing-behavior-changes/SKILL.md

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.