NV NVIDIA Elements Catalog Starters GitHub System Themes Getting Started Getting Started Installation CLI MCP Skills Lint GitHub Integrations Getting Started Angular Bundles CDN Custom Elements Eleventy Golang HTMX + Go Hugo Import Maps Lit Lit Library MCP Apps NextJS Nuxt Pi Preact React SolidJS Sphinx Svelte TypeScript Vue About What’s New Changelog Metrics Support Accessibility Contributions Requests Migration Foundations Overview Typography Iconography Themes Design Tokens Size & Space Objects Interactions Support Status Color Animation Fonts Layers Custom Layout Horizontal Vertical Grid Popovers i18n Visualization View Transitions DESIGN.md Elements Accordion Alert Avatar Badge Breadcrumb Button Button Group Card Chat Message Checkbox Codeblock Color Combobox Copy Button Datagrid Getting Started Integrations Column Action Column Alignment Column Fixed Column width Container Card Display Settings Footer Heatmap Keynav Multi Select Pagination Panel Detail Panel Grid Performance Placeholder Row Action Row Groups Row Sort Scroll Height Single Select Stripe Date Datetime Dialog Divider Dot Drawer Dropdown Dropdown Group Dropzone File Format Bytes Datetime Number Relative Time Truncate Forms Getting Started Validation Actions Control Gauge Icon Icon Button Input Input Group Logo Markdown Markdown CSS Media Controller Pause Button Playback Rate Select Mute Button Seek Button Time Range Volume Range Full-screen Button Menu Month Monaco Input Diff Input Monaco Editor Diff Editor Problems Notification Page Page Header Page Loader Pagination Progressive Filter Chip Progress Bar Progress Ring Password Preferences Input Pulse Radio Range Resize Handle Search Select Skeleton Sort Button Sparkline Star Rating Steps Switch Tabs Tag Textarea Time Toast Toggletip Toolbar Tooltip Tree Viewport Week Patterns Authentication Browse Chat Dashboard Editor Empty States Heatmap Keyboard Shortcut Logging Media Navigation Onboarding Panel Responsive Search Subheader Trend Labs Responsive Layout Viewport Container Patterns Forms API Design Properties & Attributes Slots Registration CustomEvents Stateless Composition Styles Packaging Glossary Logs Internal Guidelines Agent Harness Agent Tooling Agent Ownership Documentation Examples TypeScript Testing Unit Testing Accessibility Testing Lighthouse Testing SSR Testing Visual Testing Troubleshooting Component Creation Internal Examples All Examples

Pi Agent

@nvidia-elements/pi gives Pi agents native access to Elements API documentation, examples, design tokens, icons, package information, project checks, and template validation. Pi can also use our Skills and CLI directly without requiring the extension.

Install

Install the package globally for every Pi project:

Install it only for the current project:

Pi loads the extension, the Pi-specific elements-pi skill, and workflow prompts as native package resources. The skill can coexist with a project or global elements skill.

Use

Ask Pi to create, edit, review, or debug an Elements interface. The agent can look up nve-* APIs and examples before authoring HTML, then check the result with nvidia_elements_api_validate.

Pi exposes the Elements tools directly and makes them available to codemode scripts. codemode calls receive { status, message, result }; tools with a format option can return structured data with format: "json".

Use the skill command to load the complete Elements workflow explicitly:

You do not need MCP configuration or a separate CLI process. Use the Elements CLI when you need interactive shell commands, project creation, project setup, or MCP integrations.

Use workflow prompts

The package provides these prompt-template commands:

  • /elements-artifact: Create a standalone Elements HTML artifact.
  • /elements-doctor: Check an Elements development setup.
  • /elements-create-project: Create an Elements starter project.
  • /elements-migrate: Migrate deprecated Elements packages and APIs.

Add an optional request after a command, such as /elements-artifact create a settings page.

Manage automatic validation

Automatic validation runs by default after Pi edits supported HTML files. Turn it off when starting Pi:

You can manage it for the current session:

When enabled, the extension checks .html and .htm files after successful Pi edit and write calls. It appends the validation summary and diagnostics to the tool result, including the parent result when codemode calls either tool.

Manage

Pi extensions run with your system permissions. Review package sources before installation and use Pi project trust for project-local packages and resources.