CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

devcontainer-management

Guide for identifying, managing, and running commands within the NetAlertX development container. Use this when asked to run commands, testing, setup scripts, or troubleshoot container issues.

60

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.gemini/skills/devcontainer-management/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, well-structured single-file skill: concrete docker ps/docker exec commands, explicit none/multiple-container handling, and genuinely non-obvious repo-specific details (setup.sh preserves DB/config unless ALWAYS_FRESH_INSTALL=true). Its main weaknesses are the vague 'scripts in /services/' pointer and the absence of any verification steps after running commands or the service-restarting setup.sh.

Suggestions

Add validation checkpoints after execution, e.g. 'After running setup.sh, verify services with `docker exec <CONTAINER_ID> ps aux | grep -E "python|nginx"` (or check the app responds) before proceeding; if a service failed to start, re-run the script and check its output.'

Make the '/services/' guidance concrete: name the actual service-control scripts and their invocation, or state how to list them (e.g. `ls /services/` inside the container), instead of 'Use the scripts in /services/ to control backend and other processes.'

Trim the italic setup.sh note to the decision-relevant facts (restarts services; wipes DB/config only when ALWAYS_FRESH_INSTALL=true) and move the entrypoint.d/first-run script names to a one-line aside if needed.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — no explaining what Docker or devcontainers are, and both code blocks are exactly the commands needed. One minor instance of over-explanation that could be trimmed: the 70-word italic note on setup.sh's internal behavior (symlinking entrypoint.d scripts, first-run script names) is denser than the core workflow requires and could be shortened to the operationally relevant fact (it restarts services and only wipes DB/config when ALWAYS_FRESH_INSTALL=true). Fits anchor 4 ('efficient; minor instances of over-explanation') rather than 5, but well above anchor 3.

4 / 5

Actionability

Both key operations are given as executable commands: `docker ps --format ... | grep netalertx` for discovery and `docker exec <CONTAINER_ID> bash /workspaces/NetAlertX/.devcontainer/scripts/setup.sh` for execution, plus explicit edge-case handling. Kept from a 5 by the vague pointer 'Use the scripts in `/services/` to control backend and other processes', which names no specific script or how to invoke one — a real gap since it's the skill's stated mechanism for controlling backend processes.

4 / 5

Workflow Clarity

The sequence (find container → handle none/multiple → docker exec) is clearly ordered with branching for edge cases, but there are no validation checkpoints: after exec'ing a command or running setup.sh (which wipes /tmp ramdisks and restarts services — a semi-destructive batch operation), nothing tells Claude to verify the container is healthy, services are up, or the command succeeded before proceeding. Per the rubric guideline capping workflow clarity at 3 for destructive/batch operations without validation steps, this cannot score 4 despite the clear sequence.

3 / 5

Progressive Disclosure

The skill is a single file under 50 lines with no bundle files (references/, scripts/, assets/ all absent) and no need for external references; per the rubric's simple-skill exception it qualifies for a 5 on well-organized sections alone, which it has ('Finding the Container' / 'Running Commands in the Container', each with commands and edge-case bullets). No nested or buried references exist to penalize it.

5 / 5

Total

16

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description has a clear niche (NetAlertX devcontainer) and correctly answers both what the skill does and when to use it, but the capability verbs are generic ('managing') and the trigger list omits the most natural keywords a user would say (docker, devcontainer, restart services). Rewriting the actions in concrete terms and fixing the ungrammatical when-clause would lift specificity and trigger quality.

Suggestions

Replace the generic verb 'managing' with the concrete operations the skill covers, e.g. 'Locate the running dev container via docker ps, run commands inside it with docker exec, and run/restart backend services via setup scripts.'

Add the natural trigger terms users would actually say: docker, dev container, restarting services, integration tests — e.g. 'Use when asked to run or test code, set up or restart backend services, or troubleshoot docker/devcontainer issues.'

Fix the broken parallelism in the when-clause ('asked to run commands, testing, setup scripts') so each trigger reads as a natural user phrase: 'run commands, run tests, run setup scripts, or troubleshoot container issues.'

DimensionReasoningScore

Specificity

"identifying, managing, and running commands within the NetAlertX development container" names the domain and a few actions, but "managing" is generic and the actions are high-level rather than the concrete operations the skill actually covers (docker ps discovery, docker exec, setup scripts). It lists 2-3 actions with minor gaps rather than several specific ones, matching the 'names domain and 1-2 concrete actions' to 'several specific actions' boundary — closer to the former since none of the actions name the actual mechanisms.

3 / 5

Completeness

It answers both: the 'what' ("Guide for identifying, managing, and running commands within the NetAlertX development container") and an explicit 'when' ("Use this when asked to run commands, testing, setup scripts, or troubleshoot container issues"). Not a 5 because the when-clause is awkwardly parallel ('run commands, testing, setup scripts') and could be more precisely enumerated; not a 3 because the trigger clause is explicit and reasonably concrete.

4 / 5

Trigger Term Quality

"run commands, testing, setup scripts, or troubleshoot container issues" provides some relevant natural phrases, but misses the most common variations a user would actually say for this skill: "docker", "dev container"/"devcontainer", "restart services", or "integration tests". Fits anchor 3 ('some relevant keywords but missing common variations or synonyms') better than anchor 4, since the highest-probability trigger words are absent and the phrasing 'when asked to run commands, testing' is ungrammatical parallelism that further weakens natural-term matching.

3 / 5

Distinctiveness Conflict Risk

"NetAlertX development container" pins the skill to a single project's environment, giving it a clear niche with distinct triggers and minimal conflict risk with generic container or docker skills. Anchors 4 and below describe broader overlap ('works with PDF and Word document files' breadth), which does not apply to a project-specific container guide.

5 / 5

Total

15

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

netalertx/NetAlertX

Path

.gemini/skills/devcontainer-management/SKILL.md

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.