CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

setup-auth

Use when the user asks to "set up authentication", "add login", "add logout", "add sign in", "enable auth", "add role-based access", "add authorization", "protect routes", "configure identity provider", "configure Entra ID", "configure Entra External ID", "configure OpenID Connect", "add OIDC", "set up SAML", "set up WS-Federation", "set up local login", "add Facebook login", "add Google sign in", "add Microsoft Account", or otherwise wants to set up authentication (login/logout) and role-based authorization for their Power Pages SPA site using any supported identity provider. Also sets up the IdP app registration for OIDC providers (Okta, Auth0, Entra External ID, and other OIDC) -- reads the provider's docs first, then either guides the user through the provider's console or, when the provider supports it, configures it for the user -- and wires the client ID, authority, and claims mapping into Power Pages.

Quality

86%

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

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

This is an exceptionally actionable, well-sequenced workflow document: every command, file name, function signature, and validation gate is specified concretely, and re-run/merge behavior is handled explicitly. Its weakness is scale — at ~3,050 lines with substantial verbatim repetition and reference-grade tables inlined, it blows the token budget that the (already comprehensive) 172KB authentication-reference.md exists to absorb.

Suggestions

Move the Phase 2.1.1 optional-settings tables (OIDC/SAML2/WS-Fed/social/local blocks) and the Phase 8.1 per-provider site-setting command catalogs into authentication-reference.md, keeping only the common path and a pointer inline in SKILL.md.

State the AllowContactMappingWithEmail multi-tenant/security warning and the 2FA non-support rationale once (e.g., in a 'Common settings & constraints' section) and cross-reference it from each provider block instead of repeating the same paragraph verbatim four times.

Trim the body toward an overview (~1,000 lines): the Phase 2.1 Entra External ID 4-step walkthrough and the 5.1.6–5.1.9 deep implementation details already have fuller versions in authentication-reference.md, so the body can compress these to decision points plus 'See reference' pointers.

DimensionReasoningScore

Conciseness

The body is ~3,050 lines (~53k tokens) — roughly six times a reasonable SKILL.md budget — with heavy padding: the AllowContactMappingWithEmail security warning is repeated verbatim in four settings tables, the 2FA non-support rationale appears four times, and logout-settings guidance is restated per provider. It sits at anchor 2 ('noticeably verbose; several unnecessary explanations or padded sections') rather than 1 only because the excess is Power Pages-specific arcana, not explanations of concepts Claude already knows.

2 / 5

Actionability

Guidance is fully executable throughout: copy-paste `create-site-setting.js` command blocks with every flag, exact file paths and function signatures (`getMyProfile(contactId): Promise<ProfileContact>`), complete YAML/HTML/TypeScript artifacts (the Code-Site-Shell-Header template, the acceptTerms implementation), input-validation regexes with re-prompt instructions, and exact route/field naming mandates. This matches the level-5 anchor ('copy-paste ready code or commands; specific examples cover the common cases').

5 / 5

Workflow Clarity

Eight phases are explicitly sequenced with a workflow overview, per-phase goals and outputs, HTML-commented gates with triggers/cancel semantics, prerequisite checks (1.1–1.5), input validation with re-prompts, and a dedicated verification phase (7.1 file inventory, 7.2 build, 7.3 Playwright browser check, 7.4 site-integrity gate with 'fix every blocking error before proceeding'). This matches the level-5 anchor: clear sequence with explicit validation steps and feedback loops for error recovery.

5 / 5

Progressive Disclosure

The bundle is real and one level deep (references/authentication-reference.md at 172KB, authorization-reference.md, idp-provisioning-reference.md, scripts/validate-auth.js), and pointers are clearly signaled ('See authentication-reference.md for the full implementation'). But the SKILL.md body itself inlines reference-grade bulk that belongs in those files — the four per-provider optional-settings tables, the multi-page Entra External ID walkthrough, and the full site-setting command catalog — matching anchor 3 ('content that should be separate is inline') rather than anchor 2, since structure and reference signaling are present.

3 / 5

Total

15

/

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.

A strong description: it pairs an explicit, exhaustive 'Use when' trigger list with a concrete statement of what the skill does (auth + RBAC setup, IdP app registration, wiring client ID/authority/claims), all scoped to a clear niche. Its only weakness is length — the trigger enumeration is thorough but could be slightly condensed without losing coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions: 'set up authentication (login/logout) and role-based authorization', 'sets up the IdP app registration for OIDC providers', 'reads the provider's docs first', 'guides the user through the provider's console', and 'wires the client ID, authority, and claims mapping into Power Pages'. Coverage of the skill's actions is comprehensive, matching the level-5 anchor rather than the 'several specific actions; minor gaps' of level 4.

5 / 5

Completeness

It explicitly answers both questions: an explicit 'Use when the user asks to...' clause with concrete trigger phrases, and a clear 'what' (configures login/logout and role-based authorization for a Power Pages SPA site, sets up the IdP app registration, wires client ID/authority/claims). This matches the level-5 anchor exactly; level 4 would require the 'when' to be less explicit.

5 / 5

Trigger Term Quality

It enumerates ~19 natural trigger phrases users would actually say ('set up authentication', 'add login', 'add logout', 'add sign in', 'enable auth', 'protect routes', 'set up local login', 'add Facebook login', 'add Google sign in') plus provider-name variants (Entra ID, Entra External ID, OIDC, SAML, WS-Federation). This is comprehensive synonym coverage matching the level-5 anchor (cf. 'PDF files, PDFs, forms, document extraction, .pdf').

5 / 5

Distinctiveness Conflict Risk

The niche is clearly delimited ('Power Pages SPA site using any supported identity provider') with provider-specific triggers (Entra External ID, Okta, Auth0, SAML, WS-Federation) that are unlikely to fire for unrelated skills. Minimal conflict risk, matching the level-5 anchor; level 4 would imply overlap with closely related skills, which the Power Pages scoping avoids.

5 / 5

Total

20

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/power-pages/skills/setup-auth/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.