CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

angular-ssr

Implement Angular SSR with hydration, TransferState caching, and per-route render modes. Use when configuring Angular Universal SSR, client hydration, static prerendering, or preventing double-fetching.

70

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

82%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.

A concise, well-structured skill body with concrete API-level guidance and a properly split one-level reference file. The main gaps are the missing `ServerRoute[]` code example in section 4 and a direct contradiction between the body's `isPlatformBrowser` guidance and the referenced hydration.md, which undermines otherwise actionable instructions.

Suggestions

Add a minimal executable `app.routes.server.ts` example showing a `ServerRoute[]` with RenderMode.Prerender/Server/Client, since section 4 currently names the export without showing it.

Resolve the contradiction: the body recommends `isPlatformBrowser(platformId)` for recurring checks while references/hydration.md states "Do not use `isPlatformBrowser`. Use Lifecycle hooks." — align one source of truth.

Link references/hydration.md once (either inline in section 1 or in the References section) instead of duplicating the link in both places.

DimensionReasoningScore

Conciseness

The body is lean bullet-point guidance that assumes Claude's competence — "Run `ng add @angular/ssr`", "Defer hydration with `@defer (hydrate on viewport)`" — with no explanation of what SSR or hydration are. Every section earns its place; the only marginal redundancy is the hydration.md link appearing in both section 1 and the References section, which is not enough to drop below the 'lean and efficient' anchor.

5 / 5

Actionability

Most guidance is concrete and executable: `ng add @angular/ssr`, `provideClientHydration(withEventReplay())`, named `@defer` triggers, and named RenderMode enum values with route-appropriate use cases. It falls short of fully copy-paste ready because section 4 says "Export `ServerRoute[]` in `app.routes.server.ts`" without showing a route-config example, and `TransferState` is only named, not demonstrated — matching 'concrete code or commands with minor gaps' rather than the 5 anchor.

4 / 5

Workflow Clarity

Sections 1–5 form a sensible ordered sequence (enable hydration → guard browser-only code → prevent double-fetching → configure render modes → incremental hydration), and the Anti-Patterns section reinforces the guardrails. This is configuration guidance, not a destructive or batch operation, so no validation loop is required; it sits at 'clear sequence with minor gaps' because steps are independent config tasks rather than a strictly dependent sequence, keeping it below the explicit-checkpoint anchor.

4 / 5

Progressive Disclosure

The bundle structure is appropriate: a concise overview body plus one real, one-level-deep reference (`references/hydration.md`, 41 lines of complete code examples), linked with a descriptive label ("See [hydration examples](references/hydration.md) for app config and hydration setup"). Two issues keep it from the top anchor: the reference is linked twice (section 1 and the References section), and the reference contradicts the body — the body says to use `isPlatformBrowser(platformId)` while hydration.md says "Do not use `isPlatformBrowser`. Use Lifecycle hooks." — an organization/consistency gap.

4 / 5

Total

17

/

20

Passed

Description

92%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.

A strong description: concrete capabilities, third-person voice, and an explicit, well-phrased 'Use when' clause with natural trigger terms. Its only weakness is minor missing synonyms (e.g., 'server-side rendering' spelled out) in the trigger list.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "Implement Angular SSR with hydration, TransferState caching, and per-route render modes" — naming specific APIs and features rather than generic actions. This matches the 'comprehensive coverage' anchor; it is not a 4 because no meaningful capability of the skill's stated scope is left unnamed.

5 / 5

Completeness

It explicitly answers both questions: what it does ("Implement Angular SSR with hydration, TransferState caching, and per-route render modes") and when to use it ("Use when configuring Angular Universal SSR, client hydration, static prerendering, or preventing double-fetching") with concrete trigger phrases. This is a direct match for the top anchor; a 'Use when...' clause is present and specific.

5 / 5

Trigger Term Quality

"Use when configuring Angular Universal SSR, client hydration, static prerendering, or preventing double-fetching" covers the key natural phrases a user would say. It misses a few common variations — "server-side rendering" spelled out, "SEO", or version-specific phrasing like "Angular 17" — so it falls just below the comprehensive-synonyms anchor (5) but clearly above 'a few natural terms missing' being only partially satisfied.

4 / 5

Distinctiveness Conflict Risk

"Angular SSR" with triggers like "Angular Universal SSR", "client hydration", and "prerendering" carves out a clear niche that would not fire for general Angular component work or non-Angular SSR frameworks. Minimal conflict risk; the 4 anchor ('minor overlap risk with closely related skills') is a weaker fit because the triggers are all SSR/hydration-specific.

5 / 5

Total

19

/

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

skills/angular/angular-ssr/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.