Skip to main content
Glama

plan_signing_changes

Destructive

Plan a single Apple signing lifecycle action—certificate, device, or profile—while keeping CSRs under an approved root and rejecting private keys. Preview affected profile counts before applying the exact approved operation.

Instructions

Plan one explicit sensitive certificate, device or profile lifecycle action. CSR files stay under an approved root; private keys are rejected. Destructive revocation/deletion is separate and shows affected profile counts. Apply requires the exact approved operation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootYes
actionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the description goes beyond that by adding precise constraints: CSR files must stay under an approved root, private keys are rejected, destructive actions show affected profile counts, and apply requires an exactly matching approved operation. This is genuinely additive behavioral context, and there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each earning its place: purpose statement, CSR/private-key constraint, destructive behavior note, and the apply contract. The primary purpose is front-loaded, and the text stays tight without unnecessary filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a single `action` property with six oneOf variants) and no output schema, the description covers the non-obvious behavioral facts that an agent cannot derive from the schema: root approval, private-key rejection, one-action-per-plan constraint, destructive-action reporting, and the exact-match contract for apply. Return-value details are not explained, but the absence of an output schema puts the focus on these semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description partially compensates: it explains the intent of `root` (approved root for CSRs, private keys rejected) and `action` (one explicit lifecycle action, destructive variants segregated). It does not enumerate the six discriminated action variants, but those are already fully self-documented through the schema's const/enum structures.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Plan one explicit sensitive certificate, device or profile lifecycle action.' It clearly scopes the tool to certificate/device/profile lifecycle work, which distinguishes it from sibling planning tools like plan_provisioning_changes, plan_screenshot_changes, and plan_metadata_changes whose resource domains differ.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys a two-phase workflow ('Plan one explicit...', 'Apply requires the exact approved operation') so an agent knows it is used to stage changes before apply_plan executes them. It also delineates destructive revocation/deletion as a separate category. It stops short of naming alternative planning tools explicitly, so it earns strong but not top marks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.