Skip to main content
skill CX Codex

fluentbit-validator — Claude Code skill: what it does, how to install

Validates and lints classic-mode Fluent Bit configs before deployment. It catches issues in INPUT, FILTER, and OUTPUT sections and verifies tag routing.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add akin-ozer/cc-devops-skills --skill fluentbit-validator -a claude-code
Open on GitHub

What fluentbit-validator does

This skill provides deterministic validation for classic-mode Fluent Bit configuration files. Execution begins with an environment precheck in scripts/validate.sh to detect python3 and the fluent-bit binary. If Python 3 is absent, automated script execution halts entirely, forcing the agent into manual config review.

Static analysis relies on scripts/validate_config.py. It inspects structure, configuration sections, security settings, performance parameters, and tag routing. When the fluent-bit binary is present in PATH, it runs fluent-bit -c <config-file> --dry-run. If the binary is missing, the dry run is skipped with a recommendation unless --require-dry-run is specified for release gates.

Findings use only three severity categories: Error, Warning, and Recommendation. The skill never edits files silently. It requests confirmation before applying changes, reruns the validation command, and reports the resulting diff.

What it helps with

  • validate fluent-bit.conf syntax before production rollout
  • detect tag routing mismatches across INPUT, FILTER, and OUTPUT sections
  • inspect configurations for security and performance issues
  • execute dry-run checks with the fluent-bit CLI binary

Example prompts for the agent

  • Validate this fluent-bit.conf before deploy
  • Check tag routing and output matches in Fluent Bit
  • Dry-run Fluent Bit config and tell me what failed

How to install fluentbit-validator

1Skills CLI (Vercel)

npx skills add akin-ozer/cc-devops-skills --skill fluentbit-validator -a claude-code

2Manually: put the files in place

~/.claude/skills/fluentbit-validator/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/fluentbit-validator/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about fluentbit-validator

How do I install fluentbit-validator in Claude Code?

Run npx skills add akin-ozer/cc-devops-skills --skill fluentbit-validator -a claude-code in your terminal. The skill definition is placed at ~/.claude/skills/fluentbit-validator/SKILL.md.

What does fluentbit-validator check?

It inspects INPUT, FILTER, and OUTPUT sections in classic Fluent Bit configs, verifies tag routing, and flags security or performance issues.

Can fluentbit-validator run without the fluent-bit binary installed?

Yes, static validation runs via python3 scripts/validate_config.py while the dry-run step is skipped with a recommendation. An error is raised only if --require-dry-run is explicitly requested.

Source text

SKILL.md · Apache-2.0
---
name: fluentbit-validator
description: Validate, lint, audit, or check Fluent Bit configs (INPUT, FILTER, OUTPUT, tag routing).
---

# Fluent Bit Validator

Use this skill to run deterministic, repeatable validation for Fluent Bit classic-mode configs.

## Trigger Phrases

Use this skill when prompts look like:
- "Validate this `fluent-bit.conf` before deploy"
- "Lint my Fluent Bit config and report issues"
- "Check tag routing and output matches in Fluent Bit"
- "Run security checks for Fluent Bit config"
- "Dry-run Fluent Bit config and tell me what failed"

## Execution Model

Run steps in order. Do not skip Stage 0.

### Stage 0: Precheck (Required)

Run from skill directory:

```bash
cd devops-skills-plugin/skills/fluentbit-validator
```

Check required and optional binaries:

```bash
command -v python3 >/dev/null 2>&1 && echo "python3: available" || echo "python3: missing"
command -v fluent-bit >/dev/null 2>&1 && echo "fluent-bit: available" || echo "fluent-bit: missing (dry-run will be skipped)"
```

Precheck protocol:
- If `python3` is missing: stop script-based validation, report blocker, and switch to manual config review only.
- If `fluent-bit` is missing: continue static checks, skip dry-run, and record a `Recommendation` explaining skip reason and next step.

### Stage 1: Static Validation (Required)

Default command:

```bash
python3 scripts/validate_config.py --file <config-file> --check all
```

Use targeted checks only when requested:

```bash
python3 scripts/validate_config.py --file <config-file> --check structure
python3 scripts/validate_config.py --file <config-file> --check sections
python3 scripts/validate_config.py --file <config-file> --check tags
python3 scripts/validate_config.py --file <config-file> --check security
python3 scripts/validate_config.py --file <config-file> --check performance
python3 scripts/validate_config.py --file <config-file> --check best-practices
python3 scripts/validate_config.py --file <config-file> --check dry-run
```

Strict CI gate (optional):

```bash
python3 scripts/validate_config.py --file <config-file> --check all --fail-on-warning
```

### Stage 2: Dry-Run Handling (Conditional)

Dry-run command:

```bash
fluent-bit -c <config-file> --dry-run
```

