Agent skill

Architecture

by pikax in pikax/verter

Verter codebase architecture: high-level module map, TypeScript packages, plugin system, CSS analysis, MCP server, static analysis types

MITAuto-check passedAgent Workflows

Install Architecture

skills CLI
$ npx skills add pikax/verter --skill architecture -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pikax/verter architecture --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pikax/verter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/architecture .claude/skills/architecture && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
architecture
GitHub stars
113
Token cost
~5.6k tokens
SKILL.md length
2,261 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Verter codebase architecture: high-level module map, TypeScript packages, plugin system, CSS analysis, MCP server, static analysis types

  • Works in 4 steps: Match rightmost compound against target… → Walk left through combinators: Child… → Dynamic :class or component types →… → …
  • Tasks that involve Static analysis and SAST
  • SKILL.md covers Shared Substrate Principle, TypeScript Packages, Unplugin Configuration… and CSS Analysis & Selector…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Architecture is an agent skill from pikax/verter. Verter codebase architecture: high-level module map, TypeScript packages, plugin system, CSS analysis, MCP server, static analysis types

Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Static analysis and SAST. It works with TypeScript, Model Context Protocol and Vue.js. The repository describes itself as: Fast Rust-powered compiler, semantic extraction, and LSP for component frameworks. The licence is MIT.

When your agent uses it

  • Tasks that involve Static analysis and SAST

Example prompts

  • “/architecture”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Match rightmost compound against target element
  2. Walk left through combinators: Child checks parent_index, Descendant walks ancestor chain
  3. Dynamic :class or component types → MaybeMatches (can't determine statically)
  4. not() inverts, :is()/:where() takes best match across alternatives

What it can do on your machine

Read from SKILL.md and the folder at commit 858624d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Architecture loads about 5.6k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 2,261 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pikax/verter at commit 858624d, republished under its MIT licence (© pikax). 2,261 words, ~5,637 tokens.

Download SKILL.mdSave it as .claude/skills/architecture/SKILL.md (or your agent's skills folder).
name
architecture
description
Verter codebase architecture: high-level module map, TypeScript packages, plugin system, CSS analysis, MCP server, static analysis types

Verter Architecture Reference

For domain-specific detail, see: /type-resolution, /type-cache-architecture, /component-meta, /compiler-codegen, /host-session.

Shared Substrate Principle

Verter is one shared optimized codebase. Consumers reuse lower-level crates instead of separate semantic pipelines.

  • Put reusable parsing, analysis, type-resolution, caching, and import-following behavior in the shared owner crate.
  • verter_language is the zero-dependency leaf routing authority: FileLanguage, FrameworkAdapterId, LanguageId, CapabilityId, and the pure static LanguageRegistry (classify_static(path) — never reads project config). Host-gated classification (static registry × ProjectCapabilitySnapshot) is owned by verter_session::framework::HostLanguageClassifier; scheduler/workspace consumers reach it only through session-implemented trait objects (SourceLoader::classify / WorkspaceAccess::classify_file). The crate is a verter_span-only leaf (its design allowance — spans for the parse-artifact regions; strings stay crate-interned) and keeps a crate-local id-intern table: no lower crate exposes a reusable interning facility, and the id set is bounded by registered languages. It also owns the framework-neutral parse payload: FrameworkParseArtifact (typed FrameworkParseCommon — ScriptRegion { span, source_type, kind } / template / style regions, external links, LanguageDiagnostics — plus a PRIVATE erased Arc<dyn CarrierParse>), with the raw downcast confined to each adapter's own bridge module (no capability token — a foreign artifact's erased payload is a DIFFERENT concrete CarrierParse type, so the Any downcast already fails structurally for it); the session's blessed accessors are FrameworkAdapterCtx::carrier_for::<T> (routed through each adapter's registered-projector opener, e.g. open_vue_carrier) and the Vue adapter's vue_parse(); the concrete VueParseCarrier + Vue producer live in verter_compiler::framework_common::vue_bridge.
  • verter_session is the shared host/session/cache boundary for host-backed consumers.
  • verter_semantic and verter_compiler own reusable semantics, lowering, and codegen.
  • verter_resolution owns the reusable workspace module-resolution implementation: project routing, candidate/probe precedence, sealed observations, resolve frames and operational attempt/retention state. verter_session_query::resolution owns the supplied configuration, identities, requests/results, shared observation records, immutable budget policy and lexical path operations. Workspace, session and LSP consumers import each owner directly; the query boundary has no dependency on the implementation.
  • verter_analyzer_mint holds restricted construction authorities (today MemberListAnchorMint). Rust has no crate-to-crate visibility, so a record type in verter_session_query whose production producer is the verter_semantic analyzer takes this authority in its constructor; the authority has no value-producing trait impl, so obtaining it requires naming this crate. workspace_dependency_layers pins its direct dependents to exactly verter_semantic (the production producer) and verter_session_query (the record crate, whose tests mint too) — the mint is held by both, not by the analyzer alone. This is restricted constructor access, not proof of syntax-tree provenance.
  • verter_session::resolver_core owns the host-backed resolver stack and type-resolution orchestration. Resolver-path methods receive ctx: &dyn ResolverContext (sealed super-trait at resolver_core/resolver_context.rs) — the sealed RequestBoundAdapter<L> carrier implements it over the request lifecycle alone, so the engine holds no host, store or config field. The rails that enforce that are the carrier field's pub(super) visibility plus the engine's exclusive use of &dyn ResolverContext (the resolver_core/adapter_field_set_witness module adds only a compile-time arity pin on the carrier's field set); the five request-bound ports in resolver_core/request_ports.rs (with the engine-owned RequestSnapshot carrying the per-node cancellation, project-generation and clock reads) are the boundary, witnessed by the engine_ports_* compile-contract fixtures.
  • verter_protocol owns transport-facing schema DTOs; verter_ffi stays a thin native/WASM adapter layer.
  • Consumer packages and apps stay adapter-oriented: thin wrappers, public API shaping, transport glue, UX-specific behavior.

Bug or slowdown in one surface → fix in shared substrate so other consumers benefit.

TypeScript Packages

PackagePurposeEntry Point
@verter/typesTypeScript utility types (PatchHidden, ExtractHidden, EmitsToProps, etc.). Has /string export with $V_ prefixed types for LSP injectionsrc/index.ts
@verter/language-sharedShared custom protocol types between VS Code client and Rust LSP binarysrc/index.ts
@verter/typescript-pluginTypeScript plugin resolving .vue imports in TS/JS files. Intercepts module resolution to return transformed TSXsrc/index.ts
verter-vscodeVS Code extension. Launches Rust verter-lsp binary over stdio, bundles TS plugin, handles extension activationsrc/extension.ts
@verter/unpluginUniversal bundler plugin (Vite, Rollup, webpack, esbuild, rspack, Rolldown, Farm). Compiles .vue files via @verter/native. Supports preCompile for build-start cache warmingsrc/index.ts

Unplugin Configuration (packages/unplugin/)

@verter/unplugin provides a VerterPluginOptions interface:

OptionTypeDefaultDescription
componentId(filename, source, isProd) => stringhash-basedCustom component ID generator
includestring | RegExp | (string | RegExp)[][/\.vue$/]File patterns to include
preCompilebooleanfalsePre-compile all .vue files during buildStart. Scans project root, upserts files into host cache (including type dependencies for macros), and compiles them. When transform() later receives same content, host returns cached result instantly. node_modules excluded from scanning.
crossFileOptimizebooleanfalseCross-file prop constness optimization. Requires preCompile: true. After pre-compilation, analyzes render tree to determine which props are always passed constant values, skipping dynamic tracking in compiled output.
templateobject—Template compiler options (compat with @vitejs/plugin-vue)

preCompile architecture: During buildStart(), scans project root for .vue files (excluding node_modules and dot-directories). For each file: upserts into host, resolves external src attributes and macro type dependencies (e.g., import type { Props } from './types' used in defineProps<Props>()), then triggers compilation. When another plugin modifies the file before transform(), host detects content change via internal hashing and recompiles. Third-party .vue files in node_modules compile on-demand during transform() — no pre-compilation overhead.

Macro type resolution invariant: cross-file macro type resolution must only follow imports reachable from the requested type's local declaration graph. Unrelated imports in the same file are out of scope; plain imports are not implicit re-exports.

CSS Analysis & Selector Matching (crates/verter_semantic/src/analysis/)

verter_css_syntax is the shared lossless token/event authority for CSS, SCSS, indented Sass, Less, and Stylus. StyleSyntaxIrSink and LosslessCstSink are peers over the same parser event stream. Semantic style analysis projects only complete, static selector nodes into selectors, classes, IDs, custom properties, and at-rules; interpolation, recovery, and evaluation-dependent selectors fail closed. Each AnalyzedCssClass carries selector_index (exact class → comma-part selector join) and each AnalyzedSelector carries rule_body_span (brace- or indentation-delimited body span). Vue's planner separately consumes trusted IR for authored-dialect v-bind() and post-preprocess plain-CSS module hashing/scoping; Svelte consumes the IR as a trust gate for its distinct plain-CSS matcher/scoper. Svelte's carrier/CSS parser remains the compatibility owner until exact Svelte 5.56.10 error-code, offset, and read-past-close parity is proven. Style v-bind() usage is discovered through the same dialect-aware planner IR, then OXC-derived expr_roots/roots_complete remain the liveness facts consumed by mark_bindings_used_in_style and compile-input assembly.

StyleSyntaxIr retains positioned containment and balanced values without evaluating or compiling preprocessors. Imports, modules, plugins, guards, mixin/function arguments, and control expressions remain opaque-but-positioned. StyleSyntaxIr::dependencies() is the parse-minted inclusion inventory (@import/@use/@forward/@plugin, in source order, each with its keyword span and quote/url()-stripped specifier span), so no consumer walks the at-rules again to find out which sheets a block pulls in; dependency_pulls_in_unparsed_bytes is the same owner's answer to whether an inclusion actually brings foreign bytes with it (Sass's built-in sass: modules do not).

