Not in the top 1,000 by GitHub stars
thalysjuvenal/advpl-specialist
Plugin para Claude Code especializado em ADVPL e TLPP para desenvolvimento TOTVS Protheus
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/advpl-code-generation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/advpl-code-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/advpl-debugging/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/advpl-refactoring/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/advpl-to-tlpp-migration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/advpr-test-automation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/changelog-patterns/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/code-explanation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/documentation-patterns/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/embedded-sql/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/probat-testing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/protheus-business/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/protheus-locks-deadlocks/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/protheus-reference/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/query-builder/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/smartview-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/smartx-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/sx-configuration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
skills/tdn-lookup/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d80599b75e30 → d80599b75e30
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d80599b75e30
No earlier version was observed for comparison.
Verified commit d80599b75e30e7f559218b453d72b84999f138a4
git clone --filter=blob:none --no-checkout https://github.com/thalysjuvenal/advpl-specialist.git .hotskills/thalysjuvenal-advpl-specialist && git -C .hotskills/thalysjuvenal-advpl-specialist checkout --detach d80599b75e30e7f559218b453d72b84999f138a4
# Copy each selected skill directory from .hotskills/thalysjuvenal-advpl-specialist into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/thalysjuvenal/advpl-specialist.git .hotskills/thalysjuvenal-advpl-specialist && git -C .hotskills/thalysjuvenal-advpl-specialist checkout --detach d80599b75e30e7f559218b453d72b84999f138a4
# Copy each selected skill directory from .hotskills/thalysjuvenal-advpl-specialist into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/thalysjuvenal/advpl-specialist.git .hotskills/thalysjuvenal-advpl-specialist && git -C .hotskills/thalysjuvenal-advpl-specialist checkout --detach d80599b75e30e7f559218b453d72b84999f138a4
# Copy each selected skill directory from .hotskills/thalysjuvenal-advpl-specialist into .cursor/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/thalysjuvenal/advpl-specialist.git .hotskills/thalysjuvenal-advpl-specialist && git -C .hotskills/thalysjuvenal-advpl-specialist checkout --detach d80599b75e30e7f559218b453d72b84999f138a4
# Copy each selected skill directory from .hotskills/thalysjuvenal-advpl-specialist into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/thalysjuvenal/advpl-specialist.git .hotskills/thalysjuvenal-advpl-specialist && git -C .hotskills/thalysjuvenal-advpl-specialist checkout --detach d80599b75e30e7f559218b453d72b84999f138a4
# Copy each selected skill directory from .hotskills/thalysjuvenal-advpl-specialist into .github/skills/<skill-name>/Heat
4.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- advpl-code-generation
skills/advpl-code-generation - advpl-code-review
skills/advpl-code-review - advpl-debugging
skills/advpl-debugging - advpl-refactoring
skills/advpl-refactoring - advpl-to-tlpp-migration
skills/advpl-to-tlpp-migration - advpr-test-automation
skills/advpr-test-automation - changelog-patterns
skills/changelog-patterns - code-explanation
skills/code-explanation - documentation-patterns
skills/documentation-patterns - embedded-sql
skills/embedded-sql - probat-testing
skills/probat-testing - protheus-business
skills/protheus-business - protheus-locks-deadlocks
skills/protheus-locks-deadlocks - protheus-reference
skills/protheus-reference - query-builder
skills/query-builder - smartview-development
skills/smartview-development - smartx-development
skills/smartx-development - sx-configuration
skills/sx-configuration - tdn-lookup
skills/tdn-lookup
How it works
advpl-code-generation
When your agent uses it
Use when the user asks to generate, create, or scaffold ADVPL/TLPP code for TOTVS Protheus -- User Functions, Static Functions, TLPP classes, MVC (Model/View/Controller), REST APIs, SOAP web services, entry points (pontos de entrada), TReport/FWMsPrinter reports, jobs, or workflows. Also triggers on Portuguese phrasing like "gerar codigo", "criar rotina", "criar fonte", "novo ponto de entrada", "criar classe tlpp", "gerar api rest", "criar mvc", or routine name patterns like FATA001/MATA010. Covers naming conventions, Hungarian notation, namespace rules, identifier length limits, and mandatory User Function/error-handling structure.
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
694 tokensWhen the skill is activated
Reference documents
71,464 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Scripts executed separately
../../hooks/post-tool-use-encoding../../hooks/session-start
Files
../../.claude-plugin/marketplace.jsonasset918 bytes../../.claude-plugin/plugin.jsonasset629 bytes../../hooks/hooks.jsonasset556 bytes../../hooks/post-tool-use-encodingruns937 bytes../../hooks/session-startruns4,120 bytesSKILL.mdcore2,994 bytescatalogo-top-50-pes.mddoc7,953 bytespatterns-fwformbrowse.mddoc12,831 bytespatterns-fwmsprinter.mddoc24,892 bytespatterns-jobs.mddoc14,152 bytespatterns-mvc.mddoc22,752 bytespatterns-pontos-entrada-mvc.mddoc12,832 bytespatterns-pontos-entrada.mddoc18,931 bytespatterns-rest.mddoc28,336 bytespatterns-soap.mddoc18,630 bytespatterns-treport.mddoc17,579 bytespatterns-workflow.mddoc22,332 bytesreference.mddoc12,632 bytestemplates-classes.mddoc27,585 bytes
Read SKILL.md
# ADVPL/TLPP Code Generation
This skill provides patterns, templates, and mandatory structural rules for generating new ADVPL (`.prw`) and TLPP (`.tlpp`) code for TOTVS Protheus. It covers naming conventions (module prefixes, Hungarian notation), the mandatory User Function skeleton with Protheus.doc headers and error handling, variable scope rules, TLPP namespace conventions (`custom.<agrupador>.<servico>`), and the 8/10/255-character identifier length limits per construct type.
Activate this skill whenever the user requests new code creation: a new function, a TLPP class, an MVC screen, a REST endpoint, a SOAP web service, an entry point, a report, a batch job, or any new `.prw`/`.tlpp` file. It does not cover reviewing existing code (see `advpl-code-review`), fixing errors in existing code (see `advpl-debugging`), improving existing code structure without adding features (see `advpl-refactoring`), or converting legacy `.prw` to `.tlpp` (see `advpl-to-tlpp-migration`).
The reference and pattern files below hold the concrete templates -- read the specific pattern file that matches the type of code being generated instead of relying on memory.
| Reference file | Read when |
|---|---|
| reference.md | Always -- overview, naming conventions, mandatory User Function structure, namespace rules, identifier length limits, common mistakes |
| templates-classes.md | Generating a TLPP class (data, methods, constructor) |
| patterns-mvc.md | Generating an MVC screen (ModelDef/ViewDef/MenuDef) |
| patterns-rest.md | Generating a REST API endpoint (WsRestFul or TLPP `@Get/@Post` annotations) |View the complete source on GitHubadvpl-code-review
When your agent uses it
Use when the user asks to review, audit, or check the quality of ADVPL/TLPP code for TOTVS Protheus before merge or deploy -- covering best practices (RecLock/MsUnlock pairing, variable scope, area management, error handling), performance bottlenecks, security vulnerabilities (SQL injection, credential exposure), and modernization opportunities (TLPP migration readiness). Also triggers on Portuguese phrasing like "revisar codigo", "revisar fonte", "auditar rotina", "checar boas praticas", "code review advpl", or requests to apply the official TOTVS SonarQube ruleset (CA/BG/CS codes).
What it loads into context
Frontmatter
143 tokensAlways available to the agent
SKILL.md
558 tokensWhen the skill is activated
Reference documents
17,076 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,414 bytesreference.mddoc3,920 bytesrules-best-practices.mddoc23,328 bytesrules-modernization.mddoc8,378 bytesrules-performance.mddoc10,208 bytesrules-security.mddoc11,101 bytessonarqube-rules-catalog.mddoc9,097 bytes
Read SKILL.md
# ADVPL/TLPP Code Review
This skill provides a systematic code review methodology for existing ADVPL/TLPP code, producing findings tagged with a rule ID (`BP-*`, `PERF-*`, `SEC-*`, `MOD-*`), a severity (CRITICAL/WARNING/INFO), the file/line, the issue, and the fix. It covers four review categories: best practices, performance, security, and modernization, and can map findings to the official TOTVS SonarQube quality gate.
Activate this skill when the user wants existing code inspected for quality, compliance, security, or performance issues -- e.g. before a merge, before a deploy, during an onboarding audit, or when assessing migration readiness from `.prw` to `.tlpp`. It does not cover generating new code (see `advpl-code-generation`), diagnosing a specific runtime/compilation error (see `advpl-debugging`), restructuring code without adding features (see `advpl-refactoring`), or performing the actual `.prw` to `.tlpp` conversion (see `advpl-to-tlpp-migration`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- review categories, output format, severity levels, review process, rule ID prefixes |
| rules-best-practices.md | Checking RecLock/MsUnlock pairing, variable scope, area management, error handling, documentation (BP-* rules) |
| rules-performance.md | Checking Embedded SQL efficiency, loop efficiency, string operations, index usage (PERF-* rules) |
| rules-security.md | Checking SQL injection, input validation, credential exposure, sensitive data logging (SEC-* rules) |
| rules-modernization.md | Checking TLPP migration candidates, namespace usage, OOP patterns, modern UI frameworks (MOD-* rules) |
| sonarqube-rules-catalog.md | Aligning findings with the official TOTVS SonarQube ruleset (groups G1-G5, CA/BG/CS codes) |View the complete source on GitHubadvpl-debugging
When your agent uses it
Use when the user asks to debug, diagnose, or fix an ADVPL/TLPP error on TOTVS Protheus -- compilation errors (syntax, missing includes, undeclared variables), runtime failures (NIL access, type mismatch, array bounds), performance issues (slow queries, memory leaks), database locks (RecLock timeouts, deadlocks), or AppServer log/crash analysis. Also triggers on Portuguese phrasing like "erro de compilacao", "erro em tempo de execucao", "travou o lock", "RecLock nao libera", "performance lenta", "analisar log do appserver", or a pasted stack trace / error message from Protheus.
What it loads into context
Frontmatter
146 tokensAlways available to the agent
SKILL.md
448 tokensWhen the skill is activated
Reference documents
16,305 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,947 bytescommon-errors.mddoc29,304 bytesperformance-tips.mddoc18,586 bytesreference.mddoc9,290 bytes
Read SKILL.md
# ADVPL/TLPP Debugging
This skill provides a systematic methodology for diagnosing and resolving ADVPL/TLPP errors: a decision flow (compilation vs. runtime), a quick-diagnosis table by symptom, logging tool guidance (`Conout`, `FWLogMsg`, `ErrorBlock`), database lock diagnosis (`RecLock`/`MsUnlock`), and quick performance checks (wrong index, array growth in loops, Embedded SQL vs ISAM).
Activate this skill when the user reports an error message, a stack trace, a compilation failure, a hanging/locked record, a slow routine, or an AppServer crash/log to investigate. It does not cover generating new code from scratch (see `advpl-code-generation`), a general quality audit of working code (see `advpl-code-review`), restructuring code that already works correctly (see `advpl-refactoring`), or converting `.prw` to `.tlpp` (see `advpl-to-tlpp-migration`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- debug methodology flow, quick diagnosis by symptom, logging tools, lock diagnosis, performance quick checks, common debugging mistakes |
| common-errors.md | Looking up a specific compilation or runtime error message (top 50 ADVPL/TLPP errors with cause and fix) |
| performance-tips.md | Investigating a performance bottleneck in depth (query optimization, loop efficiency, memory) |View the complete source on GitHubadvpl-refactoring
When your agent uses it
Use when the user asks to refactor, clean up, or restructure existing ADVPL/TLPP code on TOTVS Protheus without changing its behavior -- extracting long functions (>100 lines), simplifying deeply nested conditionals, removing dead code, improving variable naming (Hungarian notation), eliminating duplicated logic, or reducing functions with too many parameters. Also triggers on Portuguese phrasing like "refatorar rotina", "melhorar esse fonte", "extrair funcao", "remover codigo morto", "simplificar condicional", "reduzir complexidade", or "God function" complaints.
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
421 tokensWhen the skill is activated
Reference documents
966 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,999 bytesreference.mddoc3,905 bytes
Read SKILL.md
# ADVPL/TLPP Refactoring
This skill defines safe refactoring patterns (RF-001 through RF-006) for improving ADVPL/TLPP code structure without altering behavior: extract function, simplify conditionals with guard clauses, remove dead code, improve naming to Hungarian notation, eliminate duplication, and reduce function parameter count. It also defines the mandatory process -- analyze, prioritize, present a before/after plan, wait for user approval, apply one change at a time, verify -- and hard safety rules (never change business logic, never rename externally-used symbols without a caller check).
Activate this skill when the user wants existing, working code restructured for readability or maintainability: long functions, deep nesting, unclear names, copy-pasted blocks, or functions with excessive parameters. It does not cover fixing bugs or errors (see `advpl-debugging`), generating brand-new functionality (see `advpl-code-generation`), a formal quality/security audit (see `advpl-code-review`), or converting procedural `.prw` to object-oriented `.tlpp` (see `advpl-to-tlpp-migration`, which is a structural paradigm change rather than a behavior-preserving cleanup).
| Reference file | Read when |
|---|---|
| reference.md | Always -- the only file in this skill; contains all refactoring patterns (RF-001 to RF-006), the refactoring process, and safety rules |View the complete source on GitHubadvpl-to-tlpp-migration
When your agent uses it
Use when the user asks to migrate, convert, compatibilize, or modernize legacy ADVPL procedural code to TLPP object-oriented classes on TOTVS Protheus -- turning User Functions/Static Functions into namespaced classes with methods and data properties, replacing Private/Public scoping, and preserving backward-compatible wrappers for existing callers. Also triggers on Portuguese phrasing like "migrar para tlpp", "compatibilizar fonte", "converter prw para tlpp", "transformar em classe", "modernizar rotina", or requests naming a `custom.<agrupador>.<servico>` / `totvs.protheus.<segmento>.<agrupador>` namespace.
What it loads into context
Frontmatter
152 tokensAlways available to the agent
SKILL.md
503 tokensWhen the skill is activated
Reference documents
7,331 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,365 bytesmigration-checklist.mddoc6,159 bytesmigration-rules.mddoc12,200 bytesreference.mddoc10,821 bytes
Read SKILL.md
# ADVPL to TLPP Migration
This skill guides the conversion of legacy `.prw` procedural code (User Functions, Static Functions, Private/Public variables) into modern `.tlpp` classes with `namespace` declarations, `data` properties, and `public`/`private` methods -- following the official TOTVS naming conventions (lowercase dot-separated namespaces, PascalCase classes, camelCase methods, no underscores). It defines the migration workflow (analyze -> identify -> map to class design -> user approval -> generate -> checklist -> validate) and mandates keeping the original `.prw` User Function as a thin backward-compatible wrapper delegating to the new class.
Activate this skill when the user wants an existing procedural routine converted to TLPP, needs help deciding a namespace, or is modernizing multiple `#Include` directives to `.th` includes. It does not cover generating brand-new TLPP code that has no ADVPL predecessor (see `advpl-code-generation`), behavior-preserving cleanup of code that stays in ADVPL (see `advpl-refactoring`), auditing code quality before migration (see `advpl-code-review`), or fixing errors encountered during or after migration (see `advpl-debugging`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- overview, migration strategy flow, core conversion rules table, TLPP naming conventions, full before/after example, key migration decisions, common mistakes |
| migration-rules.md | Needing the complete mapping of every ADVPL construct (preprocessor directives, database operations, error handling, UI elements) to its TLPP equivalent |
| migration-checklist.md | Verifying a completed migration is thorough before declaring it done |View the complete source on GitHubadvpr-test-automation
When your agent uses it
Use when the user wants to write, run, or troubleshoot automated regression tests for Protheus routines with ADVPR (Advanced Protheus Robot) -- covering FWTestHelper API, TestSuite/GPS de Testes setup, headless execution via FwExecSuite, and per-pattern scripting (MVC, ExecAuto/MSExecAuto, reports, processing routines, webservices, SmartLink, Smart View, single-message/TOTVS Message) plus routine preparation (screen bypass) and best practices. Also triggers on Portuguese phrasing like "teste automatizado", "robo de testes", "automacao de testes Protheus", "rodar suite de testes", "FWMyTestRunner", "GPS de testes", or "preparar rotina para teste automatico". The referenced files are written in Brazilian Portuguese.
What it loads into context
Frontmatter
175 tokensAlways available to the agent
SKILL.md
742 tokensWhen the skill is activated
Reference documents
46,692 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore3,341 bytesapi-fwtesthelper.mddoc54,501 bytesbest-practices.mddoc2,375 bytesgps-de-testes.mddoc2,905 bytespatterns-execauto.mddoc11,064 bytespatterns-mvc.mddoc12,735 bytespatterns-processing.mddoc7,287 bytespatterns-reports.mddoc14,795 bytespatterns-routine-prep.mddoc5,940 bytespatterns-smartlink.mddoc10,079 bytespatterns-smartview.mddoc8,474 bytespatterns-totvs-message.mddoc6,363 bytespatterns-webservice.mddoc13,675 bytesreference.mddoc14,333 bytes
Read SKILL.md
# ADVPR — Automação de Testes Protheus
This skill covers writing and running automated business-rule regression tests for TOTVS Protheus using ADVPR, the internal ADVPL-based test robot. It explains the `FWTestHelper` assertion API, how to register and organize test cases in a TestSuite (GPS de Testes), how to run suites with or without UI (`FWMyTestRunner` vs headless `FwExecSuite`), and per-routine-pattern scripting guidance for MVC, ExecAuto/MSExecAuto, reports, processing routines, webservices (REST/SOAP/Portal), SmartLink, Smart View, and TOTVS Message (single-message) flows. It also covers "routine preparation" -- adjusting legacy code so it runs screen-free during official headless execution -- and general ADVPR scripting best practices.
Activate this skill when the user wants to create or debug an ADVPR test script, set up a TestSuite, diagnose a TimeOut or unexpected-screen failure during headless execution, or needs guidance on which ADVPR pattern applies to a given routine type. It does not cover manual/interface-driven QA, unit testing of isolated ADVPL functions outside ADVPR, or general debugging of runtime/compilation errors unrelated to test automation (see `advpl-debugging`).
The referenced files are written in Brazilian Portuguese.
| Reference file | Read when |
|---|---|
| reference.md | Always -- ADVPR concept, patch prerequisite, FWMyTestRunner vs FwExecSuite headless execution, TimeOut causes |
| api-fwtesthelper.md | Writing assertions/expectations -- full FWTestHelper method reference |
| best-practices.md | Reviewing or writing ADVPR scripts -- recommended scripting conventions |
| gps-de-testes.md | Creating/organizing a TestSuite and its test cases (GPS de Testes) |View the complete source on GitHubchangelog-patterns
When your agent uses it
Use when the user asks to generate a changelog, release notes, or delivery notes from ADVPL/TLPP code changes on TOTVS Protheus -- analyzing diffs or a list of changed files, classifying each change (NEW/FIX/CHANGE/REMOVE/REFACTOR), assessing business impact (ALTO/MEDIO/BAIXO), and detecting affected tables. Also triggers on Portuguese phrasing like "gerar changelog", "notas de versao", "documentar entrega", "o que mudou nessa versao", or requests to audit code changes for compliance.
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
391 tokensWhen the skill is activated
Reference documents
780 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,719 bytesSKILL.mdcore1,719 bytesreference.mddoc2,768 bytes
Read SKILL.md
# Changelog Patterns
This skill defines how to analyze ADVPL/TLPP code changes (via git diff or a supplied file list) and produce a structured changelog: change type classification (NEW/FIX/CHANGE/REMOVE/REFACTOR with Portuguese labels), impact level assessment (ALTO/MEDIO/BAIXO), detection of affected database tables from `DBSelectArea`/`RecLock`/`BeginSQL` patterns, and output in either Markdown or plain-text format.
Activate this skill when the user wants a client-facing or internal changelog, release notes, or delivery documentation generated from a set of code changes. It does not cover generating documentation headers or technical routine specs from a single source file with no diff context -- that is closer to a documentation-generation task and out of scope for this skill's diff-analysis process; it also does not cover code review findings (see `advpl-code-review`) or the migration checklist for `.prw` to `.tlpp` conversions (see `advpl-to-tlpp-migration`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- the only file in this skill; contains change types, impact levels, Markdown/TXT changelog formats, and the full analysis process |View the complete source on GitHubcode-explanation
When your agent uses it
Use when the user asks to explain what a piece of ADVPL/TLPP code does in plain language, adapting the explanation depth for a junior developer (line-by-line), a senior developer (business logic, design decisions, risks), or a functional consultant (no technical terms) -- e.g. understanding legacy code, filling in missing documentation, or assessing the impact of a customization. Also triggers on Portuguese phrasing like "explicar fonte", "explicar codigo", "o que essa rotina faz", "explicar para o consultor funcional", or requests for a --level junior/senior/funcional explanation.
What it loads into context
Frontmatter
133 tokensAlways available to the agent
SKILL.md
389 tokensWhen the skill is activated
Reference documents
680 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,949 bytesreference.mddoc2,726 bytes
Read SKILL.md
# ADVPL/TLPP Code Explanation
This skill provides a methodology for explaining existing ADVPL/TLPP code in plain language, tailored to three audience levels: a junior developer needing line-by-line detail, a senior developer needing a business-logic summary with risks and technical debt, and a functional consultant needing a non-technical description of what the routine does from a business perspective.
Activate this skill when the user wants an existing routine, function, or snippet explained -- e.g. onboarding a new developer, understanding legacy code with no documentation, or briefing a functional consultant on a customization. It reads the target code, determines the requested (or asked) explanation level, and structures the output accordingly, optionally pulling in native-function meanings, business-process context, or SQL details as needed.
It does not cover generating formal documentation artifacts like Protheus.doc headers or full routine specs (see `documentation-patterns`), looking up native function syntax in isolation (see `protheus-reference`), or explaining embedded SQL macro semantics in depth (see `embedded-sql`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- explanation levels, structure per level (junior/senior/funcional), and the analysis process |View the complete source on GitHubdocumentation-patterns
When your agent uses it
Use when the user wants to generate technical documentation for ADVPL/TLPP code on TOTVS Protheus -- Protheus.doc header blocks (@type, @param, @return, @author, @since, @history), complete routine documentation (tables read/written, MV_* parameters, entry points, execution flow, dependencies), or REST API endpoint documentation (path/query parameters, request/response JSON, status codes). Also triggers on Portuguese phrasing like "documentar rotina", "gerar cabecalho Protheus.doc", "documentar endpoint", "documentar API REST", or requests to add documentation to legacy/undocumented code.
What it loads into context
Frontmatter
140 tokensAlways available to the agent
SKILL.md
422 tokensWhen the skill is activated
Reference documents
1,037 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,053 bytesSKILL.mdcore2,053 bytesreference.mddoc3,936 bytes
Read SKILL.md
# ADVPL/TLPP Documentation Patterns
This skill provides templates and a generation process for turning ADVPL/TLPP source code into Protheus-standard technical documentation. It covers three output types: a `header` Protheus.doc comment block for a single function/method, a `full` markdown routine specification (objective, module, tables read/written, MV_* parameters, entry points, execution flow, dependencies, change history), and an `api` REST endpoint document (authentication, path/query parameters, request body, response schemas).
Activate this skill when the user asks to generate or add documentation for existing code -- headers, full routine specs, or API docs -- following TOTVS conventions. The process reads the target file, extracts functions/parameters/tables/MV_* usage/entry points/dependencies from the code itself, cross-checks git history for author and change log when available, then fills the appropriate template.
It does not cover explaining code in plain conversational language for an audience (see `code-explanation`), looking up native function signatures to fill in documentation accurately (see `protheus-reference`), or documenting the semantics of embedded SQL macros used inside a routine (see `embedded-sql`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- the three documentation type templates (header/full/api) and the generation process |View the complete source on GitHubembedded-sql
When your agent uses it
Use when the user needs to write, review, or migrate SQL queries in ADVPL/TLPP using BeginSQL/EndSQL blocks and macro expressions (%table%, %xfilial%, %notDel%, %exp%, %Order%) instead of raw TCQuery string concatenation -- covering INNER/LEFT JOIN patterns, aggregations (SUM/COUNT/GROUP BY/HAVING), subqueries, column type declarations, DML via TCSqlExec, and SQL-injection prevention. Also triggers on Portuguese phrasing like "consulta SQL", "query embutida", "migrar TCQuery para BeginSQL", "escrever SELECT com filial e notDel", or "montar JOIN em ADVPL".
What it loads into context
Frontmatter
152 tokensAlways available to the agent
SKILL.md
483 tokensWhen the skill is activated
Reference documents
3,314 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,034 bytesreference.mddoc10,377 bytes
Read SKILL.md
# Embedded SQL in ADVPL/TLPP
This skill covers writing SQL inside ADVPL/TLPP using `BeginSQL ... EndSQL` blocks and their special macro expressions -- `%table:TABLE%` for physical table resolution, `%xfilial:TABLE%` for branch filtering, `%notDel%` for logical-deletion filtering, `%exp:EXPRESSION%` for safe variable binding, and `%Order:TABLE%` for primary-key ordering. It also covers `column` type declarations, JOIN and aggregation patterns, subqueries, and migrating legacy `TCQuery` string-concatenation code to Embedded SQL.
Activate this skill whenever the user is writing a new query, reviewing an existing one for correctness/safety, or converting old concatenated-string SQL to the modern BeginSQL syntax. It also covers the restrictions and gotchas of BeginSQL (no `*` at line start, always include `%notDel%` and filial filtering, use `GetNextAlias()`, close aliases) and when to use `TCSqlExec` instead for INSERT/UPDATE/DELETE.
It does not cover general native function lookups unrelated to SQL (see `protheus-reference`), business-process context for which tables/fields to query (see `protheus-business`), or generating documentation for a routine that happens to contain SQL (see `documentation-patterns`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- BeginSQL syntax, macro expressions, JOIN/aggregation/subquery patterns, DML via TCSqlExec, performance tips, and TCQuery migration |View the complete source on GitHubprobat-testing
When your agent uses it
Use when the user needs to write or run unit, functional, or integration tests for TLPP code using ProBat (tlppCore's native testing engine) -- covering @TestFixture, @Test, @Setup/@TearDown, @OneTimeSetUp/@OneTimeTearDown, @Skip, @ErrorLog annotations, the full assertion library (assertEquals, assertTrue, assertVector, assertJson, assertIsRegExFull, etc.), SKIPASSERT, and TDD/CI workflows. Also triggers on Portuguese phrasing like "testes unitarios", "criar teste ProBat", "testar rotina TLPP", "cobertura de testes", or requests to add @Test methods to a TLPP class.
What it loads into context
Frontmatter
159 tokensAlways available to the agent
SKILL.md
489 tokensWhen the skill is activated
Reference documents
5,513 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,034 bytesSKILL.mdcore2,034 bytespatterns-unit-tests.mddoc13,502 bytesreference.mddoc6,970 bytes
Read SKILL.md
# ProBat Testing (TLPP)
This skill covers ProBat, the native unit/functional/integration testing engine of tlppCore, used exclusively with TLPP (`.tlpp`) source files -- even when the code under test is legacy `.prw`. It covers the required `#include "tlpp-probat.th"`, the `test.<module>` namespace convention, the full annotation set (`@TestFixture`, `@Test`, `@Setup`, `@TearDown`, `@OneTimeSetUp`, `@OneTimeTearDown`, `@Skip`, `@ErrorLog`), the `tlpp.probat` assertion functions, the class-based execution lifecycle, and `SKIPASSERT` for conditional assertion skipping.
Activate this skill when the user wants to create a new ProBat test fixture, add test methods to cover a routine, set up setup/teardown logic, or understand how ProBat discovers and executes tests (via REST API or the VSCode extension). Concrete test-writing templates live in the sibling patterns file.
It does not cover generating the production TLPP code being tested (see `advpl-code-generation`), reviewing code quality outside of tests (see `advpl-code-review`), or writing embedded SQL used inside test fixtures (see `embedded-sql`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- includes, namespace convention, annotations, assertion function reference, execution lifecycle, and how tests are run |
| patterns-unit-tests.md | Writing a concrete ProBat test fixture and need ready-to-adapt templates/patterns |View the complete source on GitHubprotheus-business
When your agent uses it
Use when the user needs to understand a TOTVS Protheus ERP business process, module workflow, or cross-module integration -- covering Compras (COM), Estoque (EST), Faturamento (FAT), Financeiro (FIN), Contabilidade (CTB), Fiscal (FIS), PCP, and Manutencao de Ativos (MNT), including their main routines (e.g. MATA110, MATA460), tables/fields, and business rules. Also triggers on Portuguese phrasing like "processo de negocio", "modulo de compras/estoque/faturamento/financeiro/fiscal/contabilidade/pcp/manutencao", "como funciona o ciclo de compras", or questions about integration between modules.
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
655 tokensWhen the skill is activated
Reference documents
97,521 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,681 bytesmodulo-compras.mddoc35,193 bytesmodulo-contabilidade.mddoc40,797 bytesmodulo-estoque.mddoc40,448 bytesmodulo-faturamento.mddoc39,514 bytesmodulo-financeiro.mddoc45,552 bytesmodulo-fiscal.mddoc36,397 bytesmodulo-manutencao.mddoc42,701 bytesmodulo-pcp.mddoc36,873 bytesreference.mddoc3,771 bytes
Read SKILL.md
# Protheus Business Processes
This skill is a reference guide for TOTVS Protheus ERP business processes across eight modules: Compras, Estoque, Faturamento, Financeiro, Contabilidade, Fiscal, PCP, and Manutencao de Ativos. For each module it documents the main tables and fields, the key routines (e.g. MATA110, MATA460, MATA103), step-by-step business flows, and how the module integrates with others.
Activate this skill when the user asks how a business process works, which tables/fields a routine touches, or how two modules integrate (e.g. Compras feeding Estoque and Financeiro). Look up the module first in the local reference files; if the answer isn't found locally, fall back to a TDN web search as described in the lookup strategy.
It does not cover native function syntax (see `protheus-reference`), writing the SQL to query these tables (see `embedded-sql`), or generating/reviewing code that implements these processes (see `advpl-code-generation`, `advpl-code-review`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- module index, lookup strategy (local first, then TDN), and response format per query type |
| modulo-compras.md | Questions about Compras (COM): solicitacoes, cotacoes, pedidos de compra, liberacao, entrada de NF |
| modulo-estoque.md | Questions about Estoque (EST): movimentacoes, saldos, armazens, inventario |
| modulo-faturamento.md | Questions about Faturamento (FAT): pedidos de venda, notas fiscais de saida, faturamento |View the complete source on GitHubprotheus-locks-deadlocks
When your agent uses it
Use when the user needs to understand, diagnose, or prevent Protheus record locks and deadlocks -- covering RecLock/MsUnlock/SoftLock/LockByName semantics, BeginTran/EndTran transaction scoping, lock leak and deadlock diagnostics (TopMemoStatus, MonitorActiveLocks, DBAccess monitor, SQL Server/PostgreSQL/Oracle lock queries), and prevention patterns (BEGIN SEQUENCE/RECOVER, lock ordering). Also triggers on Portuguese phrasing like "registro travado", "trava de registro", "deadlock", "erro de lock", "travamento no Protheus", "quem esta travando o registro", or "RecLock nao libera".
What it loads into context
Frontmatter
151 tokensAlways available to the agent
SKILL.md
515 tokensWhen the skill is activated
Reference documents
7,503 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,211 bytesdiagnostics.mddoc8,375 bytespatterns-prevention.mddoc10,197 bytesreference.mddoc10,476 bytes
Read SKILL.md
# Protheus Locks & Deadlocks
This skill documents the Protheus hybrid locking model -- record-level Workarea locks (`RecLock`/`MsUnlock`) coordinated by DBAccess on top of the underlying RDBMS (PostgreSQL, MSSQL, Oracle) -- and how to diagnose and prevent the lock leaks, contention, and deadlocks that are among the most common production issues. It covers lock API semantics (`RecLock`, `MsUnlock`/`MsUnlockAll`, `SoftLock`, `LockByName`, `TCSqlExec`, `BeginTran`/`EndTran`/`DisarmTransaction`), safe transaction scoping with `BEGIN SEQUENCE/RECOVER`, and live diagnostic procedures per database engine.
Activate this skill when the user reports a "Record locked by user XYZ" error, needs to investigate performance degradation under concurrent load, is writing or reviewing code that locks records, or is designing a batch job over large data sets where lock ordering matters. It does not cover query design or `%nolock%` usage in Embedded SQL (see `query-builder`), general runtime/performance debugging unrelated to locking (see `advpl-debugging`), or `BeginSQL`/`EndSQL` macro syntax (see `embedded-sql`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- lock types table, core lock/transaction APIs, when-to-use guidance |
| patterns-prevention.md | Writing or refactoring code that locks records -- `BEGIN SEQUENCE/RECOVER`, `SoftLock`, transaction scoping, lock ordering rules |
| diagnostics.md | Investigating live lock contention or deadlocks -- `TopMemoStatus`, MonitorActiveLocks, DBAccess monitor, engine-specific SQL lock queries |View the complete source on GitHubprotheus-reference
When your agent uses it
Use when the user needs to look up a TOTVS Protheus native function's syntax/parameters/return value, the SX data dictionary structure (SX1-SX9, SIX), REST API endpoint patterns (FWRest, WsRestFul), MV_* system parameter behavior, SX3 field validation, or whether a function is restricted/internal-only. Also triggers on Portuguese phrasing like "funcao nativa", "dicionario de dados", "parametro MV_", "campo SX3", "API REST protheus", "essa funcao e restrita".
What it loads into context
Frontmatter
124 tokensAlways available to the agent
SKILL.md
545 tokensWhen the skill is activated
Reference documents
85,107 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,484 bytesnative-functions.mddoc176,977 bytesreference.mddoc5,914 bytesrest-api-reference.mddoc44,619 bytesrestricted-functions.mddoc9,334 bytessx-dictionary.mddoc34,888 bytessx3-common-fields.mddoc17,974 bytes
Read SKILL.md
# Protheus Reference
This skill is a quick-lookup reference guide for the TOTVS Protheus ecosystem: native function syntax/parameters/return values across categories (String, Date/Time, Array, Database, Interface, Network, JsonObject, ExecAuto, etc.), the SX data dictionary (SX1 Perguntas through SXB/SIX), REST API patterns (FWRest annotations vs. legacy WsRestFul), and MV_* system parameters.
Activate this skill when the user needs to confirm how a native function works, validate a custom field against SX3, check REST endpoint conventions, or verify a function isn't on the restricted/internal-only list (checked first, always, before recommending any function). The lookup strategy is local-first (native-functions.md, sx-dictionary.md, sx3-common-fields.md, rest-api-reference.md), falling back to a tiered TDN online search (WebFetch API, then Playwright API JSON, then Playwright HTML) via the `tdn-lookup` skill when not found locally.
It does not cover business-process context for why a table/field is used (see `protheus-business`), writing the SQL to query these tables (see `embedded-sql`), or generating documentation that references these functions (see `documentation-patterns`).
| Reference file | Read when |
|---|---|
| reference.md | Always -- function category index, data dictionary overview, REST API pattern summary, and the local-first/TDN lookup strategy |
| native-functions.md | Looking up exact syntax, parameters, and return value of a specific native function |
| sx-dictionary.md | Understanding SX1-SX9/SIX table structure and programmatic usage of the data dictionary |
| sx3-common-fields.md | Validating whether a custom or standard field exists on a table before referencing it in code |View the complete source on GitHubquery-builder
When your agent uses it
Use when the user needs to build, choose the pattern for, or optimize a SQL query against Protheus ERP tables -- covering Workarea (DbSelectArea/DbSeek) vs Embedded SQL vs TCSqlExec pattern choice, mandatory D_E_L_E_T_/xFilial filters, SIX index-aligned WHERE ordering, FWPreparedStatement parameterization to prevent SQL injection, and cross-database (PostgreSQL/MSSQL/Oracle) portability. Also triggers on Portuguese phrasing like "consulta SQL", "montar query", "otimizar consulta", "qual indice usar", "escolher entre DbSeek ou SQL", or "prevenir SQL injection no Protheus".
What it loads into context
Frontmatter
147 tokensAlways available to the agent
SKILL.md
552 tokensWhen the skill is activated
Reference documents
11,195 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,373 bytescross-database.mddoc5,794 bytesindex-awareness.mddoc6,154 bytespatterns-fwpreparedstatement.mddoc8,702 bytespatterns-workarea.mddoc5,737 bytesreference.mddoc11,032 bytes
Read SKILL.md
# Protheus 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 |View the complete source on GitHubsmartview-development
When your agent uses it
Use when the user wants to create, migrate, publish, or troubleshoot a TOTVS Smart View custom business object (Integrated Provider) -- the TLPP class carrying the @totvsFrameworkTReportsIntegratedProvider annotation with getSchema/getData, its parameters with lookup and combo endpoints, the callTReports menu source, and the .trp resource publication cycle. Also covers converting legacy TReport, FWMSPrinter, TMSPrinter and FWMSExcel reports into Smart View data views. Triggers on Portuguese phrasing like "objeto de negocio Smart View", "relatorio no Smart View", "migrar relatorio para Smart View", "visao de dados", "IntegratedProvider", "callTReports", "arquivo .trp", "combo de parametro Smart View". This is Smart View (TReports analytics), NOT Smart X (metadata-driven PO-UI screens) -- for Smart X screens use the smartx-development skill instead.
What it loads into context
Frontmatter
198 tokensAlways available to the agent
SKILL.md
728 tokensWhen the skill is activated
Reference documents
19,748 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore3,326 bytesdeploy-trp.mddoc5,696 bytespatterns-getdata.mddoc11,770 bytespatterns-migration-reports.mddoc10,268 bytespatterns-parameters.mddoc13,189 bytespatterns-schema.mddoc7,845 bytesreference.mddoc15,319 bytestroubleshooting.mddoc8,812 bytes
Read SKILL.md
# Smart View
This skill covers building custom Smart View business objects on TOTVS Protheus: the TLPP class that inherits from `totvs.framework.treports.integratedprovider.IntegratedProvider`, declares the `@totvsFrameworkTReportsIntegratedProvider` annotation, and implements `new()`, `getSchema()` and `getData()`. It documents the schema contract (`addProperty`, column types, dates), the parameter contract (`addParameter`, `setPergunte`, advanced search via `setCustomURL`, and the custom REST endpoint a combo requires), the query patterns inside `getData`, the `callTReports` menu source, and the full `.trp` resource publication cycle that makes the object reachable from the Protheus menu.
Activate this skill when the user is creating a new Smart View report or data view from scratch, migrating an existing TReport/FWMSPrinter/TMSPrinter/FWMSExcel report into a Smart View business object, wiring parameters with advanced search or combo values, or diagnosing why an object does not appear in the tool, returns no rows, or fails to import its resource. It does not cover Smart X (see `smartx-development`), automated testing of Smart View objects (see `advpr-test-automation`, which has `UTSchemaSmartView`/`UTGetDataSmartView`), nor SX dictionary scripts for the tables being read (see `sx-configuration`).
The referenced files are written in Brazilian Portuguese.
| Reference file | Read when |
|---|---|
| reference.md | Always -- Smart View vs Smart X, environment prerequisites, minimum contract, annotation, REST routes, object identity, end-to-end example |
| patterns-schema.md | Defining columns with `addProperty`: types, dates, calculated columns, discriminator column, page size |
| patterns-parameters.md | Defining parameters: `addParameter`, `setPergunte`, advanced search (lookup), combo values and the custom options endpoint |
| patterns-getdata.md | Writing the query and feeding rows: BeginSQL vs FWExecStatement, multi-branch, currency, workarea rules |View the complete source on GitHubsmartx-development
When your agent uses it
Use when the user wants to build, migrate, or troubleshoot a Smart X routine -- TOTVS's metadata-driven UI framework that generates modern PO-UI screens from a data dictionary Object/Model/Interface/Launcher chain. Covers the model.tlpp/interface.tlpp/launcher artifacts, ADVPL function integration via pageActions/tableActions/onChange, converting a legacy MVC browse to Smart X, and common troubleshooting. Also triggers on Portuguese phrasing like "tela Smart X", "gerar tela por metadados", "migrar MVC para Smart X", "criar Modelo e Interface Smart X", "launcher Smart X", or names like FINA050SM/MATA110SX.
What it loads into context
Frontmatter
148 tokensAlways available to the agent
SKILL.md
632 tokensWhen the skill is activated
Reference documents
25,710 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,968 bytespatterns-advpl-integration.mddoc10,834 bytespatterns-interface.mddoc16,662 bytespatterns-launcher-browse.mddoc9,903 bytespatterns-migration.mddoc17,115 bytespatterns-model.mddoc21,864 bytesreference.mddoc10,966 bytestroubleshooting.mddoc11,647 bytes
Read SKILL.md
# Smart X
This skill covers developing TOTVS Smart X routines: the Object -> Model -> Interface -> Launcher chain that turns a data dictionary table (SX2/SX3) into an automatically-rendered PO-UI screen without hand-written Angular components. It documents the required includes and annotations for the Model (`totvs.framework.structure.model.th`) and Interface (`totvs.framework.structure.Interface.th`) TLPP classes, the Launcher function that registers the routine in the Protheus menu, integrating existing ADVPL functions into the interface via `pageActions`/`tableActions`/events, and converting only the browse (Data View) of a legacy MVC routine to Smart X while keeping ModelDef/ViewDef/MenuDef intact.
Activate this skill when the user is creating a new Smart X routine from scratch, wiring an ADVPL function call into a Smart X page/table action, converting a legacy MVC browse to a Smart X browse, or debugging a Smart X screen/model/interface issue. It does not cover classic MVC routine development without Smart X (see `advpl-code-generation`, file `patterns-mvc.md`), nor data dictionary configuration scripts for SX2/SX3 themselves (see `sx-configuration`). It is also unrelated to **Smart View**, the TReports analytics tool whose custom business objects are covered by `smartview-development` -- the names are similar, the frameworks are not.
The referenced files are written in Brazilian Portuguese.
| Reference file | Read when |
|---|---|
| reference.md | Always -- Smart X concept, Object/Model/Interface/Launcher architecture, includes/annotations, minimal end-to-end example |
| patterns-model.md | Writing or reviewing the Model (`model.tlpp`) class and its data/business-rule definitions |
| patterns-interface.md | Writing or reviewing the Interface (`interface.tlpp`) class and its UI contract (browse/forms) |
| patterns-launcher-browse.md | Converting only the browse (Data View) of an existing MVC routine to Smart X rendering |View the complete source on GitHubsx-configuration
When your agent uses it
Use when the user needs to generate or validate Protheus data dictionary configuration scripts -- covering SX2 (table headers), SX3 (fields), SIX (indexes), SXG (field groups), SXA (form folders/tabs), SX1 (report questions), SX5 (generic tables), SXB (F3 lookup queries), and SX7 (triggers). Also triggers on Portuguese phrasing like "criar campo customizado", "cadastrar tabela customizada", "dicionario de dados", "criar indice SIX", "gatilho de campo", "tabela generica SX5", "consulta F3", or field-prefix names like ZA1/ZZ1.
What it loads into context
Frontmatter
146 tokensAlways available to the agent
SKILL.md
435 tokensWhen the skill is activated
Reference documents
4,733 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,802 bytesreference.mddoc16,175 bytes
Read SKILL.md
# SX Configuration
This skill provides templates and validation rules for generating Protheus data dictionary configuration scripts: SX2 table headers, SX3 field definitions, SIX indexes, SXG field groups, SXA form folders/tabs, SX1 report parameter questions, SX5 generic tables, SXB standard F3 lookup queries, and SX7 field triggers. It covers required field values, naming conventions (3-char aliases, `Z`-prefixed custom tables, `XX_FIELD` naming), share-mode semantics (`C`/`E`/`M`), and common pitfalls such as creation order (SX2 before SX3 before SIX) and hardcoded physical table names.
Activate this skill when the user is registering a new custom table, adding custom fields, defining indexes, grouping fields for cross-table validation, organizing MVC form tabs, setting up report parameter questions, creating a generic lookup table, or configuring an F3 query or field trigger. It does not cover programmatic READ access to the dictionary at runtime (`Posicione`, `TamSx3`, FW APIs) -- see `protheus-reference/sx-dictionary.md` for that.
| Reference file | Read when |
|---|---|
| reference.md | Always -- SX2/SX3/SIX/SXG/SXA/SX1/SX5/SXB/SX7 field templates, share modes, naming rules, and common pitfalls |View the complete source on GitHubtdn-lookup
When your agent uses it
Use as the escalation strategy when local ADVPL/TLPP reference material lacks an answer -- a tiered approach (local cache first, then TDN Confluence REST API via WebFetch, then Playwright against the API, then WebSearch, then visual site search) for looking up native functions, entry points, unknown errors, or business processes on TDN (tdn.totvs.com). Also triggers on Portuguese phrasing like "buscar documentacao no TDN", "nao encontrei na referencia local", "pesquisar funcao no TDN", "documentacao oficial TOTVS", or "erro desconhecido nao listado".
What it loads into context
Frontmatter
137 tokensAlways available to the agent
SKILL.md
444 tokensWhen the skill is activated
Reference documents
2,072 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,033 bytesreference.mddoc7,550 bytes
Read SKILL.md
# TDN Lookup — Online Search Strategy
This skill defines the standardized fallback strategy for finding official TOTVS documentation on TDN (tdn.totvs.com, a public Confluence Data Center 7.19 site with an unauthenticated REST API) whenever local reference material is insufficient. It specifies a five-tier escalation: Tier 1 always checks the relevant local cache file first (native functions, SX dictionary, common errors, entry points, business modules); Tier 2 queries the Confluence REST search API directly via WebFetch with a CQL query; Tier 3 falls back to Playwright hitting the same API when WebFetch is blocked; Tier 4 uses WebSearch plus Playwright navigation when CQL search yields nothing; Tier 5 is a last-resort manual/visual search on the TDN site itself.
Activate this skill whenever a native function, entry point, error code, or business process is not found (or only partially found) in the local reference files, or whenever the user explicitly asks for official TOTVS documentation. It does not itself contain domain knowledge -- it only orchestrates the search process; the actual native function, entry point, and error catalogs live in `protheus-reference`, `advpl-code-generation`, `advpl-debugging`, and `protheus-business`.
| Reference file | Read when |
|---|---|
| reference.md | Always -- tier-by-tier search strategy, CQL query construction, HTML/JSON parsing steps, fallback conditions per tier |View the complete source on GitHubSkills included
- advpl-code-generation
- advpl-code-review
- advpl-debugging
- advpl-refactoring
- advpl-to-tlpp-migration
- advpr-test-automation
- changelog-patterns
- code-explanation
- documentation-patterns
- embedded-sql
- probat-testing
- protheus-business
- protheus-locks-deadlocks
- protheus-reference
- query-builder
- smartview-development
- smartx-development
- sx-configuration
- tdn-lookup
Repository facts
- License
- MIT
- Created
- Mar 4, 2026
- Last pushed
- Sep 14, 2026
- Forks
- 39
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
skills/changelog-patterns/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/documentation-patterns/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/probat-testing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 7 dangerous shell commandsin 4 files: protheus-reference/native-functions.md:3172 hooks/session-start:15 advpl-to-tlpp-migration/migration-rules.md:172 and 1 more
- 216 network referencesin 28 files: advpl-code-generation/catalogo-top-50-pes.md:34 advpl-code-generation/patterns-soap.md:291 protheus-reference/rest-api-reference.md:71 and 25 more
- No hidden or obfuscated text
- No instruction overrides
- 2 executable scriptsin 2 files: hooks/post-tool-use-encoding:1 hooks/session-start:1
- 3 references to secretsin 2 files: advpl-code-review/rules-security.md:209 protheus-reference/rest-api-reference.md:137
- No requests to vote in Hot
Show all 228 signals by file
.claude-plugin/marketplace.json
- Network accessline 17
"name": "Thalys Augusto" }, "homepage": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 18
}, "homepage": "https://github.com/thalysjuvenal/advpl-specialist", "repository": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 19
"homepage": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 20
"repository": "https://github.com/thalysjuvenal/advpl-specialist",
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Thalys Augusto" }, "license": "MIT", "homepage": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 6
"license": "MIT", "homepage": "https://github.com/thalysjuvenal/advpl-specialist", "repository": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 7
"homepage": "https://github.com/thalysjuvenal/advpl-specialist", - Network accessline 8
"repository": "https://github.com/thalysjuvenal/advpl-specialist",
hooks/post-tool-use-encoding
- Executable scriptline 1
#!/usr/bin/env bash
hooks/session-start
skills/advpl-code-generation/catalogo-top-50-pes.md
- Network accessline 34
- **PARAMIXB:** nenhum (usa variáveis públicas `aCols`, `aHeader`) - **Retorno:** `.T.` continua gravação, `.F.` aborta com mensagem - **TDN:** https://tdn.totvs.com/display/public/PROT/MT100TOK - Network accessline 36
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT100TOK - Network accessline 42
- **PARAMIXB:** `[1]=cFilOri (caractere), [2]=nOpcAuto (numérico)` - **Retorno:** `.T.` continua, `.F.` aborta gravação dos itens - **TDN:** https://tdn.totvs.com/display/public/PROT/MT100GRV - Network accessline 44
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT100GRV - Network accessline 50
- **PARAMIXB:** nenhum (usa `aCols`, `aHeader`, variáveis públicas) - **Retorno:** ignorado - **TDN:** https://tdn.totvs.com/display/public/PROT/MT103FIM - Network accessline 52
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT103FIM - Network accessline 58
- **PARAMIXB:** nenhum - **Retorno:** `.T.` libera gravação, `.F.` bloqueia - **TDN:** https://tdn.totvs.com/display/public/PROT/MA103OK - Network accessline 60
- **TDN:** https://tdn.totvs.com/display/public/PROT/MA103OK - Network accessline 66
- **PARAMIXB:** `[1]=cAlias (caractere: SC7, SCR, etc.), [2]=nRecno (numérico)` - **Retorno:** `.T.` aprova, `.F.` rejeita aprovação - **TDN:** https://tdn.totvs.com/display/public/PROT/MT097APR - Network accessline 68
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT097APR - Network accessline 78
- **PARAMIXB:** nenhum - **Retorno:** array adicional para compor enchoice (pode ser `{}`) - **TDN:** https://tdn.totvs.com/display/public/PROT/M410CMPL - Network accessline 80
- **TDN:** https://tdn.totvs.com/display/public/PROT/M410CMPL - Network accessline 86
- **PARAMIXB:** `[1]=cNumPed (caractere), [2]=cStatus (caractere 1)` - **Retorno:** ignorado - **TDN:** https://tdn.totvs.com/display/public/PROT/M410STTS - Network accessline 88
- **TDN:** https://tdn.totvs.com/display/public/PROT/M410STTS - Network accessline 94
- **PARAMIXB:** `[1]=cFilOri, [2]=nOpcAuto, [3]=cDocNF (número da NF)` - **Retorno:** `.T.` continua, `.F.` estorna gravação - **TDN:** https://tdn.totvs.com/display/public/PROT/MA440GRV - Network accessline 96
- **TDN:** https://tdn.totvs.com/display/public/PROT/MA440GRV - Network accessline 102
- **PARAMIXB:** `[1]=cNFSaida (caractere), [2]=cSerieNF (caractere)` - **Retorno:** ignorado - **TDN:** https://tdn.totvs.com/display/public/PROT/M460FIM - Network accessline 104
- **TDN:** https://tdn.totvs.com/display/public/PROT/M460FIM - Network accessline 110
- **PARAMIXB:** nenhum - **Retorno:** filtro adicional para query de pedidos (caractere com cláusula SQL) - **TDN:** https://tdn.totvs.com/display/public/PROT/MT460A - Network accessline 112
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT460A - Network accessline 122
- **PARAMIXB:** nenhum - **Retorno:** `.T.` grava, `.F.` aborta - **TDN:** https://tdn.totvs.com/display/public/PROT/MA030TOK - Network accessline 124
- **TDN:** https://tdn.totvs.com/display/public/PROT/MA030TOK - Network accessline 130
- **PARAMIXB:** `[1]=cProduto, [2]=cLocal, [3]=nQuant, [4]=cTM (tipo de movimento)` - **Retorno:** `.T.` processa, `.F.` aborta movimento - **TDN:** https://tdn.totvs.com/display/public/PROT/MT240PRO - Network accessline 132
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT240PRO - Network accessline 138
- **PARAMIXB:** `[1]=cProduto, [2]=cLocal, [3]=nQtdContada` - **Retorno:** `.T.` confirma contagem, `.F.` exige recontagem - **TDN:** https://tdn.totvs.com/display/public/PROT/MT116NT - Network accessline 140
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT116NT - Network accessline 146
- **PARAMIXB:** `[1]=cOPN (ordem de produção), [2]=nQuant` - **Retorno:** ignorado - **TDN:** https://tdn.totvs.com/display/public/PROT/MT250GRV - Network accessline 148
- **TDN:** https://tdn.totvs.com/display/public/PROT/MT250GRV - Network accessline 154
- **PARAMIXB:** `[1]=cFilOri, [2]=nOpcAuto` - **Retorno:** ignorado - **TDN:** https://tdn.totvs.com/display/public/PROT/MA030GRV - Network accessline 156
- **TDN:** https://tdn.totvs.com/display/public/PROT/MA030GRV - Network accessline 166
- **PARAMIXB:** `[1]=cAlias (SE2), [2]=nRecno, [3]=nOpcAuto` - **Retorno:** `.T.` grava, `.F.` aborta - **TDN:** https://tdn.totvs.com/display/public/PROT/F050TIT - Network accessline 168
- **TDN:** https://tdn.totvs.com/display/public/PROT/F050TIT - Network accessline 174
- **PARAMIXB:** nenhum - **Retorno:** filtro adicional (caractere SQL) - **TDN:** https://tdn.totvs.com/display/public/PROT/F080FIL - Network accessline 176
- **TDN:** https://tdn.totvs.com/display/public/PROT/F080FIL - Network accessline 182
- **PARAMIXB:** `[1]=cFilOri, [2]=cNumNota, [3]=cSerie, [4]=cCliente` - **Retorno:** `.T.` gera título, `.F.` pula geração - **TDN:** https://tdn.totvs.com/display/public/PROT/M460MVF - Network accessline 184
- **TDN:** https://tdn.totvs.com/display/public/PROT/M460MVF - Network accessline 190
- **PARAMIXB:** nenhum - **Retorno:** filtro adicional (caractere SQL) - **TDN:** https://tdn.totvs.com/display/public/PROT/MF370FIL - Network accessline 192
- **TDN:** https://tdn.totvs.com/display/public/PROT/MF370FIL - Network accessline 198
- **PARAMIXB:** nenhum - **Retorno:** filtro adicional (caractere SQL) - **TDN:** https://tdn.totvs.com/display/public/PROT/F240FIL - Network accessline 200
- **TDN:** https://tdn.totvs.com/display/public/PROT/F240FIL
skills/advpl-code-generation/patterns-pontos-entrada-mvc.md
- Network accessline 128
@version 1.0 @return variant, conforme o evento (logico, array ou nil) @see https://tdn.totvs.com/pages/releaseview.action?pageId=208345968 - Network accessline 129
@return variant, conforme o evento (logico, array ou nil) @see https://tdn.totvs.com/pages/releaseview.action?pageId=208345968 /*/ - Network accessline 130
@see https://tdn.totvs.com/pages/releaseview.action?pageId=208345968 - Network accessline 235
- [Ponto de Entrada Padrão do MVC — TDN (pageId=208345968)](https://tdn.totvs.com/pages/releaseview.action?pageId=208345968) — documentação oficial dos eventos e do PARAMIXB - Network accessline 236
- [ADV0041 — Pontos de Entrada MVC MATA010 na P12 (ITEM)](https://tdn.totvs.com/display/public/PROT/ADV0041_PE_MVC_MATA010_P12) - Network accessline 237
- [Central TOTVS — Pontos de entrada MVC MATA020 (CUSTOMERVENDOR)](https://centraldeatendimento.totvs.com/hc/pt-br/articles/360000110327) - Network accessline 238
- [TDN — MA020TOK (nota de descontinuação a partir de 12.1.17)](https://tdn.totvs.com/pages/releaseview.action?pageId=6087599)
skills/advpl-code-generation/patterns-pontos-entrada.md
- Network accessline 84
@param PARAMIXB, Array, Parametros recebidos do ponto de entrada @return xRet, Tipo, Descricao do retorno esperado @see https://tdn.totvs.com/display/public/PROT/ENTRY_POINT_NAME - Network accessline 85
@return xRet, Tipo, Descricao do retorno esperado @see https://tdn.totvs.com/display/public/PROT/ENTRY_POINT_NAME /*/ - Network accessline 86
@see https://tdn.totvs.com/display/public/PROT/ENTRY_POINT_NAME - Network accessline 673
1. Access [https://tdn.totvs.com](https://tdn.totvs.com)
skills/advpl-code-generation/patterns-soap.md
- Network accessline 291
http://localhost:8091/ws/ZWSCLIENTES.apw?WSDL - Network accessline 296
http://localhost:8091/ws/WSINDEX.apw - Network accessline 336
User Function ConsumeWS() Local oWsdl := TWsdlManager():New() Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" - Network accessline 337
Local oWsdl := TWsdlManager():New() Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" Local cResp := "" - Network accessline 338
Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" - Network accessline 361
// Montar envelope SOAP cMsgWs := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://localhost/">' - Network accessline 362
cMsgWs := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://localhost/">' - Network accessline 391
User Function ListOps() Local oWsdl := TWsdlManager():New() Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" - Network accessline 392
Local oWsdl := TWsdlManager():New() Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" Local aOps := {} - Network accessline 393
Local cUrl := "http://127.0.0.1:8091/ws/ZWSCLIENTES.apw?WSDL" - Network accessline 417
User Function ConsumeWSSafe() Local oWsdl := TWsdlManager():New() Local cUrl := "http://api.externa.com/service?WSDL" - Network accessline 418
Local oWsdl := TWsdlManager():New() Local cUrl := "http://api.externa.com/service?WSDL" Local cResp := "" - Network accessline 419
Local cUrl := "http://api.externa.com/service?WSDL" - Network accessline 428
If !oWsdl:ParseURL(cUrl) FWLogMsg("ERROR", , "ConsumeWS", "ParseURL", , , ; "Falha ao carregar WSDL: " + cUrl + " - " + oWsdl:cError) - Network accessline 429
FWLogMsg("ERROR", , "ConsumeWS", "ParseURL", , , ; "Falha ao carregar WSDL: " + cUrl + " - " + oWsdl:cError) Return .F. - Network accessline 430
"Falha ao carregar WSDL: " + cUrl + " - " + oWsdl:cError) - Network accessline 470
Static Function fMontaEnvelope() Local cMsg := "" cMsg := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://target/">' - Network accessline 471
Local cMsg := "" cMsg := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://target/">' cMsg += ' <soapenv:Header/>' - Network accessline 472
cMsg := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://target/">' - Network accessline 530
**Error:** `http://server:port/ws/SERVICE.apw?WSDL` returns 404
skills/advpl-code-generation/patterns-workflow.md
skills/advpl-code-generation/reference.md
- Network accessline 235
**References:** - TDN — [Tamanho do nome (identificador) de função](https://tdn.totvs.com/pages/viewpage.action?pageId=172296510) - Network accessline 236
- TDN — [Tamanho do nome (identificador) de função](https://tdn.totvs.com/pages/viewpage.action?pageId=172296510) - Network accessline 237
- TDN — [Suporte a TLPP no Protheus](https://tdn.totvs.com/display/public/framework/Suporte+a+TLPP+no+Protheus)
skills/advpl-code-review/rules-best-practices.md
- Network accessline 648
**Authoritative references:** - TDN — [Tamanho do nome (identificador) de função](https://tdn.totvs.com/pages/viewpage.action?pageId=172296510) - Network accessline 649
- TDN — [Tamanho do nome (identificador) de função](https://tdn.totvs.com/pages/viewpage.action?pageId=172296510) - Network accessline 650
- TDN — [Suporte a TLPP no Protheus](https://tdn.totvs.com/display/public/framework/Suporte+a+TLPP+no+Protheus)
skills/advpl-code-review/rules-security.md
- Network accessline 190
User Function ConnectAPI() Local cUrl := "https://api.example.com/v1" - Network accessline 191
Local cUrl := "https://api.example.com/v1" - Network accessline 199
cResponse := HttpGet(cUrl + "/data", "", aHeaders) - Network accessline 207
User Function ConnectAPI() Local cUrl := "https://api.example.com/v1" - Network accessline 208
Local cUrl := "https://api.example.com/v1" - Access to secretsline 209
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Network accessline 220
cResponse := HttpGet(cUrl + "/data", "", aHeaders) - Network accessline 300
**Reference:** Full list at https://centraldeatendimento.totvs.com/hc/pt-br/articles/360016461772
skills/advpl-code-review/sonarqube-rules-catalog.md
- Network accessline 7
- **Source ruleset:** `https://sonar-rules.engpro.totvs.com.br`
skills/advpl-debugging/common-errors.md
- Network accessline 963
// Set appropriate timeout Local oRest := FWRest():New("https://api.example.com") - Network accessline 964
Local oRest := FWRest():New("https://api.example.com") - Network accessline 987
Local oRest := FWRest():New("https://api.example.com") - Network accessline 1003
// Always validate response before parsing Local oRest := FWRest():New("https://api.example.com") - Network accessline 1004
Local oRest := FWRest():New("https://api.example.com") - Network accessline 1032
// Basic Auth Local oRest := FWRest():New("https://api.example.com") - Network accessline 1033
Local oRest := FWRest():New("https://api.example.com") - Network accessline 1064
// Option 2: Disable SSL verification (DEVELOPMENT ONLY - never in production) Local oRest := FWRest():New("https://api.example.com") - Network accessline 1065
Local oRest := FWRest():New("https://api.example.com")
skills/advpl-to-tlpp-migration/migration-rules.md
- Dangerous shell operationline 172
| `Eval(bBlock, nValue)` | `Eval(bBlock, nValue)` | Unchanged |
skills/advpl-to-tlpp-migration/reference.md
- Network accessline 65
Follow the official TOTVS naming conventions from TDN (https://tdn.totvs.com/pages/releaseview.action?pageId=633537898).
skills/advpr-test-automation/api-fwtesthelper.md
- Network accessline 3
A classe `FWTestHelper` é o núcleo do framework AdvPR para automação de testes no Protheus. Para ter acesso a ela, é necessário aplicar o patch disponível na página de Setup da ferramenta: http://advpr.totvs.com.br:8080/#/setup - Network accessline 835
| cFile | String | Nome do arquivo baseline para comparação | " " | Não | | cGetParms | String | Parâmetros de query string | " " | Não | | cURLRest | String | URL da API (se vazio, usa chave REST do appserver.ini) | http://localhost:8787/ - Network accessline 836
| cGetParms | String | Parâmetros de query string | " " | Não | | cURLRest | String | URL da API (se vazio, usa chave REST do appserver.ini) | http://localhost:8787/ | Não | | aReplace | Array | Array de replace no response | {} | Não | - Network accessline 837
| cURLRest | String | URL da API (se vazio, usa chave REST do appserver.ini) | http://localhost:8787/ | Não | - Network accessline 862
| cFile | String | Nome do arquivo baseline | " " | Não | | cGetParms | String | Parâmetros de query string | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 863
| cGetParms | String | Parâmetros de query string | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | | aReplace | Array | Array de replace no response | {} | Não | - Network accessline 864
| cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 884
| aHeader | Array | Strings do header | Rest: `{Content-Type: application/json}` | Não | | cFile | String | Nome do arquivo baseline | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 885
| cFile | String | Nome do arquivo baseline | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | | aReplace | Array | Array de replace | {} | Não | - Network accessline 886
| cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 904
| aHeader | Array | Strings do header | Rest: `{Content-Type: application/json}` | Não | | cFile | String | Nome do arquivo baseline | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 905
| cFile | String | Nome do arquivo baseline | " " | Não | | cURLRest | String | URL da API | http://localhost:8787/ | Não | | aReplace | Array | Array de replace | {} | Não | - Network accessline 906
| cURLRest | String | URL da API | http://localhost:8787/ | Não | - Network accessline 922
| Nome | Tipo | Descrição | Default | Obrigatório | |---|---|---|---|---| | cWsdl | String | URL do WSDL (se vazio, usa chave SOAP do appserver.ini) | http://localhost:8787/ | Não | - Network accessline 923
|---|---|---|---|---| | cWsdl | String | URL do WSDL (se vazio, usa chave SOAP do appserver.ini) | http://localhost:8787/ | Não | | cOperation | String | Nome da operação/serviço | " " | Não | - Network accessline 924
| cWsdl | String | URL do WSDL (se vazio, usa chave SOAP do appserver.ini) | http://localhost:8787/ | Não |
skills/advpr-test-automation/patterns-reports.md
- Network accessline 10
| **R3** | Relatórios não personalizáveis; possuem `SetPrint()` no fonte. Parâmetro `MV_TREPORT = 1` (não utiliza TOTVS Report). | | **FWMSPrinter** | Possui a função `FWMSPrinter()` no fonte. No script, o 2º parâmetro deve ser `2` (numéric - Network accessline 12
| **Smart View** | Gerado a partir do Objeto de Negócios + arquivo de design `.trp` compilados no repositório. O parâmetro `cReport` de `UTGenerateSmartView` deve conter o nome do fonte `.trp` sem extensão. O relatório é gerado na pasta `sp - Network accessline 353
- Testes locais: adicionar `URL_SMARTVIEW=http://localhost:7017` na seção `[ADVPR]` do `appserver.ini`.
skills/advpr-test-automation/patterns-smartlink.md
- Network accessline 9
- **2 credenciais TOTVS RAC** (uma para envio e outra para leitura de mensagens) criadas no ambiente de produção. - No `appserver.ini`, seção do environment, incluir a chave: `fw-tf-registry-endpoint=https://endpoint-registry.totvs.app/ap - Network accessline 10
- No `appserver.ini`, seção do environment, incluir a chave: `fw-tf-registry-endpoint=https://endpoint-registry.totvs.app/api/v1/services` - Para credenciais diferentes do padrão da Automação, incluir na seção `[ADVPR]`: - Network accessline 11
`fw-tf-registry-endpoint=https://endpoint-registry.totvs.app/api/v1/services`
skills/advpr-test-automation/patterns-smartview.md
- Network accessline 15
| Tipo | Método principal | Chave no `[ADVPR]` do appserver.ini | Observação | |---|---|---|---| | **Relatório** | `UTGenerateSmartView` | `URL_SMARTVIEW=http://localhost:7017` | `cReport` = nome do fonte `.trp` sem extensão; saída em `csv` - Network accessline 16
|---|---|---|---| | **Relatório** | `UTGenerateSmartView` | `URL_SMARTVIEW=http://localhost:7017` | `cReport` = nome do fonte `.trp` sem extensão; saída em `csv` na pasta `spool` | | **Schema** | `UTSchemaSmartView` | `REST=http://localhost - Network accessline 17
| **Relatório** | `UTGenerateSmartView` | `URL_SMARTVIEW=http://localhost:7017` | `cReport` = nome do fonte `.trp` sem extensão; saída em `csv` na pasta `spool` | - Network accessline 18
| **Schema** | `UTSchemaSmartView` | `REST=http://localhost:9903/rest/` | JSON validado por comparação de arquivo baseline | - Network accessline 19
| **Data** | `UTGetDataSmartView` | `REST=http://localhost:9903/rest/` | Parâmetros via `UTParamSmartView`; JSON validado por baseline | - Network accessline 20
| **Campos Personalizáveis** | `UTCustomSmartView` / `UTRemoveCustomSmartView` | `REST=http://localhost:9903/rest/` | Tag interna `FW_SV_CUSTOM` | - Network accessline 157
**Configuração do appserver.ini** - Relatórios exigem a chave `URL_SMARTVIEW` na seção `[ADVPR]` apontando para a instância do Smart View (ex.: `URL_SMARTVIEW=http://localhost:7017`) - Network accessline 158
- Relatórios exigem a chave `URL_SMARTVIEW` na seção `[ADVPR]` apontando para a instância do Smart View (ex.: `URL_SMARTVIEW=http://localhost:7017`) - Network accessline 159
- Schema e Data exigem a chave `REST` na seção `[ADVPR]` apontando para a API REST do Protheus (ex.: `REST=http://localhost:9903/rest/`)
skills/advpr-test-automation/patterns-webservice.md
- Network accessline 16
[ADVPR] REST=http://localhost:9902/rest/ - Network accessline 17
REST=http://localhost:9902/rest/ - Network accessline 18
SOAP=http://localhost:9804/ - Network accessline 43
Local cBody := '' Local cRet := '' Local cURL := "/api/crm/v1/Prospects/API01+01" - Network accessline 44
Local cRet := '' Local cURL := "/api/crm/v1/Prospects/API01+01" Local oRet := Nil - Network accessline 45
Local cURL := "/api/crm/v1/Prospects/API01+01" - Network accessline 135
Local getDate := DTOS(Date()) Local dtInclusao := substr(getDate,7,2) + "/" + substr(getDate,5,2) + "/" + substr(getDate,1,4) Local cXml := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>< - Network accessline 136
Local dtInclusao := substr(getDate,7,2) + "/" + substr(getDate,5,2) + "/" + substr(getDate,1,4) Local cXml := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><MTGERACONTRATOASSUNTOJURIDICO xmlns=" - Network accessline 137
Local cXml := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><MTGERACONTRATOASSUNTOJURIDICO xmlns="com.totvs.sigajuri.wsfluigjuridico"><CONTRATOASSUNTOJURIDICO><ADVOGADO>WILLIAN.KAZAHAYA@TOTVS.COM.BR - Network accessline 253
> Nota: no exemplo original o corpo multipart preenche aproximadamente 20 campos do fornecedor; acima está abreviado mantendo o padrão exato de montagem (`'--'+cBoundary` / `CRLF` / `Content-Disposition` / linha em branco / valor / `CRLF`).
skills/advpr-test-automation/reference.md
- Network accessline 42
http://advpr.totvs.com.br:8080/#/setup - Network accessline 388
Os scripts considerados na execução da esteira são disponibilizados diariamente no Arte: `https://arte.engpro.totvs.com.br/engenharia/automacao/patch_suite/` - Network accessline 389
`https://arte.engpro.totvs.com.br/engenharia/automacao/patch_suite/` - Network accessline 401
1. No TFS, mover os scripts `TestCase`, `TestSuite` e `TestGroup` da estrutura padrão para `$/Protheus_Padrao/Testes/Obsoletos`, na pasta do País e Módulo correspondentes. 2. Abrir task no fórum de Automação solicitando desconsiderar o scri - Network accessline 402
2. Abrir task no fórum de Automação solicitando desconsiderar o script da lista de homologados: `https://totvs.ryver.com/index.html#forums/1247736/tasks`.
skills/probat-testing/reference.md
- Network accessline 218
- `patterns-unit-tests.md` - Templates and patterns for writing ProBat tests - [Official samples](https://github.com/totvs/tlpp-probat-samples) - TOTVS official ProBat examples repository - Network accessline 219
- [Official samples](https://github.com/totvs/tlpp-probat-samples) - TOTVS official ProBat examples repository - Network accessline 220
- [TDN ProBat](https://tdn.totvs.com/display/tec/PROBAT) - Official documentation on TOTVS Developer Network - Network accessline 221
- [TDN Asserts](https://tdn.totvs.com/display/tec/d+-+Asserts) - Assertion functions reference
skills/protheus-business/modulo-financeiro.md
skills/protheus-business/reference.md
- Network accessline 58
4. **WebFetch TDN page:** If URL found, use `WebFetch` to extract details 5. **Playwright fallback:** Se `WebSearch` ou `WebFetch` falhar, use Playwright MCP: - `browser_navigate` para a URL do TDN (se disponivel) ou buscar em `https://t - Network accessline 59
5. **Playwright fallback:** Se `WebSearch` ou `WebFetch` falhar, use Playwright MCP: - `browser_navigate` para a URL do TDN (se disponivel) ou buscar em `https://tdn.totvs.com` - `browser_snapshot` para extrair texto; se insuficiente, - Network accessline 60
- `browser_navigate` para a URL do TDN (se disponivel) ou buscar em `https://tdn.totvs.com` - Network accessline 79
- For routine docs: `site:tdn.totvs.com <routine_name> advpl protheus` - For module integration: `site:tdn.totvs.com integracao <module_a> <module_b> protheus` - TDN base URL: `https://tdn.totvs.com` - Network accessline 81
- TDN base URL: `https://tdn.totvs.com`
skills/protheus-reference/native-functions.md
- Dangerous shell operationline 3172
**Syntax:** `Eval( bBlock [, xArg1, xArg2, ...] ) --> xResult` - Dangerous shell operationline 3184
Local nResult := Eval(bCalc, 5, 3) // 25 - Dangerous shell operationline 3187
If Eval(bValid, cName) - Network accessline 3304
| Param | Type | Description | |-------|------|-------------| | cUrl | C | Target URL | - Network accessline 3305
|-------|------|-------------| | cUrl | C | Target URL | | cGetParms | C | Query string parameters | - Network accessline 3306
| cUrl | C | Target URL | - Network accessline 3316
Local cUrl := "https://api.example.com/data" - Network accessline 3335
| Param | Type | Description | |-------|------|-------------| | cUrl | C | Target URL | - Network accessline 3336
|-------|------|-------------| | cUrl | C | Target URL | | cPostParms | C | POST body content | - Network accessline 3337
| cUrl | C | Target URL | - Network accessline 3347
Local cUrl := "https://api.example.com/customers" - Network accessline 4400
> **Source:** [TDN — Classe JsonObject](https://tdn.totvs.com/display/tec/Classe+JsonObject) - Network accessline 4693
**Syntax:** `oWsdl:ParseURL( cUrl ) --> lSuccess` - Network accessline 4695
| Param | Type | Description | |-------|------|-------------| | cUrl | C | URL of the WSDL | - Network accessline 4697
| cUrl | C | URL of the WSDL | - Network accessline 5659
Generic OAuth2 authentication client class, following the [RFC6749](http://tools.ietf.org/html/rfc6749) specification. Used as a base class for specific OAuth2 integrations (e.g., FWFacebook, FWTwitter, FWLinkedIn, FWGoogleDrive). - Network accessline 5675
[OAUTH_CLIENT] CALLBACK_SERVER=https://server:port/rest/oauthcallback - Network accessline 5676
CALLBACK_SERVER=https://server:port/rest/oauthcallback - Network accessline 5698
Local oURL := FWoAuth2Url():New("https://provider.com/authorize", "https://provider.com/token") - Network accessline 5703
Local cResp := oClient:Access("https://api.provider.com/resource", "GET") - Dangerous shell operationline 6392
| AddProcess | `AddProcess( bProcess )` | Adds processing block, executed once per selected company: `Eval(bProcess, cEmpAnt, @cMsg)` | - Network accessline 7015
> **CRITICAL: StaticCall() has its compilation BLOCKED since release 12.1.33.** It is listed as TOTVS internal property. Code using StaticCall will NOT compile on current releases. For alternatives, see: [TOTVS documentation on StaticCall r
skills/protheus-reference/reference.md
- Network accessline 45
1. **Local first:** Check supporting files (native-functions.md, sx-dictionary.md, rest-api-reference.md) 2. **Online fallback:** Load skill `tdn-lookup` e seguir a estratégia de busca em 3 tiers (Tier 2: WebFetch API → Tier 3: Playwright A - Network accessline 47
3. **Field validation:** Para validar campos SX3: (1) Verificar `sx3-common-fields.md` (referência local com ~15 campos das 21 tabelas principais). (2) Se não encontrar, WebFetch em `https://sempreju.com.br/tabelas_protheus/tabelas/tabela_{
skills/protheus-reference/rest-api-reference.md
- Network accessline 71
GET http://localhost:8282/rest/ - Network accessline 93
User Function CallWithAuth() Local cUrl := "http://localhost:8282/rest/myservice" - Network accessline 94
Local cUrl := "http://localhost:8282/rest/myservice" - Network accessline 119
User Function GetToken() Local cUrl := "http://localhost:8282/rest/api/oauth2/v1/token" - Network accessline 120
Local cUrl := "http://localhost:8282/rest/api/oauth2/v1/token" - Access to secretsline 137
[Credential-related source omitted] - Network accessline 148
User Function CallWithToken() Local cUrl := "http://localhost:8282/rest/api/v1/customers" - Network accessline 149
Local cUrl := "http://localhost:8282/rest/api/v1/customers" - Network accessline 1117
User Function CallGet() Local cUrl := "https://api.example.com/users" - Network accessline 1118
Local cUrl := "https://api.example.com/users" - Network accessline 1138
User Function CallPost() Local cUrl := "https://api.example.com/users" - Network accessline 1139
Local cUrl := "https://api.example.com/users" - Network accessline 1167
User Function ExternalAPI() Local oRest := FWCallRest():New() Local cUrl := "https://api.example.com" - Network accessline 1168
Local oRest := FWCallRest():New() Local cUrl := "https://api.example.com" Local cEndpoint := "/api/v1/products" - Network accessline 1169
Local cUrl := "https://api.example.com" - Network accessline 1176
// Configure the REST client oRest:SetPath(cUrl + cEndpoint) - Network accessline 1177
oRest:SetPath(cUrl + cEndpoint) - Network accessline 1203
oRest:SetPath(cUrl + cEndpoint) - Network accessline 1227
// Configure SSL oRest:SetPath("https://secure-api.example.com/data") - Network accessline 1228
oRest:SetPath("https://secure-api.example.com/data") - Network accessline 1258
oRest:SetPath("https://slow-api.example.com/data") - Dangerous shell operationline 1472
aAdd(aItems, Eval(bBuildItem))
skills/protheus-reference/restricted-functions.md
- Network accessline 3
> **Source:** https://centraldeatendimento.totvs.com/hc/pt-br/articles/360016461772 - Network accessline 18
**References:** - [StaticCall replacement](https://centraldeatendimento.totvs.com/hc/pt-br/articles/4411463269911) - Network accessline 19
- [StaticCall replacement](https://centraldeatendimento.totvs.com/hc/pt-br/articles/4411463269911) - Network accessline 20
- [PTInternal replacement](https://centraldeatendimento.totvs.com/hc/pt-br/articles/4411463486871)
skills/protheus-reference/sx3-common-fields.md
- Network accessline 3
Referência rápida com os campos mais usados de cada tabela principal. Fonte: https://sempreju.com.br/tabelas_protheus/ - Network accessline 4
Fonte: https://sempreju.com.br/tabelas_protheus/ - Network accessline 6
**Para campos não listados aqui:** O agent deve buscar automaticamente em `https://sempreju.com.br/tabelas_protheus/tabelas/tabela_{alias_lowercase}.html` - Network accessline 7
`https://sempreju.com.br/tabelas_protheus/tabelas/tabela_{alias_lowercase}.html`
skills/tdn-lookup/reference.md
- Network accessline 40
https://tdn.totvs.com/rest/api/search?cql=<CQL_ENCODADO>&expand=body.view&limit=3 - Network accessline 75
1. `browser_navigate` → `https://tdn.totvs.com` - Network accessline 88
**Endpoint:** `GET https://tdn.totvs.com/rest/api/search?cql=<CQL>&expand=body.view&limit=3` - Network accessline 107
results[i].content.title → Título da página results[i].excerpt → Resumo em texto puro results[i].url → Path relativo (para Tier 5: https://tdn.totvs.com{url}) - Network accessline 108
results[i].excerpt → Resumo em texto puro results[i].url → Path relativo (para Tier 5: https://tdn.totvs.com{url}) results[i].content.body.view.value → HTML do conteúdo (Descrição, Sintaxe, Parâmetros, Retorno, E - Network accessline 109
results[i].url → Path relativo (para Tier 5: https://tdn.totvs.com{url})
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 220 facts
- Executable script in code of a file that runshooks/post-tool-use-encoding:1High confidence
- Executable script in code of a file that runshooks/session-start:1High confidence
- Dangerous shell operation in code of a file that runshooks/session-start:15High confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:34Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:36Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:42Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:44Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:50Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:52Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:58Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:60Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:66Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:68Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:78Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:80Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:86Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:88Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:94Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:96Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:102Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:104Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:110Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:112Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:122Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:124Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:130Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:132Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:138Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:140Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:146Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:148Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:154Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:156Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:166Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:168Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:174Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:176Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:182Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:184Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:190Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:192Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:198Low confidence
- Network access in prose of documentationadvpl-code-generation/catalogo-top-50-pes.md:200Low confidence
- Network access in code of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:128Low confidence
- Network access in code of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:129Low confidence
- Network access in code of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:130Low confidence
- Network access in prose of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:235Low confidence
- Network access in prose of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:236Low confidence
- Network access in prose of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:237Low confidence
- Network access in prose of documentationadvpl-code-generation/patterns-pontos-entrada-mvc.md:238Low confidence
and 170 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/commands/advpr.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Path .gemini/commands/advpr.toml | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Manifest .github/copilot-instructions.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/advpl-code-generation/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.