Skip to content

[skills-sync] Update skills after SuperPlane main @ 9c9164307a0c8edc5b6b2f13cc69e0c398e0947c #10

Open

Description

@superplanehq-integration

Opened automatically by SuperPlane (Skills and Docs Sync canvas).

What changed in this push

A new strict-decoding behavior was introduced for both the SuperPlane CLI and API server. Previously, unknown fields in YAML inputs (CLI) and JSON/YAML API request bodies were silently ignored. As of this commit, unknown fields cause an immediate error to be returned to the caller.

Key implementation details (inferred from commit metadata):

  • A new pkg/cli/core/decoder.go module was added, likely implementing strict YAML decoding that rejects unknown fields.
  • CLI commands for canvases (models/canvas.go), groups (common.go), roles (common.go), and secrets (common.go) were updated to use this strict decoder.
  • The public API server (pkg/public/server.go) was updated to reject API requests containing unknown fields.
  • Tests were added/updated across all affected packages to cover the new behavior.

User-facing impact: Users who have YAML files or API payloads with typos, deprecated fields, or extra/experimental keys that were previously silently accepted will now receive explicit errors. This is a breaking behavior change for those users.


Which skills files are likely affected

File Reason
skills/superplane-cli/SKILL.md The CLI now rejects YAML files with unknown fields; any guidance on writing or troubleshooting YAML inputs needs to document this validation behavior and the error users will see.
skills/superplane-canvas-builder/SKILL.md Canvas YAML files are a primary artifact of this skill; the strict unknown-field rejection directly affects what constitutes a valid canvas YAML and what errors coding agents will encounter when generating or iterating on canvas YAMLs.

Concrete edits to make

skills/superplane-cli/SKILL.md

  • Add a new "YAML validation" or "Input validation" section (or extend an existing "Troubleshooting" / "Common errors" section) documenting that the CLI now performs strict field validation on all YAML inputs:
    • Unknown fields in any YAML file passed to CLI commands (canvases, groups, roles, secrets) will cause the command to fail with an error.
    • Users must ensure YAML files contain only recognized fields. Typos in field names will no longer be silently ignored—they will cause an explicit error.
    • Suggested action: if a CLI command fails with an unknown-field error, check the YAML file for misspelled or unsupported field names and compare against the documented schema.
  • Update any examples that include comments like "extra fields are ignored" or imply permissive parsing—remove or correct such language.
  • Add an example error message if known (it is not confirmed in commit metadata, so flag as approximate, e.g., "unknown field 'fieldname' in YAML input"—mark as illustrative until confirmed against actual output).

skills/superplane-canvas-builder/SKILL.md

  • Add a "Canvas YAML schema strictness" note in any section covering canvas YAML authoring or generation:
    • Canvas YAML files must not contain fields outside the recognized schema. The API and CLI will now return an error if unknown fields are present.
    • When generating canvas YAMLs (e.g., via a coding agent), validate field names carefully against the documented schema before submitting. A previously-tolerated typo (e.g., triggerss instead of triggers) will now produce an explicit error rather than silent misbehavior.
    • If an unknown-field error is received, the correct remediation is to remove or rename the offending field—not to retry with the same input.
  • Add to any "Iterating / debugging" guidance: unknown-field errors are surfaced early (at parse/decode time), before any canvas resources are created or modified, so they are safe to correct and retry.
  • Remove or correct any language implying that extra or unrecognized fields in canvas YAML are harmless or ignored.

Verification

A human reviewer should:

  1. Run the CLI against a YAML file containing a deliberate typo or extra field (e.g., add unknownField: true to a canvas YAML) and confirm an error is returned instead of the operation succeeding silently.
  2. Send an API request (e.g., via curl or the API client) with an extra unknown field in the request body and confirm the server returns an error response (not a 2xx with the field silently dropped).
  3. Check the exact wording of the error message produced by the CLI and API for unknown fields, and ensure the error message example in SKILL.md (if added) matches the actual output.
  4. Verify existing valid YAML examples in both skill docs still work without errors against the current CLI version—no regressions in valid input handling.
  5. Confirm no valid, documented YAML fields are incorrectly rejected by the new strict decoder (i.e., the decoder's field list is in sync with the documented schema).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions