CtrlK
BlogDocsLog inGet started
Tessl Logo

entra-app-registration

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Azure RBAC or role assignments (use azure-rbac), Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

77

Quality

71%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugin/skills/entra-app-registration/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

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.

This is an excellent skill description that clearly defines its scope around Microsoft Entra ID app registration and OAuth authentication. It uses comprehensive trigger terms covering both legacy (Azure AD) and current (Entra ID) terminology, and the explicit DO NOT USE FOR clause with skill redirects is a best practice for reducing conflict risk. The description is concise yet thorough, using proper third-person voice throughout.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: app registration, OAuth 2.0 authentication, MSAL integration, API permissions configuration, service principal generation, and console app auth. These are clearly defined capabilities.

3 / 3

Completeness

Clearly answers both 'what' (guides app registration, OAuth, MSAL integration) and 'when' (explicit USE FOR clause with trigger terms). Additionally includes a DO NOT USE FOR clause that further clarifies boundaries and redirects to other skills.

3 / 3

Trigger Term Quality

Excellent coverage of natural terms users would say: 'create app registration', 'register Azure AD app', 'configure OAuth', 'set up authentication', 'MSAL example', 'Entra ID setup', 'Azure AD authentication'. Covers both old (Azure AD) and new (Entra ID) naming conventions.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with explicit boundary-setting via the DO NOT USE FOR clause, which names specific competing skills (azure-rbac, azure-keyvault-expiration-audit). The domain is narrowly scoped to identity/authentication concerns, making conflicts unlikely.

3 / 3

Total

12

/

12

Passed

Implementation

42%

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

The skill is well-structured as a navigation hub with excellent progressive disclosure to reference files, but it is overly verbose with explanatory content that Claude doesn't need (concept definitions, application type descriptions, generic security advice). The SKILL.md itself lacks executable examples and validation checkpoints, deferring nearly all actionable content to reference files that weren't provided for evaluation.

Suggestions

Remove or drastically condense the Key Concepts table, Application Types table, and Security Best Practices table — Claude already knows these concepts. Replace with only project-specific or non-obvious guidance.

Add at least one complete, executable CLI example inline (e.g., `az ad app create --display-name 'MyApp' --sign-in-audience AzureADMyOrg`) rather than deferring all concrete commands to reference files.

Add a validation checkpoint after Step 4 or Step 5, such as verifying the app registration works with `az ad app show --id <app-id>` or testing a token acquisition before proceeding.

Cut the Overview section's explanatory prose ('Microsoft Entra ID is Microsoft's cloud-based identity...') — this is well-known context that wastes tokens.

DimensionReasoningScore

Conciseness

The content is verbose and explains many concepts Claude already knows (what an App Registration is, what a Tenant ID is, what MSAL is, application types table). The Key Concepts table, Application Types table, and much of the explanatory text add little value for Claude. The security best practices table contains generic advice Claude would already know.

1 / 3

Actionability

The skill provides structured steps and references to external files for concrete commands and code, but the SKILL.md itself contains almost no executable code or copy-paste-ready commands. The portal method is described in vague UI navigation terms, and CLI commands are listed in a table without actual usage examples (arguments, flags). Most actionable content is deferred to reference files that aren't provided.

2 / 3

Workflow Clarity

The 5-step workflow is clearly sequenced and logically ordered, but there are no validation checkpoints or feedback loops. For operations involving secret creation (shown once, must copy immediately) and permission configuration, there's no verification step to confirm the registration works correctly before proceeding.

2 / 3

Progressive Disclosure

The skill effectively uses a hub-and-spoke model with clear one-level-deep references to specific files (cli-commands.md, oauth-flows.md, console-app-example.md, etc.). References are well-signaled with descriptive labels, and the SDK Quick References section provides organized navigation across languages. The References section at the bottom provides a clean index.

3 / 3

Total

8

/

12

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
microsoft/github-copilot-for-azure
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.