Devops Pipeline
luongnv89/skills
Configure pre-commit hooks and lean GitHub Actions for shift-left quality assurance.
Codifies devantler-tech engineering practices: agent-first development workflow, TDD, CI/CD pipelines, GitHub Flow, code quality gates, and Kubernetes workflows with ksail.
$ npx skills add devantler-tech/ksail --skill ways-of-working -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install devantler-tech/ksail ways-of-working --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/devantler-tech/ksail.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ways-of-working .claude/skills/ways-of-working && 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 "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .claude/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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/devantler-tech/ksail/tree/main/.agents/skills/ways-of-workingType 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 devantler-tech/ksail --skill ways-of-working -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install devantler-tech/ksail ways-of-working --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devantler-tech/ksail.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ways-of-working .agents/skills/ways-of-working && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .agents/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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 devantler-tech/ksail --skill ways-of-working -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install devantler-tech/ksail ways-of-working --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devantler-tech/ksail.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ways-of-working .cursor/skills/ways-of-working && 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 "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .cursor/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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/devantler-tech/ksail.git --path .agents/skills/ways-of-working--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 devantler-tech/ksail --skill ways-of-working -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install devantler-tech/ksail ways-of-working --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devantler-tech/ksail.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ways-of-working .gemini/skills/ways-of-working && 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 "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .gemini/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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 devantler-tech/ksail ways-of-workingInstalls 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 devantler-tech/ksail --skill ways-of-working -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/devantler-tech/ksail.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ways-of-working .github/skills/ways-of-working && 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 "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .github/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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 devantler-tech/ksail --skill ways-of-working -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install devantler-tech/ksail ways-of-working --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devantler-tech/ksail.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ways-of-working .opencode/skills/ways-of-working && 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 "ways-of-working" agent skill from https://github.com/devantler-tech/ksail/tree/main/.agents/skills/ways-of-working into .opencode/skills/ways-of-working/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ways-of-working", 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.
ways-of-workingCodifies devantler-tech engineering practices: agent-first development workflow, TDD, CI/CD pipelines, GitHub Flow, code quality gates, and Kubernetes workflows with ksail.
Ways Of Working is an agent skill from devantler-tech/ksail. Codifies devantler-tech engineering practices: agent-first development workflow, TDD, CI/CD pipelines, GitHub Flow, code quality gates, and Kubernetes workflows with ksail. Use when filing issues, planning work, setting up projects, configuring CI/CD, writing tests, debugging, or making architectural decisions.
Its SKILL.md is about 2k 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, CI/CD and Test-driven development. It works with Kubernetes and GitHub. The repository describes itself as: All-in-one Kubernetes SDK: create, manage, and operate clusters across distributions (Kind, K3d, Talos, VCluster) with built-in GitOps, secrets, AI assistant, and MCP server… The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5d6163a. 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:
goFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comtestkube.iorefactoring.gurusemantic-release.gitbook.ioconventionalcommits.orggoreleaser.comFrom 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.
Ways Of Working loads about 2k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 882 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 devantler-tech/ksail at commit 5d6163a, republished under its Apache-2.0 licence (© devantler-tech). 882 words, ~2,041 tokens.
.claude/skills/ways-of-working/SKILL.md (or your agent's skills folder).Development is agent-first — every change starts as a structured issue and flows through issue → plan → implement → test → review:
Follow the test-driven-development skill rigorously — write the test first, watch it fail, write minimal code to pass.
| Type | Tooling | When to run |
|---|---|---|
| Unit tests | SDK test frameworks (e.g. go test, xunit, jest) | CI on every PR |
| Integration tests | SDK test frameworks | CI on every PR |
| E2E / system tests | GitHub Actions workflows that exercise the app/binary/service as an end user would | CI on every PR; move to merge_group if the suite becomes too heavy |
| Benchmark tests | SDK benchmark frameworks (e.g. BenchmarkDotNet, go test -bench) | CI on every PR |
For platform engineering work, ksail provides the build → run → publish loop and Testkube runs the actual test suites inside the cluster:
| Type | App-repo equivalent | Tooling | What it does |
|---|---|---|---|
| Linting / scanning | Unit tests | Standard linters & scanners (e.g. kubeconform, kube-linter, Trivy) | Validate manifests statically — no cluster needed |
| Integration tests | Integration tests | Ephemeral local cluster (ksail cluster create) + Testkube | Spin up a Docker cluster, deploy workloads, and run Testkube test suites against them |
| E2E / system tests | E2E / system tests | Ephemeral or real cluster + Testkube | Deploy to a full environment (local or remote) and run end-to-end Testkube test suites |
Platform lifecycle commands:
| Command | Purpose |
|---|---|
ksail project init | Scaffold a new cluster configuration |
ksail cluster create | Spin up the cluster locally (Docker) or on real infrastructure and verify workloads reconcile |
ksail workload push | Push Kubernetes manifests as OCI artifacts to a container registry |
Every pull request must pass:
// WORKAROUND: comment with a linked issue) and schedule its removal.Prefer popular, well-maintained third-party libraries over writing custom implementations. Only roll your own when no suitable library exists or when the dependency would be disproportionately heavy.
Follow https://refactoring.guru guidelines for refactoring techniques and design patterns.
Use GitHub Flow:
main.merge_group) when the repository is configured for it; otherwise merge the pull request normally.Each repository has two core workflow files — ci.yaml and cd.yaml — plus a thin release.yaml that calls a reusable workflow (see Releases). Reusable logic is extracted into local GitHub Actions under .github/actions/:
| Event | What runs |
|---|---|
pull_request | All tests (unit, integration, E2E, benchmarks), linting, security & quality scanning, coverage & benchmark regression checks. Move E2E to merge_group only if the suite becomes too heavy. |
merge_group | CD to dev environment. |
push to main | Publish artifacts (packages, container images, etc.). |
Semver tag (vX.X.X) | CD to prod environment. |
| Event | What runs |
|---|---|
pull_request | Linting & scanning (kubeconform, kube-linter, Trivy, etc.) plus integration tests on an ephemeral local cluster (ksail cluster create + Testkube). Move integration tests to merge_group if the suite becomes too heavy. |
merge_group | CD to dev — deploy to staging infrastructure (e.g. Hetzner). |
Semver tag (vX.X.X) | CD to prod — ksail cluster update, ksail workload push, ksail workload reconcile. |
Releases are automated via the devantler-tech/reusable-workflows/.github/workflows/create-release.yaml reusable workflow. It runs semantic-release on push to main, calculates the next semver from conventional commit history, and creates the tag + GitHub release — which in turn triggers the CD pipeline above.
For application publishing, always use upstream releasers — e.g. GoReleaser for Go or dotnet-releaser for .NET — rather than hand-rolling publish scripts.
© devantler-tech, 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
Just SKILL.md in .agents/skills/ways-of-working of devantler-tech/ksail.
Open the folder on GitHubat commit 5d6163a
Ways Of Working 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 |
|---|---|---|---|---|---|---|
| Ways Of Working this skilldevantler-tech/ksail | 165 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Devops Pipelineluongnv89/skills | 131 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Project Referencesaiskillstore/marketplace | 433 | — | ~2.3k | Automated safety check: Notes | None | |
| GitHub Runnermagnus919/agent-skills | 115 | — | ~1.7k | Automated safety check: Pass | MIT | |
| KubeSphere DevOps Overviewkubesphere/kubesphere | 17k | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Release And CIeser/stack | 128 | — | ~665 | Automated safety check: Pass | Custom licence |
luongnv89/skills
Configure pre-commit hooks and lean GitHub Actions for shift-left quality assurance.
aiskillstore/marketplace
Look up conventions, patterns, and concrete implementations from your own GitHub repositories checked out locally under ~/projects/referenzen/.
magnus919/agent-skills
Deploy, manage, and troubleshoot self-hosted GitHub Actions runners.
kubesphere/kubesphere
Explains the KubeSphere DevOps extension: Jenkins-based CI/CD, ArgoCD GitOps, how DevOps projects map to namespaces, and project naming rules.
eser/stack
Releases and CI for eserstack: the shared version of all packages, the release command, the tag-driven build.yml run, JSR and npm publishing, changelog and breaking changes, release recovery, GitHub…
GreptimeTeam/greptimedb
Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.
devantler-tech/ksail
Skill for building with the Astro web framework. An agent skill from devantler-tech/ksail.
devantler-tech/ksail
Build terminal user interfaces with Go and Bubbletea framework.
devantler-tech/ksail
A skill your agent uses when users ask how to write, explain, customize, migrate, secure, or troubleshoot GitHub Actions workflows, workflow syntax, triggers, matrices, runners, reusable workflows…
devantler-tech/ksail
Use the ksail CLI to spin up and manage Kubernetes clusters (Kind/K3d/Talos/vCluster/KWOK — local via Docker; EKS — cloud via AWS) and GitOps workloads declaratively.
devantler-tech/ksail
Repository maintenance for devantler-tech/ksail — triage, bug fixes, CI/workflow health & CI-failure/flaky investigation, docs upkeep, driving every open PR (external contributions included) to a…
Works with
Categories
Codifies devantler-tech engineering practices: agent-first development workflow, TDD, CI/CD pipelines, GitHub Flow, code quality gates, and Kubernetes workflows with ksail. Ways Of Working is an agent skill from devantler-tech/ksail. Codifies devantler-tech engineering practices: agent-first development workflow, TDD, CI/CD pipelines, GitHub Flow, code quality gates, and Kubernetes workflows with ksail.
Ways Of Working fits situations like: setting up projects; configuring CI/CD; making architectural decisions.
Run `npx skills add devantler-tech/ksail --skill ways-of-working -a claude-code`. Or copy the skill folder (.agents/skills/ways-of-working in devantler-tech/ksail) into .claude/skills/ways-of-working in your project. Claude Code loads it when a task matches its description.
Run `npx skills add devantler-tech/ksail --skill ways-of-working -a codex`. Or copy the skill folder (.agents/skills/ways-of-working in devantler-tech/ksail) into .agents/skills/ways-of-working 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 devantler-tech/ksail --skill ways-of-working -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ways-of-working, .gemini/skills/ways-of-working, .github/skills/ways-of-working and .opencode/skills/ways-of-working in your project.
Going by SKILL.md and its folder, Ways Of Working needs the command-line tools its instructions call (go). Our summary lists: Docker.
SKILL.md names 6 domains. As links in the text: github.com, testkube.io, refactoring.guru, semantic-release.gitbook.io, conventionalcommits.org and goreleaser.com. 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.
Ways Of Working is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k 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 Ways Of Working: Devops Pipeline (luongnv89/skills, 131 stars), Project References (aiskillstore/marketplace, 433 stars), GitHub Runner (magnus919/agent-skills, 115 stars) and KubeSphere DevOps Overview (kubesphere/kubesphere, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
devantler-tech (a GitHub organization) maintains it in devantler-tech/ksail, which has 165 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 10, 2026.
Source: devantler-tech/ksail on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.