All notable changes to @salesforce/mulesoft-vibes-skills are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
build-agent-broker-projectandtranslate-agent-broker-old-to-new-project— Removed the incorrect claim that connection ids (context.connections.<id>) and broker ids (keys underbrokers:) are restricted by the V2 schema to^[a-z0-9_]+$(lowercase/digits/non-trailing-underscore only) and that camelCase or kebab-case "fails lint." The schema does not enforce a snake_case-only format on these keys — any valid YAML identifier validates. The skills now frame snake_case as a readability convention and preserve the one genuine invariant: an.agenttarget (a2a://,mcp://,llm://,brokers://) must match its correspondingagent-network.yamlkey exactly. Affectscanonical-example.mditem 0,gotchas.mdnaming conventions, and the converter's connection/broker translation notes, template comments, and example annotations.
build-agent-broker-project— Updated the Step 9 deploy/gateway guidance to the current Anypoint CLI Agent Fabric plugin (v1.2.10) gateway model: single-gateway mode (-g/--gateway, defaultagent-network-gw) is the recommended path, with separate ingress/egress (-i/--ingress-gw+-e/--egress-gw) as the alternate mode. Replaces the stale separate-gateway-only defaults (agent-network-ingress-gw/agent-network-egress-gw).
manage-api-version— Step 9's rescaffold (mvn clean package -DskipTests) required a manual approval click in the VS Code Vibes/Agentforce UI even when the exact command was allowlisted, because the model was emitting it ascd <projectDir> && mvn clean package -DskipTests 2>&1. The2>&1stream redirection is flagged as an unsafe operator by the extension's command-approval layer (A4dSafeCommandsController.containsUnsafeOperators()), which forces manual approval unconditionally, before any allowlist pattern is even consulted. Step 9 now explicitly instructs the agent never to append2>&1or any other redirection/pipe to themvninvocation — the tool call already captures full stdout/stderr, so the redirection was redundant as well as harmful. Also made explicit that this rescaffold step must run immediately with no user confirmation prompt, matching the real Anypoint Studio behavior where rescaffolding fires automatically on apom.xmlchange or a Project Properties → API Specs tab edit and is never a user-facing decision.
- Added
cd ...and an exact-matchmvn clean package -DskipTestsline to the locala4d_safe_commandsallowlist (developer machine config, not part of this repo) so the two sub-commands produced by Step 9 — split independently by the extension'sparseMultiCommand()— both auto-approve once the2>&1redirection is removed.
manage-api-version— Step 7c ("present available versions and handle selection") told the agent to display the version list and prompt as plain narrated chat text, then separately invoke theAskUserQuestiontool for the actual interactive selection — producing two renderings of the same question in the VS Code Vibes/Agentforce UI (one plain-text, one interactive). Step 7c is rewritten so the version list and prompt are presented only via a singleAskUserQuestiontool call per API, with the version list as the tool'soptions; the skill no longer narrates the same content as chat text before or after the tool call.
manage-api-version— fixed a false-negative bug in version discovery (Steps 5, 6, 7b). The skill previously relied solely onanypoint-cli-v4 exchange asset describe <groupId>/<artifactId>/<currentVersion>and itsotherVersionsfield to enumerate an asset's available versions. That field is anchored to the queried version and has been observed to return empty when the queried version is not the latest published version on Exchange — exactly the case CHECK ALL/CHECK SPECIFIC/CHANGE hit every time, since they query from whatever version is currently pinned inpom.xml. This caused the skill to report "no updates available" or "only one version published" even when newer versions genuinely existed. Version discovery now usesanypoint-cli-v4 exchange asset list <artifactId> --output jsonfiltered to the targetgroupId/assetIdas the primary lookup — an asset-identity-scoped query with no version-anchoring failure mode, matching the pattern already used bybuild-mule-integration/scripts/search_templates.shandmanage-global-configurations/scripts/get_latest_connector.sh. The olddescribe-based lookup is retained only as a degraded fallback whenlistitself fails, with an explicit caveat surfaced to the user that the resulting list may be incomplete.
manage-api-version— added a bundledscripts/fetch_versions.shhelper and rewired the Version Discovery procedure (Steps 5, 6, 7b) to call it once per operation instead of looping and invokinganypoint-cli-v4once per API dependency. Each direct CLI invocation pays a full Node cold start plus a network round trip; the new script fires the Exchange lookup for every target API in parallel and returns a single JSON array, cutting wall-clock time roughly N-fold on projects with multiple API dependencies. Same pattern already used bybuild-mule-integration/scripts/search_templates.shandmanage-global-configurations/scripts/get_latest_connector.sh.
manage-api-version— new skill for reading, checking, and updating API spec dependency versions in a Mule project. Reads<{artifactId}.version>properties frompom.xml, queries Anypoint Exchange for available versions viaanypoint-cli-v4 exchange asset describe, and applies version changes followed by an automaticmvn clean package -DskipTestsrescaffold. Supports four paths: display all versions, display specific versions, check all APIs for newer versions, and a full interactive change flow with semver-sorted version selection, pom.xml backup/restore on failure, and batched multi-API updates in a single Maven pass.
author-governance-ruleset— new skill that authors valid Anypoint API Governance rulesets (Validation Profile 1.0 YAML) using theanypoint-cli-v4 governance:rulesetCLI for model discovery, validation, and simplification. Force-installs the latest governance plugin, resolves domain language to canonical target classes, discovers classes/properties/constraints per domain, then writes, validates (validate-authoring), and simplifies the ruleset before presenting it. Covers OpenAPI, RAML, AsyncAPI, MCP servers, Anypoint API instances, and API projects; enforces the single-specKind rule and never guesses class/property names or constraint compatibility.
build-agent-broker-projectandtranslate-agent-broker-old-to-new-project— enforce snake_case for connection IDs and broker IDs in skill code examples per the V2 schema (^[a-z0-9_]+$). Prior examples emitted camelCase / kebab-case which the ACB linter rejects. Also loosens theagent_namerule to "optional, conventionally kebab-case" since the docs mark it optional and the field has no strict format. Verified against the authoritative docs atmulesoft/docs-code-builder@latest/agent-network/2.0/modules/ROOT.
generate-bat-tests— new skill that generates a runnable BAT (Blackbox API Testing) BDD suite — DataWeave.dwlfiles plus abat.yamlmanifest — from a Mule app's source (OpenAPI contract + Mule flow XML), organized by quality dimensions (Accuracy / Robustness / Security / Coverage) and validated by running it against the live HTTP endpoint. BAT is black-box and out-of-process (it hits the deployed API, never imports flows) and has no XSD, so the workflow's gate is "the suite parses AND passes against the running app" rather than a build-time compile. Two-phase workflow with a hard approval gate: Phase 1 reads the source, anchors an endpoint/raise-error allowlist, and drafts a dimension-tagged test inventory for the user to approve; Phase 2 scaffolds the suite, writes the.dwlfiles, statically validates the BAT DSL, and runs./run-bat.shagainst the endpoint. Bundles four scripts (validate_prerequisites.sh,extract_endpoints.sh,scaffold_suite.sh,validate_bat_suite.sh) and reference material (BAT authoring rules, the quality-dimension taxonomy, and canonical.dwl+bat.yamlexamples). Can also extend an existing hand-written BAT baseline as a strict superset. Complements MUnit generation (build-time, in-process, XML) by covering deployed-endpoint functional testing.
build-mule-integration— synced from the agent-evaluation lab to skill v12.2.0 internal tag. Reorders Step 1b options so "I want to generate from scratch without a template." is the first option (default-safe). Adds explicit Steps E5 / L5 continue-or-stop checkpoints at the end of the Exchange and Local sub-flows so the agent always asks the user whether to proceed to connector discovery + flow generation or stop after template setup. Local template format relaxed from.jar-only to.jaror.zip(the underlyingdx:mule:project:create --template-fileCLI accepts both).build-mule-integration— adds an absolute-path / "no relative../scripts/..." rule for invoking bundled scripts, plus a "why scripts instead of inline bash" rationale (loss of resolved GAVs acrossBashtool calls), based on production-run failure analysis.build-mule-integration— Phase 2 step ranges renumbered (Steps 8–17 from 8–18); flow XML generation cross-references corrected (Steps 10/12 instead of 11/13); pre-mvn validation script reference added to the troubleshooting cheatsheet.
generate-connectivity-knowledge— new 14-step skill that produces connectivity knowledge for a SaaS API when no dedicated Mule connector exists. Researches the API from user-defined use cases and documentation, generates an OpenAPI 3.0 spec, validates every operation against the live service with auto-fix, and writes a self-containedconnectivity-schema/<apiName>/folder (api-reference.md+<apiName>.yaml+config.properties). Output feeds the HTTP-fallback branch ofbuild-mule-integrationso HTTP-Connector flows inherit the same auth, pagination, and entity awareness a dedicated connector would carry.
mulesoft-agent-broker-builder— new skill that drives an end-to-end Agent Network V2 (GA, A2A v1.0) build experience: 6-phase guided requirements → asset registration → Agent Script authoring → instruction refinement → topology review, plus optional publish and deploy. CLI-first via the Anypoint CLI Agent Fabric plugin (agent-network project create/build/publish/deploy/setup-gateways) with the MuleSoft MCP server as fallback and a graceful no-tool degradation path. Step 0 invokesagent-network project createto produce a starter project with the correctgroupId/organizationId, then the skill edits files in place. Bundles a canonical IT Help Investigation example (sourced from the workingstgx-it-investigation-GA-verreference) and a gotchas reference covering A2A v1.0 vs v0.3 (a2a_v03) backward-compatible card branches, GA echo update events (a2a:status_update_event/a2a:artifact_update_eventwithTASK_STATE_*enum), compile-error rules for action invocation (A2A bare reference vswith message =in executors; MCPinputs:/with/slot-fill rules), connection authentication (required onkind: llm), policies as{inbound, outbound}object, subagent-vs-orchestrator decision, CR-18 least-privilege binding, RULE-ASSET-MODE (inline vs Exchange registration), and the full CLI / MCP capability matrix with env-var auth.mulesoft-agent-broker-v1-to-v2-converter— new skill that converts an Agent Network V1 project (schemaVersion: 1.0.0) into a V2 project (agentNetwork: 2.0.0). Each V1 broker becomes a V2 broker backed by an Agent Script.agentfile with one orchestrator node — preserves the user's prompt verbatim, does not split into routers/executors/generators. V1 agents land in themetadata.interfaces.a2a_v03(back-compat) branch; the broker emits A2A v1.0. Bundles a canonical V1 input (customer-onboarding-v1) and matching V2 output, plus av2-template.agentskeleton. For richer multi-node graphs, the skill points users atmulesoft-agent-broker-builderas the natural next step.
build-mule-integration— absorbedcreate-project-templateas a conditional sub-file (references/template-project-creation.md). Template-based project creation (Exchange search, local .jar) is now a branch within Step 1b, loaded only when the user wants a template.search_templates.shmoved tobuild-mule-integration/scripts/.build-mule-integration— Step 8dx mule project createexample now passes--skip-environmentfor scratch projects to avoid an unnecessary environment-resolution API call.
create-project-template— removed as standalone skill. Its workflow lives inbuild-mule-integration/references/template-project-creation.md.
build-mule-integration— broader connector-search guidance so private (UUID-groupId) connectors published to a customer's Exchange tenant surface alongside public ones, and the prose now tells the agent to escalate viaAskUserQuestionwhen both a public and a private connector match the same system family. Step 3's "Common search terms" table uses broader system names (salesforce,database,http,netsuite,servicenow,jms,slack) so private assets whoseassetIddoes not share tokens with the public connector still surface.build-mule-integration— Step 16 gains a pre-mvnstatic validator (scripts/validate_before_build.sh) that checks the connector error-type allowlist (Cluster D), namespace ↔pom.xmldependency parity (Cluster A2-A5), and canonical XSD URL shape — fast line-numbered diagnostics instead of a 30 s+ Maven failure.build-mule-integration—scripts/describe_connector.shnow caches per-connector and per-operationerrorTypestotmp/connector-errors/, which the new validator reads.build-mule-integration—scripts/get_latest_connector.shranking/scoring tweaks to keep the broader-term searches stable.
build-mule-integration—scripts/_suggest_nearest.py, a fuzzy nearest-match helper invoked byvalidate_before_build.shto suggest the closest allowed error-type when the user'snamespace:idmiss has no exact match. Reduces time-to-fix on Cluster D validation failures.build-mule-integration—scripts/.gitattributesto keep shell script line endings stable across contributor platforms.
develop-pdk-policy— new skill that drives the full lifecycle of a custom Flex Gateway policy with the Policy Development Kit (PDK): prerequisite checks,anypoint-cli-v4 pdk policy-project create,make setup/build-asset-files/build, local execution via the scaffoldedplayground/(make runagainst a Dockerized Flex Gateway in local-disconnected mode), thenmake publishandmake releaseto Anypoint Exchange. Includes an upgrade-PDK runbook and troubleshooting for the most common toolchain failure modes. Lets agents take a developer from "I want a custom policy" through to a released Exchange asset without leaving the IDE.pdk-templates— companion prose-only reference skill bundling 30 vetted, compilable PDK feature templates locally undertemplates/. Pulled from the upstreammulesoft-mcp-servermule-flex-pdk-servicesnapshots so the skill works offline with no MCP dependency. Covers JWT (validate + generate), OAuth2 introspection, header/body manipulation, body streaming, rate limiting, spike control, caching, distributed locks, worker variables, control flow, contracts, CORS, IP filtering, JSON/XML validators, outbound HTTP calls, gRPC, DataWeave evaluation, data storage, timers, logging, metadata, policy violations,stop_iteration, outbound-policy marker, and PDK unit testing setup. Multi-file bundles (grpc/,dataweave/,http_call/,stop_iteration/) ship as subdirectories with explicit destination guidance for each companion file (Cargo.toml.snippet,gcl.yaml,build.rs,proto/). Pairs withdevelop-pdk-policy, which owns scaffold/build/publish lifecycle.pdk-unit— new skill that drives the unit-testing workflow for custom Flex Gateway PDK policies: deciding unit vs integration coverage, wiringsrc/tests/(the scaffold shipstests/for integration tests but notsrc/tests/for unit tests), writing a firstUnitTestBuildertest againstcrate::configure, factoring reusableTestConfighelpers, mocking HTTP upstreams via closures orTraceBackendcapture, asserting on status / headers /PolicyViolation, and runningmake test/cargo test. Bundles six drop-in templates (hello test, config helper, upstream mock, trace-backend capture, violation assertion,src/tests/module wiring) undertemplates/. Cross-links topdk-templates/templates/unit_testing.mdfor the fullpdk-unitAPI reference (no duplication) and todevelop-pdk-policyfor scaffold / build / publish lifecycle. Closes the testing gap left by those two skills.pdk-test— new skill that drives the integration-testing workflow for custom Flex Gateway PDK policies: scaffoldingtests/withcommon/helpers, writingRequestBuilder+assert_response!tests against a real Flex Gateway instance viamake run, handling multi-request flows, testing configuration variants, and debugging test failures withRUST_LOGand Docker log inspection. Bundles templates for test structure and common patterns.
package.jsonfilesarray now includes*/templates/**(added alongside*/references/**) so the bundled PDK templates ship in the published tarball.
build-mule-integration— dropped themule-http-connector:1.11.2→1.11.1pin inscripts/get_latest_connector.sh. The 1.11.2 POM has been republished on Exchange with the correct<parent>and<dependencies>, so the workaround is no longer needed andget_latest_connector.shnow passes through whatever Exchange returns.
build-mule-integration— synced with the upstream agent-evaluation lab (v12 of the skill).- Surfaces private (UUID-groupId) connectors published to a customer's Exchange tenant as first-class candidates alongside public connectors. The
get_latest_connector.shranking already returned these rows; the prose now tells the agent to treat them as real options instead of noise, and to escalate viaAskUserQuestionwhen both a public and a private connector match the same system family. - Step 3 "Common search terms" table rewritten with broader system names (
salesforce,database,http,netsuite,servicenow,jms,slack) instead of narrowmule-<name>-connectorstrings, so private assets whoseassetIddoes not share tokens with the public connector still surface. - New "Term breadth" guidance under the mandatory-search rule, plus updates to "No HTTP fallback without evidence" explaining UUID-format groupIds.
- Step 16 gains a pre-
mvnstatic validator (scripts/validate_before_build.sh) that checks the connector error-type whitelist (Cluster D), namespace ↔pom.xmldependency parity (Cluster A2-A5), and canonical XSD URL shape — fast line-numbered diagnostics instead of a 30 s+ Maven failure. scripts/describe_connector.shnow caches per-connector and per-operationerrorTypestotmp/connector-errors/, which the new validator reads.scripts/get_latest_connector.shranking/scoring tweaks to keep the broader-term searches stable.
- Surfaces private (UUID-groupId) connectors published to a customer's Exchange tenant as first-class candidates alongside public connectors. The
package-lock.jsonwas pinned to1.0.1whilepackage.jsonhad moved to1.0.2; the lock file is now regenerated and consistent with the current package version.
- Corrected the spelling of
@salesforce/mulesoft-vibes-skillsin package metadata.
repositoryfield added topackage.jsonso the published npm package links back to this repo.
release-skillsworkflow and an earlier package-name typo.
- Initial public release of
@salesforce/mulesoft-vibes-skillswith the following skills:build-mule-integrationcreate-project-templatecreate-mule-run-config/update-mule-run-config/delete-mule-run-config/execute-mule-run-configgenerate-doc-descriptionrun-system-diagnosticssecure-mule-app
- npm publish workflow under
.github/workflows/release-skills.yml.