Agent skill

Demo Local Rollout

by carverauto in carverauto/serviceradar

Build unpublished sha-... An agent skill from carverauto/serviceradar.

Apache-2.0Auto-check passedDevOps & Cloud

Install Demo Local Rollout

skills CLI
$ npx skills add carverauto/serviceradar --skill demo-local-rollout -a claude-code

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

GitHub CLI
$ gh skill install carverauto/serviceradar demo-local-rollout --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/carverauto/serviceradar.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/demo-local-rollout .claude/skills/demo-local-rollout && 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
demo-local-rollout
GitHub stars
921
Token cost
~4.2k tokens
SKILL.md length
1,487 words
Files
2
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build unpublished sha-... An agent skill from carverauto/serviceradar.

  • Works in 8 steps: Work from the checkout that has the… → Symlink gitignored Bazel rc files if… → Tag: sha-$(git rev-parse HEAD) (full… → …
  • The user asks to deploy
  • SKILL.md covers Choose the cluster first, Shared workflow, Worktree Bazel remotes and Changed image selection, plus 5 more sections
  • Calls kubectl, git and helm; needs VAULT_TOKEN

What it does

Demo Local Rollout is an agent skill from carverauto/serviceradar. Build unpublished sha-... images and roll them to farm01 or the carverauto demo cluster. Use when the user asks to deploy, refresh, roll, patch, or test code in demo, farm01, or "the farm cluster" before a release. Pick the cluster first. Carverauto/demo requires OpenBao cosign and Argo. farm01 is a helm --reuse-values roll with no signing. Do not use for release cuts or Docker Compose.

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in DevOps & Cloud, covering Container orchestration, Containers and Deployment. It works with Docker and Git. The repository describes itself as: Open-Source Network Management, Monitoring, ITOM, and Security Analytics. The licence is Apache-2.0.

When your agent uses it

  • The user asks to deploy
  • Test code in demo
  • The farm cluster before a release

Example prompts

  • “the farm cluster”
  • “/demo-local-rollout”

Requirements

  • Docker
  • A credential in VAULT_TOKEN

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Work from the checkout that has the commits under test (often a git worktree).
  2. Symlink gitignored Bazel rc files if this is not the primary clone (see below).
  3. Tag: sha-$(git rev-parse HEAD) (full 40-char SHA; that is what --stamp emits).
  4. Read the currently deployed tag on the chosen cluster before changing anything.
  5. Map git diff --name-only ..HEAD to images. Rebuild only what changed.
  6. Harbor auth: ./buildbuddy_setup_docker_auth.sh
  7. Build and push changed images. Copy unchanged images from the live tag to the new tag.
  8. Then follow the cluster-specific roll section. Stop after that section; do not run the other cluster's roll.

What it can do on your machine

Read from SKILL.md and the folder at commit 2563b3f. 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

    Shell commands in SKILL.md call:

    • kubectl
    • git
    • helm
    • bazel
    • make
    • jq
    • rsync
    • curl

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

  • Network

    No URLs in SKILL.md. Its commands use kubectl, git, helm, rsync and 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:

    • VAULT_TOKEN

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

Context cost

Demo Local Rollout loads about 4.2k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,487 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k

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 passed

The automated check found no risky patterns in SKILL.md.

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from carverauto/serviceradar at commit 2563b3f, republished under its Apache-2.0 licence (© carverauto). 1,487 words, ~4,219 tokens.

Download SKILL.mdSave it as .claude/skills/demo-local-rollout/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
demo-local-rollout
description
Build unpublished sha-... images and roll them to farm01 or the carverauto demo cluster. Use when the user asks to deploy, refresh, roll, patch, or test code in demo, farm01, or "the farm cluster" before a release. Pick the cluster first. Carverauto/demo requires OpenBao cosign and Argo. farm01 is a helm --reuse-values roll with no signing. Do not use for release cuts or Docker Compose.

Local Image Rollout

Use this skill for unpublished sha-<git-sha> test tags. Formal releases use semver and $release-cut-and-demo-roll.

Choose the cluster first

Do this before Harbor auth, Bazel, signing, or any cluster write.

carverauto demofarm01
WhenUser says demo, carverauto, or does not name a clusterUser says farm01, farm cluster, or is already on the farm01 kubeconfig
Kubeconfigdefault / carverauto control planeexport KUBECONFIG="$HOME/.kube/farm01.yaml"
Namespacedemoserviceradar
How it rollsArgo app serviceradar-demo-prodhelm upgrade --reuse-values
AdmissionKyverno: images must be signed with OpenBao cosign-releaseNo Kyverno. Do not OpenBao-sign or port-forward the signer
RegistryHarbor registry.carverauto.dev/serviceradarSame Harbor project (public; no pull secret)
Live tag sourceDeployments in demo, plus git override on demo/prod-releasehelm get values serviceradar -n serviceradar (global.imageTag)

Never apply the OpenBao / Kyverno / Argo path to farm01. Never helm-upgrade farm01 thinking it is demo.

If only elixir/web-ng/** changed and the target is demo, prefer $demo-web-ng-fastpath. That fast path is demo-only.

Shared workflow

  1. Work from the checkout that has the commits under test (often a git worktree).
  2. Symlink gitignored Bazel rc files if this is not the primary clone (see below).
  3. Tag: sha-$(git rev-parse HEAD) (full 40-char SHA; that is what --stamp emits).
  4. Read the currently deployed tag on the chosen cluster before changing anything.
  5. Map git diff --name-only <deployed>..HEAD to images. Rebuild only what changed.
  6. Harbor auth: ./buildbuddy_setup_docker_auth.sh
  7. Build and push changed images. Copy unchanged images from the live tag to the new tag.
  8. Then follow the cluster-specific roll section. Stop after that section; do not run the other cluster's roll.

Do not cut a release, edit VERSION, or create git tags. Do not roll demo-staging, production, or Docker Compose unless the user changes scope. Never push to staging.

Worktree Bazel remotes

.bazelrc try-imports %workspace%/.bazelrc.remote and .bazelrc.local. Both are gitignored (BuildBuddy API key). git worktree add does not copy them. Without them, --config=remote_base / --config=ci fails with PERMISSION_DENIED: Missing API key.

From the primary clone that already has the files:

bash
PRIMARY=/Users/mfreeman/src/serviceradar
WT="$(pwd)"
ln -sfn "$PRIMARY/.bazelrc.remote" "$WT/.bazelrc.remote"
test -e "$PRIMARY/.bazelrc.local" && ln -sfn "$PRIMARY/.bazelrc.local" "$WT/.bazelrc.local"
test -f "$WT/.bazelrc.remote"

Changed image selection

bash
git diff --name-only <currently-deployed-sha-or-tag>..HEAD
  • go/cmd/agent/**, go/pkg/agent/**, go/pkg/mtr/** -> serviceradar-agent
  • elixir/serviceradar_agent_gateway/**, shared agent control/proto -> serviceradar-agent-gateway
  • elixir/serviceradar_core/**, rust/srql/** (NIF) -> serviceradar-core-elx (and usually serviceradar-web-ng)
  • elixir/web-ng/** -> serviceradar-web-ng
  • proto/** -> every image that consumes the changed generated code

When in doubt, rebuild slightly too much. Phoenix / mix.lock / MODULE.bazel / rules_elixir changes mean rebuild every Elixir image you will roll.

Images that use global.imageTag

Copy or rebuild every first-party image the target cluster will pull at the new tag. Inspect live deployments; do not copy demo-only images onto farm01.

Typical demo set: arancini, serviceradar-agent, serviceradar-agent-gateway, serviceradar-core-elx, serviceradar-datasvc, serviceradar-db-event-writer, serviceradar-faker, serviceradar-flow-collector, serviceradar-log-collector, serviceradar-rperf-client, serviceradar-tools, serviceradar-trapd, serviceradar-trivy-sidecar, serviceradar-web-ng, serviceradar-zen.

Typical farm01 set: serviceradar-agent, serviceradar-agent-gateway, serviceradar-core-elx, serviceradar-datasvc, serviceradar-flow-collector, serviceradar-log-collector, serviceradar-rperf-client, serviceradar-tools, serviceradar-trapd, serviceradar-trivy-sidecar, serviceradar-web-ng. farm01 usually has no faker, zen, bmp/arancini, or k8s-inventory.

serviceradar-log-collector-tcp shares the log-collector image. Do not invent a separate tag for it.

Build and push changed images

crane is on PATH (Homebrew). Do not assume /tmp/gobin/crane.

Staging no longer defines the legacy remote / remote_push profiles; the surviving ones are remote_base, cache_only, and ci.

On a Darwin workstation, running an oci_push target through Bazel builds linux/amd64 on RBE and then tries to execute linux jq/crane from runfiles (Exec format error). On macOS use make push_all, which routes through scripts/push_all_images.sh and pushes with host crane.

Build the OCI layouts remotely, then push with host crane:

bash
bazel build \
  --config=remote_base \
  --noenable_platform_specific_config \
  --remote_download_outputs=all \
  --compilation_mode=opt \
  --stamp \
  //docker/images:agent_image_amd64 \
  //docker/images:agent_gateway_image_amd64 \
  //docker/images:core_elx_image_amd64 \
  //docker/images:web_ng_image_amd64

Layouts land under bazel-out/rbe_platform-opt/bin/docker/images/<name>_image_amd64. Bazel blob files are often symlinks and mode 0444; crane push of the layout fails with layout blob ... is a symlink. Materialize, push by digest, tag only sha-<commit> (do not retag latest):

bash
BIN="$(bazel info output_path)/rbe_platform-opt/bin/docker/images"
# or the execroot path printed by the build
SRC="$BIN/agent_image_amd64"
DEST=/tmp/sr-oci-agent
rm -rf "$DEST"
mkdir -p "$DEST"
rsync -aL "$SRC/" "$DEST/"
chmod -R u+w "$DEST"
DIGEST=$(jq -r '.manifests[0].digest' "$DEST/index.json")
REPO=registry.carverauto.dev/serviceradar/serviceradar-agent
crane push "$DEST" "$REPO@$DIGEST"
crane tag "$REPO@$DIGEST" "sha-<commit>"
rm -rf "$DEST"

Repeat for each rebuilt image. Capture every digest.

On a Linux host the push targets can be run directly, since the runfiles jq/crane are the right architecture there. Use remote_base for the build; the remote_push profile referenced by older runbooks no longer exists.

Copy unchanged images forward

bash
crane copy \
  registry.carverauto.dev/serviceradar/<image>:<old-tag> \
  registry.carverauto.dev/serviceradar/<image>:sha-<new>

<old-tag> is whatever the cluster is running (v1.4.31, sha-<old>, etc.). If crane digest of old and new match, the copy is a retag and existing signatures (if any) still apply.


farm01 roll (no signing)

bash
export KUBECONFIG="$HOME/.kube/farm01.yaml"
helm get values serviceradar -n serviceradar
helm upgrade serviceradar "$CHECKOUT/helm/serviceradar" \
  -n serviceradar \
  --reuse-values \
  --set image.digests.<service>=sha256:<digest> \
  --rollback-on-failure \
  --timeout 15m

Use global.imageTag=sha-<new> ONLY when every first-party image should move. For a change touching one or two services, pin those with image.digests.<service> (see "Move only the services you changed") -- farm01 already carries digest pins for core and webNg, so you are updating an existing pin, not introducing a new mechanism.

--reuse-values keeps farm01-only settings (MetalLB VIPs, Gateway API attach, Trivy sidecar, empty registryPullSecret, local-path storage). Do not replace the live values file unless the user wants those template/value changes applied.

Use the local chart when helm/ matches the live chart version (helm get metadata serviceradar -n serviceradar). If helm/ diverged and the user only asked for new images, keep the live chart and only change global.imageTag (OCI oci://registry.carverauto.dev/serviceradar/charts/serviceradar --version <live> plus --reuse-values --set global.imageTag=...).

Update ~/src/gitops/clusters/farm01/serviceradar/values.yaml global.imageTag so GitOps matches live. Do not commit or push the gitops repo unless the user asks.

Verify:

bash
for d in serviceradar-web-ng serviceradar-core serviceradar-agent serviceradar-agent-gateway; do
  kubectl rollout status deploy/"$d" -n serviceradar --timeout=180s
done
kubectl get deploy -n serviceradar \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.template.spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'
kubectl get pods -n serviceradar

Done when key deployments show sha-<new> and pods are Ready. Report the tag, rebuilt vs copied images, digests, helm revision, and any non-Ready pods. Do not mention signing.


carverauto demo roll (sign, then Argo)

demo admission is Kyverno-enforced. Sign every rebuilt digest with OpenBao cosign-release before changing the Argo app. Copied-forward images whose digest is unchanged keep their existing signatures.

OpenBao on the control plane is HTTPS. A plaintext http://127.0.0.1:18200 health check returns Client sent an HTTP request to an HTTPS server.

bash
kubectl port-forward -n openbao-system svc/openbao-active 18200:8200
bash
OPENBAO_ADDR=https://127.0.0.1:18200
OPENBAO_K8S_ROLE=forgejo-signing-runner
sa_jwt="$(kubectl create token -n forgejo-actions forgejo-signing-runner)"
vault_token="$(curl -skS \
  -H 'Content-Type: application/json' \
  -d "{\"role\":\"${OPENBAO_K8S_ROLE}\",\"jwt\":\"${sa_jwt}\"}" \
  "${OPENBAO_ADDR}/v1/auth/kubernetes/login" | jq -er '.auth.client_token')"
export VAULT_ADDR="$OPENBAO_ADDR"
export VAULT_TOKEN="$vault_token"
export VAULT_SKIP_VERIFY=true
export COSIGN_KEY_REF=hashivault://cosign-release
export COSIGN_YES=true
export COSIGN_DOCKER_MEDIA_TYPES=1
export COSIGN_REFERRERS_MODE=legacy
export COSIGN_TLOG_UPLOAD=true
bash
cosign sign --key "$COSIGN_KEY_REF" \
  registry.carverauto.dev/serviceradar/<image>@sha256:<digest>

Re-mint the Vault token on 403 permission denied. Tear down the port-forward when signing is done.

Show full SKILL.md (601 more words)Show less
The Argo Application spec is NOT the lever

serviceradar-demo-prod tracks helm/serviceradar on the demo/prod-release branch of the serviceradar repo itself, and that path contains .argocd-source-serviceradar-demo-prod.yaml, whose helm.parameters OVERRIDE the Application's own spec.source.helm.parameters.

Verified 2026-08-23: the Application spec said image.digests.webNg=sha256:457a2b5c... while the running pod was sha256:94bf165f..., and Argo still reported Synced. A kubectl patch application ... spec.source.helm.parameters is reverted on the next sync. Edit the file on demo/prod-release and push, then sync:

bash
git worktree add --no-track -b <tmp> /tmp/wt-demo-release github/demo/prod-release
# edit helm/serviceradar/.argocd-source-serviceradar-demo-prod.yaml
git push github HEAD:refs/heads/demo/prod-release
kubectl patch application -n argocd serviceradar-demo-prod --type merge \
  -p '{"operation":{"sync":{"revision":"demo/prod-release"}}}'

If the Application parameter and the running image disagree while Argo says Synced, that file is why -- do not "fix" it by patching the Application.

Build from a fresh git worktree

Work in a worktree so concurrent agents do not share a checkout. Two things bite on a fresh one, both verified 2026-08-23:

  1. Symlink the gitignored Bazel rc files before any bazel command (repo Hard Rules). Without them RBE fails with PERMISSION_DENIED: Missing API key.

  2. Build once before make push_all. scripts/push_all_images.sh resolves bazel info bazel-bin and then checks ! -d on the result before it builds anything. On a fresh worktree that directory does not exist yet, so the script dies with:

    error: unable to resolve bazel-bin

    which reads like a credentials or config problem and is not. bazel info alone succeeds, which makes it more confusing. Prime the output tree first:

    bash
    bazel build -c opt --config=remote --remote_download_outputs=toplevel //docker/images:images
    make push_all PUSH_TAG="sha-$(git rev-parse HEAD)"
Move only the services you changed

Use image.digests.<service>, not global.imageTag, unless every first-party image really should move. global.imageTag rolls the whole set for a two-service change; image.digests.<service> short-circuits ahead of it in serviceradar.imageRefSuffix, so everything else stays on the release tag and only the changed services need signing. Service keys are the image.tags names (core, webNg, agent, agentGateway, ...).

kubectl set image poisons later Helm upgrades

A hand-run kubectl set image takes server-side-apply ownership of .spec.template.spec.containers[].image under the kubectl-set field manager, and every later helm upgrade then fails with:

Apply failed with 1 conflict: conflict with "kubectl-set" using apps/v1

Resetting metadata.managedFields to [{}] does NOT fix it on its own -- the fields are re-attributed to a synthetic before-first-apply manager and the conflict count goes UP. The fix is Helm 4's --force-conflicts, which takes ownership in place (unlike --force-replace, which recreates the resource):

bash
helm upgrade serviceradar ./helm/serviceradar -n <ns> --reuse-values --force-conflicts \
  --set image.digests.core=sha256:...
Forcing scheduled work instead of waiting

Oban-scheduled maintenance can trickle. Drive it directly over the release RPC rather than waiting for the next tick:

bash
kubectl exec -n <ns> <core-pod> -- /app/bin/serviceradar_core_elx rpc \
  'ServiceRadar.Inventory.Identity.DuplicateSweep.reconcile_duplicates() |> inspect() |> IO.puts()'
kubectl exec -n <ns> <core-pod> -- /app/bin/serviceradar_core_elx rpc \
  'ServiceRadar.Observability.NetflowExporterCacheRefreshWorker.perform(%Oban.Job{args: %{}}) |> inspect() |> IO.puts()'

Measured difference: the scheduled duplicate sweep was merging ~1 device per run; the direct call merged all 11 outstanding in 1.5s.

Argo / Image Updater

serviceradar-demo-prod uses argocd-image-updater with write-back-method: git to demo/prod-release.

A live kubectl patch of spec.source.helm.parameters is INERT, not merely racy. Verified 2026-08-22: helm/serviceradar/.argocd-source-serviceradar-demo-prod.yaml on demo/prod-release REPLACES the parameter list at render time. A patched parameter persists in the Application spec and the app reports Synced|Healthy|Succeeded, while the workload keeps the old image, because only the parameters in that file reach Helm. Every parameter you need — global.imageTag, and image.digests.<service> if you are moving a single service — must be committed to that file on demo/prod-release. Do not diagnose this as a slow rollout; check the rendered image, not the sync status.

Contention-free sha-... flow:

  1. Advance demo/prod-release so chart content matches the images, and in the same commit set global.imageTag: sha-<commit> in .argocd-source-serviceradar-demo-prod.yaml.
  2. Patch spec.source.targetRevision to that commit (and align the live global.imageTag parameter).
  3. Do not push a v* release tag during the test window (allow-tags is ^v[0-9]+\.[0-9]+\.[0-9]+$).
  4. After testing, $release-cut-and-demo-roll returns demo to the semver / Image Updater path.

One-off parameter patch (can lose a race with git write-back):

bash
kubectl patch application -n argocd serviceradar-demo-prod \
  --type merge \
  -p '{"spec":{"source":{"helm":{"parameters":[{"name":"global.imageTag","value":"sha-<new>"}]}}}}'

Wait for Synced|Healthy|Succeeded:

bash
kubectl get application -n argocd serviceradar-demo-prod \
  -o jsonpath='{.status.sync.status}{"|"}{.status.health.status}{"|"}{.status.operationState.phase}{"\n"}'
kubectl get deploy -n demo \
  serviceradar-web-ng serviceradar-core serviceradar-agent serviceradar-agent-gateway \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.template.spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Do not call demo finished until new pods are Running and Argo reports Succeeded. Report the tag, rebuilt vs copied, signed digests, and Argo status.

© carverauto, Apache-2.0. 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 1 other file in .agents/skills/demo-local-rollout of carverauto/serviceradar.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 2563b3f

Compare with similar skills

Demo Local Rollout 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.

Demo Local Rollout compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Demo Local Rollout this skillcarverauto/serviceradar921—~4.2kAutomated safety check: PassApache-2.0
LangBot Deployment Guidelangbot-app/LangBot18k—~1.5kAutomated safety check: NotesApache-2.0
Debug Openshell ClusterNVIDIA/OpenShell16k—~20kAutomated safety check: NotesApache-2.0
Buzz Self Hostingtonbistudio/buzz-skills276—~2.2kAutomated safety check: NotesMIT
Releasear-io/ar-io-node127—~4.2kAutomated safety check: NotesAGPL-3.0
Deploymentmatrixorigin/memoria610—~1.6kAutomated safety check: NotesApache-2.0

Similar skills

  • LangBot Deployment Guide

    langbot-app/LangBot

    Deploys and configures a LangBot instance with Docker Compose or Kubernetes, covering config.yaml, the Box sandbox runtime, the plugin runtime and the global API key.

    18k GitHub stars~1.5k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Debug Openshell Cluster

    NVIDIA/OpenShell

    Official

    Debug why an OpenShell gateway deployment is unhealthy, unreachable, or unable to create sandboxes.

    16k GitHub stars~20k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Buzz Self Hosting

    tonbistudio/buzz-skills

    A skill your agent uses when helping a user set up, debug, or operate a self-hosted Buzz relay through Docker Compose.

    276 GitHub stars~2.2k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes
  • Release

    ar-io/ar-io-node

    Drive the AR.IO Node release process end-to-end — preflight checks, prepare commit, finalize with image SHAs, test docker compose profiles, tag & publish, and post-release cleanup.

    127 GitHub stars~4.2k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Deployment

    matrixorigin/memoria

    Deploy Memoria with Docker Compose or Kubernetes. An agent skill from matrixorigin/memoria.

    610 GitHub stars~1.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Onboarding Validation

    open-edge-platform/edge-ai-suites

    Validate the get-started experience of Open Edge Platform (OEP) software components from the perspective of a first-time user.

    140 GitHub stars~3.3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed

More from carverauto/serviceradar

All 18 skills in this repo
  • Demo Cnpg Local Web Ng

    carverauto/serviceradar

    Run ServiceRadar web-ng locally against the live Kubernetes demo CNPG database for dashboard, SRQL, services, and UI testing.

    921 GitHub stars~672 tokensUpdated yesterday
    Auto-check passed
  • Web Ng Docker Loop

    carverauto/serviceradar

    Run ServiceRadar elixir/web-ng locally against the Docker Compose CNPG database with copied mTLS certs and Docker secrets, then verify dashboard UI changes with Playwright.

    921 GitHub stars~737 tokensUpdated yesterday
    Auto-check passed
  • Demo Web Ng Fastpath

    carverauto/serviceradar

    Refresh the Kubernetes demo namespace with a web-ng-only change using the ServiceRadar fast path.

    921 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Fieldsurvey Local Web Ng

    carverauto/serviceradar

    Run ServiceRadar web-ng locally against the Kubernetes demo namespace FieldSurvey data, including CNPG NodePort access, NATS Object Store artifact access, authenticated browser checks, and…

    921 GitHub stars~785 tokensUpdated yesterday
    Auto-check passed
  • Release Cut And Demo Roll

    carverauto/serviceradar

    Cut a ServiceRadar release and roll the Kubernetes demo namespace to the resulting published semver image tag through the guarded ArgoCD release branch.

    921 GitHub stars~3.9k tokensUpdated yesterday
    Auto-check passed
  • Daisyui

    carverauto/serviceradar

    Official daisyUI component library skill. An agent skill from carverauto/serviceradar.

    921 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Demo Local Rollout

What does Demo Local Rollout do?

Build unpublished sha-... An agent skill from carverauto/serviceradar. Demo Local Rollout is an agent skill from carverauto/serviceradar. Build unpublished sha-...

When should I use Demo Local Rollout?

Demo Local Rollout fits situations like: the user asks to deploy; test code in demo; the farm cluster before a release.

How do I install Demo Local Rollout in Claude Code?

Run `npx skills add carverauto/serviceradar --skill demo-local-rollout -a claude-code`. Or copy the skill folder (.agents/skills/demo-local-rollout in carverauto/serviceradar) into .claude/skills/demo-local-rollout in your project. Claude Code loads it when a task matches its description.

How do I install Demo Local Rollout in Codex?

Run `npx skills add carverauto/serviceradar --skill demo-local-rollout -a codex`. Or copy the skill folder (.agents/skills/demo-local-rollout in carverauto/serviceradar) into .agents/skills/demo-local-rollout in your project. Codex loads it when a task matches its description.

Can I use Demo Local Rollout 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 carverauto/serviceradar --skill demo-local-rollout -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/demo-local-rollout, .gemini/skills/demo-local-rollout, .github/skills/demo-local-rollout and .opencode/skills/demo-local-rollout in your project.

What does Demo Local Rollout need to run?

Going by SKILL.md and its folder, Demo Local Rollout needs the command-line tools its instructions call (kubectl, git, helm, bazel, make and jq) and credentials named VAULT_TOKEN. Our summary lists: Docker; A credential in VAULT_TOKEN.

Does Demo Local Rollout access the network?

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

Is Demo Local Rollout safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Demo Local Rollout use?

Demo Local Rollout is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Demo Local Rollout use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Demo Local Rollout?

Skills that share tags, products or a category with Demo Local Rollout: LangBot Deployment Guide (langbot-app/LangBot, 18k stars), Debug Openshell Cluster (NVIDIA/OpenShell, 16k stars), Buzz Self Hosting (tonbistudio/buzz-skills, 276 stars) and Release (ar-io/ar-io-node, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Demo Local Rollout?

carverauto (a GitHub organization) maintains it in carverauto/serviceradar, which has 921 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 10, 2026.

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