personio-eng-ops
Operations skills and tools for Personio engineers — ArgoCD deployment rollbacks and Harness CI/CD platform access.
Lifecycle: Experimental
Installation
claude plugin install personio-eng-ops@personio-claude-code-marketplace
What does this plugin do?
Provides operations tooling for Personio engineers:
- ArgoCD skills — identify the current deployed revision and last-known-good rollback target for any ArgoCD app, and safely execute rollbacks with full context (revisions, image tags, source commits, migration detection)
- Harness MCP — direct access to the Harness CI/CD platform via the Harness MCP server, letting you query pipelines, builds, deployments, and more from within Claude
MCP Servers
Harness
Connects to the Harness MCP server using a shared Personio service account. Once set up, you can ask Claude to query pipeline runs, check deployment status, inspect build logs, and more — all without leaving your editor.
One-time setup:
The Harness MCP uses a shared service account to avoid personal accounts being flagged by Personio's inactive-user automation. The API key is stored in the Engineers Shared 1Password vault under the item splitio-mcp-server-sa-api-key.
Add the following to your ~/.zshrc:
export HARNESS_API_KEY="<token from 1Password>"
Then reload your shell:
source ~/.zshrc
After that, Claude will authenticate automatically on every session — no further steps required.
Skills
argocd-identify
Find the current deployed revision and last-known-good rollback target for any Personio ArgoCD app or source repo. Reads Personio-Internal/k8s-resources git history and checks live sync/auto-sync state via the argocd CLI.
What you need:
- Personio VPN connection (for k8s-resources access and ArgoCD)
- Node.js ≥ 20.18.2 (the version Hammock District installs)
gh,jq,yqCLIs installed and authenticated — the skill offers to install and log you in if any are missingargocdCLI (optional) — needed for live sync/auto-sync status. Without it the skill still shows k8s-resources history and revision targets; it just omits the live cluster state overlay. The skill offers to log you in if argocd is installed but unauthenticated.- Access to
Personio-Internal/k8s-resources
Quick Start:
identify --app <argo-app> [--env prod|dev|tools|tools-dev]
identify --repo <github-repo> [--env prod|dev|tools|tools-dev]
--env defaults to prod. Output highlights the TARGET k8s-resources SHA to pass to argocd-rollback --target-revision.
Example:
identify --app attendance-service --env prod
identify --repo attendance
Why would you want this?
- Map a broken deploy to the exact k8s-resources revision before touching the cluster
- Detect when auto-sync has been left disabled after a previous rollback
- See the source commit and image tag at each revision before committing to a rollback
argocd-rollback
Perform an ArgoCD rollback for a Personio service. Checks sync status, collects full context (app, revisions, image tags, source commits, schema migrations), asks for explicit confirmation, then executes the rollback via the argocd CLI.
Never performs any write action without confirmation. Never rolls back an out-of-sync app.
What you need:
- Personio VPN connection (for ArgoCD)
- Node.js ≥ 20.18.2 (the version Hammock District installs)
argocd,gh,jq,yqCLIs installed and authenticated — the skill offers to install and log you in if any are missing- The target revision from
argocd-identify(or the ArgoCD UI), or let the skill identify it automatically
Quick Start:
# Identify last-known-good automatically, then roll back
rollback --app <argo-app> [--env prod|dev|tools|tools-dev]
rollback --repo <github-repo> [--env prod|dev|tools|tools-dev]
# Explicit target
rollback --app <argo-app> --target-revision <k8s-resources-sha> [--env ...]
rollback --repo <github-repo> --target-commit <git-commit> [--env ...]
# Override migration block (only when migrations are verified additive)
rollback --app <argo-app> --force-with-migrations [--env ...]
--env defaults to prod. The skill refuses to roll back when the app is OutOfSync or when the revision range contains database migrations (unless --force-with-migrations is set).
Example:
rollback --app attendance-service --env prod
rollback --app payment-service --target-revision abc1234 --env prod
Why would you want this?
- Avoid memorising
argocd app history+argocd app rollbacksyntax - Catch unsafe states (out-of-sync app, schema migrations) before taking action
- Get the full before/after context — including clickable diff links — in one place before confirming