/plugadvpl:lint

Lint ADVPL/TLPP sources against a configured rule catalog for code quality and security issues.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/JoniPraia/plugadvpl --skill plugadvpl-lint
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: /plugadvpl:lint
Source: https://github.com/JoniPraia/plugadvpl/tree/main/skills/lint
Command: npx skills add https://github.com/JoniPraia/plugadvpl --skill plugadvpl-lint

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It identifies common ADVPL/TLPP problems early by running an opinionated MVP ruleset that produces actionable findings (with file and line) instead of relying on manual review.

Core Features & Use Cases

  • Rule-based ADVPL/TLPP linting: Applies a configured catalog of MVP checks (e.g., RecLock without MsUnlock, restricted/deprecated function usage, SQL injection patterns, missing U_ on User Functions, unresolved includes, MVC inconsistencies).
  • Targeted triage: Lets you filter by minimum severity and run a single rule by id to speed up fixing.
  • Clear output for remediation: Reports finding id, severity, location (file:line), message, and suggested correction.

Quick Start

Run lint on a file by passing its path and asking for only blocking issues: “Lint src/matxxx.prw with severity error and return the results in markdown.”

Frequently Asked Questions about /plugadvpl:lint

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check ADVPL code for SQL injection and RecLock misuse?

To check ADVPL code for SQL injection and RecLock misuse, run a linting process against a configured rule catalog to detect security and quality issues. It reports actionable findings with file, line, and rule id for immediate remediation.

What is the best way to find deprecated API usage in Protheus TLPP sources?

Linting TLPP sources is the best way to find deprecated API usage by applying an opinionated MVP ruleset. It identifies restricted functions and provides clear output with finding id and suggested corrections during code review.

Can I lint an ADVPL file for only blocking errors?

Yes, you can lint an ADVPL file for only blocking errors by applying severity filtering. Pass the target file path and request a minimum severity level to return only the most critical findings in the output.

Does ADVPL linting detect missing U_ prefixes on User Functions?

ADVPL linting does detect missing U_ prefixes on User Functions by checking sources against its rule catalog. It flags these inconsistencies along with unresolved includes and MVC issues during the code review workflow.

How do I run a single specific linting rule on an ADVPL source file?

To run a single specific linting rule on an ADVPL source file, execute the plugadvpl lint workflow and specify the rule by id. This targeted triage speeds up fixing by isolating individual checks.