Skip to main content
Glama

Pin skills, commands, agents and CLAUDE.md

pin_context
Idempotent

Records a SHA-256 of every skill, command, subagent, rule, CLAUDE.md, plugin hook config and bundled script (user, project and each installed plugin) in ~/.claude/mcp-security/context-pins.json, so later scans and the session-start check…

Instructions

Records a SHA-256 of every skill, command, subagent, rule, CLAUDE.md, plugin hook config and bundled script (user, project and each installed plugin) in ~/.claude/mcp-security/context-pins.json, so later scans and the session-start check report anything that changed after you approved it. A plugin that changes files without a new version is the rug-pull pattern. Pin only after the user has reviewed an audit_agent_context report; origins with critical or high findings are skipped unless force is true. Reads files only; launches nothing.

Input Schema

NameRequiredDescriptionDefault
forceNoPin origins that still have critical or high findings. Only when the user explicitly accepts them.
originsNoOnly these origins: "user", "project", "plugin:<name>". Default: all.
project_dirNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, and the description is consistent with them: it discloses that it writes a pin file while only reading source files and launching nothing, and that findings-based skipping is the default. The one ambiguity is whether an existing pin file is overwritten or merged, which an idempotent mutation arguably warrants stating.

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?

Three tight sentences with no filler; the scoping and write target come first, prerequisites and force behavior follow. The opening sentence is long because of the enumerated resource list, but that enumeration is load-bearing rather than padding.

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?

With no output schema, the description still tells the agent what is persisted (hashes per origin) and what later consumers do with it, and it covers the safety gate. What's missing is the outcome of a call (count of pinned items, which origins were skipped) and any mention that pins persist across sessions.

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?

Schema coverage is 67%, so the schema already documents force and origins well. The description reinforces force semantics ('unless force is true') but adds nothing about origins beyond what the schema states, and project_dir is left entirely to the schema. Baseline 3 is appropriate given the mid-range coverage.

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?

Specific verb (records a SHA-256) plus enumerated resources (skills, commands, subagents, rules, CLAUDE.md, plugin hooks, bundled scripts) and the exact output location (~/.claude/mcp-security/context-pins.json). It also names the downstream consumer (later scans and session-start check), which no sibling tool description would imply.

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

Usage Guidelines5/5

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

States the prerequisite explicitly: pin only after the user has reviewed an audit_agent_context report, and critical/high origins are skipped unless force is true. It also explains the motivating scenario (rug-pull: a plugin changing files without a new version), so an agent knows exactly when this tool is the right call versus re-running the audit.

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