/fluentbit-generator
Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
$ npx -y skills add akin-ozer/cc-devops-skills --skill fluentbit-generator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/fluentbit-generator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
SKILL.md
fluentbit-generator.SKILL.mdname: fluentbit-generator
description: Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
Fluent Bit Config Generator
Trigger Guidance
Use this skill when the user asks for any of the following:
- Create or update a Fluent Bit config (`fluent-bit.conf`, `parsers.conf`)
- Build a log pipeline (INPUT -> FILTER -> OUTPUT)
- Configure Kubernetes logging with metadata enrichment
- Send logs/metrics to Elasticsearch, Loki, CloudWatch, S3, Kafka, OTLP, or Prometheus remote write
- Implement parser, multiline, lua, or stream processing behavior
Do not use this skill for pure validation-only requests; use `fluentbit-validator` in that case.
Execution Flow
Follow this sequence exactly. Do not skip stages.
Stage 1: Set Working Context and Preflight
Use one of these deterministic command patterns.
# Option A (recommended): run from this skill directory
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator
python3 scripts/generate_config.py --help
# Option B: run from any cwd with absolute paths
python3 /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator/scripts/generate_config.py --help
Preflight checks:
- Confirm `python3` is available.
- Confirm script help loads without errors.
- If using relative output paths, run from the intended target cwd.
Fallback:
- If `python3` or script execution is unavailable, switch to manual generation flow (Stage 4) using `examples/` templates.
Stage 2: Clarification Questionnaire (Explicit Template)
Collect these fields before generation.
Required questions: 1. Primary use case: `kubernetes`, `application logs`, `syslog`, `http ingest`, `metrics`, or `custom`? 2. Inputs: which sources and paths/ports (for example `tail /var/log/containers/*.log`)? 3. Outputs: destination plugin(s) and endpoint(s) (host, port, uri/topic/index/bucket)? 4. Reliability/security requirements: TLS on/off, retry expectations, buffering limits? 5. Environment context: cluster name, environment name, cloud region (if applicable)?
Optional but important: 1. Expected log format: json, regex, cri, docker, multiline stack traces? 2. Throughput profile: low/medium/high and acceptable latency? 3. Constraints: offline environment, missing binaries, read-only filesystem?
If any required answer is missing, ask focused follow-up questions before generating.
Stage 3: Decide Script vs Manual Generation
Use this decision table.
| Condition | Path | | --- | --- | | Request matches a built-in use case and only needs supported flags | Script path (Stage 5) | | Request needs uncommon plugin options not represented by script flags | Manual path (Stage 4) | | Complex multi-filter chain, custom parser/lua logic, or specialized plugin tuning | Manual path (Stage 4) | | Script cannot run in environment (missing Python/permissions) | Manual path (Stage 4) | | User explicitly requests hand-crafted config | Manual path (Stage 4) |
Supported script use cases:
- `kubernetes-elasticsearch`
- `kubernetes-loki`
- `kubernetes-cloudwatch`
- `kubernetes-opentelemetry`
- `application-multiline`
- `syslog-forward`
- `file-tail-s3`
- `http-kafka`
- `multi-destination`
- `prometheus-metrics`
- `lua-filtering`
- `stream-processor`
- `custom`
Always state the decision explicitly, including why the other path was not used.
Stage 4: Manual Generation (When Script Is Not the Best Fit)
1. Read the closest template in `examples/` first. 2. Read `examples/parsers.conf` before defining new parsers. 3. Assemble config in this order:
- `[SERVICE]`
- `[INPUT]`
- `[FILTER]`
- `[OUTPUT]`
- parser definitions (if needed)
4. Reuse known-good sections from examples and only customize required parameters. 5. Keep tags and parser references consistent across sections.
Required local template selection:
- Kubernetes + Elasticsearch: `examples/kubernetes-elasticsearch.conf`
- Kubernetes + Loki: `examples/kubernetes-loki.conf`
- Kubernetes + CloudWatch: `examples/cloudwatch.conf`
- Kubernetes + OpenTelemetry: `examples/kubernetes-opentelemetry.conf`
- App multiline: `examples/application-multiline.conf`
- Syslog forward: `examples/syslog-forward.conf`
- File to S3: `examples/file-tail-s3.conf`
- HTTP to Kafka: `examples/http-input-kafka.conf`
- Multi destination: `examples/multi-destination.conf`
- Metrics: `examples/prometheus-metrics.conf`
- Lua filtering: `examples/lua-filtering.conf`
- Stream processor: `examples/stream-processor.conf`
- Parsers: `examples/parsers.conf`
Fallback:
- If no matching example exists, start from `scripts/generate_config.py --use-case custom` output shape and extend manually.
Stage 5: Script Generation Commands (Deterministic Examples)
Run from skill directory unless output path is absolute.
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator
# Kubernetes -> Elasticsearch
python3 scripts/generate_config.py \
--use-case kubernetes-elasticsearch \
--cluster-name prod-cluster \
--environment production \
--es-host elasticsearch.logging.svc \
--es-port 9200 \
--output output/fluent-bit.conf
# Kubernetes -> OpenTelemetry
python3 scripts/generate_config.py \
--use-case kubernetes-opentelemetry \
--cluster-name prod-cluster \
--environment production \
--otlp-endpoint otel-collector.observability.svc:4318 \
--output output/fluent-bit-otlp.conf
# File tail -> S3
python3 scripts/generate_config.py \
--use-case file-tail-s3 \
--log-path /var/log/app/*.log \
--s3-bucket my-logs-bucket \
--s3-region us-east-1 \
--output output/fluent-bit-s3.conf
Fallback:
- If a required option is unsupported by the script, document that gap and switch to Stage 4.
Stage 6: Plugin Documentation Lookup Fallback Chain
Use this strict order when plugin behavior or parameters are uncertain.
1. Context7 (first choice)
- Resolve library id for Flu
Read more
name: fluentbit-generator description: Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
Fluent Bit Config Generator
Trigger Guidance
Use this skill when the user asks for any of the following:
- Create or update a Fluent Bit config (`fluent-bit.conf`, `parsers.conf`)
- Build a log pipeline (INPUT -> FILTER -> OUTPUT)
- Configure Kubernetes logging with metadata enrichment
- Send logs/metrics to Elasticsearch, Loki, CloudWatch, S3, Kafka, OTLP, or Prometheus remote write
- Implement parser, multiline, lua, or stream processing behavior
Do not use this skill for pure validation-only requests; use `fluentbit-validator` in that case.
Execution Flow
Follow this sequence exactly. Do not skip stages.
Stage 1: Set Working Context and Preflight
Use one of these deterministic command patterns.
# Option A (recommended): run from this skill directory cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator python3 scripts/generate_config.py --help
# Option B: run from any cwd with absolute paths python3 /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator/scripts/generate_config.py --help
Preflight checks:
- Confirm `python3` is available.
- Confirm script help loads without errors.
- If using relative output paths, run from the intended target cwd.
Fallback:
- If `python3` or script execution is unavailable, switch to manual generation flow (Stage 4) using `examples/` templates.
Stage 2: Clarification Questionnaire (Explicit Template)
Collect these fields before generation.
Required questions: 1. Primary use case: `kubernetes`, `application logs`, `syslog`, `http ingest`, `metrics`, or `custom`? 2. Inputs: which sources and paths/ports (for example `tail /var/log/containers/*.log`)? 3. Outputs: destination plugin(s) and endpoint(s) (host, port, uri/topic/index/bucket)? 4. Reliability/security requirements: TLS on/off, retry expectations, buffering limits? 5. Environment context: cluster name, environment name, cloud region (if applicable)?
Optional but important: 1. Expected log format: json, regex, cri, docker, multiline stack traces? 2. Throughput profile: low/medium/high and acceptable latency? 3. Constraints: offline environment, missing binaries, read-only filesystem?
If any required answer is missing, ask focused follow-up questions before generating.
Stage 3: Decide Script vs Manual Generation
Use this decision table.
| Condition | Path | | --- | --- | | Request matches a built-in use case and only needs supported flags | Script path (Stage 5) | | Request needs uncommon plugin options not represented by script flags | Manual path (Stage 4) | | Complex multi-filter chain, custom parser/lua logic, or specialized plugin tuning | Manual path (Stage 4) | | Script cannot run in environment (missing Python/permissions) | Manual path (Stage 4) | | User explicitly requests hand-crafted config | Manual path (Stage 4) |
Supported script use cases:
- `kubernetes-elasticsearch`
- `kubernetes-loki`
- `kubernetes-cloudwatch`
- `kubernetes-opentelemetry`
- `application-multiline`
- `syslog-forward`
- `file-tail-s3`
- `http-kafka`
- `multi-destination`
- `prometheus-metrics`
- `lua-filtering`
- `stream-processor`
- `custom`
Always state the decision explicitly, including why the other path was not used.
Stage 4: Manual Generation (When Script Is Not the Best Fit)
1. Read the closest template in `examples/` first. 2. Read `examples/parsers.conf` before defining new parsers. 3. Assemble config in this order:
- `[SERVICE]`
- `[INPUT]`
- `[FILTER]`
- `[OUTPUT]`
- parser definitions (if needed)
4. Reuse known-good sections from examples and only customize required parameters. 5. Keep tags and parser references consistent across sections.
Required local template selection:
- Kubernetes + Elasticsearch: `examples/kubernetes-elasticsearch.conf`
- Kubernetes + Loki: `examples/kubernetes-loki.conf`
- Kubernetes + CloudWatch: `examples/cloudwatch.conf`
- Kubernetes + OpenTelemetry: `examples/kubernetes-opentelemetry.conf`
- App multiline: `examples/application-multiline.conf`
- Syslog forward: `examples/syslog-forward.conf`
- File to S3: `examples/file-tail-s3.conf`
- HTTP to Kafka: `examples/http-input-kafka.conf`
- Multi destination: `examples/multi-destination.conf`
- Metrics: `examples/prometheus-metrics.conf`
- Lua filtering: `examples/lua-filtering.conf`
- Stream processor: `examples/stream-processor.conf`
- Parsers: `examples/parsers.conf`
Fallback:
- If no matching example exists, start from `scripts/generate_config.py --use-case custom` output shape and extend manually.
Stage 5: Script Generation Commands (Deterministic Examples)
Run from skill directory unless output path is absolute.
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator # Kubernetes -> Elasticsearch python3 scripts/generate_config.py \ --use-case kubernetes-elasticsearch \ --cluster-name prod-cluster \ --environment production \ --es-host elasticsearch.logging.svc \ --es-port 9200 \ --output output/fluent-bit.conf # Kubernetes -> OpenTelemetry python3 scripts/generate_config.py \ --use-case kubernetes-opentelemetry \ --cluster-name prod-cluster \ --environment production \ --otlp-endpoint otel-collector.observability.svc:4318 \ --output output/fluent-bit-otlp.conf # File tail -> S3 python3 scripts/generate_config.py \ --use-case file-tail-s3 \ --log-path /var/log/app/*.log \ --s3-bucket my-logs-bucket \ --s3-region us-east-1 \ --output output/fluent-bit-s3.conf
Fallback:
- If a required option is unsupported by the script, document that gap and switch to Stage 4.
Stage 6: Plugin Documentation Lookup Fallback Chain
Use this strict order when plugin behavior or parameters are uncertain.
1. Context7 (first choice)
- Resolve library id for Flu
A practical skill pack for DevOps work in Claude Code and Codex desktop. This repository ships 31 skills: 16 generators for scaffolding production-ready configs 14 validators for linting, security checks, and dry-run validation 1 debugger (k8s-debug) for
Repo: akin-ozer/cc-devops-skills
Other skills on cc-devops-skills.
- /ansible-generator
Generate, create, or scaffold Ansible playbooks, roles, tasks, handlers, inventory, vars.
Open skill - /ansible-validator
Validate, lint, audit, or debug Ansible playbooks, roles, inventories, FQCN, tasks.
Open skill - /azure-pipelines-generator
Generate/create/scaffold azure-pipelines.yml, stages, jobs, steps, or reusable templates.
Open skill - /azure-pipelines-validator
Validate, lint, audit, or review azure-pipelines.yml — syntax, security, best practices.
Open skill - /bash-script-generator
Create, generate, write, or scaffold bash/shell scripts (.sh), automation, or CLI tools.
Open skill - /bash-script-validator
Validate, lint, audit, or fix bash/shell/.sh scripts via ShellCheck.
Open skill

