Plugins · CCPP PQL
Objectives
ADD, REMOVE, MODIFY, REFACTOR, SKIP and CONTINUE describe the results Claude must produce in the active scope.
An objective describes a result, in the scope where it is declared. It ends with ;, has no block and creates
no scope.
| Keyword | Purpose | Parameters |
|---|---|---|
ADD | Add the described elements or features. | 1 to N descriptions |
REMOVE | Remove the described elements or behaviors. | 1 to N descriptions |
MODIFY | Change the described existing elements. | 1 to N descriptions |
REFACTOR | Restructure the described code, keeping its observable behavior. | 1 to N descriptions |
SKIP | Leave the described work aside and report it as skipped. | 1 to N descriptions |
CONTINUE | Resume work already started, optionally described. | 0 or 1 description |
FROM @packages/pql {
ADD "A typed parser", "Its diagnostics catalog";
FROM @packages/pql/src { REFACTOR "The diagnostics representation"; }
MODIFY "The package documentation"; // back in the scope packages/pql
}- Each description is its own objective:
ADD "a", "b";is twoADDobjectives of the same scope. - Their order is kept but is not a strict dependency.
CONTINUEresumes work; it is never a loop control.
Descriptions
A description is a string with at least one character other than a space. "", " ", numbers, booleans,
null, bare words, lists and @ references are refused. Write the result, not the steps:
ADD "Rate limiting on the login route" rather than ADD "Open the router and add a middleware".
Placement
An objective sits directly in a scope or in a condition branch of that scope. It closes the block's preamble: stop rules, policy references and HOW directives of that block come before it.
Contradictions
The compiler reports what it can identify and never resolves a conflict by order. The same description (case,
spaces and a trailing period ignored) declared both with ADD or MODIFY and with REMOVE in one block is the
warning PQL-O001. Other contradictions in natural language are left to Claude, which reports them.
Errors
| Situation | Code |
|---|---|
No description (except CONTINUE) | PQL-T001 |
Several descriptions for CONTINUE | PQL-T002 |
| Empty or blank description | PQL-T003 |
| Not a string | PQL-T004 |
| No active scope | PQL-D004 |
| A block after an objective | PQL-D005 |