Skip to content
dynamicwebPublic

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Dynamicweb Skills

Claude skills for Dynamicweb 10 — installable as a Claude plugin.

Skills are organized by task domain on disk (skills/dw-<domain>-<topic>/) and bundled by role in the plugin registry. Skills are shared across bundles: a single skill directory can appear in more than one role bundle, with no copying or symlinks.

Structure

.claude-plugin/
  marketplace.json          # plugin registry — role bundles, each curating skills by path
skills/
  dw-setup-*/               # install, configure, upgrade a solution; drive the dw CLI
  dw-render-*/              # Razor, ViewModels, TemplateTags
  dw-content-modelling/     # item types, paragraphs, content models
  dw-content-localization/ # translate a page/site, create a language version
  dw-swift-building/        # customize a Swift 2 site for a business
  dw-swift-page-blocks/     # Swift 2 page-building vocabulary (reference)
  dw-swift-page-design/     # build a Swift 2 page from a reference/mockup
  dw-swift-migrate-v1/      # faithful Swift 1 -> Swift 2 layout port
  dw-swift-migrate-content/ # rebuild any site's content as modern Swift 2
  dw-headless-delivery/     # decoupled frontends over the /dwapi/ delivery API
  dw-pim-*/                 # PIM modelling, completeness, workflow, localization
  dw-pim-migrate-dw9/       # migrate a DW9 product catalog into DW10 PIM
  dw-commerce-*/            # catalog, orders, B2B
  dw-search-indexing/       # search indexes on Lucene
  dw-users-permissions/     # users, groups, permissions
  dw-extend-*/              # C# API, providers, scheduled tasks, MCP tools, admin UI
  dw-integration-*/         # Integration Framework, ERP connectors, Business Central
  dw-data-access/           # data-access patterns and caching
  dw-data-write-effects/    # proving a write landed, and the rebuilds it owes
  dw-data-audit-trail/      # investigate who/when/why something changed
  dw-source-explorer/       # browse Dynamicweb source on GitHub
  dw-source-doc-lookup/     # consult the live Dynamicweb documentation
  dw-demo-*/                # presales demo chain (base, pim, swift, headless, hosted, erp, fo, foldback)

Plugins

Each bundle is a role-oriented selection of skills. Shared skills (for example dw-setup-install, dw-extend-mcp-tools, dw-integration-bc) appear in more than one bundle.

Plugin Audience Skills included
dynamicweb-setup Provisioning Dynamicweb 10 setup-install, setup-config, setup-upgrade, setup-cli
dynamicweb-frontend Template & storefront developers render-razor, render-viewmodels, render-templatetags, content-modelling, content-localization, swift-building, swift-page-blocks, swift-page-design, swift-migrate-v1, swift-migrate-content, headless-delivery
dynamicweb-commerce Commerce & PIM implementers pim-modelling, pim-completeness, pim-workflow, pim-localization, pim-migrate-dw9, commerce-catalog, commerce-orders, commerce-b2b, search-indexing, users-permissions, data-access, data-write-effects
dynamicweb-backend Backend & platform engineers extend-csharp-api, extend-providers, extend-scheduled-tasks, extend-mcp-tools, extend-admin-ui, integration-framework, integration-erp, integration-fo-discovery, integration-fo, integration-bc, data-access, data-write-effects, data-audit-trail
dynamicweb-developer Developers building on the platform setup-install, source-explorer, source-doc-lookup, extend-mcp-tools
dynamicweb-presales Presales & demo engineers demo-base, demo-pim, demo-swift, demo-headless, demo-hosted, demo-erp, demo-fo, demo-foldback, integration-bc; + the foundational skills the demo skills reference (setup-install, setup-config, setup-upgrade, source-explorer, integration-framework, integration-erp, integration-fo-discovery, integration-fo, extend-csharp-api, extend-mcp-tools, extend-providers, headless-delivery, search-indexing, users-permissions, the pim/commerce/render/content/data-access skills, data-write-effects, swift-building)

Skills

Setup

dw-setup-install Installs Dynamicweb Swift 2 from scratch — downloads the latest database, files, and demo data, imports the database, installs the temporary MCP add-ins payload, and writes the first-run bootstrap manifest.

dw-setup-config Configure Dynamicweb 10 environment and connection settings.

