Agent skill

Assisted Service Dev Mode

by openshift in openshift/assisted-service

Build and code-generate assisted-service using skipper with podman.

Apache-2.0Auto-check passedBackend & APIs

Install Assisted Service Dev Mode

skills CLI
$ npx skills add openshift/assisted-service --skill assisted-service-dev-mode -a claude-code

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

GitHub CLI
$ gh skill install openshift/assisted-service assisted-service-dev-mode --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/openshift/assisted-service.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/assisted-service-dev-mode .claude/skills/assisted-service-dev-mode && 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
assisted-service-dev-mode
GitHub stars
138
Token cost
~1.3k tokens
SKILL.md length
469 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build and code-generate assisted-service using skipper with podman.

  • Works in 6 steps: generate-from-swagger — regenerates… → generate-go — runs go mod tidy && go mod… → generate-events — regenerates event types → …
  • Running make targets
  • SKILL.md covers Skipper Overview, Prerequisites — Python venv…, Running Make Targets and Common Targets, plus 3 more sections
  • Calls pip, go and podman

What it does

Assisted Service Dev Mode is an agent skill from openshift/assisted-service. Build and code-generate assisted-service using skipper with podman. Use when running make targets, building the service, regenerating code from swagger or CRDs, running linters, or any containerized development task. Also use when the user encounters build errors, needs to set up their development environment, or asks about how to run tests.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Linting and formatting and OpenAPI specifications. It works with OpenAPI and Python. The licence is Apache-2.0.

When your agent uses it

  • Running make targets
  • Building the service
  • Regenerating code from swagger
  • Running linters

Example prompts

  • “/assisted-service-dev-mode”

Requirements

  • Python 3

Workflow steps

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

  1. generate-from-swagger — regenerates restapi/, client/, models/
  2. generate-go — runs go mod tidy && go mod vendor for all modules
  3. generate-events — regenerates event types
  4. generate-mocks — regenerates mock files
  5. generate-configuration — regenerates config
  6. generate-bundle — regenerates OLM bundle and CRD manifests

What it can do on your machine

Read from SKILL.md and the folder at commit 850cb0a. 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:

    • pip
    • go
    • podman
    • python3

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Assisted Service Dev Mode loads about 1.3k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 469 words of instructions outside code blocks.

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

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 openshift/assisted-service at commit 850cb0a, republished under its Apache-2.0 licence (© openshift). 469 words, ~1,348 tokens.

Download SKILL.mdSave it as .claude/skills/assisted-service-dev-mode/SKILL.md (or your agent's skills folder).
name
assisted-service-dev-mode
description
Build and code-generate assisted-service using skipper with podman. Use when running make targets, building the service, regenerating code from swagger or CRDs, running linters, or any containerized development task. Also use when the user encounters build errors, needs to set up their development environment, or asks about how to run tests.

Assisted Service Dev Mode

Skipper Overview

This project uses skipper to run make targets inside a container built from Dockerfile.assisted-service-build. The container runtime is podman.

Prerequisites — Python venv for skipper

Skipper is a Python CLI tool. Always activate the project venv before using it:

bash
source .venv/bin/activate

If .venv does not exist, create it using the system python (some IDEs bundle their own Python which can hijack venv symlinks):

bash
env -i HOME=$HOME PATH=/usr/bin:/usr/sbin:/bin:/sbin /usr/bin/python3 -m venv .venv
source .venv/bin/activate
pip install 'setuptools<81' strato-skipper

Key details:

  • Must use env -i ... /usr/bin/python3 -m venv to avoid IDE-bundled python interception
  • setuptools<81 is required because skipper depends on pkg_resources which was removed in setuptools 82+

Running Make Targets

Always activate the venv first, then run make targets through skipper:

bash
source .venv/bin/activate
skipper make <target>

Skipper builds the container image defined in skipper.yaml and runs the make target inside it. The inner Makefile is hack/Makefile.

Environment
  • Container runtime: podman (configured via CONTAINER_HOST in skipper.yaml)
  • Environment variables passed through: listed in skipper.env
  • Go module cache mounted at /go/pkg/mod (from ~/.cache/go-build)

Common Targets

Code Generation

After modifying swagger.yaml:

bash
skipper make generate-from-swagger

After modifying CRD types in api/:

bash
skipper make generate

The generate target runs (in order):

  1. generate-from-swagger — regenerates restapi/, client/, models/
  2. generate-go — runs go mod tidy && go mod vendor for all modules
  3. generate-events — regenerates event types
  4. generate-mocks — regenerates mock files
  5. generate-configuration — regenerates config
  6. generate-bundle — regenerates OLM bundle and CRD manifests

CRD manifests are generated by controller-gen inside generate_manifests / generate_bundle in hack/generate.sh. This produces:

  • config/crd/bases/*.yaml
  • config/crd/resources.yaml
  • deploy/olm-catalog/manifests/*.yaml
Building
bash
skipper make build-minimal    # Build binary only
skipper make build-image      # Build container image
skipper make all              # Lint + test + build
Linting
bash
skipper make lint       # Run all linters
skipper make format     # Auto-format code
Testing
bash
skipper make unit-test         # Full unit tests (needs DB)
skipper make subsystem-test    # Subsystem tests (needs k8s)

Passing Extra Environment Variables

Variables listed in skipper.env are automatically forwarded into the container. To pass additional variables for a single invocation, use the -e flag:

bash
skipper -e FOO=bar make target
skipper -e SERVICE_IMAGE=quay.io/user/img:tag make build-image

Multiple variables can be passed by repeating -e:

bash
skipper -e VAR1=val1 -e VAR2=val2 make target

Troubleshooting

skipper: command not found

The venv is not activated. Run:

bash
source .venv/bin/activate

If .venv doesn't exist, follow the Prerequisites section above to create it.

Show full SKILL.md (182 more words)Show less
pkg_resources import errors / ModuleNotFoundError: No module named 'pkg_resources'

The installed setuptools version is too new (82+). Reinstall with the pinned version:

bash
source .venv/bin/activate
pip install 'setuptools<81'
Container image build failures

Skipper builds its container from Dockerfile.assisted-service-build (referenced in skipper.yaml). If the build fails:

  • Check the Dockerfile for syntax or dependency issues
  • Ensure podman is running: systemctl --user status podman.socket
  • Try a clean rebuild: podman rmi the cached build image, then re-run
Permission errors with podman
  • Verify CONTAINER_HOST is set correctly in skipper.yaml
  • Check that the podman socket is active: systemctl --user start podman.socket
  • Ensure $XDG_RUNTIME_DIR/podman/podman.sock exists and is accessible

Some IDEs bundle their own Python, causing python3 -m venv to create symlinks pointing at the IDE's Python rather than the system one. Always create the venv with the explicit system path:

bash
env -i HOME=$HOME PATH=/usr/bin:/usr/sbin:/bin:/sbin /usr/bin/python3 -m venv .venv

Important Notes

  • The outer Makefile delegates to hack/Makefile via skipper
  • generate_manifests() in hack/generate.sh requires ENABLE_KUBE_API=true (set automatically by generate_bundle)
  • Vendor directories (vendor/, api/vendor/, client/vendor/) are managed by generate-go target — don't manually edit vendored files
  • After changing CRD type definitions in api/hiveextension/v1beta1/, run skipper make generate to regenerate CRD YAMLs and vendored copies

© openshift, 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

Just SKILL.md in .agents/skills/assisted-service-dev-mode of openshift/assisted-service.

Open the folder on GitHubat commit 850cb0a

Compare with similar skills

Assisted Service Dev Mode 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.

Assisted Service Dev Mode compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Assisted Service Dev Mode this skillopenshift/assisted-service138—~1.3kAutomated safety check: PassApache-2.0
Running CI PreflightPostHog/posthog-foss721—~1.5kAutomated safety check: PassMIT
Land TS MonoUKGovernmentBEIS/inspect_ai2.9k—~3kAutomated safety check: PassMIT
Code Documenterzebbern/claude-code-guide4.6k—~1kAutomated safety check: PassMIT
Cloud Agents Starterscalar/scalar16k—~1.4kAutomated safety check: PassMIT
Kingdee MCP DevWaHaiLong/KingdeeMCP103—~853Automated safety check: PassMIT

Similar skills

  • Running CI Preflight

    PostHog/posthog-foss

    Official

    Catch the deterministic CI failures reachable from your diff before pushing, with hogli ci:preflight.

    721 GitHub stars~1.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Land TS Mono

    UKGovernmentBEIS/inspect_ai

    Land a PR that requires a coordinated ts-mono submodule change.

    2.9k GitHub stars~3k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Code Documenter

    zebbern/claude-code-guide

    A skill your agent uses when adding docstrings, creating API documentation, or building documentation sites.

    4.6k GitHub stars~1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Minimal starter runbook for cloud agents to install dependencies, run packages, execute tests, and troubleshoot the Scalar monorepo quickly.

    16k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Kingdee MCP Dev

    WaHaiLong/KingdeeMCP

    Knowledge base for the Kingdee MCP Dev Squad. An agent skill from WaHaiLong/KingdeeMCP.

    103 GitHub stars~853 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • API Documenter

    alirezarezvani/claude-code-tresor

    Auto-generate API documentation from code and comments. An agent skill from alirezarezvani/claude-code-tresor.

    777 GitHub stars~1.5k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed

More from openshift/assisted-service

  • Assisted Service Writing Unit Tests

    openshift/assisted-service

    A skill your agent uses when writing non-subsystem tests in assisted-service.

    138 GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Works with

Questions about Assisted Service Dev Mode

What does Assisted Service Dev Mode do?

Build and code-generate assisted-service using skipper with podman. Assisted Service Dev Mode is an agent skill from openshift/assisted-service. Build and code-generate assisted-service using skipper with podman.

When should I use Assisted Service Dev Mode?

Assisted Service Dev Mode fits situations like: running make targets; building the service; regenerating code from swagger; running linters.

How do I install Assisted Service Dev Mode in Claude Code?

Run `npx skills add openshift/assisted-service --skill assisted-service-dev-mode -a claude-code`. Or copy the skill folder (.agents/skills/assisted-service-dev-mode in openshift/assisted-service) into .claude/skills/assisted-service-dev-mode in your project. Claude Code loads it when a task matches its description.

How do I install Assisted Service Dev Mode in Codex?

Run `npx skills add openshift/assisted-service --skill assisted-service-dev-mode -a codex`. Or copy the skill folder (.agents/skills/assisted-service-dev-mode in openshift/assisted-service) into .agents/skills/assisted-service-dev-mode in your project. Codex loads it when a task matches its description.

Can I use Assisted Service Dev Mode 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 openshift/assisted-service --skill assisted-service-dev-mode -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/assisted-service-dev-mode, .gemini/skills/assisted-service-dev-mode, .github/skills/assisted-service-dev-mode and .opencode/skills/assisted-service-dev-mode in your project.

What does Assisted Service Dev Mode need to run?

Going by SKILL.md and its folder, Assisted Service Dev Mode needs the command-line tools its instructions call (pip, go, podman and python3). Our summary lists: Python 3.

Does Assisted Service Dev Mode access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Assisted Service Dev Mode 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 Assisted Service Dev Mode use?

Assisted Service Dev Mode 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 Assisted Service Dev Mode use?

About 1.3k tokens (SKILL.md is roughly 5.4k 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 Assisted Service Dev Mode?

Skills that share tags, products or a category with Assisted Service Dev Mode: Running CI Preflight (PostHog/posthog-foss, 721 stars), Land TS Mono (UKGovernmentBEIS/inspect_ai, 2.9k stars), Code Documenter (zebbern/claude-code-guide, 4.6k stars) and Cloud Agents Starter (scalar/scalar, 16k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Assisted Service Dev Mode?

openshift (a GitHub organization) maintains it in openshift/assisted-service, which has 138 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.

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