About query-builder
A skill for building safe, efficient SQL queries against Protheus ERP tables. It helps developers select an access pattern, apply required filters, align queries with indexes, and parameterize dynamic values.
Key features
- 01Protheus database conventions and filters
- 02Workarea and SQL pattern selection
- 03Parameterized queries with FWPreparedStatement
- 04SIX index alignment guidance
- 05Cross-database query guidance
Use cases
- 01Building queries for standard or custom tables
- 02Choosing between DbSeek and Embedded SQL
- 03Reviewing queries for required filters
- 04Diagnosing slow queries from index mismatch
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ thalysjuvenal/ advpl-specialist --skill query-builderAfter installing, type/query-builderin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
cross-database.mdindex-awareness.mdpatterns-fwpreparedstatement.mdpatterns-workarea.mdreference.mdDetails
From the project READMEProtheus Query Builder
This skill helps build correct, safe, and optimized SQL against Protheus ERP tables, respecting the platform's database conventions: mandatory soft-delete (D_E_L_E_T_) and multi-branch (xFilial) filters, Hungarian-notation field names, dictionary-driven physical schemas (RetSqlName()), and SIX index alignment. It guides the agent to choose the right access pattern -- Workarea navigation vs Embedded SQL vs raw TCSqlExec -- enforce mandatory filters, order WHERE clauses to match available indexes, and parameterize every dynamic value with FWPreparedStatement to eliminate injection risk.
Activate this skill when building any query against Protheus tables (standard SA*/SE*/SF* or custom Z*), deciding between DbSelectArea/DbSeek and Embedded SQL, reviewing code for missing mandatory filters, adding parameterized queries, diagnosing slow queries via index misalignment, or writing cross-database code. It does not cover BeginSQL/EndSQL macro syntax itself (see embedded-sql, its companion skill for macro details), nor record locking semantics during writes (see protheus-locks-deadlocks).
| Reference file | Read when |
|---|---|
| reference.md | Always -- database conventions, table/field naming, mandatory filters, pattern-choice overview |
| patterns-workarea.md | Generating record-by-record code with DbSelectArea + DbSeek + RecLock |
| patterns-fwpreparedstatement.md | Building parameterized TCQuery/TCSqlExec, LIKE clauses, INSERT/UPDATE/DELETE |
| index-awareness.md | Choosing/validating an index, ordering WHERE clauses, common SIX key expressions |
| cross-database.md | Using ChangeQuery(), TCGetDB(), DBAccess macros, MSSQL/PostgreSQL/Oracle equivalents |