dw-setup-upgrade Manage Dynamicweb 10 version upgrades and migration mechanics.

dw-setup-cli Operate a solution with the dw CLI — install add-ins, push and pull Files-archive content, trigger a recycle, and prove the change landed.

Rendering & Content

dw-render-razor Build template hierarchies and Razor patterns — the foundation for all rendering.

dw-render-viewmodels Fetch and shape content using ViewModels in Dynamicweb 10 templates.

dw-render-templatetags Build templates using TemplateTags to access content properties directly.

dw-content-modelling Design item types, paragraphs, and content models in Dynamicweb 10, and create/publish a page or paragraph through the MCP tools.

dw-content-localization Create a language version of a website and translate its page content, or translate an existing page/site from one language to another.

dw-swift-building Customize an existing Swift 2 site for a specific business without rebuilding it — preserves the working page shell and updates area, navigation, category pages, and item values.

dw-swift-page-blocks Reference for the Swift 2 page-building vocabulary — grid row layouts, paragraph component types with their variants and fields, color schemes, and the MCP tools that compose them.

dw-swift-page-design Build a good-looking Swift 2 page — matching an existing page's style, from a screenshot/mockup, or by recreating a live page from its URL.

dw-swift-migrate-v1 Faithful, layout-preserving migration of pages from a Swift 1 solution into Swift 2.

dw-swift-migrate-content Extract any existing site's content and rebuild it as a standard, modern Swift 2 site.

dw-headless-delivery Build decoupled frontends using the /dwapi/ delivery API — authentication, content, ecommerce, users, navigation, forms, and query endpoints.

PIM & Commerce

dw-pim-modelling Model Dynamicweb 10 PIM data — Data Models, category fields, variant groups, and global vs category field storage.

dw-pim-completeness Configure Dynamicweb 10 product completeness — completion rules, completeness scoring, and query-driven automatic workflows.

dw-pim-workflow Configure Dynamicweb 10 PIM workflows — named states, transitions, and editorial handoffs across the product enrichment lifecycle.

dw-pim-localization Manage product translation and localization across EcomLanguages.

dw-pim-migrate-dw9 Migrate a Dynamicweb 9 solution's product structure and catalog data into a Dynamicweb 10 PIM — structure, product import, data-model assignment, and verification, in that order.

dw-commerce-catalog Render product catalogs and assortments in Dynamicweb 10.

dw-commerce-orders Handle orders, checkout, and cart functionality.

dw-commerce-b2b Implement B2B patterns — customer groups, scoped assortments, and sales workflows.

dw-commerce-cpq Build and operate a Carrot Solutions CPQ configurator — models, rules, catalogue-driven lookups, pages, and the card-as-quote model.

dw-search-indexing Build and configure Dynamicweb 10 search indexes on Lucene — index types, builders, analyzers, scoring, and product index setup.

dw-users-permissions Manage users, groups, and the Permission entity store.

Backend & Integration

dw-extend-csharp-api Use the C# API and Dynamicweb.Services for custom backend code.

dw-extend-providers Build providers, notification subscribers, and AddIns.

dw-extend-scheduled-tasks Create and manage scheduled tasks, including RunSqlScheduledTaskAddIn.

dw-extend-mcp-tools Step-by-step guide for adding new MCP tools to the Dynamicweb MCP project.

dw-extend-admin-ui Extend the administration interface from your own assembly — list/edit/overview screens, areas and tree nodes, injectors into screens you do not own.

dw-integration-framework Understand Dynamicweb 10 Integration Framework architecture and patterns.

dw-integration-erp Configure ERP connectors and data ownership.

dw-integration-fo-discovery Discover the data model a Dynamics 365 Finance & Operations (or AX 2009/2012) environment actually runs on, from outside, before integration mapping.

dw-integration-fo Build the Dynamics 365 Finance & Operations integration end to end on the Integration Framework: S2S endpoints, the F&O entity map, OData-to-staging activities, stage-2 SQL views into products, groups, customers, prices and stock, the sales order export, and status and invoices back, with a verification ladder. Ships a generator for the staging DDL and the OData job files, so the whole integration can be built before the credential exists. Run after dw-integration-fo-discovery.

