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.
61
72%
Does it follow best practices?
Impact
—
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 'creates .claude/settings.json', 'defines allowed CLI commands', or 'configures 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 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 highly distinctive ('setperms', 'init claude', 'configure permissions') 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 has excellent actionability and workflow clarity — every step is concrete, sequenced, and includes validation. However, it suffers severely from verbosity: the entire permissions JSON and rules markdown are inlined, creating a massive document that wastes context window. The content would benefit enormously from splitting the template files into separate bundle files and keeping SKILL.md as a lean orchestration guide.
Suggestions
Extract the settings.local.json content and cli-tools.md content into separate bundle files (e.g., templates/settings.local.json and templates/cli-tools.md), referencing them from SKILL.md instead of inlining.
Remove tool descriptions and comparison context that Claude already knows (e.g., 'fd: 5x faster, respects .gitignore') — Claude understands these tools and only needs the preference mapping.
Compress the 'What This Does' tool listing section into a single compact list rather than categorized tables with descriptions.
Move the --full template additions and options table into a separate OPTIONS.md file to keep the main skill focused on the core workflow.
| 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 descriptions, comparison tables, what each tool does) is knowledge Claude already has. The tool lists could be dramatically compressed. | 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. Everything is executable. | 3 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced with an execution flow diagram. It includes a validation checkpoint (Step 1 checks for existing files and asks user before overwriting), handles the overwrite/skip decision, and provides a clear confirmation step at the end. The flow diagram adds additional clarity. | 3 / 3 |
Progressive Disclosure | Everything is monolithically inlined in a single file — the entire JSON permissions blob, the complete rules markdown file, all option variants, and the --full template additions. The rules file content and permissions JSON should be in separate referenced files, with SKILL.md providing just the workflow and overview. | 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 | |
3ae408c
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.