跳到主要内容
知仓学习社ZHICANG

report-issue

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.

读凭据严重 2 · 高危 0microsoft/power-platform-skills

它会碰到什么

扫了多少1 个文本文件,6 KB
它会碰到什么读凭据
命中总数4 处
命中统计严重 2 · 高 0 · 中 0 · 低 0
逐条看命中(2 条严重或高危)
  • 严重 SKILL.md:111cred-paths
    - Contents of `.env` or any file matching `.env*`
  • 严重 SKILL.md:111cred-paths
    - Contents of `.env` or any file matching `.env*`

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

📋 Shared instructions: [shared-instructions.md](${PLUGIN_ROOT}/shared/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

  1. 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 -srm

If 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 -10

If 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}`);
}
NODE

For 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 --short if in a git repo (to show modified files — sanitize for secrets first)
  • Output of npx tsc --noEmit if relevant

Do NOT capture:

  • Contents of src/playerConfig.ts (contains tenantId / clientId — sensitive)
  • Contents of .env or 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-connections first and paste that output into the issue.
  • For diagnosing build failures, suggest they include the full Metro/Gradle/Xcode log (not truncated).

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 878
本站分层T2
该仓技能数113
原文件路径plugins/mobile-apps/skills/report-issue/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 113 个技能

同名技能的其他版本

有 7 个不同仓库或目录里都有叫 report-issue 的技能。它们内容并不相同,别混用: