server-services
Automates the installation and management of catalog-approved services on local servers with verified safety checks.
Install
mkdir -p .claude/skills/server-services && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11113" && unzip -o skill.zip -d .claude/skills/server-services && rm skill.zipInstalls to .claude/skills/server-services
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
The `server-services` skill installs and manages approved local services on community servers. It uses reviewed installation recipes, verifies prerequisites, configures local domain access through the reverse proxy, writes simple user onboarding notes, and supports backup and resKey capabilities
- →Install approved local services
- →Verify installation prerequisites
- →Configure reverse proxy
- →Write onboarding notes
How it works
It validates requests against an approved catalog, generates an installation plan, and executes it using reviewed recipes.
Inputs & outputs
When to use server-services
- →Deploy an approved service from the community catalog
- →Check installation prerequisites for a new server service
- →Generate onboarding documentation for a newly installed local service
About this skill
SKILL: server-services
Purpose
The server-services skill installs and manages approved local services on community servers. It uses reviewed installation recipes, verifies prerequisites, configures local domain access through the reverse proxy, writes simple user onboarding notes, and supports backup and restore hooks. All actions require an approved plan before execution.
Only services listed in the approved service catalog may be installed through this skill.
Responsibilities
Must do
- Accept a service request and check whether the requested service is in the approved catalog at
desired-state/server/service-catalog.yaml. - Refuse to install any service not present in the approved catalog.
- Produce a written installation plan before executing: which recipe will be used, what prerequisites are needed, what local domain will be assigned, what ports will be used, what storage will be required, and what the rollback path is.
- Present the plan to the requesting maintainer and wait for explicit approval before executing.
- Verify prerequisites before starting installation: available disk space, required software dependencies, network access, and resource availability.
- Execute the installation using only the approved recipe for that service (from
skills/server-services/scripts/or equivalent). - Configure local domain access per
desired-state/server/domains.yamland the reverse proxy configuration. - Validate service health after installation: reachability, health-check endpoint, correct domain resolution.
- Validate offline behavior: confirm the service is reachable without internet access.
- Write simple user onboarding notes: how to access the service, what it is for, basic usage instructions in plain language.
- Register the installed service in
inventories/local-services.yamlwith status, URL, and maintainer contact. - Connect backup hooks per
desired-state/server/backup-policy.yamlwhen the service has data that should be backed up. - Validate that backup hooks are working after installation.
- Execute service updates using the same recipe-based approach: plan, approve, execute, validate.
- Support controlled service removal: plan, approve, remove, clean up local domain and proxy config, update inventory.
- Restore from backup when instructed and approved: plan, approve, validate pre-restore state, execute, verify.
- Write a maintenance log entry for every install, update, removal, or restore action.
Must not do
- Install any service that is not in the approved catalog at
desired-state/server/service-catalog.yaml. - Execute any installation, update, or removal without a confirmed written plan and explicit maintainer approval.
- Invent installation procedures — use only reviewed recipes.
- Expose services directly on public interfaces without explicit configuration in the approved reverse proxy setup.
- Store credentials or secrets in any log, doc, or inventory file.
- Proceed if prerequisites are not met — halt and report what is missing.
- Skip post-install validation.
- Skip backup hook setup for services with persistent data.
- Perform mass service changes (multiple services in one operation) without a plan that covers each service individually.
Inputs
- Service request: which service to install, update, remove, or restore; from which host.
- Approved service catalog:
desired-state/server/service-catalog.yaml - Server desired state:
desired-state/server/hosts.yaml,desired-state/server/domains.yaml,desired-state/server/reverse-proxy.yaml,desired-state/server/backup-policy.yaml - Installation recipes in
skills/server-services/scripts/ - Server inventory:
inventories/local-services.yaml - Pre-action snapshot from
server-readonly(required before any change execution) - Approval record from an authorized maintainer via the trusted channel
- Optional: restore source (backup location, snapshot reference) for restore operations
Outputs
- Installation plan (before execution): written plan with recipe, prerequisites, domain assignment, storage requirement, rollback path, and success criteria.
- Post-install validation report: service health, domain resolution result, offline behavior confirmation.
- User onboarding notes: plain-language document explaining how to access and use the service.
- Updated local service inventory entry:
inventories/local-services.yamlupdated with service status, URL, and maintainer. - Maintenance log entry: appended to
logs/— timestamp, service name, action taken, approval reference, outcome. Handed toknowledge-curator. - Backup hook confirmation (when applicable): confirmation that backup is configured and tested.
- Rollback report (when applicable): what was removed or reverted and current state.
Risk Class
Class C — Medium-risk infrastructure change
Installing, updating, or removing a service changes the server's running state. Requires a written plan and explicit maintainer approval before execution. Rollback required: each recipe must define a removal or rollback procedure.
Restore operations involving live data replacement are Class D and require an explicit additional confirmation acknowledging that existing data may be overwritten.
Activation Examples
- "Install the local media archive on the server." (requires plan + approval)
- "Set up the community wiki." (requires plan + approval)
- "Update the Nextcloud instance to the latest approved version." (requires plan + approval)
- "Add a local domain for the media server." (requires plan + approval)
- "Remove the test service from the server." (requires plan + approval)
- "Restore the wiki from last week's backup." (requires plan + explicit approval for data overwrite)
- "Check that backup is running for the media archive." (read-only check — routes to server-readonly)
- "Add the new service to the service catalog." (documentation only — routes to knowledge-curator)
- "What services are approved for installation?" (read-only — routes to server-readonly or knowledge-curator)
Constraints and Guardrails
- Catalog enforcement: if a requested service is not in
desired-state/server/service-catalog.yaml, the skill must refuse the request and explain that the service needs to be added to the approved catalog first. It must not attempt to install it anyway. - No approval, no execution: explicit written approval from an authorized maintainer is required for every install, update, removal, or restore. This is non-negotiable.
- Recipe discipline: only use approved, reviewed recipes from
skills/server-services/scripts/. Do not improvise installation steps with arbitrary shell commands. - Prerequisites must be verified before proceeding: if prerequisites are not met, stop and report what is needed. Do not proceed with an incomplete environment.
- No public exposure without explicit proxy config: a newly installed service must not be reachable outside the local network unless the reverse proxy and domain config are explicitly set up and confirmed.
- No secrets in output: installation logs, onboarding notes, and inventory entries must never contain passwords, API tokens, or private keys. Reference
secrets/README.mdfor how to handle credentials. - Post-install validation is mandatory: the skill must not report success until reachability, domain resolution, and offline behavior have been confirmed.
- Backup hooks for persistent data: any service that stores user data must have backup hooks configured before the install is considered complete. Services with no backup path for persistent data must be flagged to the maintainer.
- Restore is Class D: any restore operation that overwrites live data requires an explicit additional confirmation from the maintainer acknowledging the data impact. Treat it as a separate approval step.
- Log every action: every install, update, removal, and restore must be logged. An undocumented change to the server is a failure condition.
- Rollback path required: every install plan must define a removal/rollback procedure before execution is approved. If a clean rollback path cannot be defined for a service, this must be disclosed in the plan.
When not to use it
- →When the service is not in the approved catalog
- →When the user lacks maintainer approval
Prerequisites
Limitations
- →No approval, no execution
- →Only approved recipes allowed
How it compares
It enforces a strict, plan-based installation process for community servers, ensuring consistency and security.
Compared to similar skills
server-services side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| server-services (this skill) | 0 | 3mo | Review | Intermediate |
| bazel-build-optimization | 14 | 2mo | No flags | Advanced |
| linux-production-shell-scripts | 7 | 6mo | Review | Intermediate |
| machine-learning-ops-ml-pipeline | 4 | 4mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
bazel-build-optimization
wshobson
Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.
linux-production-shell-scripts
davila7
This skill should be used when the user asks to "create bash scripts", "automate Linux tasks", "monitor system resources", "backup files", "manage users", or "write production shell scripts". It provides ready-to-use shell script templates for system administration.
machine-learning-ops-ml-pipeline
sickn33
Design and implement a complete ML pipeline for: $ARGUMENTS
windows-builder
hashicorp
Build Windows images with Packer using WinRM communicator and PowerShell provisioners. Use when creating Windows AMIs, Azure images, or VMware templates.
cicd-automation-workflow-automate
sickn33
You are a workflow automation expert specializing in creating efficient CI/CD pipelines, GitHub Actions workflows, and automated development processes. Design automation that reduces manual work, improves consistency, and accelerates delivery while maintaining quality and security.
create-worktree-skill
disler
Use when the user explicitly asks for a SKILL to create a worktree. If the user does not mention "skill" or explicitly request skill invocation, do NOT trigger this. Only use when user says things like "use a skill to create a worktree" or "invoke the worktree skill". Creates isolated git worktrees with parallel-running configuration.