Set tool permissions for Claude Code. Configures allowed commands, rules, and preferences in .claude/ directory. Triggers on: setperms, init tools, configure permissions, setup project, set permissions, init claude.
77
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./data/skills-md/0xdarkmatter/claude-mods/setperms/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid skill description that clearly identifies its niche (Claude Code tool permissions configuration) and provides explicit trigger terms. The main weakness is that the capability description could be more specific about the concrete actions performed (e.g., what files are created, what settings are configured). Overall it performs well for skill selection purposes.
Suggestions
Add more specific concrete actions like 'creates .claude/settings.json', 'configures bash command allowlists', or 'sets up MCP tool permissions' to improve specificity.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (tool permissions for Claude Code) and some actions (configures allowed commands, rules, preferences), but doesn't list specific concrete actions like 'create .claude/settings.json', 'add MCP tool allowlists', or 'set bash command permissions'. | 2 / 3 |
Completeness | Clearly answers both 'what' (set tool permissions, configure allowed commands/rules/preferences in .claude/ directory) and 'when' (explicit 'Triggers on:' clause with multiple trigger terms). The trigger guidance is explicit and actionable. | 3 / 3 |
Trigger Term Quality | Includes a good set of natural trigger terms that users would actually say: 'setperms', 'init tools', 'configure permissions', 'setup project', 'set permissions', 'init claude'. These cover multiple natural phrasings a user might use. | 3 / 3 |
Distinctiveness Conflict Risk | Very specific niche — Claude Code tool permissions and .claude/ directory configuration. The trigger terms are distinct and unlikely to conflict with other skills, as they target a very specific setup/configuration task. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
55%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is highly actionable with a clear workflow and good validation steps, but it suffers severely from verbosity and poor progressive disclosure. The entire rules file and permissions JSON are inlined, creating a massive document where the same tool information is repeated in multiple formats (intro bullet lists, JSON permissions, markdown tables). Much of the content—like explaining why ripgrep is faster than grep—is knowledge Claude already possesses.
Suggestions
Extract the full settings.local.json content and the rules/cli-tools.md content into separate referenced files (e.g., templates/settings.json and templates/cli-tools.md), keeping only the workflow steps in the main skill.
Remove the 'What This Does' section's detailed tool listings since the same information appears in the JSON and rules file—just summarize as 'Installs permissions for 51 modern CLI tools and rules preferring them over traditional alternatives.'
Eliminate explanatory content Claude already knows (e.g., why fd is faster than find, what ripgrep does) from the skill body; these belong only in the generated rules file if at all.
Move the Options section (--full, --minimal, etc.) and their template additions into a separate OPTIONS.md reference file to reduce the main skill's token footprint.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~250+ lines. The full JSON permissions blob, the entire rules markdown file, and extensive tool comparison tables are all inlined. Much of this content (tool comparison tables, explanations of why fd is faster than find) is knowledge Claude already has. The tool lists are repeated multiple times in different formats (bullet lists, then JSON, then markdown tables). | 1 / 3 |
Actionability | The skill provides fully concrete, copy-paste ready content: exact JSON for settings.local.json, exact markdown for the rules file, specific bash commands for directory creation and file checking, and a clear confirmation message template. Every step has executable guidance. | 3 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced with an execution flow diagram. It includes validation checkpoints (check for existing files, ask user before overwriting), handles the destructive case of overwriting existing config, and provides a clear confirmation step at the end. | 3 / 3 |
Progressive Disclosure | This is a monolithic wall of text with everything inlined. The full permissions JSON (~50 entries), the entire rules markdown file (~100 lines of tables), and the --full template additions are all embedded directly. The rules file content and the options/templates should be in separate referenced files to keep the main skill lean. | 1 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
9f4534c
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.