Claude Code Skills
Skills are reusable, auto-triggered workflows that Claude Code invokes when a task matches the skill's description. Each skill is a SKILL.md file with YAML frontmatter (a name and a description that doubles as the trigger) plus a Markdown body of instructions, optionally bundled with scripts, references, and assets.
Operating Protocol 2 in the platform CLAUDE.md makes skills a behavioral gate: before manually implementing a multi-step workflow, Claude checks whether an available skill matches the task and invokes it. Skills are deterministic and cheap, so they are tried first.
Two kinds of skill
The WDG skill system has two tiers with different purposes and distribution. This distinction mirrors the broader Projects vs Platform boundary.
| Platform skills | Project skill templates | |
|---|---|---|
| Location | .claude/skills/ | cli/templates/project-skills/ |
| Context | Python, Bash, Docker, CLI, infrastructure, external services | WordPress, PHP, Wikit framework, Gutenberg |
| Available to | The platform Claude instance immediately | Individual WordPress projects, once synced |
| Distribution | Present in the platform repo | Copied into projects via wdg create / wdg <project> skills sync |
| Count | 10 | 28 |
Platform skills
Platform skills live in .claude/skills/ and are immediately available when working on platform infrastructure or cross-project tooling. They typically use external-service MCP tools (Atlassian, Figma), Bash, and standard file tools.
Project skill templates
Project skill templates live in cli/templates/project-skills/. They are templates — the source of truth that gets distributed into individual projects. Each covers a WordPress/Wikit development workflow and typically uses the mcp__wdg-local__* semantic search tools and Chrome DevTools MCP. By convention, each includes a "FIRST: Search for Existing Patterns" section so the project Claude searches before implementing.
How project skills are distributed
Project skill templates are copied from cli/templates/project-skills/ into a project's repository when the project is created, and can be re-synced afterward. They land in projects/{project}/repositories/{repo}/.claude/skills/ — the CLI resolves the correct path automatically.
cli/templates/project-skills/my-skill/
↓ wdg create (new projects) OR wdg <project> skills sync (existing)
projects/{project}/repositories/{repo}/.claude/skills/my-skill/
↓ available to the project-level Claude instance⚠️ WARNING
Never manually copy skill directories into a project. Always use the CLI so the correct target path and frontmatter handling are applied.
wdg skills sync # Sync every skill to every project
wdg skills sync codesearch # Sync one skill to every project
wdg skills sync --force # Overwrite existing skills with latest templates
wdg skills sync --project=ccusa # Sync only the named project
wdg skills list # Show available skill templates
# Per-project form
wdg <project> skills sync [skill] [--force]wdg create also accepts --skip-default-skills to create a project without the default skill set.
Platform skill catalog
These 10 skills live in .claude/skills/ and serve platform-level and cross-project work.
| Skill | What it does |
|---|---|
git-timesheet | Summarizes git commit history across the whole environment (platform plus every project under projects/) for a date or range, producing one paragraph-style time-tracking note per scope per day, rendered to HTML with per-entry copy buttons. Each summary capped at 528 characters. |
jira-tickets | Tracks and manages Jira tickets in a per-project MySQL memory store — pull, update status, reassign, sync, check Client Review feedback, view workload. Jira is the source of truth; feedback classification (needs_rework, approved, awaiting_review) is stored locally. |
project-build | Builds WordPress project assets via the WDG CLI — npm/composer dependency installation and asset compilation for themes and mu-plugins. |
project-creation-existing-structure | Creates WordPress projects from existing repository structures (theme-only, full wp-content, non-standard Pantheon/WPVIP), handling mounting, hosting-platform syncs, and complex npm/composer dependencies. |
research-planner | Designs autonomous research programs from an objective — identifying metrics, scope, agents, and constraints — producing a plan the research-runner skill executes. |
research-runner | Executes autonomous research experiments from a plan: an experiment loop that proposes changes, measures, keeps or discards, and repeats, using sub-agents. Supports init, run, status, results, and abort. |
skill-creator | Guides creating and maintaining skills for the platform, covering both platform skills and project skill templates and the wdg skills sync mechanism. |
sms-update-tickets | Creates and manages monthly Jira tickets for WordPress core/plugin updates across active SMS/retainer clients; can audit which clients are missing them. |
visual-fidelity-loop | Autonomous visual comparison loop between a Figma design and a WordPress implementation using BackstopJS — screenshot, diff, fix CSS/template, repeat until the mismatch threshold is met. Supports init, run, status, approve, abort. |
wdg-blog-writing | Writes WDG Insights blog articles in WDG's brand voice for CMOs and digital leaders at nonprofits, associations, higher education, and federal agencies, including SEO optimization, pull quotes, and social assets. |
Project skill template catalog
These 28 templates live in cli/templates/project-skills/ and are distributed into projects. They cover WordPress/Wikit development workflows.
| Template | What it does |
|---|---|
advanced-query-facets | Implements faceted search, filters, and archives using Wikit Advanced Query blocks (search pages, filterable listings, directories, CPT archives, taxonomy filters), including WP_Query customization. |
block-build | Builds and visually verifies individual blocks against a Figma extraction reference using BackstopJS pixel-diff, as a binding gate between figma-extraction and pattern-build. |
browser-testing | Tests a WordPress site with automated browser tools — visual regression, performance, Core Web Vitals, JS error debugging, screenshots, accessibility, responsive testing, form validation, network monitoring. |
build-assets | Builds production CSS/JS assets for WordPress themes and plugins; works across projects with one command. |
codesearch | Codebase exploration via the MCP RAG tools (search_codebase, search_functions, etc.) as the first approach before grep/find/Glob/Read. |
custom-post-type | Creates custom post types and taxonomies using the Wikit Core PostType class, including meta fields for Gutenberg. |
database-operations | Database import, export, backup, restore, clone, and search-replace, including Pantheon/WPVIP environments, with safety protocols and backup strategies. |
debugging-wordpress | Debugs WordPress via unified wdg logs commands, WP_DEBUG, and browser console — PHP errors, JS issues, failed AJAX, database problems, plugin conflicts. |
figma-extraction | Extracts complete page structure from Figma into a self-contained directory with per-section screenshots and factual specs needed to build the page. |
figma-variable-sync | Syncs design-system variables (colors, typography, spacing, widths) from Figma to Wikit theme SCSS, preserving manual customizations. |
git-timesheet | Summarizes a project's git commit history for a date into a concise paragraph-style time-tracking note (capped at 528 characters). |
git-workflow-wdg | Manages git for WDG WordPress projects — branching, committing, pushing, PRs, and repository management via wdg repo commands, with commit conventions. |
jira-tickets | Syncs, queries, updates, and pushes Jira tickets using the project's MySQL memory database and the Atlassian API, including ticket transitions and Client Review feedback. |
page-assembly | Assembles WordPress pages from a Figma extraction spec using block mapping and the Block Workbench, verifying each section against workbench previews. |
pattern-build | Composes verified blocks into block patterns and runs BackstopJS against the pattern-level Figma reference to catch composition bugs, sitting between block-build and page-assembly. |
php-code-quality | Validates PHP with PHPCS (WordPress Coding Standards) and PHPStan static analysis, with auto-fix; targets WDG themes and mu-plugins only. |
playwright-automation | Automates browser interactions with the Playwright CLI — recording flows (codegen), screenshots, traces, CDP connections, and test-script generation. |
project-memory | Saves and recalls project context that persists across conversations — client preferences, architectural decisions, environment quirks, known issues, conventions. |
project-setup-pantheon | End-to-end autonomous setup of a WordPress project from Pantheon — metadata discovery, project creation, database sync, URL replacement, multisite config, verification, indexing. Requires authenticated terminus CLI. |
skill-creator | Creates and manages project-specific skills within a project, including auditing descriptions for routing conflicts. |
theme-customization | Customizes theme appearance, layouts, and functionality via theme.json, custom CSS, and Wikit theme features, including SCSS compilation and extension patterns. |
ticket-workflow | Ticket-based development using git worktrees for parallel multi-agent work — each ticket gets an isolated worktree so multiple sessions run without conflicts. |
visual-fidelity-loop | Final full-page pixel-diff pass against the Figma reference for an assembled page, classifying every diff against a closed enum and iterating on targeted fixes until threshold. |
wdg-cli | Executes WDG CLI commands to manage projects, Docker services, databases, repositories, and AI code indexing. |
wikit-block-development | Creates and modifies Gutenberg blocks using Wikit framework patterns and React — block.json, editor scripts, InnerBlocks, RichText, MediaUpload. |
wordpress-hooks-filters | Works with WordPress actions and filters to extend behavior, including Wikit-specific hooks like wdg/facets and wdg/advanced_query. |
wordpress-updates | Updates WordPress core, plugins, and themes across local, Pantheon, and VIP environments and generates client-ready update reports. |
wp-cli-shortcuts | Quick reference for running WP-CLI operations through the wdg tool and the Docker container — cache, plugins, themes, users, database, search-replace. |
Creating or updating skills
Use the skill-creator skill (or the skill-creator agent) to scaffold a new skill, choosing platform vs project type. Under Operating Protocol 6, when a skill produces a wrong result that traces to a specific instruction in its SKILL.md, the correction is propagated back to that source file rather than left in conversation — keeping the durable layer accurate over time.
See also
- Agents — specialized sub-agents dispatched via the Task tool
- Projects vs Platform — the scoping boundary skills follow
- MCP Server — the search tools project skills rely on