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.
Kubernetes troubleshooting and resource management with kubectl When user works with Kubernetes, mentions kubectl, pods, deployments, or k8s errors
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shepherdjerred/monorepo kubectl-helper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .claude/skills/kubectl-helper && rm -rf skills-srcUse ~/.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/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .claude/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shepherdjerred/monorepo kubectl-helper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .agents/skills/kubectl-helper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .agents/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shepherdjerred/monorepo kubectl-helper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .cursor/skills/kubectl-helper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .cursor/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/shepherdjerred/monorepo.git --path packages/dotfiles/dot_agents/skills/kubectl-helper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shepherdjerred/monorepo kubectl-helper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .gemini/skills/kubectl-helper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .gemini/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install shepherdjerred/monorepo kubectl-helperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .github/skills/kubectl-helper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .github/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shepherdjerred/monorepo --skill kubectl-helper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shepherdjerred/monorepo kubectl-helper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/kubectl-helper .opencode/skills/kubectl-helper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kubectl-helper" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/kubectl-helper into .opencode/skills/kubectl-helper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubectl-helper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kubectl-helperKubernetes troubleshooting and resource management with kubectl When user works with Kubernetes, mentions kubectl, pods, deployments, or k8s errors
Kubectl Helper is an agent skill from shepherdjerred/monorepo. Kubernetes troubleshooting and resource management with kubectl When user works with Kubernetes, mentions kubectl, pods, deployments, or k8s errors
Its SKILL.md is about 2.8k 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 DevOps & Cloud, covering Container orchestration. It works with Kubernetes and Docker. The repository describes itself as: Monorepo for all of my projects. The licence is GPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit bc57ca5. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
kubectlgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use kubectl and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kubectl Helper loads about 2.8k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 428 words of instructions outside code blocks.
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.
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.
The full file from shepherdjerred/monorepo at commit bc57ca5, republished under its GPL-3.0 licence (© shepherdjerred). 428 words, ~2,799 tokens.
.claude/skills/kubectl-helper/SKILL.md (or your agent's skills folder).kubectl rollout pauseThis agent helps you work with Kubernetes clusters using kubectl for resource management, troubleshooting, and debugging.
The following kubectl commands are auto-approved and safe to use:
kubectl get - List resourceskubectl describe - Show detailed resource informationkubectl logs - View container logskubectl explain - Show resource documentationkubectl api-resources - List available resource typeskubectl version - Show version informationkubectl cluster-info - Display cluster informationkubectl config - Manage kubeconfigkubectl top - Show resource usageServer-side apply (recommended):
# Apply with server-side processing (better conflict resolution)
kubectl apply -f deployment.yaml --server-side
# Apply directory recursively
kubectl apply -f ./configs/ --server-side --recursive
# Force conflicts to be resolved server-side
kubectl apply -f deployment.yaml --server-side --force-conflictsPreview changes before applying:
# Show diff of what will change
kubectl diff -f deployment.yaml
# Dry run with full server-side validation
kubectl apply -f deployment.yaml --dry-run=server
# Client-side dry run (no server validation)
kubectl apply -f deployment.yaml --dry-run=clientWhy server-side apply?
Get resources:
kubectl get pods
kubectl get pods -n production
kubectl get deployments --all-namespaces
kubectl get nodes
kubectl get servicesAdvanced label selectors (2025):
# Single label match
kubectl get pods -l app=nginx
# Multiple labels (AND)
kubectl get pods -l app=nginx,env=production
# Set-based selectors
kubectl get pods -l 'env in (production,staging)'
kubectl get pods -l 'tier notin (frontend,backend)'
# Exists/not exists
kubectl get pods -l 'release' # has 'release' label
kubectl get pods -l '!release' # doesn't have 'release' label
# Bulk operations with labels
kubectl delete pods -l phase=test
kubectl scale deployment -l app=api --replicas=3Describe resources:
kubectl describe pod my-pod
kubectl describe node node-1
kubectl describe deployment my-appView logs:
kubectl logs my-pod
kubectl logs my-pod -c container-name
kubectl logs -f my-pod # Follow logs
kubectl logs my-pod --previous # Previous container logs
kubectl logs -l app=nginx # Logs from all pods with labelContext and namespace management:
kubectl config get-contexts
kubectl config current-context
kubectl config use-context production
kubectl config set-context --current --namespace=my-namespaceRollout management and canary deployments:
# View rollout status
kubectl rollout status deployment/my-app
# Pause rollout for manual canary analysis
kubectl rollout pause deployment/my-app
# After validation, resume rollout
kubectl rollout resume deployment/my-app
# Rollback if issues found
kubectl rollout undo deployment/my-app
# View rollout history
kubectl rollout history deployment/my-app
# Rollback to specific revision
kubectl rollout undo deployment/my-app --to-revision=2Canary deployment workflow:
# 1. Update deployment (triggers rollout)
kubectl apply -f deployment.yaml --server-side
# 2. Immediately pause to control rollout
kubectl rollout pause deployment/my-app
# 3. New pods start alongside old pods (manual canary)
kubectl get pods -l app=my-app -L version
# 4. Monitor metrics, test new version
# ... check logs, metrics, error rates ...
# 5. If good, resume full rollout
kubectl rollout resume deployment/my-app
# 6. If bad, rollback
kubectl rollout undo deployment/my-app# 1. Check pod status
kubectl get pod my-pod -o wide
# 2. Describe pod to see events
kubectl describe pod my-pod
# 3. Check logs
kubectl logs my-pod
# 4. Check previous container logs if crash looping
kubectl logs my-pod --previous
# 5. Check events in namespace
kubectl get events --sort-by='.lastTimestamp' | grep my-pod# Execute commands in pod
kubectl exec -it my-pod -- sh
kubectl exec -it my-pod -c container-name -- bash
# Port forward to local machine
kubectl port-forward my-pod 8080:80
# Copy files to/from pod
kubectl cp my-pod:/path/to/file ./local-file
kubectl cp ./local-file my-pod:/path/to/file# Check service endpoints
kubectl get endpoints my-service
# Describe service
kubectl describe service my-service
# Test DNS resolution
kubectl run -it --rm debug --image=busybox --restart=Never -- nslookup my-service
# Check network policies
kubectl get networkpolicies# Check resource usage
kubectl top nodes
kubectl top pods
kubectl top pods --containers
# Describe resource limits
kubectl describe pod my-pod | grep -A 5 Limits# JSON output
kubectl get pod my-pod -o json
# YAML output
kubectl get pod my-pod -o yaml
# Custom columns
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
# JSONPath
kubectl get pods -o jsonpath='{.items[*].metadata.name}'# By label
kubectl get pods -l app=nginx
kubectl get pods -l 'env in (production,staging)'
# By field
kubectl get pods --field-selector status.phase=Running
kubectl get pods --field-selector metadata.namespace!=kube-system# Watch for changes
kubectl get pods --watch
kubectl get pods -w
# Watch with timestamps
kubectl get pods --watch --output-watch-eventsAlways use version control for manifests:
# Good: Manifests in git
git add k8s/
git commit -m "Update deployment replicas"
kubectl apply -f k8s/ --server-side
# Bad: Imperative changes (lost on next apply)
kubectl scale deployment my-app --replicas=5Prefer server-side apply for all manifest applications
# Default to server-side
kubectl apply -f . --server-side --recursivePreview changes before applying:
# Always diff first
kubectl diff -f deployment.yaml
# Then apply
kubectl apply -f deployment.yaml --server-sideUse kubectl diff as pre-commit hook:
# .git/hooks/pre-commit
kubectl diff -f k8s/ --exit-code# Check current runtime
kubectl get nodes -o wide
# Look at CONTAINER-RUNTIME column
# Verify containerd
kubectl describe node <node-name> | grep "Container Runtime"resources:
limits:
memory: "256Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "250m"securityContext:
runAsNonRoot: true
runAsUser: 1000
readOnlyRootFilesystem: truelabels:
app: nginx
env: production
version: v1.2.3# Check image name and tag
kubectl describe pod my-pod | grep Image
# Check image pull secrets
kubectl get secrets
kubectl describe secret my-registry-secret
# Check node's ability to pull
kubectl describe node my-node | grep -A 10 Conditions# View current logs
kubectl logs my-pod
# View previous logs
kubectl logs my-pod --previous
# Check liveness/readiness probes
kubectl describe pod my-pod | grep -A 5 Probes
# Temporarily disable probes (edit deployment)
kubectl edit deployment my-app# Check events
kubectl describe pod my-pod | grep Events -A 10
# Check node resources
kubectl top nodes
kubectl describe nodes
# Check PVC status
kubectl get pvc#!/bin/bash
POD=$1
echo "=== Pod Status ==="
kubectl get pod "$POD" -o wide
echo "\n=== Pod Events ==="
kubectl describe pod "$POD" | grep Events -A 20
echo "\n=== Pod Logs ==="
kubectl logs "$POD" --tail=50
echo "\n=== Resource Usage ==="
kubectl top pod "$POD" --containers# CPU
kubectl top pods --all-namespaces --sort-by=cpu
# Memory
kubectl top pods --all-namespaces --sort-by=memory# Check cluster health
kubectl get nodes
kubectl get componentstatuses
kubectl get pods --all-namespaces --field-selector=status.phase!=Running
# Check critical system pods
kubectl get pods -n kube-system# Delete all pods with label
kubectl delete pods -l app=old-version
# Scale all deployments
kubectl get deployments -o name | xargs -I {} kubectl scale {} --replicas=3
# Restart all pods in deployment (rollout restart)
kubectl rollout restart deployment my-app# Add debug container to running pod (K8s 1.23+)
kubectl debug my-pod -it --image=busybox --target=my-container
# Create debug pod as copy
kubectl debug my-pod -it --copy-to=my-pod-debug --container=debugger --image=busyboxAsk the user for clarification when:
© shepherdjerred, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/dotfiles/dot_agents/skills/kubectl-helper of shepherdjerred/monorepo.
Open the folder on GitHubat commit bc57ca5
Kubectl Helper 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kubectl Helper this skillshepherdjerred/monorepo | 112 | — | ~2.8k | Automated safety check: Pass | GPL-3.0 | |
| LangBot Deployment Guidelangbot-app/LangBot | 18k | — | ~1.2k | Automated safety check: Notes | Apache-2.0 | |
| Build Openshell Mxc WindowsNVIDIA/OpenShell | 16k | — | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| Devopsnicepkg/auto-company | 194 | 2 repos | ~814 | Automated safety check: Pass | MIT | |
| Debug Openshell ClusterNVIDIA/OpenShell | 16k | — | ~19k | Automated safety check: Notes | Apache-2.0 | |
| Deepseek Harness Dockerrunzhliu/deepseek-harness-docker | 110 | — | ~2.7k | Automated safety check: Notes | MIT |
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.
NVIDIA/OpenShell
Maintain and validate OpenShell's build-only Windows MSVC lane for x64 and ARM64.
nicepkg/auto-company
Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm).
NVIDIA/OpenShell
Debug why an OpenShell gateway deployment is unhealthy, unreachable, or unable to create sandboxes.
runzhliu/deepseek-harness-docker
Deploy, configure, verify, upgrade, and troubleshoot DeepSeek Harness with the community Docker, Docker Compose, rootless Podman, and Helm runtime, including the built-in Chromium/noVNC browser…
rodrigorodrigues/microservices-design-patterns
Check Docker Hub for a new :latest image on a managed service and roll it out to the home Pi k8s cluster, the same way authentication-service was deployed on 2026-08-29 (SSH + kubectl rollout…
shepherdjerred/monorepo
Bun runtime APIs and current operational patterns for files, processes, modules, networking, databases, tests, and deployment.
shepherdjerred/monorepo
Current Bun test runner guidance for discovery, isolation, parallelism, sharding, changed tests, mocks, timers, snapshots, coverage, DOM Testing Library, and integration teardown.
shepherdjerred/monorepo
Current Bun workspace guidance for isolated and hoisted linkers, catalogs, filters, scripts, dependency classes, lockfiles, lifecycle trust, caches, publishing, TypeScript package exports, and…
shepherdjerred/monorepo
This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…
shepherdjerred/monorepo
This skill should be used when the user asks to "create a Figma design", "design in Figma", "make a Figma mockup", "create an app icon", "design UI", "render JSX to Figma", "export from Figma"…
shepherdjerred/monorepo
Current Fish shell scripting, functions, abbreviations, completions, variables, events, configuration, plugins, testing, and safety guidance.
Works with
Categories
Kubernetes troubleshooting and resource management with kubectl When user works with Kubernetes, mentions kubectl, pods, deployments, or k8s errors. Kubectl Helper is an agent skill from shepherdjerred/monorepo.
Kubectl Helper fits situations like: works with Kubernetes; mentions kubectl.
Run `npx skills add shepherdjerred/monorepo --skill kubectl-helper -a claude-code`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/kubectl-helper in shepherdjerred/monorepo) into .claude/skills/kubectl-helper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shepherdjerred/monorepo --skill kubectl-helper -a codex`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/kubectl-helper in shepherdjerred/monorepo) into .agents/skills/kubectl-helper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shepherdjerred/monorepo --skill kubectl-helper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kubectl-helper, .gemini/skills/kubectl-helper, .github/skills/kubectl-helper and .opencode/skills/kubectl-helper in your project.
Going by SKILL.md and its folder, Kubectl Helper needs the command-line tools its instructions call (kubectl and git). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Kubectl Helper is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Kubectl Helper: LangBot Deployment Guide (langbot-app/LangBot, 18k stars), Build Openshell Mxc Windows (NVIDIA/OpenShell, 16k stars), Devops (nicepkg/auto-company, 194 stars) and Debug Openshell Cluster (NVIDIA/OpenShell, 16k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shepherdjerred (a GitHub user) maintains it in shepherdjerred/monorepo, which has 112 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 9, 2026.
Source: shepherdjerred/monorepo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.