By alexcassol
Skills for maintaining and developing Visual Basic 6 codebases. Covers language conventions, the CSEH error-handling pattern, ADO via late binding (MSSQL and PostgreSQL), manual stack tracing, and common utility patterns.
Applies the ADO late-binding pattern when writing or modifying database access code in Visual Basic 6, supporting both Microsoft SQL Server and PostgreSQL. Covers declaration as Object with CreateObject instantiation (never As ADODB.Connection or New ADODB.Recordset), ADO constants defined locally instead of referencing the type library, mandatory ConnectionTimeout before Open, the disconnected recordset pattern (CursorLocation client-side, then ActiveConnection = Nothing after Open), parameterized queries via ADODB.Command with Parameters.Append to prevent SQL injection and improve query plan caching, the AddADOParameter and SetADOCommandParameters helper functions that accumulate parameters in a Dictionary before applying them to a Command, multibank parameter naming (@param for MSSQL versus in_param/out_param for PostgreSQL) handled by SetParameter and GetParameter helpers, and structural SQL concatenation (table names, dynamic joins) versus value parameterization. Activates for any task involving ADODB, Connection, Recordset, Command, Parameters, SQL queries, database access, late binding, or CreateObject in VB6 context.
Applies the CSEH (Code Style for Error Handler) pattern when adding or editing error handling in Visual Basic 6 procedures. Covers the structured On Error GoTo template with EhHeader/EhFooter regions, two CSEH styles (ErrRaise for utility functions that propagate to callers, and MsgBox for top-level UI procedures), line numbering (starting at 100, increments of 5) to enable Erl in error handlers, structured re-raise via Err.Raise with vbObjectError offset and qualified source string in App.Module.Procedure format, error message format including Err.Number, Err.Description and Erl, cleanup-before-raise discipline, and the legitimate use of On Error Resume Next strictly limited to cleanup and dispose routines. Activates whenever modifying VB6 procedures that have or need On Error handlers, the CSEH marker comment, numbered code lines, Err.Raise calls, or any discussion of error propagation, error logging, or fault tolerance in VB6.
Applies general Visual Basic 6 conventions when editing .bas, .cls, .frm, .frx, .vbp, .vbg, .ctl, or .dob files, or any code identified as VB6 (not VB.NET, not VBA). Covers case-preservation in existing code (VB6 is case-insensitive but diff tools are not), Option Explicit requirement, Hungarian notation with scope prefix plus type prefix (mstr/mint/mcur for module-level in .bas; m_str/m_int/m_cur for module-level in .cls; gstr/gint for global; str/int/cur for parameters and locals), file header blocks for .cls modules with 80-hyphen delimiters, comment-per-field convention, Property Get/Let/Set patterns without public fields, ByVal/ByRef explicit declarations, Long over Integer for performance and overflow safety, preservation of Windows-1252 encoding and CRLF line endings, and never editing .frx files manually due to binary offset corruption. Activates for any Visual Basic 6 development task, code review, refactoring, or new file creation in a VB6 project.
Applies the manual stack-trace pattern for Visual Basic 6 based on EnterMethod/ExitMethod calls that push and pop method names from a module-level array. This pattern compensates for the absence of a native call stack in VB6, enabling rich production logs with call depth, parameter serialization, and on-demand stack inspection in error handlers. Covers when to instrument procedures (every non-trivial function), placement rules (EnterMethod in EhHeader, ExitMethod in both success and error paths), optional parameter serialization, the TraceMethod function for inserting the current stack into error messages, log file management (rolling daily logs with retention), activation gating (only logs when explicitly enabled or running in the IDE), and automatic process dumping via WMI when automation errors are detected. Activates whenever working with EnterMethod, ExitMethod, LogMsg, TraceMethod, manual stack trace, or any VB6 task involving production diagnostics, error logging, debugging, or fault investigation.
Catalog of common utility functions that VB6 codebases typically maintain in a shared module (often named modUtils, modFuncoes, modCommon, or similar). Activates when writing or editing VB6 code that handles NULL coalescing, SQL value formatting, string sanitization for SQL literals, accent/diacritic removal for searching, padding (left/right), substring extraction between markers, CNPJ/CPF (Brazilian tax ID) validation, MsgBox dialog wrappers, IDE-vs-compiled detection, regex via VBScript.RegExp, ADO Command parameter helpers, ListView and grid serialization, and common helpers prefixed with fg_ (function global). The goal is to recognize these patterns and reuse existing project utilities instead of reinventing them. Triggers on tasks involving string manipulation, validation, NULL handling, formatting, or any common helper that likely already exists in the project's utility module.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude Code skills for maintaining and developing Visual Basic 6 codebases. Covers conventions, error handling (CSEH), ADO via late binding (MSSQL and PostgreSQL), manual stack tracing, and common utility patterns — calibrated against real production VB6 code from long-lived projects.
Five skills, each loaded on demand when the conversation matches its scope:
| Skill | Activates on |
|---|---|
vb6-guidelines | Any VB6 file or task (general conventions) |
vb6-error-handling | On Error, Err.Raise, Erl, CSEH markers, numbered lines |
vb6-ado-late-binding | ADODB, Connection, Recordset, Command, Parameters, SQL queries |
vb6-trace-pattern | EnterMethod, ExitMethod, LogMsg, TraceMethod, diagnostics |
vb6-utilities | NULL handling, string ops, validation, dialog wrappers |
Each skill ships with reference files (reference/) containing reusable
.bas modules and catalog documents that the skill points to when relevant.
m_/m/g) plus type prefix
(str/int/lng/bln/...).EnterMethod/ExitMethod on both
success and error paths and numbered lines for Erl.As Object + CreateObject), with ConnectionTimeout
mandatory, the disconnected-recordset pattern for reads, and parameters
for every user-supplied value.EnterMethod/ExitMethod, with optional parameter serialization and
automatic WMI process dump on automation errors.MsgBoxCritical, fg_isNull, IsValidCNPJ,
PadLeft, ...) — search before writing a new one.Add this repo as a marketplace, then install the plugin:
/plugin marketplace add alexcassol/claude-vb6-skills
/plugin install claude-vb6-skills@vb6-skills
The skills auto-activate when their triggers appear in the conversation
(opening a .bas or .cls file, writing On Error GoTo, building an ADO
command, etc.).
For projects that don't install plugins, copy CLAUDE.md to the root of
the VB6 project. It is a condensed version of the same conventions and
loads automatically in every Claude Code conversation in that project.
The plugin version is richer (each skill has its own deep documentation
plus reference files); CLAUDE.md is a single-file summary suitable for
adding to a project repo as a permanent context file.
These skills capture patterns the author has used across long-lived codebases. Some details vary per project:
@param) and PostgreSQL
(in_param/out_param). If your project is single-database, ignore the
alternative branch.modDB, modUtils).
Your project may use Portuguese or domain-specific names — Claude will
match the existing convention when editing.vb6-utilities catalog lists common helpers
(fg_isNull, MsgBoxCritical, IsValidCNPJ, etc.). Your project's
helpers may have different names — point Claude at your actual utility
module when relevant.vbObjectError + 100. Allocate
ranges however your team prefers (per-procedure, per-category, etc.).modLog.bas reference is self-contained and
copy-paste ready, but assumes Microsoft Scripting Runtime is referenced
and an fg_InIDE() function exists. Both are described in the skill.Project-specific overrides go in CLAUDE.md (the section marked
"Project-specific overrides" at the bottom).
claude-vb6-skills/
├── .claude-plugin/
│ ├── marketplace.json
│ └── plugin.json
├── skills/
│ ├── vb6-guidelines/
│ │ └── SKILL.md
│ ├── vb6-error-handling/
│ │ ├── SKILL.md
│ │ └── reference/cseh-styles.md
│ ├── vb6-ado-late-binding/
│ │ ├── SKILL.md
│ │ └── reference/
│ │ ├── ado-constants.bas
│ │ └── command-pattern.bas
│ ├── vb6-trace-pattern/
│ │ ├── SKILL.md
│ │ └── reference/modLog.bas
│ └── vb6-utilities/
│ ├── SKILL.md
│ └── reference/helpers-catalog.md
├── CLAUDE.md
├── EXAMPLES.md
├── README.md
└── LICENSE
MIT — see LICENSE.
npx claudepluginhub alexcassol/claude-vb6-skills --plugin claude-vb6-skillsComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Design fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.
UI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations on LLM coding pitfalls