Shilpi 1.9.4: A new Plugins screen installs the free Shilpi add-ons without leaving the dashboard. See what shipped

Features

One theme.
The whole operation.

Shilpi replaces the page builder, the form plugin, the snippet plugin, the SEO plugin, the font manager and the AI bolt-on with a single system that agrees with itself.

83

Elements across 8 groups

35

MCP tools for agents

8

Template types with native routing

22

Health checks on every install

The canvas

Select anything. Style it. Read what changed.

Click an element on the canvas and the inspector opens on the exact node, with a breadcrumb showing where you are in the document, right down to main › section.hero › h1 › span.

  • Structure tree that shows real tags and class names, not widget labels
  • Style groups for spacing, sizing, typography, background, position and effects
  • States for hover, focus and active, per breakpoint
  • Rule CSS when you want to write the declaration yourself
  • Autosave every minute; the live page waits for Save
Style · h1.hero__title
  • Typography 1
  • Spacing
  • Sizing
  • Background & Border
  • Positioning
  • Effects
  • Rule CSS
State
  • Normal
  • Hover
  • Focus
design variables
/* Desktop */
--color-accent: #6a5af9;
--pad-x:        40px;
--sect-y:       120px;

/* Tablet ≤1024px */
--pad-x:        32px;

/* Mobile ≤767px */
--pad-x:        20px;

/* every class reading it follows */
.section { padding: var(--sect-y) var(--pad-x); }

Design system

Change one variable. Watch the whole site agree.

Variables are the source of truth for colour, spacing, type and effects. Give a token a Tablet and a Mobile value and every global class reading it becomes responsive at once, one token, three sizes.

  • Four breakpoints: Wide from 1500px, Desktop, Tablet to 1024px, Mobile to 767px
  • Variables may reference other variables
  • Global classes hold anything reusable; page CSS holds the exceptions
  • A predictable cascade: variables, global classes, global CSS, page CSS

Templates & dynamic content

WordPress routing, without the theme files.

Build a header once, a single-post layout once, an archive once, then let WordPress route to them the way it always has.

Eight template types

Header, Footer, Single, Archive, Search, 404, Loop and Part. Set a site default in Settings, or override it on any individual page.

The slug is the assignment

Name a template single-product, archive-category-news, search or 404 and it mirrors the WordPress template hierarchy. No condition builder to configure afterwards.

Dynamic tokens

Drop {post:title}, {post:image}, {author:name} or any ACF field straight into markup with {post:meta:key}.

Query loops

Design one Loop template, point a loop container at a post type or taxonomy, and let it repeat, with pagination that behaves like WordPress expects.

Parts with shortcodes

Every part gets a shortcode, so a reusable block can appear inside a classic post or another plugin’s output.

Site placeholders

Tokens like {site:title}, {site:tagline}, {menu:slug}, {part:slug} and {year} keep headers and footers in sync with WordPress, no shortcode required.

AI & MCP

An agent that can build, inside a permission boundary.

Shilpi runs its own MCP server in WordPress. Your agent gets 35 scoped abilities, not SSH, not FTP, not wp-config.php.

  1. Turn the server on

    One switch exposes the MCP endpoints. Turn it off and existing credentials immediately stop being able to edit the site.

  2. Choose how it signs in

    OAuth is recommended, the agent signs in through the browser and no password ever lands in a config file. Application passwords are there for clients that need them, and each one is revocable on its own.

  3. Hand it the house rules

    Copy the built-in agent instructions into your first message, or save them once in a CLAUDE.md or AGENTS.md. The agent then reads your existing classes and variables before writing anything.

  4. Review, then close the door

    Read the report, check the saved records, and switch off temporary permissions from the Security screen when the job is done.

Downloadable skills

Two skills ship with the theme

Trusted Markdown files that teach an agent the conventions before it starts. Upload your own to add house rules, and since 1.9.3 an active plugin can contribute one of its own, which is how WooCommerce Kit teaches the agent about the store.

shilpi-theme Shilpi

Pages, templates, parts, design systems, dynamic and ACF tokens, query loops, forms, sliders, shortcodes, PHP snippets, local fonts and project assets.

wordpress-core WordPress

Native posts, pages, media, menus, users, settings and site administration.

Works with Claude Code, Cursor and any MCP-compatible client.

Content operations

The screens an agent used to be locked out of.

Design was never the whole job. Menus, taxonomies, SEO metadata and a storefront are now first-class abilities, readable and writable from the same permission boundary as everything else.

Add-ons

Plugins, without the ZIP file

Shilpi → Plugins lists the free companion plugins and installs and activates the one you pick, in place. Each keeps itself up to date afterwards through WordPress’s own update mechanism, no licence key, nothing to download by hand. See what is available.

SEO

Metadata without a fifth plugin

Read and write the title, description, canonical URL, robots directives and social card for any page or post. Existing Yoast and RankMath installs keep working, Shilpi reads what is already there rather than fighting it.

Commerce

WooCommerce, in a free plugin

The storefront ships in Shilpi WooCommerce Kit, free, GPL, installed in one click from Shilpi → Plugins. It brings the storefront elements, ready-made Cart, Checkout and My Account designs, and the store MCP tools, while WooCommerce keeps owning cart and checkout. A store that does not need it does not carry it.

Structure

Menus and taxonomies

Create menus, order their items and assign them to the Primary or Footer location. Register and populate categories, tags and custom taxonomies, then point a query loop straight at them.

Scripts

Script files with a load order

Upload and configure front-end script files with an explicit position and load order, so third-party behaviour is registered rather than pasted into a footer slot and forgotten.

Migration

Import a page or a whole site

Bring in a single template from another Shilpi install, or an entire site at once, with the last twenty import runs kept on record so you can see exactly what landed.

Global CSSGlobal JSHTMLPHP snippets4
PHPproject-post-type.phpSavedRunning site-wide
/* One concern per snippet. */
add_action( 'init', function () {
  register_post_type( 'project', array(
    'public'       => true,
    'label'        => 'Projects',
    'has_archive'  => true,
    'supports'     => array( 'title', 'editor' ),
  ) );
} );
Analytics head tagHTML · head slotOn
Campaign experimentJavaScript · globalOff
Checkout tweakPHP · disabled after a syntax errorOff

Code Hub

Site-wide code, in one guarded place.

The alternative to a functions.php nobody remembers editing. Four scopes, each with its own rules, each with an explicit on switch.

  • Global CSS: resets and base rules that genuinely belong to every page
  • Global JS: front-end behaviour shared across the site
  • HTML: three injection slots for analytics, verification and body tags
  • PHP snippets: one concern per snippet, syntax-checked before activation

PHP editing sits behind a temporary permission. Switch it on for the job, switch it off when the code is done, the Security screen shows how many permissions are open at any time.

Element library

83 elements. Every one of them optional.

Set any element to Active, Hidden or Disabled. Hiding an element takes it out of the palette but leaves existing pages rendering exactly as they are, nothing you already built breaks. The eight groups below ship in the theme; the storefront adds a ninth when you install the free WooCommerce Kit.

Layout

5

Container, Section, Grid, Divider, Spacer

Basic

8

Heading, Basic Text, Rich Text, Button, Text link, Icon, Image, Video

General

22

Tabs, accordion, slider, table, breadcrumb, pagination, social links and more

Media

5

Gallery, lightbox, background video, audio, embed

Dynamic

7

Query loop, post field, term list, author box, archive title, pagination

Forms

12

Every field type, plus the submit and success states

WordPress

14

Menus, search, comments, login state and shortcode blocks

Utility

10

Raw HTML, script slot, conditional wrapper, anchor and skip links

WooCommerce

28

Product grid, gallery, title, price, rating, stock, add to cart, tabs, related products, mini cart, wishlist, comparison, recently viewed and the rest, a ninth palette group that appears once the free WooCommerce Kit is active, and disappears with it.

Native systems

The plugins you were about to install.

Forms & mail

From enquiry to inbox, without a form plugin.

Submissions are stored in WordPress and readable in the dashboard. Configure the recipient, the transport and SMTP credentials once, then watch the delivery log to see exactly what left the server. Set a retention window in days and old submissions clean themselves up.

FormStored submissionSMTPDelivery log
Fonts

Self-host, and mean it.

Upload your web fonts and serve them locally. One switch blocks every Google Fonts request site-wide, including the ones plugins try to make, so no visitor IP reaches Google.

Project files

Assets that belong to the site.

Scripts, JSON and media served from the right place, with validated uploads and an explicit load order instead of a hotlink to somebody else’s CDN.

Security

Powerful access, narrow permissions.

Everything risky is a temporary permission with a visible counter and a single button that closes all of them.

  • Sanitised SVG uploads, scripts, event handlers and external references stripped before storage
  • JSON and JavaScript project files validated, and limited to trusted accounts
  • Reversible WordPress hardening, block dashboard file editors, disable XML-RPC, generic login errors, hide the generator tag and public REST user listings
  • Nothing edits wp-config.php or server files

Performance

Two honest ways to load CSS.

Neither is a lie about “optimisation”, they are two real trade-offs, described plainly, switchable in one dropdown.

  • Inline: the design system and page CSS print into the head, so a page paints without one extra request
  • External: the same CSS is written to fingerprinted files that the browser and your CDN can cache
  • Cascade order is identical either way
  • No render-blocking widget bundle, because there are no widgets

Start building

Your next WordPress site can be readable.

Design it on a canvas, let an agent do the repetitive half, and hand over a codebase you would be happy to inherit.

Common questions

How is Shilpi different from Elementor or Divi?
The storage format. Elementor and Divi keep a layout in their own data structure, so leaving means rebuilding. Shilpi keeps three plain fields per page: body HTML, a stylesheet and page JavaScript. Copy the markup out and it still works.
Do I need a page builder plugin as well?
No. The builder, the design system, templates and routing, native forms, sliders and the Code Hub are all in the theme. The Code Hub replaces what a classic theme would put in functions.php, scoped and switchable.
Does Shilpi work with WooCommerce?
Yes, through the free Shilpi WooCommerce Kit plugin. It adds first-class storefront elements and lets you template single-product and archive-product routes, while cart, checkout and account stay on WooCommerce's own native flow.
Can I import an existing static HTML site?
Yes. Shilpi parses a folder of HTML files, lifts the shared header and footer into templates, converts the stylesheet into design variables and global classes, sideloads the images and builds the menu, in one operation rather than page by page.

Further reading