Agent skill

Unraid

by dinglebear-ai in dinglebear-ai/unraid

This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check…

MITAuto-check: notesDevOps & Cloud

Install Unraid

skills CLI
$ npx skills add dinglebear-ai/unraid --skill unraid -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dinglebear-ai/unraid unraid --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dinglebear-ai/unraid.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/unraid-py/skills/unraid .claude/skills/unraid && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unraid
GitHub stars
135
Token cost
~5.4k tokens
SKILL.md length
1,871 words
Files
14 (incl. scripts, references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check…

  • Mentions Unraid
  • SKILL.md covers Mode Detection, Setup, Calling Convention and All Domains and Subactions, plus 2 more sections
  • Runs Shell scripts from its folder; calls curl; needs UNRAID_API_KEY
  • Asks to check server health

What it does

Unraid is an agent skill from dinglebear-ai/unraid. This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check parity status, view notifications, manage API keys, configure rclone remotes, check UPS or power status, get live CPU or memory data, force stop a VM, check disk temperatures, or perform any operation on an Unraid NAS server. Also use when the user needs to set up or configure Unraid MCP credentials.

Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts and reference files (for example `README.md`, `examples/disk-health.sh` and `examples/read-logs.sh`).

It sits in DevOps & Cloud, covering MCP servers, Containers and GraphQL. It works with Model Context Protocol, Docker, GraphQL and Google Gemini. The repository describes itself as: Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry. The licence is MIT.

When your agent uses it

  • Mentions Unraid
  • Asks to check server health
  • Restart Docker containers
  • Read system logs

Example prompts

  • “/unraid”

Requirements

  • A Bash shell
  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 6d00e73. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • UNRAID_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Unraid loads about 5.4k tokens when it runs, and up to ~42k if it reads all its reference files. Until then it costs about 126 tokens; SKILL.md has 1,871 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~5.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~42k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:13
    `~/.unraid-mcp/.env`; load it before running `curl` (see "HTTP Fallback Mode" below).
  • NoteMentions a .env fileSKILL.md:16
    ads them and materializes `~/.unraid-mcp/.env`; the skill loads that file via
  • NoteMentions a .env fileSKILL.md:26
    PI Key*) or a hand-edited `~/.unraid-mcp/.env`. They are read once at server
  • NoteMentions a .env fileSKILL.md:427
    `~/.unraid-mcp/.env` (which the plugin's setup hook materializes) instead. Source the
  • NoteMentions a .env fileSKILL.md:428
    rary and call its loader (it parses the `.env`, never executes it):
  • NoteMentions a .env fileSKILL.md:431
    _URL / UNRAID_API_KEY from ~/.unraid-mcp/.env

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from dinglebear-ai/unraid at commit 6d00e73, republished under its MIT licence (© dinglebear-ai). 1,871 words, ~5,430 tokens.

Download SKILL.mdSave it as .claude/skills/unraid/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
unraid
description
This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check parity status, view notifications, manage API keys, configure rclone remotes, check UPS or power status, get live CPU or memory data, force stop a VM, check disk temperatures, or perform any operation on an Unraid NAS server. Also use when the user needs to set up or configure Unraid MCP credentials.

Unraid MCP Skill

Mode Detection

MCP mode (preferred): Use when mcp__unraid-mcp__unraid tool is available.

HTTP fallback: Use when MCP tools are unavailable. Credentials live in the file ~/.unraid-mcp/.env; load it before running curl (see "HTTP Fallback Mode" below). Do NOT use $CLAUDE_PLUGIN_OPTION_* in the Bash tool — Claude Code injects those vars only into plugin subprocesses (hooks/MCP/LSP), not the Bash tool. The plugin's setup hook reads them and materializes ~/.unraid-mcp/.env; the skill loads that file via load-env.sh (which parses it, never executes it).


Use the single unraid MCP tool with action (domain) + subaction (operation) for all Unraid operations.

Setup

Credentials come from the plugin's configuration form (Unraid GraphQL API URL / Unraid API Key) or a hand-edited ~/.unraid-mcp/.env. They are read once at server startup, so after changing them you must restart the server / MCP client.

To check whether credentials are configured and the connection works:

text
unraid(action="health", subaction="setup")            # read-only status + instructions
unraid(action="health", subaction="test_connection")  # verify connectivity

setup does not prompt for or write credentials — it only reports the current status and explains how to set them.

Calling Convention

text
unraid(action="<domain>", subaction="<operation>", [additional params])

Examples:

text
unraid(action="system",  subaction="overview")
unraid(action="docker",  subaction="list")
unraid(action="health",  subaction="check")
unraid(action="array",   subaction="parity_status")
unraid(action="disk",    subaction="disks")
unraid(action="vm",      subaction="list")
unraid(action="notification", subaction="overview")
unraid(action="live",    subaction="cpu")

All Domains and Subactions

system — Server Information
SubactionDescription
overviewComplete system summary (recommended starting point)
serverHostname, version, uptime
serversAll known Unraid servers
arrayArray status and disk list
networkNetwork interfaces and config
registrationLicense and registration status
variablesEnvironment variables
metricsReal-time CPU, memory, I/O usage
servicesRunning services status
displayDisplay settings
display_detailsDirect display root metadata: case, theme, temperature display settings, thresholds, locale
configSystem configuration
onlineQuick online status check
ownerServer owner information
settingsUser settings and preferences
server_detailsDirect server root details with owner and URLs; API key omitted
network_access_urlsDirect network.accessUrls entries with type, name, IPv4, and IPv6
flashUSB flash drive details
ups_devicesList all UPS devices
ups_deviceSingle UPS device (requires device_id)
ups_configUPS configuration
server_timeCurrent server time, time zone, and NTP config
timezonesAvailable IANA time-zone options
health — Diagnostics
SubactionDescription
checkComprehensive health check — connectivity, array, disks, containers, VMs, resources
test_connectionTest API connectivity and authentication
diagnoseDetailed diagnostic report with troubleshooting recommendations
setupReport credential status + setup instructions (read-only; does not write or prompt)
array — Array & Parity
SubactionDescription
parity_statusCurrent parity check progress and status
parity_historyHistorical parity check results
assignable_disksPhysical disks not yet in the array (discovery counterpart to add_disk)
parity_startStart a parity check (requires correct — True writes corrections, False checks only)
parity_pausePause a running parity check
parity_resumeResume a paused parity check
parity_cancelCancel a running parity check
start_arrayStart the array
stop_array⚠️ Stop the array (requires confirm=True)
add_diskAdd a disk to the array (requires slot, id)
remove_disk⚠️ Remove a disk (requires slot, confirm=True)
mount_diskMount a disk
unmount_diskUnmount a disk
clear_disk_stats⚠️ Clear disk statistics (requires confirm=True)
disk — Storage & Logs
SubactionDescription
sharesList network shares
disksAll physical disks with health and temperatures
disk_detailsDetailed info for a specific disk (requires disk_id)
log_filesList available log files
logsRead log content (requires log_path; optional tail_lines)
flash_backup⚠️ Trigger a flash backup (requires confirm=True)
docker — Containers
SubactionDescription
listAll containers with status, image, state
detailsSingle container details (requires container identifier)
startStart a container (requires container identifier)
stopStop a container (requires container identifier)
restartRestart a container (requires container identifier; stop+start composite)
unpauseUnpause a paused container (requires container identifier)
remove_container⚠️ Remove a container (requires container identifier, confirm=True; optional with_image)
update_containerApply a pending image update to one container (requires container identifier)
update_containersApply image updates to several containers (requires container_ids)
update_all_containersApply all pending container image updates
update_autostartSet container autostart config (requires autostart_entries: [{id, autoStart, wait?}])
refresh_digestsRefresh image digests (recheck for available updates)
sync_template_pathsSync Docker template paths
reset_template_mappings⚠️ Reset template path mappings to defaults (requires confirm=True)
create_folderCreate an organizer folder (requires organizer_input: {name, parentId?, childrenIds?})
create_folder_with_itemsCreate a folder containing items (organizer_input: {name, parentId?, sourceEntryIds?, position?})
rename_folderRename a folder (organizer_input: {folderId, newName})
set_folder_childrenSet a folder's children (organizer_input: {childrenIds, folderId?})
delete_entries⚠️ Delete organizer entries (organizer_input: {entryIds}, confirm=True)
move_entries_to_folderMove entries into a folder (organizer_input: {sourceEntryIds, destinationFolderId})
move_items_to_positionMove items to a position (organizer_input: {sourceEntryIds, destinationFolderId, position})
update_view_preferencesUpdate organizer view prefs (organizer_input: {prefs, viewId?})
networksList Docker networks
network_detailsDetails for a specific network (requires network_id)

Container Identification: Name, ID, or partial name (fuzzy match supported).

vm — Virtual Machines
SubactionDescription
listAll VMs with state
detailsSingle VM details (requires vm_id)
startStart a VM (requires vm_id)
stopGracefully stop a VM (requires vm_id)
pausePause a VM (requires vm_id)
resumeResume a paused VM (requires vm_id)
rebootReboot a VM (requires vm_id)
force_stop⚠️ Force stop a VM (requires vm_id, confirm=True)
reset⚠️ Hard reset a VM (requires vm_id, confirm=True)
notification — Notifications
SubactionDescription
overviewNotification counts (unread, archived by type)
listList notifications (requires list_type: UNREAD/ARCHIVE; optional importance, limit, offset)
mark_unreadMark a notification as unread (requires notification_id)
createCreate a notification (requires title, subject, description, importance)
archiveArchive a notification (requires notification_id)
delete⚠️ Delete a notification (requires notification_id, notification_type, confirm=True)
delete_archived⚠️ Delete all archived (requires confirm=True)
archive_allArchive all unread notifications
archive_manyArchive multiple (requires ids list)
unarchive_manyUnarchive multiple (requires ids list)
unarchive_allUnarchive all archived notifications
recalculateRecalculate notification counts
key — API Keys
SubactionDescription
listAll API keys
getSingle key details (requires key_id)
possible_rolesAll assignable roles
possible_permissionsAll grantable resource/action permissions
permissions_for_rolesPermissions implied by given roles
preview_permissionsEffective permissions for roles and/or permissions_input ([{resource, actions}])
auth_actionsAll available auth actions
creation_form_schemaJSON-schema form for key creation
createCreate a new key (requires name; optional roles, permissions)
updateUpdate a key (requires key_id)
delete⚠️ Delete a key (requires key_id, confirm=True)
add_roleAdd a role to a key (requires key_id, roles)
remove_roleRemove a role from a key (requires key_id, roles)
plugin — Plugins
SubactionDescription
listAll installed plugins (structured)
installed_unraidRaw installed .plg filenames
install_operationsList async plugin-install operations
install_operationStatus of one install operation (requires operation_id)
addInstall plugins (requires names — list of plugin names)
remove⚠️ Uninstall plugins (requires names — list of plugin names, confirm=True)
install⚠️ Async-install a .plg — runs code as root (requires url, confirm=True; optional plugin_name, forced) — poll via install_operation
install_language⚠️ Async-install a language pack — runs code as root (requires url, confirm=True)
rclone — Cloud Storage
SubactionDescription
list_remotesList configured rclone remotes
config_formGet configuration form for a remote type
create_remoteCreate a new remote (requires name, provider_type, config_data)
delete_remote⚠️ Delete a remote (requires name, confirm=True)
setting — System Settings
SubactionDescription
updateUpdate system settings (requires settings_input object)
configure_ups⚠️ Configure UPS settings (requires confirm=True)
update_ssh⚠️ Update SSH daemon settings (requires config_input: {enabled, port}, confirm=True)
update_temperatureUpdate temperature sensor config (requires config_input)
update_system_time⚠️ Update timezone / NTP / manual time — can invalidate TLS certs (requires config_input, confirm=True)
update_server_identityUpdate server name/comment/model (requires name; optional comment, sys_model)
Show full SKILL.md (759 more words)Show less
connect — Unraid Connect / Remote Access

All mutations change the server's cloud/remote-access posture and require confirm=True.

SubactionDescription
remote_accessCurrent remote-access settings (access/forward type, port)
cloudUnraid Connect / cloud status (relay, minigraph, API key validity)
statusDirect connect root status: dynamic remote access and settings schema; settings values omitted
update_api_settings⚠️ Update Connect API settings (requires connect_input: {accessType?, forwardType?, port?}, confirm=True)
sign_in⚠️ Sign the server in to Unraid Connect — registers with the cloud (requires connect_input: {apiKey, userInfo?}, confirm=True)
sign_out⚠️ Sign the server out of Unraid Connect (requires confirm=True)
setup_remote_access⚠️ Configure remote access — can expose the server (requires connect_input, confirm=True)
enable_dynamic_remote_access⚠️ Toggle dynamic remote access (requires connect_input: {url, enabled}, confirm=True)
customization — Theme & Appearance
SubactionDescription
public_themePublic-facing theme (also the server's current theme; or use system/display)
is_initial_setupWhether this is a fresh install (isFreshInstall)
sso_enabledCheck SSO status
detailsDirect customization root onboarding/language details; activation-code values omitted
set_themeUpdate theme (requires theme_name)
set_localeUpdate UI locale (requires locale)

Secret-sensitive fields are omitted by default: server.apikey, connect.settings.values, and raw activation-code values are not returned by the safe read subactions (system/server_details, connect/status, customization/details).

oidc — SSO / OpenID Connect
SubactionDescription
providersList configured OIDC providers
providerSingle provider details (requires provider_id)
configurationOIDC configuration
public_providersPublic-facing provider list
validate_sessionValidate current SSO session (requires token)
onboarding — First-Boot / Setup State

Operate on the server's onboarding/setup state. Rarely needed on a configured production server; the dangerous ones require confirm=True.

SubactionDescription
internal_boot_contextInternal boot / first-boot context (array stopped, boot eligibility, pools)
completeMark onboarding complete
openOpen the onboarding flow
closeClose the onboarding flow
resumeResume onboarding
bypassBypass onboarding
reset⚠️ Reset onboarding/setup state (requires confirm=True)
set_overrideSet an onboarding override (requires onboarding_input)
clear_overrideClear the onboarding override
refresh_internal_boot_contextRecompute the internal boot context
create_internal_boot_pool⚠️ Create an internal boot pool — FORMATS devices, may REBOOT (requires onboarding_input, confirm=True)
user — Current User
SubactionDescription
meCurrent authenticated user info
live — Real-Time Subscriptions

These use persistent WebSocket connections. Returns a "connecting" placeholder on the first call — retry momentarily for live data.

SubactionDescription
cpuLive CPU utilization
memoryLive memory usage
cpu_telemetryDetailed CPU telemetry
array_stateLive array state changes
parity_progressLive parity check progress
ups_statusLive UPS status
notifications_overviewLive notification counts
notifications_warningsLive warnings/alerts feed (filtered)
ownerLive owner info
server_statusLive server status
displayLive theme/display changes
docker_container_statsLive per-container CPU/memory/IO stats
temperatureLive temperature sensor readings
log_tailLive log tail stream
notification_feedLive notification feed
plugin_install_updatesLive plugin-install progress stream (requires operation_id)

Destructive Actions

All require confirm=True as an explicit parameter. Without it, the action is blocked: interactive MCP clients are asked to confirm (elicitation), and non-interactive callers get a ToolError — re-run with confirm=True.

DomainSubactionRisk
arraystop_arrayStops array while containers/VMs may use shares
arrayremove_diskRemoves disk from array
arrayclear_disk_statsClears disk statistics permanently
vmforce_stopHard kills VM without graceful shutdown
vmresetHard resets VM
notificationdeletePermanently deletes a notification
notificationdelete_archivedPermanently deletes all archived notifications
rclonedelete_remoteRemoves a cloud storage remote
keydeletePermanently deletes an API key
diskflash_backupTriggers flash backup operation
settingconfigure_upsModifies UPS configuration
settingupdate_sshCan cut off remote shell access (disable SSH / change port)
settingupdate_system_timeClock changes can invalidate TLS certs / break time-sensitive services
pluginremoveUninstalls a plugin
plugininstall / install_languageFetches and runs a .plg from a URL as root
connectsign_in / update_api_settingsRegisters with the cloud / changes internet reachability
dockerremove_containerRemoves a container (and optionally its image)
dockerreset_template_mappingsResets Docker template path mappings to defaults
dockerdelete_entriesDeletes Docker organizer entries
connectsign_outSigns the server out of Unraid Connect
connectsetup_remote_accessReconfigures remote access; can expose the server to the internet
connectenable_dynamic_remote_accessToggles dynamic remote access
onboardingresetResets onboarding/setup state
onboardingcreate_internal_boot_poolFormats devices and may reboot the server

Common Workflows

Verify credentials
text
unraid(action="health", subaction="setup")            # status + instructions (read-only)
unraid(action="health", subaction="test_connection")  # confirm connectivity
System health overview
text
unraid(action="system", subaction="overview")
unraid(action="health", subaction="check")
Container management
text
unraid(action="docker", subaction="list")
unraid(action="docker", subaction="details", container_id="plex")
unraid(action="docker", subaction="logs", container_id="plex", tail_lines=100)
unraid(action="docker", subaction="check_updates")
unraid(action="docker", subaction="restart", container_id="sonarr")
Array and disk status
text
unraid(action="array",  subaction="parity_status")
unraid(action="disk",   subaction="disks")
unraid(action="system", subaction="array")
Read logs
text
unraid(action="disk", subaction="log_files")
unraid(action="disk", subaction="logs", log_path="/var/log/syslog", tail_lines=50)
Live monitoring
text
unraid(action="live", subaction="cpu")
unraid(action="live", subaction="memory")
unraid(action="live", subaction="array_state")
VM operations
text
unraid(action="vm", subaction="list")
unraid(action="vm", subaction="start",      vm_id="<id>")
unraid(action="vm", subaction="force_stop", vm_id="<id>", confirm=True)

Notes

  • Rate limit: 100 requests / 10 seconds
  • Log path validation: Only /var/log/, /boot/logs/, /mnt/ prefixes accepted
  • Container logs: Use docker/logs with container_id and optional tail_lines
  • arraySubscription: Known Unraid API bug — live/array_state may show "connecting" indefinitely
  • Event-driven subs (notifications_overview, owner, server_status, ups_status): Only populate cache on first real server event

HTTP Fallback Mode

When MCP tools are unavailable, query the GraphQL API directly with curl. Load the credentials first — $CLAUDE_PLUGIN_OPTION_* is not set in the Bash tool, so read ~/.unraid-mcp/.env (which the plugin's setup hook materializes) instead. Source the bundled load-env.sh library and call its loader (it parses the .env, never executes it):

bash
# Load UNRAID_API_URL / UNRAID_API_KEY from ~/.unraid-mcp/.env
source "$CLAUDE_PLUGIN_ROOT/skills/unraid/load-env.sh"
load_unraid_credentials || exit 1

# System overview
curl -s "$UNRAID_API_URL" \
  -H "x-api-key: $UNRAID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ info { os { hostname uptime } } }"}'

# List Docker containers
curl -s "$UNRAID_API_URL" \
  -H "x-api-key: $UNRAID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ docker { containers { names state status } } }"}'

# Array status
curl -s "$UNRAID_API_URL" \
  -H "x-api-key: $UNRAID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ array { state capacity { kilobytes { free used total } } disks { name status temp } } }"}'

Or use the helper script, which sources load-env.sh automatically:

bash
"$CLAUDE_PLUGIN_ROOT/skills/unraid/scripts/unraid-query.sh" -q "{ online }"

© dinglebear-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references) in agents/unraid-py/skills/unraid of dinglebear-ai/unraid.

  • SKILL.md
  • README.md
  • examples/disk-health.sh
  • examples/read-logs.sh
  • load-env.sh
  • references/api-reference.md
  • references/endpoints.md
  • references/introspection-schema.md
  • references/quick-reference.md
  • references/schema.graphql
  • references/troubleshooting.md
  • scripts/dashboard.sh
  • scripts/unraid-query.sh
  • setup.sh

Open the folder on GitHubat commit 6d00e73

Compare with similar skills

Unraid next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unraid compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unraid this skilldinglebear-ai/unraid135—~5.4kAutomated safety check: NotesMIT
Build Error AdapterArcadeAI/arcade-mcp1k—~2kAutomated safety check: PassMIT
Devsydevsy-org/devsy110—~1.7kAutomated safety check: PassMPL-2.0
Pluggedin Stack OpsVeriTeknik/pluggedin-app103—~1.3kAutomated safety check: NotesMIT
Skillz Integrationgithub/gh-aw5.4k—~905Automated safety check: PassMIT
Oneclickvirtoneclickvirt/oneclickvirt372—~1.1kAutomated safety check: PassGPL-3.0

Similar skills

  • Build Error Adapter

    ArcadeAI/arcade-mcp

    Build new Arcade error adapters from scratch using public Arcade TDK patterns.

    1k GitHub stars~2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Devsy

    devsy-org/devsy

    Operate Devsy workspaces and providers for end users. An agent skill from devsy-org/devsy.

    110 GitHub stars~1.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Pluggedin Stack Ops

    VeriTeknik/pluggedin-app

    A skill your agent uses when deploying, restarting, verifying or rolling back the containerised plugged.in production stack, when the site returns 404 or 5xx after a deploy or git operation, or when…

    103 GitHub stars~1.3k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • Skillz Integration

    github/gh-aw

    Official

    Run and integrate Skillz MCP server with Docker for skill execution.

    5.4k GitHub stars~905 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Oneclickvirt

    oneclickvirt/oneclickvirt

    OneClickVirt operations skill for managing containers, virtual machines, provider nodes, health checks, and metrics through MCP.

    372 GitHub stars~1.1k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • Task Orchestrator Server Setup

    jpicklyk/task-orchestrator

    Walks through how to launch and reach the MCP Task Orchestrator server container: transport, REST API, port publishing, config mounts and config-sync.

    207 GitHub stars~3.1k tokensUpdated today
    DevOps & CloudAuto-check passed

More from dinglebear-ai/unraid

  • Unraid

    dinglebear-ai/unraid

    Query and monitor an Unraid NAS/homelab server — array health, disk temperatures, Docker containers, virtual machines, system metrics, notifications, alerts, shares, UPS status, log files, network…

    135 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check passed

Questions about Unraid

What does Unraid do?

This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check…. Unraid is an agent skill from dinglebear-ai/unraid. This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check parity status, view notifications, manage API keys, configure rclone remotes, check UPS or power status, get live CPU or memory data, force stop a VM, check disk temperatures, or perform any operation on an Unraid NAS server.

When should I use Unraid?

Unraid fits situations like: mentions Unraid; asks to check server health; restart Docker containers; read system logs.

How do I install Unraid in Claude Code?

Run `npx skills add dinglebear-ai/unraid --skill unraid -a claude-code`. Or copy the skill folder (agents/unraid-py/skills/unraid in dinglebear-ai/unraid) into .claude/skills/unraid in your project. Claude Code loads it when a task matches its description.

How do I install Unraid in Codex?

Run `npx skills add dinglebear-ai/unraid --skill unraid -a codex`. Or copy the skill folder (agents/unraid-py/skills/unraid in dinglebear-ai/unraid) into .agents/skills/unraid in your project. Codex loads it when a task matches its description.

Can I use Unraid in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dinglebear-ai/unraid --skill unraid -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unraid, .gemini/skills/unraid, .github/skills/unraid and .opencode/skills/unraid in your project.

What does Unraid need to run?

Going by SKILL.md and its folder, Unraid needs a shell for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named UNRAID_API_KEY. Our summary lists: A Bash shell; Docker.

Does Unraid access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Unraid safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Unraid use?

Unraid is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unraid use?

About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 37k tokens, read only when the agent opens those files.

What are the alternatives to Unraid?

Skills that share tags, products or a category with Unraid: Build Error Adapter (ArcadeAI/arcade-mcp, 1k stars), Devsy (devsy-org/devsy, 110 stars), Pluggedin Stack Ops (VeriTeknik/pluggedin-app, 103 stars) and Skillz Integration (github/gh-aw, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unraid?

dinglebear-ai (a GitHub organization) maintains it in dinglebear-ai/unraid, which has 135 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 4, 2026.

Source: dinglebear-ai/unraid on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.