dev-verify-loop
Use when iteratively verifying operator changes in development — code edit, stop operator, optionally regenerate manifests or CRDs, restart operator, verify.
Skill by konflux-ci
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/konflux-ci-dev-verify-loop
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dev-verify-loop
What's inside
- Skill name
dev-verify-loop- Description
- Use when iteratively verifying operator changes in development — code edit, stop operator, optionally regenerate manifests or CRDs, restart operator, verify. Use when the user says "verify", "test this change", "restart the operator", or needs a stop-rebuild-run cycle.
- License
- Apache-2.0
- Instructions
- 99 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- stop-operator.sh · scripts/
SKILL.md (first lines)
# Local Dev Verification Loop
Iterative stop-rebuild-restart cycle for the Konflux operator running outside the cluster via `make run`. Each iteration: stop the operator process, optionally regenerate/install manifests, restart, and verify.
## When to Use
- Verifying operator code changes against a running cluster
- The operator is running outside the cluster via `make run` (development mode)
- You need to stop and restart the operator between iterations
**Prerequisites:** A Konflux environment is deployed and the operator is running via `make run` in a backgrounded terminal. For local Kind setup, see the `local-dev-setup` skill.
## The Loop
Each verification iteration follows these steps:
1. **Stop the operator** — kill the `make run` process (see "Stopping the Operator" below)
2. **If upstream kustomizations changed** (`operator/upstream-kustomizations/`) — rebuild the embedded manifests: `bash operator/pkg/manifests/rebuild-upstream-manifests.sh .`
3. **If API types, RBAC markers, or webhook config changed** — run `cd operator && make manifests generate`
4. **If CRD schema changed** (fields added/removed/renamed in `*_types.go`) — run `cd operator && make install`
5. **Start the operator** — run `cd operator && make run` (run in the background)
6. **Wait for startup** — poll logs for `"starting manager"` or controller registration messages
7. **Verify the change** — check logs, inspect resources, confirm expected behavior
8. **If not correct** — fix the code and go back to step 1
## Stopping the Operator
**Kill ONLY the operator process — nothing else. NEVER use `pkill`, `killall`, or any broad kill command.**
```bash
bash skills/dev-verify-loop/scripts/stop-operator.sh
```
The script finds the `go run ... ./cmd/main.go` process by its command line, kills it and its child processes (the compiled binary), and confirms everything stopped.
## When to Regenerate / Rebuild
**Rebuild upstream manifests** when files in `operator/upstream-kustomizations/` changed:
```bash
bash operator/pkg/manifests/rebuild-upstream-manifests.sh .
```
This runs `kustomize build` for each component and writes the result to `operator/pkg/manifests/<component>/manifests.yaml`, then extracts upstream-derived CRDs needed by envtest into `operator/test/crds/`. These YAML files are embedded into the operator binary via `//go:embed`, so the rebuild must happen before `make run` for changes to take effect.
**Run `make manifests generate`** from `operator/` when ANY of these changed:
- `operator/api/` — CRD types, marker comments
- RBAC markers (`//+kubebuilder:rbac:...`) in controller files
- Webhook configurations
**Run `make install`** (which applies CRDs to the cluster) when:
- CRD schema changed (fields added/removed/renamed in `*_types.go`)
- New CRD added
**Skip all of the above** when only controller logic, reconciler behavior, or non-API code changed.
## Starting the Operator
From the `operator/` directory, start `make run` as a background process:
```bash
make run
```
This is a long-running process — run it in the background. Then confirm startup by checking logs for `"starting manager"` or controller registration messages.
## Verifying the Change
Verification is context-dependent — the user will tell you what to check. Examples: run a specific test, inspect operator logs, check a resource with `kubectl get`, apply a CR, or anything else. Ask the user if they haven't specified a verification method.
Always check operator logs for errors after restart — read the terminal running `make run`.
## Quick Reference
| Step | Command | When |
|------|---------|------|
| Stop operator | `bash skills/dev-verify-loop/scripts/stop-operator.sh` | Every iteration |
| Rebuild upstream | `bash operator/pkg/manifests/rebuild-upstream-manifests.sh .` | Upstream kustomization changes |
| Regen manifests | `cd operator && make manifests generate` | API/RBAC changes |
| Install CRDs | `cd operator && make install` | CRD schema changes |
| Start operator | `cd operator && make run` (background) | Every iteration |
| Check startup | Poll logs for `"starting manager"` | After start |
| Check logs | Read the `make run` terminal file | After start |
| Konflux status | `kubectl get konflux konflux -o jsonpath='{.status.conditions}'` | When needed |
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Using `pkill` or `killall` to stop operator | Always use the specific pid from the terminal file, or the helper script |
| Editing upstream kustomizations without rebuilding | Run `bash operator/pkg/manifests/rebuild-upstream-manifests.sh .` — the YAML is embedded at compile time |
| Forgetting `make install` after CRD changes | Operator will fail with validation errors — check logs |
| Starting `make run` before previous one stopped | Kill the old process first; port conflicts cause silent failures |
| Not waiting for startup before verifying | Poll for `"starting manager"` log line |
| Running `make run` from repo root | Must run from `operator/` directory |From konflux-ci/konflux-ci, Apache-2.0.
More from konflux-ci/konflux-ci
- 0.797score
debug-e2e-tests
konflux-ci
Debug failed Konflux e2e test runs by downloading logs and artifacts from GitHub Actions or OpenShift CI (Prow), analyzing test failures, and suggesting fixes.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
pr-review
konflux-ci
Use when reviewing pull requests in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
update-upstream-deps
konflux-ci
Update upstream Konflux component versions.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
companion-pr-review
konflux-ci
Use when reviewing, triaging, or retro-analyzing MintMaker/Renovate dependency PRs and their manifest companion PRs in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.784score
retro-filing-policy
konflux-ci
Filing rules for the fullsend retro agent.
SkillAFreshness: A★ 215Claude Code +9 - 0.746score
local-dev-setup
konflux-ci
Deploy Konflux on a local Kind cluster.
SkillBFreshness: B★ 215Claude Code +9 - 0.745score
create-pr
konflux-ci
Create pull requests for konflux-ci repository.
SkillBFreshness: B★ 215Claude Code +9 - 0.745score
ginkgo-testing
konflux-ci
Ginkgo/Gomega testing patterns for Konflux — test cleanup (envtest), Eventually/Consistently soft assertions, and helper conventions.
SkillBFreshness: B★ 215Claude Code +9 - 0.745score
go-toolchain-upgrade
konflux-ci
Use when konflux-ci/konflux-ci PRs touch go.mod, go.sum, the go directive, golangci-lint or controller-gen pins, or deploy/e2e scripts that run go or make; or…
SkillBFreshness: B★ 215Claude Code +9
Signals
- Stars
- 215
- Forks
- 169
- Open issues
- 96
- Last commit (this folder)
- Jul 7, 2026 (3 months ago)
- Last release
- Sep 7, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/konflux-ci/konflux-ci
- Website
- konflux-ci.dev/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from konflux-ci
- 0.797score
debug-e2e-tests
konflux-ci
Debug failed Konflux e2e test runs by downloading logs and artifacts from GitHub Actions or OpenShift CI (Prow), analyzing test failures, and suggesting fixes.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
pr-review
konflux-ci
Use when reviewing pull requests in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
companion-pr-review
konflux-ci
Use when reviewing, triaging, or retro-analyzing MintMaker/Renovate dependency PRs and their manifest companion PRs in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
update-upstream-deps
konflux-ci
Update upstream Konflux component versions.
SkillAFreshness: A★ 215Claude Code +9 - 0.784score
retro-filing-policy
konflux-ci
Filing rules for the fullsend retro agent.
SkillAFreshness: A★ 215Claude Code +9 - 0.746score
local-dev-setup
konflux-ci
Deploy Konflux on a local Kind cluster.
SkillBFreshness: B★ 215Claude Code +9
Cite this page
dev-verify-loop skill. Agent Mart. https://agentmart.dev/skills/konflux-ci-dev-verify-loop (last updated 2026-10-24)