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), provides explicit trigger terms, and answers both what and when. The main weakness is that the capability description could be more specific about the concrete actions performed (e.g., creating specific config files, setting up allowlists). Overall it performs well for skill selection purposes.
Suggestions
Add more specific concrete actions like 'create .claude/settings.json', 'define allowed CLI commands', or 'configure MCP tool allowlists' 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 allowlist files', 'set MCP tool permissions', or 'define command restrictions'. | 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 common variations of how users would request this functionality. | 3 / 3 |
Distinctiveness Conflict Risk | Very specific niche — Claude Code tool permissions and .claude/ directory configuration. The trigger terms like 'setperms', 'init claude', and 'configure permissions' are distinct and unlikely to conflict with other skills. | 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 concrete, executable content, but it suffers severely from verbosity and poor progressive disclosure. The entire permissions JSON and rules markdown are inlined twice (once described in categories, once as literal file content), making this an extremely long skill that wastes context window. The content would be dramatically improved by extracting the template files and referencing them.
Suggestions
Extract the settings.local.json content and cli-tools.md content into separate template files (e.g., templates/settings.local.json and templates/cli-tools.md) and reference them from the skill instead of inlining them.
Remove the redundant 'What This Does' tool category listing since the same information is already present in the JSON permissions and rules file content.
Consolidate the --full template additions into the referenced template file rather than adding another inline JSON block.
Remove explanatory text like 'Tools from dev-shell-tools' descriptions that Claude doesn't need — the JSON and rules file are self-documenting.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~250+ lines. The full JSON permissions blob and the entire rules markdown file are inlined, making this a massive wall of content. The tool category lists at the top redundantly describe what's already in the JSON and rules file. Much of this could be templated or referenced rather than spelled out twice. | 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. Nothing is left ambiguous. | 3 / 3 |
Workflow Clarity | The execution flow is clearly diagrammed and the 5 steps are well-sequenced with an explicit check-before-overwrite validation in Step 1. The flow handles the existing-files case with user prompts, and the confirmation step provides clear feedback on what was created. | 3 / 3 |
Progressive Disclosure | This is a monolithic wall of text with everything inlined. The full JSON permissions file (~50 entries) and the entire rules markdown file (with multiple tables) are embedded directly rather than being referenced as templates or separate files. The Options section with --full template adds even more inline content. This content desperately needs to be split into referenced template files. | 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 | |
f772de4
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.