publish-image
This skill publishes container images end to end from a project folder.
Identity proven by GitHub's verified organisation badge (nebius)
- Agents
- Claude Code
- License
- Apache-2.0 (permissive)
- Pin
- b1924depinned Oct 9, 2026
- Context cost
- about 1,700 tokenswhen the skill loads
- GitHub stars
- 7on nebius/nebius-ps-services
- Scripts
- 1 script
What it does
“Use only when explicitly asked to publish container images end to end: collect inputs, set up optional assets, prepare/merge a PR, tag, wait, verify tags/digest, and report. Use github-workflows for workflow YAML.”
Generated summary from the skill's own text
This skill publishes container images end to end from a project folder. It handles version inputs, PR preparation and review, tag creation, and artifact verification while enforcing repository protections and requiring human approval at key gates. The skill integrates with GitHub workflows and includes local validation scripts.
When to use it
- Publishing a container image release with version control and CI integration.
- Setting up release assets when the project lacks a publication workflow.
- Running specific phases like prep, publish, or end-to-end complete mode.
- Verifying published artifacts and digests after tagging.
When not to
- When you need to modify or manage workflow YAML files directly, use github-workflows skill instead.
- For projects without Git or GitHub repository access.
- When you want to skip reviews, merge approvals, or other repository protections.
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add nebius/nebius-ps-services --skill publish-imageInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install nebius/nebius-ps-services publish-image@b1924de70353e4e688be5017ec608ec9b89c8ff4Installs the commit we checked (b1924de).
Copy by hand
Download the folder at b1924de and put it in .claude/skills/publish-image for Claude Code and in .agents/skills/publish-image for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "publish-image" by Nebius. Source, pinned to commit b1924de70353e4e688be5017ec608ec9b89c8ff4: https://github.com/nebius/nebius-ps-services/tree/b1924de70353e4e688be5017ec608ec9b89c8ff4/skills/publish-image 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/publish-image/ for Claude Code and .agents/skills/publish-image/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/nebius/publish-image
SKILL.md at the pin
--- name: publish-image description: "Use only when explicitly asked to publish container images end to end: collect inputs, set up optional assets, prepare/merge a PR, tag, wait, verify tags/digest, and report. Use github-workflows for workflow YAML." disable-model-invocation: true --- # Publish Image ## Help For `$publish-image --help` or `$publish-image -h` (including native Claude forms), return concise help and stop before any workflow step. State the purpose and invocation policy. Show exact usage for every public action. Describe each public action, positional argument, and flag in one concise line, including `-h, --help`; say "No additional public flags" when there are no others. Use only the documented public interface. For internal or coordinator-only skills, state that boundary and that no standalone public workflow action exists. After the selected `SKILL.md` is loaded, help is report-only: do not call any additional tools, inspect project state, or modify files, private state, Git, or external systems. Never expose private helper actions or flags or treat help as workflow authorization. ## Agent Compatibility Use `$publish-image` in Codex, `/publish-image` in Claude Code, or `/skills:publish-image` in the Claude plugin. Dollar-prefixed skill examples refer to the same named skill on either host; use the native invocation syntax. Preserve the declared invocation policy, approvals and workflow ownership. Use available native tools; an unavailable required capability is a blocker, never permission to bypass a guard or claim unobserved behavior. ## Purpose Publish a container image release from the current project folder. This is a doer-first skill: setup/guidance is still supported, but release execution is the primary workflow when the user asks to publish. ## Use This Skill For - Publishing a container image end to end. - Setting up image release assets only when the user asks for setup or required assets are missing. - Running one explicit phase: `setup`, `prep`, `publish`, or `complete`. - Producing a final publish report with PR, tag, workflow, image tag, and digest evidence. ## Inputs Accepted Common flags: - `--mode setup|prep|publish|complete`; use `complete` for an end-to-end publish request. - `--tag X.Y.Z` or `<tag-prefix>-vX.Y.Z`. - `--project-dir <path>`; default current working directory. - `--main-branch <branch>`; default the repository default branch. - `--tag-prefix <prefix>`; derive from project name only when unambiguous. - `--merge-method squash|merge|rebase`; default `squash`. - `--wait` or `--no-wait`; default `--wait` for `publish` and `complete`. Image inputs: - `--project-name` - `--image-name` as a full image reference, for example `[HOST[:PORT]/]NAMESPACE/REPOSITORY` - `--registry-host` - `--context` - `--dockerfile` - `--platforms` - `--publish-environment` - registry secret or variable names, never secret values - the approved `container` build and release contract: context, Dockerfile or Bake target, supported platforms, expected OCI metadata, vulnerability policy, SBOM/provenance requirements, and signing/verification policy If required values are missing and cannot be derived from the repository, ask the user before continuing. ## Workflow Read [ordinary publication](references/ordinary-publication.md) before effects. 1. Resolve required explicit version, project, destination, tag prefix and live default. Setup-only installs requested assets and returns without publication. 2. For complete/prep, use create-pr intake before branch movement. Reuse the current feature; from default create a feature carrying the local work. 3. The helper's prep mode changes content only. Validate all repository changes, commit and push through create-pr's canonical whole-repository transaction. 4. Run local review-pr, repair safe findings through the private preparation handoff, revalidate and re-review. Stop for unsafe findings or human objections. Public prep stops at the reviewed PR. Complete routes merge only to merge-pr. 5. Observe actual protected merge, prove its exact result is in remote default history, and require passing applicable result CI. A queue is still pending. 6. In a clean isolated clone at that exact result, verify release metadata. Use helper tag mode to create an annotated tag, record its object, then push mode with that exact object. Never tag latest main or alter the source worktree. 7. Observe the exact tag/result publication workflow and verify the published artifact and digest. Report all evidence or the precise blocker. ## Setup Assets Use setup mode when the project does not already have a release flow: - `assets/CHANGELOG.md.template` - `assets/publish-image.sh.template` The image-publish workflow template is owned only by `$github-workflows`; use that skill's canonical image-publish asset instead of keeping a duplicate here. The project-local helper script is optional, but it is a maintained runnable helper template, not a documentation stub. Keep it behaviorally aligned with the skill-owned `scripts/publish-image-doer.sh`, which remains the canonical doer path. ## Guardrails - Agentic SDLC is excluded; preserve its owners and exact promoted SHA. - Complete authorization covers the necessary ordinary PR/review/merge/tag flow; do not request repeated commit, merge or routine Actions approval. - Missing inputs, credentials, unsafe findings, human objections and additional protection requirements are blockers. Never bypass protections or use a PAT merge fallback. Agent review stays local; Actions runs deterministic jobs only. - Prep never stages, commits, switches branches or pushes. create-pr owns those effects with normal hooks and repository-root `git add -A`. - Publishing tags never edits release content. The reviewed changelog and chart metadata (when applicable) must already be present in the verified result. - Never force-push, replace a tag, tag an unrelated default tip, or claim queued work is merged. Preserve unrelated user work and exact resume evidence. ## Learning Loop When using this skill, capture durable, reusable, public-safe learnings in the narrowest appropriate surface only when the task contract allows source edits. For read-only/report-only work, or when a learning is not public-safe, evidence-backed, in scope, or free of unverified/vendor-specific claims, do not edit skill sources; report that it was skipped. Do not capture secrets, private URLs, customer data, raw logs, or one-off local state. ## Output Contract Return: - mode, project directory, tag, version, tag prefix - release branch, PR URL, and merge result when `complete` mode is used - pushed tag and workflow run URL/conclusion - published image tags and digest verification - validation commands run - blockers, skipped live checks, or required user approvals ## Resources - `scripts/publish-image-doer.sh` - `assets/CHANGELOG.md.template` - `assets/publish-image.sh.template` - `$github-workflows` for image-publish workflow YAML
From nebius/nebius-ps-services at b1924de, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at b1924deFiles
- SKILL.md7.1 KB · b9bebd016260
- README.md3.2 KB · 377945c5ae30
- agents/
- openai.yaml444 B · 053f6e40826b
- assets/
- CHANGELOG.md.template914 B · 149519a010fe
- publish-image.sh.template16 KB · a1e592a4d576
- evals/
- evals.json3.2 KB · c7f801ff9877
- trigger-prompts.csv930 B · a3324f6ce9e8
- references/
- ordinary-publication.md2.7 KB · 6c4ed04c49f3
- scripts/
- publish-image-doer.sh16 KB · 5447df9520eb
9 files, 51 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at b1924deMore from Nebius
agent-development
This skill guides building the NPA chat agent backend using a grounded-first routing architecture that minimizes token spending.
Claude Code, Codex, Cursor +4 · about 5.7K tokens · pinned 6 days ago
author-npa-workflow
Helps authors write and validate NPA workflow YAML specifications, which are declarative state machines that orchestrate tools via SkyPilot.
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
cosmos
This skill enables the agent to work with Cosmos, a world model for synthetic data and video generation.
Claude Code, Codex, Cursor +4 · about 1.6K tokens · pinned 6 days ago
cosmos3-npa-workflow
This skill helps agents write, validate, and submit npa.workflow YAML specifications for Cosmos 3 image and video generation tasks.
Claude Code, Codex, Cursor +4 · about 1.7K tokens · pinned 6 days ago
cosmos3-post-training
This skill guides planning and understanding of Cosmos3 supervised fine-tuning workflows for robotic policy training on NPA infrastructure.
Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago
curobo
This skill enables agents to run NVIDIA cuRobo V2 motion planning for robotic arm pose planning and benchmarking on CUDA GPUs.
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
Related in Cloud and DevOps
n8n-cli
This skill enables agents to manage n8n workflows, credentials, executions, and instance resources via the n8n CLI command-line tool.
by n8nOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago
managing-streamlit-apps
Manage Streamlit apps running in PostHog sandboxes through the full lifecycle: create, set or edit source code, start and stop the sandbox, poll status, and…
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago
release-candidate-prep
Prepares a local Python SDK release candidate in a dedicated Git worktree when explicitly invoked with a version number.
by OpenAIOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago
cloud-run-basics
Deploys and manages Google Cloud Run services, jobs, and worker pools for running containerized applications or source code.
by GoogleOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 6 days ago
debug-openshell-cluster
Diagnoses OpenShell gateway deployment problems across Docker, Podman, Kubernetes, and VM compute platforms.
by NVIDIAOfficial publisher
Claude Code, Codex, Cursor +4 · about 19.1K tokens · pinned 6 days ago
hf-cloud-aws-context-discovery
This skill reads the user's local AWS configuration to discover their active profile, region, account ID, and caller identity before any AWS work begins.
by Hugging FaceOfficial publisher
Claude Code, Codex, Cursor +4 · about 830 tokens · pinned 6 days ago
Open roles at Nebius
5 of 83 open roles on the jobs board
- Senior Software Engineer (Capacity and Quota Management)
Amsterdam, Netherlands; Berlin, Germany; United Kingdom
- Senior Backend Software Engineer (Observability)
Amsterdam, Netherlands (Remote)
- Lead Security Automation Engineer
Israel
- Senior Software Engineer (Data Platform, C++)
London, United Kingdom
- Senior AI Infrastructure Systems Engineer (R&D / GPU / AI)
United States