dw-integration-bc Live "PIM for Business Central connector" demos — expose the local DW host publicly via ngrok so a real BC tenant can call the connector's /admin/api/BC* surface.

dw-data-access Choose appropriate data-access patterns and optimize caching.

dw-data-write-effects Prove a write landed (success is not proof — round-trip it) and know which mutations owe a follow-up rebuild: product index, assortments, price recalculation, country cache.

dw-data-audit-trail Investigate why something changed, who changed a record, when a value was set, or inspect version/history for any Dynamicweb 10 entity.

dw-source-explorer Browse Dynamicweb source code on GitHub to understand internal APIs, classes, and extension points.

dw-source-doc-lookup Consult the live Dynamicweb documentation as the source of truth before answering how a feature works, is configured, or fits together.

Demos (Presales)

dw-demo-base Foundation skill for all demos. Scaffolds the dw10-suite host (pinning Dynamicweb.Suite to the Distribution's gate-proven platform version when the scaffold validates Distribution content), wires the Backend MCP and two-layer localhost TLS bypass, installs Playwright MCP, and drops the customisations and customer-context guardrails. Use this first. Also owns the orchestrator abstraction (references/orchestrator.md) — how a build is driven, GSD primary or the native /demo:* command set. Hosted/cloud installs (building on one, publishing a local demo onto one) route to dw-demo-hosted. Owns the branded-demo path choice (references/branded-demo-paths.md): YAML brand layer first (the measured default), deserialize-then-tools, or tools only, with the conditions under which the tool path is right. Owns the visual-QA design gate (references/visual-qa.md) — the mechanical definition-of-done (overflow, section-gap, image-band-height, PLP row-content detectors) plus a human taste sign-off, armed from the first gate run. The product-query verb surface lives in dw-search-indexing — query-authoring.md (which read verb is authoritative, the restart-free query-cache flush, QueryMove/QueryCopy order of operations) and query-expressions.md (expression Path semantics, operator reality, sorting, result paging, and the three ways a build verb answers 200 and builds nothing).

dw-demo-pim PIM modelling from a blank DB — product data built from scratch via MCP. Use after dw-demo-base.

dw-demo-swift Swift frontend — baseline deserialize, the zero-state pass (references/re-skin.md §"Step 0") that retires the shipped baseline's own copy, defaultValue placeholders and skeleton bands before any brand work, catalogue imagery from a customer print-catalogue PDF (references/asset-organisation.md), feature-pack install, templates, paragraph types, Visual Editor, the customer-center playbook (incl. the Swift 2.4 sign-in profiles / switch-user recipe and the checkout order-field recipe), and the mobile pass (references/mobile-pass.md) — canvas-fit debugging (body.scrollWidth), the Swift 2.4 trap catalogue, and the theme-default ≥1.2.0 "verify first" caveat. Use after dw-demo-base.

dw-demo-headless Headless delivery demo — Frontend API setup, a decoupled frontend against the DW content/commerce APIs. Routes endpoint detail to dw-headless-delivery. Use after dw-demo-base.

dw-demo-erp ERP integration demo — DB-staged mock or live BC, Integration Framework rules. Use after dw-demo-base.

dw-demo-fo A live Dynamics 365 Finance and Operations demo: one legal entity per customer demo in a shared sandbox, seeded from a golden company's configuration package, shaped from the customer's data model, every DW job pinned to its dataAreaId, and retired as dormant rather than deleted. Ships PowerShell for the company create, the copy watch, the measured copy-gap repair and the per-company verification. OData-only. Use after dw-demo-base.

dw-demo-hosted Hosted/cloud installs reached only by URL + Admin API key — building a demo directly on one (references/online-mode.md) and publishing a locally-built demo onto one (references/publish-to-hosted.md). No scaffold, no SQL; verify by round-trip, not status code. Use after dw-demo-base.

dw-demo-foldback Fold a demo-build learning back into this repo as a sanitized, atomic PR — route it foundational-vs-demo, strip customer specifics, validate, bump the version, open the PR (references/fold-back-workflow.md). Maintainer flow. Use after dw-demo-base.

Skill dependencies

The presales demo chain has a hard order. dw-demo-base must run first — it scaffolds the host, wires MCP + the TLS bypass, and captures the demo's versions + downloads its artifacts per-demo. The sister demo skills (dw-demo-pim, dw-demo-swift, dw-demo-headless, dw-demo-hosted, dw-demo-erp, dw-demo-fo, dw-demo-foldback, and the dw-integration-bc connector demo) are Use AFTER and inherit that setup; they no-op or break if run standalone.

The demo skills hold domain knowledge and carry no build sequencing — that is owned by a swappable orchestrator: GSD (primary; its pipeline injects the skills into fresh-context agents via the agent_skills block) or the native /demo:* command set (scaffolded into the demo project, it detects GSD and defers unless run --standalone). With neither present, the floor is a lightweight in-skill harness — each skill guards its own canonical flow (ordering + a gate per step + a resumable .demo/<slug>/flow-state.json artifact) so a fully standalone run is still not run blind. All three read the same SKILL.md files. The abstraction — running modes, detection/deference, the agent_skills keystone, the strictness gradient, and shared acceptance criteria — lives in dw-demo-base/references/orchestrator.md.

Manifest

manifest.json (repo root) is a generated index of the Dynamo-visible skills — name, type (knowledge or flow), group, mcp (see below), a one-sentence description, and the path to its SKILL.md. The Dynamicweb MCP server ("Dynamo") fetches this single file to auto-discover skills; Claude Code does not use it (it loads skills via marketplace.json, and still sees every skill).

Every skill declares its Dynamo visibility in frontmatter — dynamo: true puts it in the manifest, dynamo: false leaves it out entirely. The flag is visibility, never exclusivity: a dynamo: true skill is usable in Dynamo, its content is held to what an MCP client can execute, and it runs anywhere an MCP client runs: Claude Code, Dynamo, any other agent. No skill is Dynamo-only, and no skill tells a client to stop because it is not Dynamo. Dynamo runs inside a Dynamicweb install with MCP tools and read/write access under Files/; it has no shell, SQL, git, browser, or csproj. A skill whose steps need one of those (the demo chain, local install/upgrade, ngrok, MCP tool authoring, source browsing) is dynamo: false, because offering it to an in-product admin is noise they cannot act on. The axis is orthogonal to mcp: — a demo scaffold is mcp: required yet dynamo: false, and dw-render-razor is mcp: none yet dynamo: true.

Every skill declares its MCP dependence in frontmatter — mcp: required (the skill's steps are Dynamicweb MCP tool calls and it carries an ## MCP preflight section), mcp: optional (the knowledge stands alone and a ## Without MCP section states the fallback), or mcp: none (pure platform knowledge / offline flows). Harnesses without a live Dynamicweb MCP connection can filter out required skills using this field.

It is generated from each skill's frontmatter — never edit it by hand:

node scripts/build-manifest.mjs          # rewrite manifest.json
node scripts/build-manifest.mjs --check  # CI: fail if it is stale

The description shown by Dynamo is the first sentence of each skill's description, so keep that first sentence a tight, intent-bearing summary with no mid-sentence periods. CI (.github/workflows/manifest-check.yml) fails on drift.

Validation

scripts/validate-skills.py (Python 3, no dependencies) lints the repo structure — marketplace schema and integrity, folder/name/path agreement, relative-link resolution, absence of UTF-8 BOMs, and the description convention. Run python3 scripts/validate-skills.py before committing. See CLAUDE.md for the optional SessionStart hook that runs it automatically.

You can also validate against Claude Code's own schema:

claude plugin validate ./

Installation

Add this repo as a plugin marketplace, then install the bundle for your role:

claude plugin marketplace add dynamicweb/skills
claude plugin install dynamicweb-presales@dynamicweb-skills

Install any of the six bundles by name: dynamicweb-setup, dynamicweb-frontend, dynamicweb-commerce, dynamicweb-backend, dynamicweb-developer, dynamicweb-presales.

Requirements

These skills delegate execution to the Dynamicweb 10 MCP server. The MCP server must be connected before using any skill.

Skills may ship scripts under skills/*/scripts/. PowerShell scripts require PowerShell 7+ (winget install --id Microsoft.PowerShell) and start with #Requires -Version 7.0; any other runtime a skill needs is declared in that skill's compatibility: frontmatter. The script contract is in .claude/skills/dw-skill-authoring/SKILL.md ("Shipping scripts").

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages