Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Rossoctl:Weather Demo

ASecurity

Deploy the weather agent and MCP tool demo via CLI (no UI required). Uses pre-built ghcr.io images, deploys to team1. Optimized for speed (~15s).

302 stars
0 votes
0 copies
0 views
Added 9/20/2026
devopsshellbashdockerkubernetestestinggitapi

Works with

cliapimcp

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add rossoctl/rossoctl --skill rossoctl:weather-demo --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rossoctl:Weather Demo?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Rossoctl:Weather Demo
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rossoctl-rossoctl-weather-demo/badge)](https://www.skillsdirectory.com/skills/rossoctl-rossoctl-weather-demo)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: rossoctl:weather-demo
description: Deploy the weather agent and MCP tool demo via CLI (no UI required). Uses pre-built ghcr.io images, deploys to team1. Optimized for speed (~15s).
---

# Weather Agent Demo (CLI)

Deploy the Weather Service agent and Weather Tool without the Rossoctl UI.
Uses existing CI scripts and Kubernetes manifests for a fully CLI-driven workflow.
Optimized for speed: pre-built images from ghcr.io, all commands in parallel, no waits.

## When to Use

- User wants to run the weather agent demo without the UI
- User asks "deploy weather demo", "deploy weather agent", or "run weather demo via CLI"
- User wants a quick end-to-end test of agent + tool deployment

## Prerequisites

- Rossoctl platform deployed (via `scripts/kind/setup-rossoctl.sh` or equivalent)
- `kubectl` configured and pointing at the target cluster
- Ollama running locally with `llama3.2:3b-instruct-fp16` model, OR an OpenAI API key

## Context-Safe Execution (MANDATORY)

Deploy/build commands produce large output. Use `run_in_background: true` on the Bash
tool to keep output out of context. Do NOT use shell redirects (`> file 2>&1`) as they
break permission matching.

Before running any commands, record the start time:

```bash
date +%s
```

> Remember this value as the start timestamp. Do NOT redirect to a file.

## Workflow

```mermaid
flowchart TD
    START(["/rossoctl:weather-demo"]) --> ALL["Step 1: Deploy all in parallel"]:::build
    ALL --> PATCH["Step 2: Fix Ollama connectivity"]:::debug
    PATCH --> DONE([Demo Running])

    classDef build fill:#795548,stroke:#333,color:white
    classDef debug fill:#FF9800,stroke:#333,color:white
```

> Follow this diagram as the workflow. Do NOT add verification or testing steps beyond Step 2.

## Step 1: Deploy All in Parallel

Both images are pre-built on `ghcr.io/rossoctl/examples/`. The namespace setup
is a no-op if team1 already exists. Launch **all three as parallel Bash tool calls**:

**Bash call 1** — Setup team1 namespace:
```bash
./.github/scripts/operator/70-setup-team1-namespace.sh
```

**Bash call 2** — Deploy weather-service agent:
```bash
./.github/scripts/operator/74-deploy-weather-agent.sh
```

**Bash call 3** — Deploy weather-tool:
```bash
./.github/scripts/operator/72-deploy-weather-tool.sh
```

> IMPORTANT: All three commands MUST be run as parallel Bash tool calls with
> `run_in_background: true` and `timeout: 600000` (three separate Bash invocations
> in the same response). Then wait for all to complete using TaskOutput.

## Step 2: Fix Ollama Connectivity (REQUIRED on Kind)

The deployment manifest defaults to `LLM_API_BASE=http://dockerhost:11434/v1` which
does not resolve inside Kind. Patch directly with `host.docker.internal`:

```bash
kubectl patch deployment weather-service -n team1 --type=strategic -p '{"spec":{"template":{"spec":{"containers":[{"name":"agent","env":[{"name":"LLM_API_BASE","value":"http://host.docker.internal:11434/v1"},{"name":"LLM_MODEL","value":"llama3.2:3b-instruct-fp16"}]}]}}}}'
```

> On Docker Desktop (macOS/Windows), use `host.docker.internal`.
> On Podman, use `host.containers.internal`.
> Do NOT wait for rollout — skip `kubectl rollout status` to save time.

Then report elapsed time:

```bash
date +%s
```

> Compute elapsed seconds by subtracting this value from the start timestamp recorded
> earlier. Report the difference in the completion message.

## Done

Report the elapsed time. Do NOT run any additional verification, pod checks, log checks,
or end-to-end curl tests.

## LLM Configuration

### Switch to OpenAI

```bash
kubectl create secret generic openai-secret -n team1 \
  --from-literal=apikey="<YOUR_OPENAI_API_KEY>"

kubectl set env deployment/weather-service -n team1 -c agent \
  LLM_API_BASE="https://api.openai.com/v1" \
  LLM_MODEL="gpt-4o-mini-2024-07-18"

kubectl patch deployment weather-service -n team1 --type=json -p='[
  {"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{
    "name":"LLM_API_KEY",
    "valueFrom":{"secretKeyRef":{"name":"openai-secret","key":"apikey"}}
  }},
  {"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{
    "name":"OPENAI_API_KEY",
    "valueFrom":{"secretKeyRef":{"name":"openai-secret","key":"apikey"}}
  }}
]'
```

## Cleanup

Since both images are pulled from ghcr.io (no Shipwright builds), cleanup is just
deleting the deployments and services:

```bash
kubectl delete deployment weather-service weather-tool -n team1 --ignore-not-found
kubectl delete svc weather-service weather-tool-mcp -n team1 --ignore-not-found
```

Or delete the entire namespace:

```bash
kubectl delete namespace team1
```

## Troubleshooting

### Agent Can't Reach Ollama

See [Step 2: Fix Ollama Connectivity](#step-2-fix-ollama-connectivity-required-on-kind) above.

| Container runtime | Hostname |
|-------------------|----------|
| Docker Desktop | `host.docker.internal` |
| Podman (macOS) | `host.containers.internal` |
| Kind default | `dockerhost` (usually doesn't resolve) |

### Agent Can't Reach Weather Tool

```bash
kubectl get svc -n team1 | grep weather-tool
# Should show: weather-tool-mcp   ClusterIP   ...   8000/TCP
```

The default `MCP_URL` is `http://weather-tool-mcp.team1.svc.cluster.local:8000/mcp`.

## Related Skills

- `rossoctl:agent` - Create custom A2A agents from scratch
- `rossoctl:operator` - Deploy Rossoctl platform and demo agents
- `rossoctl:deploy` - Deploy Kind cluster
- `k8s:pods` - Debug pod issues
- `k8s:logs` - Query component logs

Attribution

rossoctlrossoctl
View sourceMore from rossoctl →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

393431 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2459130 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

929660 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805540 votes
View all in devops →