Skip protocol:
- If `fluent-bit` is unavailable, do not fail static validation by default.
- Emit one explicit finding:
  - `Recommendation: Dry-run skipped because fluent-bit binary is not available in PATH; run dry-run in CI or a Fluent Bit runtime image.`
- If user explicitly requires dry-run as a release gate, run:

```bash
python3 scripts/validate_config.py --file <config-file> --check dry-run --require-dry-run
```

- In release-gate mode, missing `fluent-bit` must be reported as `Error`.

### Stage 3: Reference Lookup (Optional)

Use only when plugin/parameter behavior is unclear after local checks.

Lookup order:
1. Context7 Fluent Bit docs.
2. Official docs at `docs.fluentbit.io`.
3. Broader web search limited to official/plugin sources.

Capture only:
- required fields,
- allowed values and defaults,
- version caveats relevant to the user config.

### Stage 4: Report and Remediation (Required)

Use exactly these severity labels:
- `Error`
- `Warning`
- `Recommendation`

Do not introduce alternate labels (`Info`, `Best Practice`, `Critical`, etc.).

Report format:

```text
Validation Report: <config-file>

Error:
- <blocking issue>

Warning:
- <non-blocking risk>

Recommendation:
- <improvement or skipped-step guidance>
```

Remediation flow:
1. Present findings with file/line context when available.
2. Ask for approval before changing user files.
3. Apply approved changes.
4. Re-run the same validation command(s).
5. Return delta: what changed, what remains, and final status.

No-issue fast path:
- If no findings exist, return a short pass summary and note whether dry-run was executed or skipped.

## Fallback Matrix

| Constraint | Behavior |
|---|---|
| `python3` missing | Stop scripted validator, report blocker as `Error`, provide manual review-only output. |
| `fluent-bit` missing | Continue static checks, skip dry-run, emit one `Recommendation` with next step. |
| No network/docs access | Continue local validation, report unknown plugin details as `Warning` with explicit "doc lookup deferred". |
| User requests report-only | Do not edit files; return findings and rerun command suggestion. |

## Canonical Flows

### Full validation flow

```bash
bash scripts/validate.sh --precheck
python3 scripts/validate_config.py --file tests/valid-basic.conf --check all
```

### Constrained environment flow (`fluent-bit` unavailable)

```bash
bash scripts/validate.sh --precheck
python3 scripts/validate_config.py --file tests/invalid-security-issues.conf --check all --json
```

Expected outcome:
- Static findings still produced.
- Dry-run skipped and reported under `Recommendation`.

## Done Criteria

Work is done only when all are true:
- Precheck was executed and binary availability was stated explicitly.
- Validation command(s) and scope are clear and reproducible.
- All findings use only `Error`, `Warning`, `Recommendation`.
- Dry-run path is explicit: executed or skipped with reason.
- Fallback behavior for tool/runtime constraints is documented in output.
- If fixes were applied, validation was re-run and post-fix status was reported.

## Local Assets

- `scripts/validate_config.py`: main validator.
- `scripts/validate.sh`: wrapper and environment precheck helper.
- `tests/*.conf`: sample valid/invalid configs.
- `tests/test_validate_config.py`: regression coverage for parser and severity behavior.

© akin-ozer · Apache-2.0 · akin-ozer/cc-devops-skills

Similar skills

Everything for DevOps and infrastructure →

From the same set28

helm-generator Scaffolds a Helm chart, its helpers and resource templates from your description. Handy when you need a chart with Deployment, Service and Ingress without writing boilerplate. CX Codex +1 633installs makefile-validator Runs Makefiles and .mk files through a syntax check, mbake linting and a set of security checks, then reports findings with an exit code. CX Codex +1 625installs makefile-generator This skill scaffolds Makefiles with .PHONY targets, standard GNU goals and validation through makefile-validator. Useful when a project needs a real build file. CX Codex +1 620installs promql-generator A skill that walks the agent through planning and produces PromQL queries, alerting rules and recording rules for Prometheus. CX Codex +1 615installs promql-validator Validates PromQL syntax, catches anti-patterns like rate() on gauges, and refines Prometheus queries via an interactive dialogue. CX Codex +1 604installs fluentbit-generator Writes Fluent Bit configs: INPUT, FILTER, OUTPUT, parsers and the whole log pipeline. Useful when you need log shipping set up without hand-picking plugin options. CX Codex +1 599installs logql-generator Builds production-ready LogQL queries, metric aggregations, and Grafana Loki alert rules through a guided workflow. Useful for debugging logs and setting up dashboards. CX Codex +1 597installs loki-config-generator Generates production Grafana Loki server configs and Helm values for S3, GCS, Azure, or filesystem storage. Helps deploy logging clusters without hand-tuning schemas and limits. CX Codex +1 580installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor