Install
$ agentstack add skill-bnaylor-agent-skills-rasp-pi-janitor ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Raspberry Pi Janitor
This skill is a fork of [ubuntu-janitor](../ubuntu-janitor/SKILL.md) adapted for Raspberry Pi systems running Pi-hole. It preserves the Ubuntu update workflow and adds Pi-hole-specific update steps.
Prerequisites
- SSH access to the target Pi(s).
- Passwordless
sudoor SSH key-based authentication for the user. - Target systems must be Raspberry Pi OS (Debian-based).
- Pi-hole must be installed and the
piholeCLI must be available.
Core Workflows
1. Host Discovery & Connectivity
- Input: Accept a list of hostnames, IPs, or a CIDR range.
- Verification: Verify SSH connectivity and
sudoprivileges on all nodes. - OS Check: Confirm the OS is Raspberry Pi OS / Debian-based.
2. Audit & Pre-flight
- Update Check: Run
sudo apt-get updateto refresh package lists. - Pending Updates: Identify packages that will be upgraded or installed.
- Pi-hole Update Check: Check if Pi-hole updates are available.
- Reboot Status: Check if a reboot is already pending (
/var/run/reboot-required). - Disk Space: Verify sufficient disk space in
/and the boot directory (/bootor/boot/firmwareon Bookworm+).
3. Execution (The Maintenance Window)
For each node (or in parallel if requested):
- System Package Upgrade:
sudo apt-get updatesudo apt-get upgrade -ysudo apt-get dist-upgrade -y(optional, for kernel/major updates)
- Pi-hole Update:
sudo pihole -up
- Cleanup:
sudo apt-get autoremove -ysudo apt-get clean
- Reboot Management:
- If
/var/run/reboot-requiredexists or a kernel was updated, initiatesudo reboot. - Wait for the node to become reachable again via SSH, comparing boot ID (
/proc/sys/kernel/random/boot_id) to confirm a successful restart. - Mandatory Health Check: Verify system health (uptime, Pi-hole service status, and disk space).
4. Verification
- Confirm all nodes are on the latest available versions.
- Report any nodes that failed to update or reboot.
- Verify Pi-hole is functioning correctly after updates.
Usage
Run the maintenance script using:
python3 scripts/pi_maintenance.py [nodes ...] [options]
Arguments and Options:
nodes: Space-separated list of hostnames or IP addresses of the target Raspberry Pi systems.--dry-run: Show what would be done without making any changes.--parallel: Process target nodes in parallel (useful for large sets of nodes, but sequential updates are recommended for primary/secondary DNS clusters to prevent downtime).--dist-upgrade: Perform a full distribution upgrade (sudo apt-get dist-upgrade -y) to apply kernel and firmware updates.
Best Practices
- Sequential Updates: For clusters, update nodes one at a time to maintain service availability.
- Kernel Checks: Always check for
reboot-requiredafter adist-upgrade. - Pi-hole Service: Ensure
pihole-FTLservice is active after reboot. - Locking: Be aware of
flockoraptlocks; wait or report if the frontend is locked.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bnaylor
- Source: bnaylor/agent_skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.