Skip to content
Agentmart
Submit a tool

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

IndexedApache-2.0★ 215
Write a review

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.

We use your email only for this newsletter. Privacy

About

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.

Use cases: testing, writing

No 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

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from konflux-ci

Cite this page

dev-verify-loop skill. Agent Mart. https://agentmart.dev/skills/konflux-ci-dev-verify-loop (last updated 2026-10-24)