From devops-skills
Generates Fluent Bit configurations for INPUT, FILTER, OUTPUT, parsers, and log pipelines including Kubernetes logging to Elasticsearch, Loki, CloudWatch, Kafka, or OTLP.
npx claudepluginhub akin-ozer/cc-devops-skills --plugin devops-skillsThis skill uses the workspace's default tool permissions.
Use this skill when the user asks for any of the following:
examples/application-multiline.confexamples/cloudwatch.confexamples/file-tail-s3.confexamples/full-production.confexamples/http-input-kafka.confexamples/kubernetes-elasticsearch.confexamples/kubernetes-loki.confexamples/kubernetes-opentelemetry.confexamples/lua-filtering.confexamples/multi-destination.confexamples/parsers.confexamples/prometheus-metrics.confexamples/stream-processor.confexamples/syslog-forward.confoutput/k8s-errors-elasticsearch.confoutput/parsers.confscripts/generate_config.pyscripts/test_generate_config.pySearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Use this skill when the user asks for any of the following:
fluent-bit.conf, parsers.conf)Do not use this skill for pure validation-only requests; use fluentbit-validator in that case.
Follow this sequence exactly. Do not skip stages.
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:
python3 is available.Fallback:
python3 or script execution is unavailable, switch to manual generation flow (Stage 4) using examples/ templates.Collect these fields before generation.
Required questions:
kubernetes, application logs, syslog, http ingest, metrics, or custom?tail /var/log/containers/*.log)?Optional but important:
If any required answer is missing, ask focused follow-up questions before generating.
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-elasticsearchkubernetes-lokikubernetes-cloudwatchkubernetes-opentelemetryapplication-multilinesyslog-forwardfile-tail-s3http-kafkamulti-destinationprometheus-metricslua-filteringstream-processorcustomAlways state the decision explicitly, including why the other path was not used.
examples/ first.examples/parsers.conf before defining new parsers.[SERVICE][INPUT][FILTER][OUTPUT]Required local template selection:
examples/kubernetes-elasticsearch.confexamples/kubernetes-loki.confexamples/cloudwatch.confexamples/kubernetes-opentelemetry.confexamples/application-multiline.confexamples/syslog-forward.confexamples/file-tail-s3.confexamples/http-input-kafka.confexamples/multi-destination.confexamples/prometheus-metrics.confexamples/lua-filtering.confexamples/stream-processor.confexamples/parsers.confFallback:
scripts/generate_config.py --use-case custom output shape and extend manually.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:
Use this strict order when plugin behavior or parameters are uncertain.
https://docs.fluentbit.io/manual and plugin-specific pages.When to stop escalating:
examples/ and clearly mark assumptions.Primary validation path:
fluentbit-validator after generation.If validator is unavailable, run local fallback checks:
# Syntax/format smoke check when fluent-bit is installed
fluent-bit -c <generated-config> --dry-run
# Optional execution test
fluent-bit -c <generated-config>
If fluent-bit binary is missing:
[SERVICE], [INPUT], [FILTER], [OUTPUT])Always return:
script or manual) and reason.This skill execution is complete only when all are true:
scripts/generate_config.pyexamples/*.confexamples/parsers.confoutput/Use these resources first before introducing new structure.