jumpserver-skills

Query, audit, and generate HTML usage reports for JumpServer V4.10 bastion hosts.

36|9|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/jumpserver/skills --skill jumpserver-skills-jumpserver
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jumpserver-skills
Source: https://github.com/jumpserver/skills
Command: npx skills add https://github.com/jumpserver/skills --skill jumpserver-skills-jumpserver

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? JumpServer administrators often need to answer questions about assets, permissions, audit logs, and daily usage without manually composing API calls or CLI commands. This Skill routes natural-language requests to formal read-only entrypoints (jms_query.py, jms_diagnose.py, jms_report.py) with preflight checks, organization selection, and structured blocking responses instead of guesswork. ## Core Features & Use Cases - Object and permission queries: Look up assets, accounts, users, nodes, platforms, organizations, permission rules, ACLs, and effective user access scope (which assets, nodes, accounts, and protocols a user can reach). - Audit investigation: Search page-style login logs, session records, command records, file transfers, high-risk commands, and failed logins with explicit time windows and capability-based aggregate analysis. - Governance inspection and usage reports: Run 67 capability units for asset/account governance and system checks, and generate complete HTML daily or time-range usage reports from a fixed template. - Use Case: Ask "Which assets can user example.user access in the Default organization?" or "Show me yesterday's bastion host usage" and receive either a structured effective-access answer or a validated HTML report at reports/JumpServer-YYYY-MM-DD.html. ## Quick Start Tell the agent your JumpServer URL and authentication method (AK/SK or username/password) so it can generate the .env file, then ask a question like "show me yesterday's JumpServer usage report".

Frequently Asked Questions about jumpserver-skills

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query which assets a user can access in JumpServer?

Use the jms_diagnose.py user-assets entrypoint with --org-name and --username to read the effective access API. It returns asset_count and the asset list for the specified organization without expanding permission-rule explanations.

How do I generate a JumpServer daily usage report?

Ask for a usage report for a day or time range, and the skill runs jms_report.py daily-usage after normalizing expressions like yesterday or last week into explicit time windows. It produces a validated HTML report at reports/JumpServer-YYYY-MM-DD.html.

What credentials does the JumpServer skill need?

It requires JMS_API_URL plus one complete credential pair: JMS_ACCESS_KEY_ID/JMS_ACCESS_KEY_SECRET or JMS_USERNAME/JMS_PASSWORD in a local .env file. JMS_ORG_ID can be left empty initially and is written later through organization selection.

Can this skill create or modify JumpServer assets or permissions?

No. The skill is read-only for JumpServer business operations and blocks creation, update, deletion, unlocking, and permission changes. The only local writes allowed are generating .env configuration and selecting the current organization.

Why does a JumpServer query return candidate_orgs instead of results?

The skill blocks when the organization cannot be determined safely and multiple accessible organizations exist. The response includes reason_code, action_hint, and suggested_commands so you can pick an organization before the query continues.

How do I investigate high-risk commands or failed logins in JumpServer?

Use audit investigation requests, which route to jms_query.py audit-list or audit-analyze with capabilities like high-risk-command-audit and failed-login-statistics. Queries default to the last 7 days unless you provide an explicit date range.