CtrlK
BlogDocsLog inGet started
Tessl Logo

skills-overview

Index of all available skills across GitHub Copilot (.github/skills/), Gemini CLI (.gemini/skills/), and Claude Code (.claude/skills/). Load this to find the right skill for a task, or to locate the counterpart skill in another assistant's tree.

67

Quality

81%

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

SKILL.md
Quality
Evals
Security

Skills Index — Cross-Reference

Three AI assistants are configured for this project, each with their own skill directory:

  • GitHub Copilot.github/skills/
  • Gemini CLI.gemini/skills/
  • Claude Code.claude/skills/ (mirrors most, not all, of the shared skills below — see the table's Claude Skill column for which)

Skills with the same purpose exist in more than one, sometimes under different names and with different depth. This index maps them so you can find the richer version when needed. A CI check (scripts/check_skill_pairs.py, run as check-skill-pairs in .github/workflows/code-checks.yml) flags PRs that touch some but not all files in a mirrored group - non-blocking, since some divergence is intentional.


Shared Skills (exist in more than one tree)

TopicCopilot SkillGemini SkillClaude SkillNotes
Testingtesting-workflowtesting-workflowtesting-workflowAll three cover the full-suite-by-default rule, PYTHONPATH, auth/token retrieval, and the sys.modules stubbing pitfall
Settings & configsettings-managementsettingsGemini version is more comprehensive (22-point guide + PR checklist); Copilot version covers ccd() and get_setting_value() usage
MCP activationmcp-activationmcp-activationCopilot version covers VS Code window reload; Gemini version covers Gemini CLI session restart
Project navigationproject-navigationproject-navigationCopilot version has full path tables and env vars; Gemini version is a brief reference
Plugin devplugin-run-developmentplugin-developmentplugin-developmentAll three cover data contract, phases, formats, the RUN_TIMEOUT kill-timer gotcha (timeoutMultiplier/per_item_timeout()), and a pre-PR pointer to the Conventions Checklist in docs/PLUGINS_DEV.md
Plugin README docsplugin-readmeplugin-readmeplugin-readmeAll three cover README structure, the "don't re-document settings" rule, the docs.netalertx.com cross-linking convention, and common defects (template leftovers, copy-paste errors) found during a full-repo audit
Devcontainerdevcontainer-services + devcontainer-setup + devcontainer-configsdevcontainer-managementCopilot splits into 3 focused skills; Gemini combines into one (uses docker exec)
PR reviewpr-analysispr-analysispr-analysisHow to classify and respond to PR comments; pre-flight skill loading checklist
Logginglogging-standardslogging-standardsmylog levels, message format, what not to log
Scan pipeline internalsscan-pipelinescan-pipelinescan-pipelineprocess_scan() call order and why it's load-bearing, CurrentScan/Events/Sessions/DevicesView relationships, how a session actually closes (no close_session() exists), and the FIELD_SPECS field-write authority mechanism. Complements database-patterns (Devices write-path/*Source attribution) rather than duplicating it.
Database patternsdatabase-patternsdatabase-patternsdatabase-patternsDevices table write-path inventory, the FIELD_SOURCE_MAP/*Source attribution system in server/db/authoritative_handler.py, SQLite trigger vs. Python-hook tradeoffs, and event-sourced vs. snapshot audit logging.
PRD writingprd-writingprd-writingprd-writingMethodology for writing a design doc: challenge the idea, verify every claim against actual code, trace every downstream consumer of a new mechanism, evaluate performance impact against the real schema/indexes, record rejected alternatives and open-issue decisions explicitly, final-check pass before done.
UX/frontend designux-design-patternsux-design-patternsux-design-patternsDon't invent new UX behavior/visual patterns unless a PRD calls for it - search front/ for an existing pattern first and reuse it. Priority order for design tradeoffs when several options are reasonable: existing behavior > intuitiveness > information density > usability > utility > uniqueness > industry practices > generic UI.
Skill hygieneskill-hygieneskill-hygieneskill-hygieneRead before writing/editing any SKILL.md, or any research/audit doc in .gemini/internal-docs/research/. Two standing rules: state current behavior only (no "Correction:", no "as of ", no "caught in review" narration - that trail belongs in PRDs), and prefer plain, short wording. Includes the grep sweep to run before calling a doc clean.
Plugin reviewplugin-reviewplugin-reviewplugin-reviewReviewer-facing complement to Plugin dev above: no raw SQL in a plugin script - use an existing/new server/models/*.py method, not GraphQL (which no plugin reaches). Named exception list for 5 pre-existing core/infra plugins with legitimate direct DB access, a collation-checking step, and a worked example from a real PR (#1788, DOCKERDISC).

Copilot-Only Skills

No Gemini equivalent yet:

SkillPurpose
api-developmentCreating REST API endpoints
authenticationAPI tokens and 401/403 debugging
code-standardsCoding conventions and style rules
database-resetWipe and regenerate the database and config
docker-buildBuild Docker images for testing or production
docker-pruneClean unused Docker resources (destructive — requires confirmation)
sample-dataLoad synthetic device data into the devcontainer

Gemini-Only Skills

No Copilot equivalent yet:

SkillPurpose
initiative-startResearch methodology and structured approach for new tasks

Adding a New Skill

When adding a skill, create it in both directories to keep both AI systems current:

  • .github/skills/<name>/SKILL.md — add an entry to the skills table in .github/copilot-instructions.md
  • .gemini/skills/<name>/SKILL.md — auto-discovered by Gemini CLI via YAML frontmatter

Keep the body content identical between both files. Only the frontmatter name/description may differ slightly to match each system's discovery heuristics.

If the skill is high-value enough to also mirror to Claude Code, add .claude/skills/<name>/SKILL.md too, and add the group to GROUPS in scripts/check_skill_pairs.py so drift gets flagged. Claude Code has no activate_skill()/testFailure/runTests/report_progress equivalents - adapt any such tool references to plain Bash commands instead of copying them verbatim.

Repository
netalertx/NetAlertX
Last updated
First committed

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.