Agent Skills
› openai/plugins
› signing-entitlements
signing-entitlements
GitHub用于诊断 macOS 代码签名、沙盒及 Gatekeeper 问题。通过检查二进制文件签名状态和权限,分类失败原因(如身份错误、权限不匹配),并提供最小修复方案,区分开发与分发问题。
触发场景
macOS应用启动被拒
缺少或错误的代码签名
沙盒权限拒绝访问
Hardened Runtime 运行时错误
Gatekeeper 信任策略拦截
安装
npx skills add openai/plugins --skill signing-entitlements -g -y
SKILL.md
Frontmatter
{
"name": "signing-entitlements",
"description": "Inspect macOS signing, entitlements, and Gatekeeper issues. Use when diagnosing code signing, sandbox, hardened runtime, or trust failures."
}
Signing & Entitlements
Quick Start
Use this skill when the failure smells like codesigning rather than compilation: launch refusal, missing entitlement, invalid signature, sandbox mismatch, hardened runtime confusion, or trust-policy rejection.
Workflow
-
Inspect the bundle or binary.
- Locate the
.appor executable. - Identify the main binary inside
Contents/MacOS/.
- Locate the
-
Read signing details.
- Use
codesign -dvvv --entitlements :- <path>. - Use
spctl -a -vv <path>when Gatekeeper behavior matters. - Use
plutil -pfor entitlements or Info.plist inspection.
- Use
-
Classify the failure.
- Unsigned or ad hoc signed
- Wrong identity
- Entitlement mismatch
- Hardened runtime issue
- App Sandbox issue
- Nested code signing issue
- Distribution/notarization prerequisite issue
-
Explain the minimum fix path.
- Say exactly what is wrong.
- Show the shortest set of validation or repair commands.
- Distinguish local development problems from distribution problems.
Useful Commands
codesign -dvvv --entitlements :- <app-or-binary>spctl -a -vv <app-or-binary>security find-identity -p codesigning -vplutil -p <path-to-entitlements-or-plist>
Guardrails
- Never invent missing entitlements.
- Do not conflate notarization with local debug signing.
- If the real issue is a build setting or provisioning profile, say so directly.
Output Expectations
Provide:
- what artifact was inspected
- what signing state it is in
- the exact failure class
- the minimum fix or validation sequence
版本历史
- 11c74d6 当前 2026-07-19 09:29


