
report-issue
โ Officialโ 413by microsoft ยท part of microsoft/power-platform-skills
Use when the user wants to report a bug, file an issue, submit a bug report, or report any problem with the mobile-app plugin.
This is the playbook your agent receives when the skill activates โ you don't need to read it to use the skill, but it's here to audit before installing.
๐ Shared instructions: shared-instructions.md โ read this first.
Report Issue โ mobile-app
Generates a fully-populated GitHub issue body for the microsoft/power-platform-skills repo, scoped to the mobile-app plugin. Read-only โ no project modifications.
Workflow
- Capture user description โ 2. Detect project context โ 3. Collect diagnostics โ 4. Render issue body โ 5. Print URL
Step 1 โ Capture user description
Telemetry checkpoint: capture_issue_description
If $ARGUMENTS contains a description, use it. Otherwise prompt:
"What's the issue? Briefly describe what you expected vs. what happened. (You can paste error output if helpful.)"
Then ask via AskUserQuestion:
"Issue category? (a) Bug โ something broke (b) Unexpected behavior โ wrong output but no error (c) Documentation โ docs are wrong / missing (d) Feature request (e) Question / discussion"
"How blocking is this? (a) Blocking โ can't proceed at all (b) Workaround exists โ but painful (c) Annoying โ non-critical (d) Polish โ nice-to-have"
Step 2 โ Detect project context
Read-only checks:
test -f power.config.json && echo "in_project=true" || echo "in_project=false"
pwd
node --version
npm --version
node scripts/resolve-environment.js "$(node -e \"console.log(require('./power.config.json').environmentId)\")" 2>/dev/null || true
az --version 2>/dev/null | head -1
npx expo --version 2>/dev/null
uname -srmIf in a project:
node -e "console.log(require('./package.json').name, require('./package.json').version)" 2>/dev/null
node -e "console.log(JSON.stringify({env: require('./power.config.json').environmentId, name: require('./power.config.json').displayName}))"
test -f memory-bank.md && echo "memory_bank=present"
test -f native-app-plan.md && echo "plan=present"
ls src/generated/services/ 2>/dev/null | head -10If the description names a package matching @microsoft/power-apps-native-*, collect its declared and lockfile-resolved versions from package.json and package-lock.json. Do not read package source or metadata from node_modules/.
node - <<'NODE'
const fs = require('node:fs');
const manifest = JSON.parse(fs.readFileSync('package.json', 'utf8'));
const lockfile = fs.existsSync('package-lock.json')
? JSON.parse(fs.readFileSync('package-lock.json', 'utf8'))
: null;
const dependencies = { ...manifest.dependencies, ...manifest.devDependencies };
for (const [name, declared] of Object.entries(dependencies)) {
if (!name.startsWith('@microsoft/power-apps-native-')) continue;
const resolved = lockfile?.packages?.[`node_modules/${name}`]?.version ?? 'unknown';
console.log(`${name}\tdeclared=${declared}\tresolved=${resolved}`);
}
NODEFor native-build issues also capture:
[ "$(uname)" = "Darwin" ] && xcode-select -p
[ "$(uname)" = "Darwin" ] && pod --version 2>/dev/null
java -version 2>&1 | head -1
echo "ANDROID_HOME=$ANDROID_HOME"Step 3 โ Collect diagnostics
Telemetry checkpoint: collect_issue_diagnostics
Run npx expo doctor and capture the text output verbatim.
If the user pasted an error, capture verbatim. Otherwise look for recent failure signals:
- Last 50 lines of any Metro / Gradle / Xcode log if user mentions a build failure
git status --shortif in a git repo (to show modified files โ sanitize for secrets first)- Output of
npx tsc --noEmitif relevant
Do NOT capture:
- Contents of
src/playerConfig.ts(contains tenantId / clientId โ sensitive) - Contents of
.envor any file matching.env* - Connection IDs unless the user explicitly opted in (PII / can map to tenant)
- Anything under
node_modules/ - Package source excerpts, patched package contents, or proposed fork code
Step 4 โ Render issue body
Telemetry checkpoint: render_issue_report
Print this block โ user copies into a new issue:
### Description
<user's description>
### Category
<Bug / Unexpected behavior / Docs / Feature / Question>
### Severity
<Blocking / Workaround / Annoying / Polish>
### Environment
| | |
|---|---|
| Plugin | mobile-app |
| Plugin version | <from .plugin/plugin.json, or legacy .claude-plugin/plugin.json fallback, or "unknown"> |
| OS | <uname output> |
| Node | <version> |
| npm | <version> |
| Power Apps CLI | <version> |
| Expo CLI | <version> |
| Xcode | <if macOS> |
| JDK | <if android> |
| ANDROID_HOME set | <yes/no> |
### Project context
<if in project>
- Project: `<name>` v`<version>`
- Power Platform env: `<env-id>`
- Memory bank present: <yes/no>
- Plan present: <yes/no>
- Connectors registered: <list from src/generated/services>
</if>
<if not in project>
Not run inside a mobile-app project.
</if>
### Affected native package
<include only when the issue concerns @microsoft/power-apps-native-*>
- Package: `<package name>`
- Declared version: `<package.json range>`
- Resolved version: `<package-lock.json version or unknown>`
- Platform: `<iOS / Android>`
- Ownership evidence: <why the documented caller contract is satisfied and the failure is package-internal>
### Reproduction steps
1.
2.
3.
### Expected
<what should have happened>
### Actual
<what happened>
### Logs / errors
<paste verbatim โ sensitive values redacted>
### Notes
<anything else>Step 5 โ Print URL
Telemetry checkpoint: generate_issue_submission_url
Tell the user:
Open this URL to file the issue:
https://github.com/microsoft/power-platform-skills/issues/new?labels=plugin%3Amobile-app
Paste the block above into the body. Review for any sensitive values before submitting.
If the user wants to open it, suggest open <url> (macOS) / xdg-open <url> (Linux) / start <url> (Windows). Do not auto-open without confirmation.
Notes
- This skill never modifies any file or invokes mutating commands. Pure diagnostic.
- For diagnosing connection-specific failures, suggest the user run
/list-connectionsfirst and paste that output into the issue. - For diagnosing build failures, suggest they include the full Metro/Gradle/Xcode log (not truncated).
npx skills add microsoft/power-platform-skills --skill "report-issue" --full-depthRun this in your project โ your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