Skip to content
Back to skills

Software Deployment

ASecurity

Use this skill when configuring desired-state software deployments in ImmyBot — picking the software, scoping the deployment to a tenant or computer, kicking off a maintenance session to reconcile, and checking compliance afterwards.

  • 48 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 27, 2026
data-aigoapi

Works with

  • terminal
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add wyre-technology/msp-claude-plugins --skill software-deployment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Software Deployment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Software Deployment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wyre-technology-software-deployment/badge)](https://www.skillsdirectory.com/skills/wyre-technology-software-deployment)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "ImmyBot Software Deployment"
when_to_use: "When deploying software to Windows endpoints via ImmyBot, configuring desired state, running maintenance sessions, or auditing per-computer compliance"
description: >
  Use this skill when configuring desired-state software deployments
  in ImmyBot — picking the software, scoping the deployment to a
  tenant or computer, kicking off a maintenance session to reconcile,
  and checking compliance afterwards.
triggers:
  - immybot deploy
  - immybot install
  - immybot software
  - immybot maintenance
  - deploy software immybot
  - immybot compliance
  - desired state windows software
---

# ImmyBot Software Deployment

This is ImmyBot's headline capability. The model is desired-state:
you assert what should be installed, then a maintenance session
brings the endpoint into compliance. This skill walks the canonical
deployment workflow end-to-end.

## API Tools

### Discover the catalog

| Tool | Purpose |
|------|---------|
| `immybot_software_list` | Per-tenant software catalog |
| `immybot_software_list_global` | Global ImmyBot software catalog |
| `immybot_software_search` | Search by name |
| `immybot_software_get` | Full detail for one software |
| `immybot_software_versions` | Available versions for a software |
| `immybot_software_latest_version` | The current "latest" version |
| `immybot_software_categories` | Browse by category |
| `immybot_software_publishers` | Browse by publisher |
| `immybot_software_stats` | Usage stats across the fleet |

### Configure desired state

| Tool | Purpose |
|------|---------|
| `immybot_deployments_list` | Current deployments |
| `immybot_deployments_get` | Detail for a deployment |
| `immybot_deployments_create` | Assert new desired state |
| `immybot_deployments_for_computer` | Deployments scoped to a computer |
| `immybot_deployments_for_software` | Deployments scoped to a software |
| `immybot_deployments_compliance` | Compliance report for a deployment |
| `immybot_deployments_trigger` | Force immediate reconciliation (destructive) |
| `immybot_software_install` | Install a software via desired state (destructive) |

### Reconcile

| Tool | Purpose |
|------|---------|
| `immybot_maintenance_sessions_list` | Recent sessions |
| `immybot_maintenance_sessions_get` | One session snapshot |
| `immybot_maintenance_sessions_start` | Start a session (destructive) |
| `immybot_maintenance_sessions_pause` | Pause a running session |
| `immybot_maintenance_sessions_resume` | Resume a paused session |
| `immybot_maintenance_sessions_cancel` | Cancel a session |
| `immybot_maintenance_sessions_logs` | Log stream |
| `immybot_maintenance_sessions_results` | Final outcome |
| `immybot_maintenance_sessions_active` | Currently active sessions |
| `immybot_maintenance_sessions_summary` | Summary metrics |

### Computers in scope

| Tool | Purpose |
|------|---------|
| `immybot_computers_list` | Enrolled computers |
| `immybot_computers_get` | One computer detail |
| `immybot_computers_search` | Search by name |
| `immybot_computers_inventory` | Installed software on a computer |
| `immybot_computers_deployments` | Deployments hitting a computer |
| `immybot_computers_trigger_checkin` | Force a check-in |

## The Canonical Deployment Workflow

### 1. Identify the software

```
immybot_software_search → immybot_software_get → immybot_software_latest_version
```

Confirm the software exists in the catalog and what version you intend
to deploy.

### 2. Identify the scope

For tenant-wide rollouts:
```
immybot_tenants_get → immybot_tenants_computers
```

For a single computer:
```
immybot_computers_search → immybot_computers_get
```

### 3. Configure desired state

Call `immybot_deployments_create` with the chosen software, version,
and scope. The deployment now exists, but nothing has happened on
the endpoint yet.

### 4. Reconcile

Either wait for the next scheduled maintenance window, or trigger
immediately:

```
immybot_maintenance_sessions_start
```

This is destructive — get human approval first.

### 5. Watch the session

Poll `immybot_maintenance_sessions_get` and tail
`immybot_maintenance_sessions_logs`. Stop polling once the session is
in a terminal state.

### 6. Confirm compliance

Call `immybot_deployments_compliance` to see which computers in
scope reached the desired state and which failed.

## Other Common Workflows

### Per-computer audit

1. `immybot_computers_get` for the computer
2. `immybot_computers_inventory` for installed software
3. `immybot_computers_deployments` for what desired-state expects
4. Reconcile differences

### Per-tenant compliance scorecard

1. `immybot_tenants_get`
2. `immybot_tenants_compliance` for the rollup
3. Drill into failing deployments via `immybot_deployments_compliance`

### Investigate a failed install

1. Identify the maintenance session: `immybot_maintenance_sessions_list`
2. `immybot_maintenance_sessions_results` for outcome
3. `immybot_maintenance_sessions_logs` for the failing log lines
4. Cross-reference with `immybot_tasks_logs` for lower-level detail

## Edge Cases

- **Pinned versions vs latest** - A deployment can pin a specific
  version or track latest. Always confirm which mode you are in
  before changing the desired version.
- **Conflicting deployments** - Two deployments hitting the same
  software on the same scope can fight. Use
  `immybot_deployments_for_computer` to spot conflicts before adding
  a new one.
- **Reboot requirements** - Some installs require a reboot. Maintenance
  sessions handle this, but expect the session to span longer than the
  install itself.

## Best Practices

- Prefer tenant-scoped deployments over per-computer deployments for
  fleet-wide software; reserve per-computer for exceptions.
- Always run a small pilot (one or two computers) before triggering a
  fleet-wide maintenance session.
- For destructive operations, log the approver, the scope, and the
  expected outcome.

## Related Skills

- [api-patterns](../api-patterns/SKILL.md) - Auth and the desired-state model

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.