{"id":"20ce8403-e182-41fe-9d44-6b9e9086570e","entityType":"agent","slug":"clawhub-skills-alexwoo-awso-vbnet-coder-en","name":"vbnet-coder-en","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-alexwoo-awso-vbnet-coder-en","canonicalPath":"/agent/clawhub-skills-alexwoo-awso-vbnet-coder-en","generatedAt":"2026-10-10T01:14:04.948Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"VB.NET CODING AGENT SKILL REFERENCE VB.NET CODING AGENT SKILL REFERENCE **Target**: Claude-Code, Codex, AI coding agents **Version**: 2026 Modern .NET **Max Lines**: 500 --- DETAILED REFERENCES For detailed patterns, examples, and best practices on specific topics, see: | Topic | File | When to consult | |-------|------|-----------------| | Type System | $1 | Variable declarations, nullable types, field declarations | | Control Flow | $1 | If/ElseIf, S","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:alexwoo-awso:vbnet-coder-en","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/alexwoo-awso/vbnet-coder-en","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/alexwoo-awso/vbnet-coder-en","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"VB.NET CODING AGENT SKILL REFERENCE VB.NET CODING AGENT SKILL REFERENCE **Target**: Claude-Code, Codex, AI coding agents **Version**: 2026 Modern .NET **Max Lin"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:59:02.072Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:59:02.072Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:59:02.072Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:alexwoo-awso:vbnet-coder-en","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T01:14:04.948Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alexwoo-awso-vbnet-coder-en/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"# VB.NET CODING AGENT SKILL REFERENCE\n\n**Target**: Claude-Code, Codex, AI coding agents\n**Version**: 2026 Modern .NET\n**Max Lines**: 500\n\n---\n\n## DETAILED REFERENCES\n\nFor detailed patterns, examples, and best practices on specific topics, see:\n\n| Topic | File | When to consult |\n|-------|------|-----------------|\n| Type System | [docs/types-and-declarations.md](docs/types-and-declarations.md) | Variable declarations, nullable types, field declarations |\n| Control Flow | [docs/control-flow.md](docs/control-flow.md) | If/ElseIf, Select Case, loops, Exit/Continue |\n| Async/Await | [docs/async-patterns.md](docs/async-patterns.md) | Async method structure, ConfigureAwait, cancellation, Task.WhenAll |\n| Error Handling | [docs/error-handling.md](docs/error-handling.md) | Exceptions, Try/Catch/Finally, IDisposable, Using statement |\n| LINQ | [docs/linq-patterns.md](docs/linq-patterns.md) | Query/method syntax, common operations, deferred execution |\n| Strings & Collections | [docs/strings-and-collections.md](docs/strings-and-collections.md) | String comparison/building, List, Dictionary, HashSet, arrays |\n| Class Design & Patterns | [docs/class-design-and-patterns.md](docs/class-design-and-patterns.md) | Properties, constructors, interfaces, Factory, Repository, Null Object |\n\n---\n\n## CRITICAL COMPILER DIRECTIVES\n\n### Mandatory File Headers\n\n**ALWAYS include at top of every file:**\n\n```vb\nOption Explicit On\nOption Strict On\nOption Infer On\n```\n\n**Rationale**: Option Explicit On prevents undeclared variable usage (catches typos), Option Strict On enforces type safety (prevents implicit conversions causing runtime errors), Option Infer On enables local type inference while maintaining type safety.\n\n**Never use**: `Option Explicit Off` or `Option Strict Off` - these create runtime errors, performance degradation, and late binding overhead.\n\n**Project-level setting preferred**: Set in `.vbproj` file rather than per-file when possible.\n\n---\n\n## NAMING CONVENTIONS\n\n### Core Rules\n\n| Element | Convention | Example |\n|---------|-----------|---------|\n| **Namespace** | PascalCase, hierarchical | `CompanyName.ProductName.ComponentName` |\n| **Class/Interface** | PascalCase, noun/noun phrase | `CustomerRepository`, `IPaymentProcessor` |\n| **Interface prefix** | Starts with `I` | `IDisposable`, `IEnumerable(Of T)` |\n| **Method** | PascalCase, verb/verb phrase | `CalculateTotal()`, `ProcessPayment()` |\n| **Property** | PascalCase, noun/adjective | `CustomerName`, `IsActive` |\n| **Field (private)** | _camelCase with underscore | `_connectionString`, `_maxRetries` |\n| **Field (public/shared)** | PascalCase | `MaxValue`, `DefaultTimeout` |\n| **Parameter/Local** | camelCase | `userId`, `itemCount` |\n| **Constant** | PascalCase or UPPER_SNAKE | `MaxConnections`, `DEFAULT_TIMEOUT` |\n| **Enum Type** | PascalCase, singular | `OrderStatus`, `FileMode` |\n| **Enum Members** | PascalCase | `OrderStatus.Pending`, `FileMode.Read` |\n| **Event** | PascalCase, verb phrase | `DataReceived`, `ConnectionClosed` |\n| **Delegate** | PascalCase, ends with Handler/Callback | `EventHandler`, `DataReceivedCallback` |\n| **Generic Type Param** | T + PascalCase | `TKey`, `TValue`, `TEntity` |\n\n### Specific Guidelines\n\n**Boolean names**: Use `Is`, `Has`, `Can`, `Should` prefixes:\n```vb\nDim isValid As Boolean\nDim hasChildren As Boolean\nDim canProcess As Boolean\n```\n\n**Collection/Array naming**: Plural nouns:\n```vb\nDim customers As List(Of Customer)\nDim orderIds() As Integer\n```\n\n**Async method suffix**: Always use `Async`:\n```vb\nPublic Async Function LoadDataAsync() As Task(Of DataSet)\nPublic Async Function SaveCustomerAsync(customer As Customer) As Task\n```\n\n**Avoid**: Hungarian notation (`strName`, `intCount`), `My` prefix (conflicts with VB.NET `My` namespace), abbreviations unless universally known (OK: `Id`, `Xml`, `Http`; Avoid: `Mgr`, `Proc`, `Calc`).\n\n---\n\n## CODE LAYOUT AND STYLE\n\n### Indentation and Spacing\n\n- **4 spaces per indentation level** (never tabs)\n- **One statement per line**\n- **One blank line** between methods/properties\n- **Line continuation**: Use implicit continuation (no underscore) where possible\n\n```vb\n' ✓ Implicit line continuation (no underscore needed)\nDim result = customers _\n    .Where(Function(c) c.IsActive) _\n    .OrderBy(Function(c) c.Name) _\n    .ToList()\n\nDim customer = New Customer With {\n    .Name = \"John\",\n    .Email = \"john@example.com\",\n    .IsActive = True\n}\n\n' Method parameters\nPublic Function ProcessOrder(\n    orderId As Integer,\n    customerId As Integer,\n    processDate As Date) As OrderResult\n```\n\n### Comments\n\n```vb\n' Single-line comment for brief explanations\n\n''' <summary>\n''' Processes customer orders asynchronously.\n''' </summary>\n''' <param name=\"customerId\">The unique customer identifier.</param>\n''' <param name=\"cancellationToken\">Token to cancel the operation.</param>\n''' <returns>A task representing the async operation with the order result.</returns>\n''' <exception cref=\"CustomerNotFoundException\">Thrown when customer not found.</exception>\nPublic Async Function ProcessOrdersAsync(\n    customerId As Integer,\n    cancellationToken As CancellationToken) As Task(Of OrderResult)\n\n    ' Implementation\nEnd Function\n```\n\n**Avoid**: Commenting obvious code, redundant comments, commented-out code (use version control).\n\n---\n\n## FILE ORGANIZATION\n\n**Standard file structure**:\n\n```vb\nOption Explicit On\nOption Strict On\nOption Infer On\n\nImports System\nImports System.Collections.Generic\nImports System.Linq\nImports System.Threading.Tasks\n\nNamespace CompanyName.ProjectName.ComponentName\n\n    ''' <summary>\n    ''' Brief class description.\n    ''' </summary>\n    Public Class ClassName\n        ' Constants\n        Private Const DefaultTimeout As Integer = 30\n\n        ' Shared (static) fields\n        Public Shared ReadOnly MaxConnections As Integer = 100\n\n        ' Private fields\n        Private _connectionString As String\n        Private ReadOnly _logger As ILogger\n\n        ' Constructors\n        Public Sub New(logger As ILogger)\n            _logger = logger\n        End Sub\n\n        ' Properties\n        Public Property Name As String\n\n        ' Methods\n        Public Function DoSomething() As Integer\n            ' Implementation\n        End Function\n\n        ' IDisposable implementation if needed\n        Public Sub Dispose() Implements IDisposable.Dispose\n            ' Cleanup\n        End Sub\n    End Class\nEnd Namespace\n```\n\n---\n\n## PERFORMANCE CONSIDERATIONS\n\n**Avoid boxing/unboxing**: Use generics instead of Object collections.\n\n**String comparisons**: Use `StringComparison.Ordinal` for best performance when culture doesn't matter.\n\n**LINQ materialization**: Call `.ToList()` only when needed; leverage deferred execution.\n\n**Async I/O**: Always use async for file, database, network operations.\n\n**ConfigureAwait(False)**: Use in library code to avoid sync context overhead.\n\n**StringBuilder**: Use for concatenating >3-4 strings in loops.\n\n**Collection capacity**: Set initial capacity for `List(Of T)` and `Dictionary(Of K, V)` when size known.\n\n```vb\nDim customers As New List(Of Customer)(expectedCount)  ' Avoid reallocations\n```\n\n---\n\n## COMMON ANTI-PATTERNS TO AVOID\n\n❌ **Option Strict Off** - causes runtime errors, performance issues\n❌ **Async void methods** - unobservable exceptions (except event handlers)\n❌ **Blocking async code** - `.Result`, `.Wait()` cause deadlocks\n❌ **Catching Exception without logging** - swallows errors\n❌ **Not disposing IDisposable** - memory/resource leaks\n❌ **Using == for strings** - culture-dependent, use `.Equals()` with `StringComparison`\n❌ **String concatenation in loops** - O(n²) performance\n❌ **Not using Using statement** - resources not released on exception\n❌ **Hungarian notation** - outdated, conflicts with modern style\n❌ **Magic numbers** - use named constants\n❌ **Deep nesting** - extract methods, early returns\n\n---\n\n## AGENT-SPECIFIC GUIDANCE\n\n**When generating VB.NET code:**\n\n1. **Always include** `Option Explicit On` and `Option Strict On` at file top\n2. **Use explicit types** for all declarations\n3. **Prefer method syntax LINQ** over query syntax (easier for agent parsing)\n4. **Always use Using** for IDisposable objects\n5. **Use Async/Await** for any I/O operations\n6. **Include XML documentation** for public APIs\n7. **Use meaningful names** - prioritize readability over brevity\n8. **Handle exceptions explicitly** - no empty catches\n9. **Follow naming conventions** exactly - PascalCase for public, _camelCase for private fields\n10. **One responsibility per method** - extract when logic grows\n11. **Prefer composition over inheritance** - use interfaces\n12. **Immutability when possible** - ReadOnly fields, ReadOnly properties\n13. **Validate parameters** at method entry\n14. **Use CancellationToken** for long-running async operations\n15. **Log errors with context** - include relevant data in log messages\n\n---\n\n**END OF SKILL REFERENCE**\n\n*This document is optimized for AI coding agents generating modern, maintainable VB.NET code targeting .NET Framework 4.8+ and .NET 6/7/8+*\n","readmeExcerpt":"VB.NET CODING AGENT SKILL REFERENCE **Target**: Claude-Code, Codex, AI coding agents **Version**: 2026 Modern .NET **Max Lines**: 500 --- DETAILED REFERENCES For detailed patterns, examples, and best practices on specific topics, see: | Topic | File | When to consult | |-------|------|-----------------| | Type System | $1 | Variable declarations, nullable types, field declarations | | Control Flow | $1 | If/ElseIf, S","codeSnippets":[],"executableExamples":[{"language":"vb","snippet":"Option Explicit On\nOption Strict On\nOption Infer On"},{"language":"vb","snippet":"Dim isValid As Boolean\nDim hasChildren As Boolean\nDim canProcess As Boolean"},{"language":"vb","snippet":"Dim customers As List(Of Customer)\nDim orderIds() As Integer"},{"language":"vb","snippet":"Public Async Function LoadDataAsync() As Task(Of DataSet)\nPublic Async Function SaveCustomerAsync(customer As Customer) As Task"},{"language":"vb","snippet":"' ✓ Implicit line continuation (no underscore needed)\nDim result = customers _\n    .Where(Function(c) c.IsActive) _\n    .OrderBy(Function(c) c.Name) _\n    .ToList()\n\nDim customer = New Customer With {\n    .Name = \"John\",\n    .Email = \"john@example.com\",\n    .IsActive = True\n}\n\n' Method parameters\nPublic Function ProcessOrder(\n    orderId As Integer,\n    customerId As Integer,\n    processDate As Date) As OrderResult"},{"language":"vb","snippet":"' Single-line comment for brief explanations\n\n''' <summary>\n''' Processes customer orders asynchronously.\n''' </summary>\n''' <param name=\"customerId\">The unique customer identifier.</param>\n''' <param name=\"cancellationToken\">Token to cancel the operation.</param>\n''' <returns>A task representing the async operation with the order result.</returns>\n''' <exception cref=\"CustomerNotFoundException\">Thrown when customer not found.</exception>\nPublic Async Function ProcessOrdersAsync(\n    customerId As Integer,\n    cancellationToken As CancellationToken) As Task(Of OrderResult)\n\n    ' Implementation\nEnd Function"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"VB.NET CODING AGENT SKILL REFERENCE VB.NET CODING AGENT SKILL REFERENCE **Target**: Claude-Code, Codex, AI coding agents **Version**: 2026 Modern .NET **Max Lines**: 500 --- DETAILED REFERENCES For detailed patterns, examples, and best practices on specific topics, see: | Topic | File | When to consult | |-------|------|-----------------| | Type System | $1 | Variable declarations, nullable types, field declarations | | Control Flow | $1 | If/ElseIf, S","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":371,"uniquenessScore":69,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:14:04.948Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}