[Agent Builder] Add skill developer experience CLI#255890
Closed
patrykkopycinski wants to merge 7 commits into
Closed
[Agent Builder] Add skill developer experience CLI#255890patrykkopycinski wants to merge 7 commits into
patrykkopycinski wants to merge 7 commits into
Conversation
Introduces `node scripts/agent_builder_skill` — a CLI tool that provides the framework for Agent Builder skill creation, validation, evaluation, and distribution. Implements the "framework for skill creation" from workstream 1 and connects to the eval-suite.md specification. Commands: - generate: Scaffold skill definitions, tool files, and tests - validate: Check naming, schema, content, and test coverage - eval:generate: Create 50-100 agent task datasets with rubrics - eval:run: Execute evals across LLMs with phase gate metrics - export: Extract skills to universal format (SKILL.md + extensions) - import: Sync universal format changes back preserving handlers
Contributor
|
🤖 Jobs for this PR can be triggered through checkboxes. 🚧
ℹ️ To trigger the CI, please tick the checkbox below 👇
|
… templates - Extract shared extractSkillMetadata to utils.ts, remove duplicated versions from eval_generate.ts and export.ts - Fix discoverSkillFiles skipping index.ts-based skills (e.g. automatic_troubleshooting/index.ts containing defineSkillType) - Remove dead baseline flag from eval:run command - Fix inline tool count heuristic to match dot-notation tool IDs only - Remove redundant as SkillDomain casts after validateDomain assertion - Guard empty description in eval task generation - Add escapeForSingleQuoteString for rendered eval datasets - Escape single quotes in rendered skill and tool descriptions - Add --name requires --domain validation in validate command - Fix misleading eval:run example missing required --name flag - Deduplicate findEvalSuiteConfig candidate paths for flat skills - Use toPascalCase/toSnakeCase utilities in renderToolTestFile - Remove unused imports (ToolingLog, ToolingLog, SkillDomain) - Use @kbn/repo-info for resolveRepoRoot - Add toPascalCase underscore test, split validateDomain test
Contributor
Author
|
/ci |
These commands are not Kibana-internal concerns — they bridge Kibana skill definitions with the universal SKILL.md format for distribution and external tooling. Moved to the agent-builder-skill-dev Cursor plugin as export_skill and import_skill MCP tools. The Kibana CLI now only contains Kibana-focused commands: generate, validate, eval:generate, eval:run.
Contributor
Author
|
/ci |
…mprovements New commands: - `list` — discover and summarize all skills with table/JSON output Validate improvements: - Detect duplicate skill IDs across domains - Check referencedContent entries for valid paths and content - Verify getRegistryTools() tool IDs exist in the codebase - Content quality heuristics: min length, structured sections, tool refs - Accept @kbn/zod/v4 import path alongside @kbn/zod - --fix flag auto-creates missing test files and fixes invalid basePath - Tag fixable issues in output with [fixable] Generate improvements: - --nested: scaffold skill in nested directory with barrel export - --with-inline-tool: generate getInlineTools() with Zod schema stub - --with-referenced-content: scaffold referencedContent with ES|QL sample - --auto-register: auto-add import/registration to register_skills.ts Eval improvements: - Smarter task generation: inline tools, referencedContent, negative tests - --count flag to control tasks per category - eval:run parses stdout JSON to display pass/fail summary vs threshold - eval:run --watch mode re-runs on file changes Cleanup: - Remove unused discoverToolFiles (replaced by discoverRegisteredToolIds) - Add MIN_CONTENT_LENGTH constant - Enrich SkillFileMetadata with hasInlineTools, referencedContent, etc.
Contributor
Author
|
/ci |
Contributor
💔 Build Failed
Failed CI StepsMetrics [docs]Public APIs missing comments
History
|
This was referenced Apr 20, 2026
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces
node scripts/agent_builder_skill— a CLI tool that provides the framework for Agent Builder skill creation, validation, evaluation, and distribution.Commands
generatedefineSkillType), tool files (Zod schema + handler), and Jest tests from templatesvalidateeval:generateeval:run@kbn/evalsexportSKILL.md+skill.extensions.yaml) for distributionimportArchitecture
@kbn/agent-builder-skill-cliatx-pack/platform/packages/shared/kbn-agent-builder-skill-cli/scripts/agent_builder_skill.js(follows standard Kibana script conventions)RunWithCommandsfrom@kbn/dev-cli-runner(same pattern as@kbn/evalsCLI)defineSkillType, Zod schemas,BuiltinToolDefinition)Mapping to Program Phase Gates
eval:run --metric first-tryeval:run --metric e2eeval:run --metric overallTest plan
generatecreates skill, tool, and test files in the correct plugin directoriesvalidatedetects TODOs, naming violations, missing test fileseval:generatecreates eval datasets with categorized tasks from skill metadataexportproduces SKILL.md and skill.extensions.yaml from defineSkillType sourceimport --dry-runshows changes without modifying filesProduction-Readiness Checklist — Agent Skills Ecosystem
Generated against [Epic] Creation of the Agent Skills Ecosystem for Elastic Security.
Narrative role: Out-of-band delivery foundation. Maps directly to the epic's "decoupled delivery for agent definitions, skills, tools, workflow templates" requirement.
Must-do before this can ship
generate → validate → eval:generate → eval:runagainst a real skillexport/importuniversal format (SKILL.md+skill.extensions.yaml) needs a signed-manifest step and version pinning before it can replace in-repo authoringkill_switchfield toSkillDefinitionand surface it in Agent Builder admin UI — required by the out-of-band delivery pillarFollow-ups (post-merge)
skill lintmode that enforces the PCI hardening patterns (param-bound ES|QL, dark-by-default flag, scope claims) as a default validator