Skip to content

skills-lint: check skill tool names against PipefyClient, and fix wrong examples #700

Description

@mocha06

Problem

skills-lint.yml runs lint_skill_refs.py, which checks tool names in skills against the MCP registry only. A skill can therefore name an operation that the SDK does not have. See the name-parity issue in this milestone.

A review of the skills against the SDK also found content errors. Some of them are wrong on MCP too (all lines refer to origin/dev adf67c3a):

  • skills/observability/pipefy-observability/SKILL.md:56 uses page=1. The real parameters are first and after.
  • skills/observability/pipefy-observability/SKILL.md:66 uses agent_id=. The real parameters are uuid / agent_uuid and active.
  • skills/process-intelligence/pipefy-process-intelligence/SKILL.md:89 shows create_automation ... trigger_event=... actions=[...]. The real signature takes trigger_id and action_id.
  • skills/process-intelligence/pipefy-process-intelligence/SKILL.md:98 shows create_field_condition ... when/fields. The real signature takes phase_id, condition and actions.
  • skills/process-design/pipefy-process-design/SKILL.md:41 uses name="". The parameter is pipe_name.
  • skills/automations/pipefy-automations/SKILL.md:69,77: the example uses the same field id as prompt input and output. The validator rejects this (pipefy_sdk/ai_preflight.py:89-94). Line 77 also uses trigger_event= where the parameter is event_id.

Proposal

  • Extend lint_skill_refs.py so that a tool name in a skill body must resolve to a PipefyClient method, an MCP tool, or both. Once the surface-neutral issue lands, names in references/mcp.md must resolve to MCP tools only.
  • Fix the lines above.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugDefect: incorrect or broken behavior vs documented contractdocumentationDocs, skills, README, or in-repo guides only (no runtime change)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions