Skip to main content

Elastic and Kibana

These skills are gated to Elastic/Kibana contexts and layer domain policy over generic workflows.

The boundary is intentional: generic skills (k-review, k-deep-review, k-github, k-compose-*) keep portable mechanics and gates; this page's skills own Elastic/Kibana labels, ownership, Buildkite routing, bot allowlists, PR templates, release-note rules, commit attribution, and Kibana live-UI target/data setup.

k-elastic-domain

Elastic PR Test Plans contain only applicable manual setup, reproduction, and observation steps. Omit the section when no manual scenario applies, including automated-test-only changes. Automated test commands, results, and CI checklists stay in the internal publication packet, outside the PR body. Commands used for manual setup or direct UI/API/CLI reproduction remain valid.

FieldValue
Use whenElastic/Kibana overlay for PRs, labels, ownership, bots, Buildkite, live UI
Sourceexact_k-elastic-domain
Boundarypropose-only unless the active primary skill permits side effects

The overlay also carries a Kibana planning fork checklist (references/kibana-planning-forks.md) that the generic k-spec skill consults when the target repo is elastic/kibana: API versioning, Saved Objects/migrations, privileges, dependencies, feature flags, backports, test placement, alerting, and instrumentation forks. Adapted from the specialist elicitation_questions in elastic/plan (prompts/teams/elastic-kibana/); refresh it by re-reading that directory upstream and folding in changes — curated, not mirrored.

The overlay also owns SCSI index scope: scsi-main serves Elastic-curated indices (Elastic-org repositories plus a few upstream dependencies) and scsi-local the user's own. Outside that set the generic k-semantic-code-search fallback (rg) applies, and the overlay forbids assuming Elastic coverage for a non-Elastic repository.

k-elastic-slides

FieldValue
Use whenmanually generating, updating, or styling Elastic-themed Google Slides decks
Sourceexact_k-elastic-slides
Routingmanual
Relatedlayers Elastic palette, ownership, and Kibana manifest sourcing over k-google-workspace Slides mechanics

k-buildkite

FieldValue
Use whenBuildkite status, logs, pipelines, debug, or any buildkite.com URL
Sourceexact_k-buildkite
Gateelastic org repos

k-kibana-labels-propose

FieldValue
Use whenproposing labels, backports, or version targets for Kibana PRs/issues
Sourceexact_k-kibana-labels-propose
Boundarypropose-only

Backport assessment reuses the shared issue intake and checks candidate branches from versions.json for the affected behavior, fix applicability, and required dependencies. An open branch or issue label alone does not justify targeting it. Report supported targets, exclusions, and material evidence gaps; standalone label classification remains bounded and propose-only.

k-kibana-management-ownership

FieldValue
Use whendetermining Kibana ownership/reviewer targeting via CODEOWNERS
Sourceexact_k-kibana-management-ownership
Boundarypropose-only

k-kibana-console-monaco

FieldValue
Use whenautomating/testing Kibana Dev Tools Console Monaco editor
Sourceexact_k-kibana-console-monaco
Gateelastic/kibana repos

k-kbn-stack

FieldValue
Use whenstarting, reusing, inspecting, or tearing down local Kibana ES+Kibana dev stacks
Sourceexact_k-kbn-stack
Tool,kbn-stack
Gateelastic/kibana repos

,kbn-stack selects pnpm when the worktree contains pnpm-lock.yaml, otherwise Yarn Classic. Bootstrap uses pnpm kbn bootstrap or yarn kbn bootstrap accordingly. Yarn Classic is mise-managed for branches that require it; a worktree's .mise.toml supplies its project-specific pnpm version.

Detached ,kbn-stack --detach starts record the Kibana process log as kbn_log in the registry. Kibana live-UI checks use that log for optimizer-bundle readiness; the ES log field is not optimizer evidence. Before reusing a ready registry entry, correlate it with recorded pids, slot-derived port listeners, and log paths. That check validates a registry entry; it does not license guessing arbitrary localhost targets. Default starts load plugin group platform and snapshot ES heap 1g; pass --groups all when the UI is outside platform, and --es-heap 1536m to restore the kbn-es snapshot heap. Override-free snapshot starts share one background ES per package.json version (registry reserved key __es__, refcounted by --stop); -E, --data, a non-default --es-heap, or --isolated-es keeps an isolated per-worktree ES. The skill's mandatory references/runtime-lifecycle.md Isolation Judgment section owns the agent-side call the CLI cannot make: it names the task signals (empty-state assertions, cluster-wide mutations, alerting/task-manager runs, perf timing, SO-migration or boot-time-ES diffs) that require passing --isolated-es despite an override-free start.

k-kbn-backport

FieldValue
Use whenrunning an end-to-end Kibana backport workflow
Sourceexact_k-kbn-backport
Routingmanual
Boundarylaunch payload plus user request is the bounded approval packet for every created backport PR

k-kbn-standup

FieldValue
Use whenpreparing the Admin UX daily update
ScopeElastic repos plus all Slack channels including private/DMs; baseline in #admin-ux-internal; gather also #kibana-management
Formatcompact Markdown links via pbcopy after confirm; section headings PRs / Issues / Slack and other (omit empty; blank line after heading and between sections); one bullet per authored source PR except source+backports; reviews lumped; related issues may share a bullet; high-level wording; skim low-impact Slack; PR icons :merged: / :pr-open: only; issue icons 🐛 bugs / :ticket: other; direct :sdh: summary tag
Sourceexact_k-kbn-standup
Routingmanual