signing-entitlements

Diagnose macOS code signing, entitlements, and Gatekeeper failures with codesign and spctl.

Updated Jul 31, 2026
One-click install
npx skills add https://github.com/AarnavBaddam/skills --skill signing-entitlements-aarnavbaddam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: signing-entitlements
Source: https://github.com/AarnavBaddam/skills/tree/main/signing-entitlements
Command: npx skills add https://github.com/AarnavBaddam/skills --skill signing-entitlements-aarnavbaddam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? macOS apps and binaries often fail to launch or distribute due to opaque code signing, entitlement, sandbox, hardened runtime, or Gatekeeper trust issues. This Skill inspects the artifact, classifies the exact signing failure, and explains the minimum fix path instead of leaving you guessing at cryptic error messages. ## Core Features & Use Cases - Signing Inspection: Reads signing state and entitlements from .app bundles or binaries using codesign, spctl, security, and plutil. - Failure Classification: Distinguishes unsigned or ad hoc signing, wrong identity, entitlement mismatch, hardened runtime issues, App Sandbox issues, nested code signing problems, and notarization prerequisites. - Use Case: Your app launches locally but is rejected by Gatekeeper on another Mac. Use this Skill to inspect the bundle, identify a missing hardened runtime entitlement, and get the exact commands to validate the fix. ## Quick Start Use $signing-entitlements to inspect my macOS app bundle, classify the signing or entitlement problem, and explain the minimum fix path.

Frequently Asked Questions about signing-entitlements

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check code signing and entitlements of a macOS app?

Run codesign -dvvv --entitlements :- on the .app bundle or binary to display its signing identity and embedded entitlements. Use plutil -p to inspect entitlements files or Info.plist contents directly.

How do I diagnose Gatekeeper blocking my macOS app?

Run spctl -a -vv on the app to see Gatekeeper's assessment and rejection reason. Combine this with codesign -dvvv output to determine whether the issue is unsigned code, wrong identity, or a missing notarization prerequisite.

Why does my macOS app fail to launch with an entitlement error?

Launch failures usually mean the binary's embedded entitlements do not match what the code requests at runtime, or the hardened runtime blocks a capability. Inspect entitlements with codesign and compare them against the app's actual behavior.

What is the difference between notarization and local debug signing?

Local debug or ad hoc signing only lets the app run on your development machine, while notarization is an Apple distribution requirement verified by Gatekeeper on other machines. This Skill explicitly separates local development signing problems from distribution problems.

When should I not blame code signing for a build failure?

If the root cause is a build setting or provisioning profile misconfiguration rather than the signed artifact itself, the Skill states that directly instead of inventing entitlement fixes. It never fabricates missing entitlements.