set-app-registration-native
Use when the user wants to wire a Power Apps Wrap mobile app to an Entra ID app registration by opening the Power Apps Wrap app-registration page, pasting the resulting client ID, and updating auth.config.json.
Install / Use
npx skills add microsoft/power-platform-skills --skill set-app-registration-nativeInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of set-app-registration-native
set-app-registration-native scores 88/100 on our quality scale, 1685th of 4,647 Development & Engineering skills we index (top 37%).
Its SKILL.md is 5.6 KB long, well organised into 9 sections with 10 code examples: a solid amount of guidance for an agent.
It has 919 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 9 days ago, so set-app-registration-native is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-04. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
set-app-registration-native compared with similar skills
All 4 of these similar skills score higher than set-app-registration-native; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| set-app-registration-native (this skill)by microsoft | 88 | 919 | 9d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 44.9k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 3d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install set-app-registration-native?
- Run
npx skills add microsoft/power-platform-skills --skill set-app-registration-native. The install tabs above show the steps for each supported agent. - Which AI agents does set-app-registration-native work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is set-app-registration-native safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is set-app-registration-native still maintained?
- The repository was last updated 9 days ago, so set-app-registration-native is actively maintained.
Skill content
View source on GitHubname: set-app-registration-native description: Use when the user wants to wire a Power Apps Wrap mobile app to an Entra ID app registration by opening the Power Apps Wrap app-registration page, pasting the resulting client ID, and updating auth.config.json. user-invocable: true allowed-tools: Read, Edit, Write, Grep, Glob, Bash, AskUserQuestion model: sonnet
Plugin check: Run
node "${PLUGIN_ROOT}/scripts/check-version.js"- if it outputs a message, show it to the user before proceeding.
Shared instructions: shared-instructions.md — read first.
Set App Registration Native
Wire auth.config.json to an Entra ID app registration for a Power Apps Wrap mobile app.
This skill is manual by design:
- Do not create or patch app registrations from this skill.
- Use the public Power Apps Wrap app-registration page to create/configure the
registration, then write the pasted client ID into
auth.config.json. - Do not direct the user to add redirect URIs or API permissions manually. Tenant-wide admin consent is not required for this Wrap registration flow.
Workflow
- Verify app root -> 2. Resolve environment + tenant -> 3. Open Wrap registration URL -> 4. Capture client ID -> 5. Write
auth.config.json-> 6. Validate JSON -> 7. Summary
Step 1 — Verify app root
From the current directory, verify a generated mobile app root:
test -f auth.config.json && test -f app.config.js && test -f power.config.json
If this fails, stop and tell the user to run /create-mobile-app first or open the generated app folder.
Step 2 — Resolve environment + tenant
Telemetry checkpoint: resolve_registration_environment
Use the same environment selected by the generated app. Prefer .resolved-environment.json, then auth.config.json.environment, then power.config.json + resolver:
ENV_ID=$(node -e "console.log(require('./power.config.json').environmentId || '')")
TENANT_ID=$(node -e "try { const j=require('./.resolved-environment.json'); console.log(j.tenantId || '') } catch { console.log('') }" 2>/dev/null)
if [ -z "$TENANT_ID" ]; then
TENANT_ID=$(node -e "try { const j=require('./auth.config.json'); console.log((j.environment && j.environment.tenantId) || '') } catch { console.log('') }" 2>/dev/null)
fi
if [ -z "$TENANT_ID" ] && [ -n "$ENV_ID" ]; then
node "${PLUGIN_ROOT}/scripts/resolve-environment.js" "$ENV_ID" > .resolved-environment.json
TENANT_ID=$(node -e "const j=require('./.resolved-environment.json'); console.log(j.tenantId || '')")
fi
echo "$ENV_ID"
echo "$TENANT_ID"
If ENV_ID is empty, stop: power.config.json is not initialized.
If TENANT_ID is empty, stop: environment resolution failed. Do not guess the tenant and do not use a stale msal.tenantId as the authority source.
Step 3 — Open Wrap app-registration page
Telemetry checkpoint: open_wrap_app_registration
Print the public Power Apps Wrap URL for the active environment:
https://make.powerapps.com/environments/<environment-id>/wraps#create-app-registration
Tell the user:
Open the Power Apps Wrap app-registration page for this environment:
https://make.powerapps.com/environments/<environment-id>/wraps#create-app-registration
Create/register the app there, then paste the Application (client) ID here.
The Wrap page configures the native registration. Do not add redirect URIs or
API permissions manually; tenant-wide admin consent is not required.
If you already have a client ID, paste it directly.
If you cannot configure auth now, type skip.
Step 4 — Capture client ID
Ask:
Paste the Entra ID app registration client ID for tenant <tenant-guid> (GUID format), or type skip:
- If the user enters
skip, leavemsal.clientIdblank, ensuremsal.tenantIdis set to the resolved tenant, preserve/add theenvironmentcache, print the skip warning in Step 7, and stop. - Otherwise validate GUID format before editing.
Step 5 — Write auth.config.json
Telemetry checkpoint: write_native_auth_configuration
Update auth.config.json:
msal.clientId= pasted client IDmsal.tenantId= resolved tenant ID from Step 2- Preserve any top-level
environmentobject. - If
environmentis missing and.resolved-environment.jsonexists, copy the non-secret resolved environment fields into top-levelenvironment.
Use structured JSON editing. Do not store tokens, secrets, or current-user Dataverse identity fields.
Example target shape:
{
"msal": {
"clientId": "<client-id>",
"tenantId": "<tenant-guid>"
},
"environment": {
"environmentId": "<environment-id>",
"environmentUrl": "https://org.crm.dynamics.com",
"tenantId": "<tenant-guid>",
"cachedAt": "<iso timestamp>"
}
}
Do not touch src/playerConfig.ts; auth identifiers live in auth.config.json only.
Step 6 — Validate JSON
Telemetry checkpoint: validate_native_auth_configuration
node -e "JSON.parse(require('fs').readFileSync('auth.config.json','utf8')); console.log('auth.config.json OK')"
If dependencies are installed, optionally run:
npx tsc --noEmit
Do not run npm install or native builds from this skill.
Step 7 — Summary
If a client ID was written:
App registration wired.
Client ID : <client-id>
Tenant : <tenant-guid>
Config : auth.config.json
If skipped:
Auth client ID was not configured.
Tenant was preserved in auth.config.json: <tenant-guid>
The app will fail to sign in until a client ID is added.
Run /set-app-registration-native later, or paste a client ID into auth.config.json.
Related Skills
ai-job-search
44.9kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
