CtrlK
BlogDocsLog inGet started
Tessl Logo

setperms

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

Quality

72%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./data/skills-md/0xdarkmatter/claude-mods/setperms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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 suffers severely from poor token efficiency. The entire permissions JSON and rules markdown file are inlined verbatim, creating a massive document where the actual instructional content is buried. The content that should be in separate template files (permissions JSON, rules markdown) dominates the skill body.

Suggestions

Extract the settings.local.json content and cli-tools.md content into separate bundle/template files, referencing them from the main SKILL.md (e.g., 'Write the contents of templates/settings.local.json to .claude/settings.local.json')

Remove the 'What This Does' section's exhaustive tool listing - Claude doesn't need a catalog of every tool; the permissions JSON already defines them

Move the --full template additions and Options table to a separate ADVANCED.md or OPTIONS.md file to keep the main skill focused on the default flow

Remove explanatory columns like 'Why' from the rules tables (e.g., '5x faster, respects .gitignore') - Claude already knows these tools' advantages

DimensionReasoningScore

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 unnecessary for Claude. The permissions JSON alone is ~60 lines that could be generated programmatically rather than spelled out.

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 at Step 1 (check for existing files with explicit overwrite/skip options), directory creation before file writes, and a confirmation step. The flow handles the key edge case of existing files.

3 / 3

Progressive Disclosure

Everything is monolithically inlined in a single massive file with no bundle files. The full permissions JSON, the entire rules markdown file, and the --full template additions should be in separate referenced files. The rules file content alone (~100 lines) is embedded verbatim, making the skill unnecessarily long.

1 / 3

Total

8

/

12

Passed

Description

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 kinds of rules, what specific files are created/modified). Overall it performs well across all dimensions.

Suggestions

Add more specific concrete actions like 'creates .claude/settings.json', 'defines allowed CLI commands', or 'configures MCP tool allowlists' to improve specificity.

DimensionReasoningScore

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).

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 since they target a very specific setup/configuration task.

3 / 3

Total

11

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
NeverSight/skills_feed
Reviewed

Table of Contents

Is this your skill?

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.