verter_css_syntax::stage owns the identity every style consumer shares — StyleStage, StyleProducer, StyleDiagnostic, StyleDependency, QualifiedStyleResult, and the PreprocessedStyle admission witness — plus the single lang="…" spelling → CssDialect mapping (CssDialect::from_lang, byte-exact) and the single "is this already CSS" predicate (CssDialect::requires_external_preprocessing). Style bytes leave the compiler as a QualifiedStyleResult and enter it as a PreprocessedStyle carrying its producer, never as a bare string. The carrier parser's StyleLang::from_bytes and the carrier-level StyleDialect are the deliberately larger universe (they also name postcss, plus an unrecognised state), owned by the carrier parse projection and read by the consumers that serve a dialect the rewrite pipeline refuses. See /compiler-codegen → "Stage-Qualified Style Identity".

Stylesheet parser mode is deterministic by dialect and structural tokens. CSS always uses brace grammar. Sass and Stylus use the layout-capable grammar, which also recognizes explicit braced blocks. SCSS and Less use brace grammar whenever the lexer emits any plain LeftBrace; only a brace-free source with an actual deeper-indented line pair uses layout grammar. Closing-brace indentation and other incidental formatting never select the parser. Selector trust folds every component descendant and functional-pseudo selector list; class/ID collection descends those lists and gates each component independently, so complete literal class components may still publish from an otherwise evaluation-dependent selector such as &.active or :global(.a .#{$x}). A textually certain :deep/:global/:slotted kind publishes independently of argument trust, while every class inside its argument remains subject to the same per-component gate. Ambiguous optional-syntax statements remain locally typed and diagnosed without recovering intact ancestor rules. A declaration may own a retained StyleBlock (for example, an indented Sass nested-property namespace); the IR sink never discards such a block.

Module structure:

style.rs              # Semantic style projection types and specificity computation
style_syntax.rs       # Five-dialect syntax-to-semantic projection
selector_match.rs     # Three-valued selector matching against template elements
template.rs           # Template element analysis, dynamic class extraction, :style CSS var extraction

Key types:

TypeLocationPurpose
StructuredSelectorstyle.rsParsed CSS selector (compounds + combinators)
CompoundSelectorstyle.rsSingle compound: element, classes, id, attributes, pseudo-classes
SelectorCombinatorstyle.rsDescendant / Child / NextSibling / LaterSibling
MatchResultselector_match.rsThree-valued: Matches, MaybeMatches, NoMatch
DomQueryCallSitetypes.rsDOM query call with parsed selector and spans
StyleBlockAnalysisstyle.rsPer-<style> block analysis with nested CssAnalysis
AnalyzedCustomPropertystyle.rsCSS custom property with name/value spans, var references, selector index
CssVarReferencestyle.rsvar() call with name, span, optional fallback (recursive)
AnalyzedVarUsagestyle.rsRegular CSS property using var() with property name and selector index
CssVarManipulationtypes.rsScript-side CSS variable manipulation via DOM APIs
DynamicStyleVartemplate.rsCSS variable set via :style binding in template
StaticStyleVartemplate.rsCSS variable set via static style attribute in template
CssVarFlowproject_index.rsCross-component CSS variable flow (definitions + usages + manipulations)

CSS Variable Analysis (three-block tracking):

  • Style: the balanced component-value IR projects AnalyzedCustomProperty (definitions with values/spans) and AnalyzedVarUsage (var() references). extract_var_references() handles nested var() fallbacks without evaluating values.
  • Template: extract_dynamic_style_vars() extracts CSS vars from :style="{ '--color': val }". extract_static_style_vars() extracts from style="--color: red".
  • Script: try_extract_css_var_manipulation() detects el.style.setProperty('--x', val), getPropertyValue('--x'), removeProperty('--x').
  • Cross-component: ProjectIndex.css_var_flow(name) and VerterHost.css_var_flow(name) return CssVarFlow with all files defining/referencing/manipulating a variable.

Selector matching algorithm (match_selector()):

  1. Match rightmost compound against target element
  2. Walk left through combinators: Child checks parent_index, Descendant walks ancestor chain
  3. Dynamic :class or component types → MaybeMatches (can't determine statically)
  4. :not() inverts, :is()/:where() takes best match across alternatives

Position encoding for CSS spans: CssAnalysis spans (classes, IDs, selectors) are SFC-absolute byte offsets. CssSource is constructed with the style content origin, so syntax and projection spans are absolute from creation. Consumers use spans directly without adding any offset. StyleBlockAnalysis.content_offset is retained for documentation and slice operations.

Show full SKILL.md (676 more words)Show less

Analysis MCP Server (verter_mcp)

verter-mcp binary exposes Verter's full analysis, diagnostics, compilation, and scoring pipeline via MCP for AI agents. VerterMcpServer wraps VerterHost (with AnalysisScope::LSP), Linter, and ActionEngine. Tools auto-load via ensure_loaded(); template analysis triggers ensure_template_analysis() transparently. Cross-file tools iterate all loaded files (no ProjectIndex exposed from host). Scoring engine computes composite 0-100 quality scores from a11y, lint, template complexity, API surface, CSS health, and reactivity dimensions.

Both binaries (verter-mcp, and the LSP-decoupling twin verter-mcp-server) run the one shared entry body verter_mcp::run::run. The HTTP transport binds before its initial scan and announces the real bound port as a one-line stdout readiness record (verter_mcp::readiness, mirrored by packages/vue-vscode/src/mcpServer.ts); --client-pid arms the same ClientProcessGuard containment as the LSP. The VS Code extension spawns this standalone binary per LSP start attempt (createMcpServerLifecycle: awaited replacement, bounded crash respawn, provider-registration teardown on death) — see docs/contributing/lsp-mcp-decoupling.md.

verter_semantic::analysis — Static Analysis Types

verter_semantic::analysis is the shared static-analysis surface consumed by verter_session, diagnostics, and tooling. Compilation crate owns lowering and codegen; verter_session projects compiler and workspace state into these semantic snapshots.

AnalysisScope

Bitflags (u32) controlling which analysis passes run during file upsert.

Script (bits 0-7)

FlagBitDescription
IMPORTS0Import declarations
BINDINGS1Variable/function/class declarations
REACTIVITY2Ref/reactive/computed classification
MACROS3defineProps/Emits/Model/Slots/Expose
MACRO_TYPE_DEPS4Cross-file type references in macros
VUE_API_USAGE5Track provide/inject/lifecycle/watcher calls
EXPORT_SIGNATURES6Per-export hashes for smart invalidation
FUNC_RETURNS7Analyze function return reactivity (for composables)

Template (bits 8-15)

FlagBitDescription
TPL_COMPONENTS8Component usages + prop expressions
TPL_BINDINGS9Which script bindings are used in template
TPL_SLOTS10Slot definitions + usages
TPL_REFS11Template ref attributes
TPL_EVENTS12Event handler bindings
TPL_CONSTNESS13Prop constness classification

Style (bits 16-19)

FlagBitDescription
STYLE_CSS16Full CSS analysis (selectors, classes, IDs)
STYLE_VBIND17v-bind() in styles
STYLE_SCOPED18Scoped/module metadata
STYLE_PSEUDOS19:deep/:global/:slotted

Cross-file (bits 24-26)

FlagBitDescription
CROSS_RENDER_TREE24Build render tree from template analysis
CROSS_PROVIDE25Provide/inject chain validation
CROSS_PROP_CONST26Prop constness optimization

Presets:

PresetFlagsUse Case
BUILDIMPORTS, BINDINGS, MACROS, MACRO_TYPE_DEPS, EXPORT_SIGNATURES, STYLE_VBIND, STYLE_SCOPEDMinimal overhead for compilation + smart invalidation
BUILD_OPTIMIZEDBUILD + REACTIVITY, VUE_API_USAGE, TPL_COMPONENTS, TPL_BINDINGS, TPL_CONSTNESS, CROSS_RENDER_TREE, CROSS_PROVIDE, CROSS_PROP_CONSTBuild with cross-file optimization
LSPAll flagsFull analysis for completions, hover, diagnostics
LINTERIMPORTS, BINDINGS, REACTIVITY, MACROS, VUE_API_USAGE, TPL_COMPONENTS, TPL_BINDINGS, TPL_SLOTS, TPL_REFS, TPL_EVENTSScript + template for lint rules
ESSENTIALIMPORTS, BINDINGS, MACROS, MACRO_TYPE_DEPS, EXPORT_SIGNATURESScript-only (legacy compat)
ScriptAnalysisSnapshot

Primary output of build_script_analysis(). Produced by a single OXC parse + AST walk.

FieldTypeDescription
importsVec<AnalyzedImport>All import declarations with source, bindings, spans
bindingsVec<AnalyzedBinding>Top-level variable/function/class declarations
macrosVec<AnalyzedMacro>Vue macro calls (defineProps, defineEmits, etc.)
macro_type_depsVec<MacroTypeDep>Cross-file type references used by macros, tiered by structural position (usage: MacroTypeDepUsage — Surface = argument root / intersection-union arms / extends heritage / alias chains, missing ⇒ error; Member = top-level member annotation, missing ⇒ warning + null degrade). References nested deeper are never collected (runtime codegen does not need them)
flagsAnalysisFlagsBitwise flags for O(1) queries
exported_functionsVec<AnalyzedExportedFunction>Non-SFC exported functions (composable analysis). Carries name / is_default / params / is_async / composable only. It carries NO return-type field: the declared return type's reactive-wrapper identity is a resolution decision answered at demand time from the lowered typed IR plus a package-backed route proof (/type-resolution → Reactive-wrapper demand), never from annotation text on this DTO

ReactivityKind: None | Ref | Computed | Reactive | MaybeRef | Mutable

TemplateAnalysisSnapshot

Populated after compilation by converting RawTemplateData from verter_compiler.

FieldTypeDescription
componentsVec<TemplateComponentUsage>Components used in template with props and slots
binding_occurrencesVec<TemplateBindingOccurrence>Script bindings referenced in template with spans
defined_slotsVec<DefinedSlot><slot> elements defined in template
template_refsVec<TemplateRef>ref="foo" attributes
event_handlersVec<TemplateEventHandler>@click, @input, etc.
elementsVec<TemplateElement>Full element tree for linter traversal
if_chainsVec<IfChain>v-if/v-else-if chains for duplicate detection
prop_definitionsVec<AnalyzedPropDefinition>Props from defineProps
emit_definitionsVec<AnalyzedEmitDefinition>Emits from defineEmits
comment_directivesVec<CommentDirective>@verter:disable, @verter:todo, etc.
ProjectIndex

Aggregates file-level usage into project-wide indexes:

  • provide_index: provide key → files that call provide(key)
  • inject_index: inject key → files that call inject(key)
  • component_graph: file → components it uses (forward edges)
  • component_reverse_index: component name → files that use it
  • class_index: CSS class name → files that define it
  • v_bind_css_index: v-bind CSS expression → files that use it
  • custom_property_index: CSS custom property → files that define it
Data Flow
Vue SFC Source
    |
    v
verter_compiler::compile()
    |-- ScriptAnalysisSnapshot (from OXC parse during compilation)
    |-- RawTemplateData (spans, binding refs, component tags)
    |-- CssParsed* (v-bind spans, pseudo spans)
    |
    v
verter_session (conversion layer)
    |-- RawTemplateData --> TemplateAnalysisSnapshot
    |-- CssParsed*      --> StyleBlockAnalysis
    |-- Resolves import paths, populates resolved_canonical_id
    |-- Updates ProjectIndex with file usage
    |
    v
Consumers (LSP, build, linter) query snapshots + ProjectIndex

© pikax, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/architecture of pikax/verter.

Open the folder on GitHubat commit 858624d

Compare with similar skills

Architecture next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Architecture compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Architecture this skillpikax/verter113—~5.6kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
Create Docsvictorgarciaesgi/nuxt-typed-router4132 repos~2.8kAutomated safety check: PassMIT
MCP Server Builder with mcp-usemcp-use/mcp-use11k—~923Automated safety check: PassApache-2.0
Source Driven Developmentshashankswe2020-ux/whoop-mcp1654 repos~2kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Create Docs

    victorgarciaesgi/nuxt-typed-router

    Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.

    413 GitHub starsUsed in 2 repos~2.8k tokens
    Frontend & DesignAuto-check passed
  • Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.

    11k GitHub stars~923 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Source Driven Development

    shashankswe2020-ux/whoop-mcp

    Grounds every implementation decision in official documentation.

    165 GitHub starsUsed in 4 repos~2k tokens
    Agent WorkflowsAuto-check passed
  • Openpets

    OpenPetsHQ/openpets

    A skill your agent uses whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest…

    1.3k GitHub stars~2.1k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from pikax/verter

All 14 skills in this repo
  • Debug Tooling

    pikax/verter

    In-process backtrace watchdog + LLDB attach wrapper + release-dbg profile for diagnosing hangs and slow paths in Verter benches and binaries on Windows / macOS / Linux.

    113 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Agent Prompts

    pikax/verter

    Generate copy-pasteable prompts for driving separate Claude Code sessions through refactor, review, or migration work.

    113 GitHub stars~5k tokensUpdated today
    Auto-check: warnings
  • Build dependency chains, rebuild sequences, profiling with MCP, and Analysis MCP server setup for Verter

    113 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Compiler Codegen

    pikax/verter

    Rust compiler pipeline, template codegen (VDOM/IDE), CodeTransform, cached directives, strict slots, IDE error recovery, style preprocessing, CompileTarget, compiler authority/policy/demand/admission

    113 GitHub stars~23k tokensUpdated today
    Auto-check passed
  • CTO/manager-of-managers methodology for autonomous multi-train plans where the user says "you are the MoM/CTO", "orchestrate the whole plan", "drive the migration end-to-end", "manager-of-managers"…

    113 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Rust Performance

    pikax/verter

    Rust performance optimization patterns: batch operations, allocation hierarchy, object pooling, CodeTransform API for vertercompiler

    113 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about Architecture

What does Architecture do?

Verter codebase architecture: high-level module map, TypeScript packages, plugin system, CSS analysis, MCP server, static analysis types. Architecture is an agent skill from pikax/verter.

When should I use Architecture?

Architecture fits situations like: tasks that involve Static analysis and SAST.

How do I install Architecture in Claude Code?

Run `npx skills add pikax/verter --skill architecture -a claude-code`. Or copy the skill folder (.claude/skills/architecture in pikax/verter) into .claude/skills/architecture in your project. Claude Code loads it when a task matches its description.

How do I install Architecture in Codex?

Run `npx skills add pikax/verter --skill architecture -a codex`. Or copy the skill folder (.claude/skills/architecture in pikax/verter) into .agents/skills/architecture in your project. Codex loads it when a task matches its description.

Can I use Architecture in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pikax/verter --skill architecture -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/architecture, .gemini/skills/architecture, .github/skills/architecture and .opencode/skills/architecture in your project.

What does Architecture need to run?

SKILL.md names no scripts, command-line tools or credentials: Architecture is instructions for the agent only.

Does Architecture access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Architecture safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Architecture use?

Architecture is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Architecture use?

About 5.6k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Architecture?

Skills that share tags, products or a category with Architecture: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Create Docs (victorgarciaesgi/nuxt-typed-router, 413 stars) and MCP Server Builder with mcp-use (mcp-use/mcp-use, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Architecture?

pikax (a GitHub user) maintains it in pikax/verter, which has 113 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 9, 2026.

Source: pikax/verter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.