AUTHORITATIVE REFERENCE for WebWorks ePublisher projects. Use when working with .wep/.wrp/.wxsp project files, understanding project structure, file resolver hierarchy, target configurations, or source document groups.
How this skill is triggered — by the user, by Claude, or both
Slash command
/webworks-agent-skills:epublisherThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
references/FormatTraitInfoStrings.resxreferences/file-resolver-guide.mdreferences/format-traits-guide.mdreferences/product-foundations.mdreferences/project-parsing-guide.mdreferences/publish-pipeline-guide.mdreferences/user-interaction-patterns.mdreferences/version-compatibility.mdreferences/wif-guide.mdscripts/copy-customization.pyscripts/manage-sources.shscripts/parse-targets.pyscripts/resolve-version-root.pytemplates/project.wepCore knowledge about WebWorks ePublisher projects, file structure, and conventions. This skill provides foundational understanding without automation or format-specific details.
Do not use training data for ePublisher. This is proprietary software — training data is likely absent or inaccurate. Use only this skill's references and vendor documentation (static.webworks.com). Key constraints: Windows-only platform, XSLT 1.0 only (never XSLT 2.0), internal names in project/format files differ from UI display names.
WebWorks ePublisher transforms source documents (Word, FrameMaker, DITA, Markdown) into multiple output formats (Reverb, PDF, CHM, etc.) using a project-based workflow.
User intent disambiguation: Before creating or modifying project elements, consult references/user-interaction-patterns.md to distinguish queries from creation requests. When in doubt, treat as a query first.
<related_skills>
This skill provides foundational knowledge used by other skills in this plugin:
| Skill | When to Use |
|---|---|
| markdown-integration | When source documents are Markdown++; covers variable resolution, style mapping to Stationery, and per-target conditions |
| automap | After understanding project structure, use automap to execute builds |
| reverb2 | After building Reverb output, use reverb2 skill to test and customize |
External:
quadralay/markdown-plus-plus) — Markdown++ format syntax, validation, and authoring best practices. Install separately when working with Markdown++ source documents.Typical workflow:
</related_skills>
<key_concepts>
An ePublisher project (.wep file) contains:
ePublisher resolves files through a 4-level hierarchy (highest to lowest priority):
[Project]/Targets/[TargetName]/[Project]/Formats/[FormatName]/[Project]/Formats/[FormatName].base/C:\Program Files\WebWorks\ePublisher\[version]\Formats\For complete details, see: references/file-resolver-guide.md
A Stationery (.wxsp) is a standalone, distributable project that bundles its format configuration and <format>.base snapshots, so its transforms resolve from those bundled snapshots. AutoMap jobs (.waj) traditionally reference a .wxsp and stage a fresh project from it on each build.
A Designer .wep carries no <format>.base snapshots, so its transforms resolve from the Designer installation (resolver level 4) instead. Because of that, AutoMap can use a .wep directly as a stationery via useAsStationery="True" on the job's <Project> element (ePublisher 2026.1+), skipping the manual "Save As Stationery" step. (Express .wrp projects, by contrast, do carry their own .base snapshots — see references/file-resolver-guide.md.) The synchronization engine is extension-agnostic: it can stage and synchronize against a .wxsp, .wep, or .wrp origin.
For job-file usage of useAsStationery, see the automap skill's references/job-file-guide.md.
The .wep file is XML containing target definitions:
<Format Name="WebWorks Reverb 2.0"
TargetID="abc123"
TargetName="Help Output">
<OutputDirectory>Output\Help</OutputDirectory>
<FormatConfiguration>
<FormatSetting Name="toolbar-generate" Value="true"/>
<FormatSetting Name="header-generate" Value="false"/>
</FormatConfiguration>
</Format>
Documents are organized into groups within projects:
<Group Name="User Guide" GroupID="grp123">
<Document Name="chapter1.docx" DocumentID="doc456"/>
<Document Name="chapter2.docx" DocumentID="doc789"/>
</Group>
Each output format has a format.wwfmt file that defines the complete publish pipeline — a dependency graph of XSL transform stages that convert WIF to final output. This is the starting point for diagnosing any format or output issue.
For complete details, see: references/publish-pipeline-guide.md </key_concepts>
Extract target information from a project file:
python scripts/parse-targets.py <project-file>
Returns JSON with target names, IDs, formats, and output directories.
List and manage source document groups:
bash scripts/manage-sources.sh <project-file> [list|add|remove]
Copy installation files to project with structure validation:
python scripts/copy-customization.py --source <install-file> --destination <project-file>
Validates parallel folder structure and creates directories as needed.
Resolve ePublisher VersionRoot for installation lookups:
python scripts/resolve-version-root.py [--project-file <project.wep>] [--version <2024.1>]
Returns JSON with versionRoot path, component directories, and availability flags.
file-resolver-guide.md - Complete file resolution hierarchyformat-traits-guide.md - Trait types, reading/writing in project files, accessing in XSL, global vs per-target scope, Golden Test recipe, Diffable HTML Output recipeFormatTraitInfoStrings.resx - Complete UI display name to internal name mapping (English)product-foundations.md - Cross-cutting product knowledge (architecture, platform constraints, debugging)project-parsing-guide.md - Detailed project file structurepublish-pipeline-guide.md - Pipeline architecture (format.wwfmt), stage execution, files.info tracking, data flowuser-interaction-patterns.md - Disambiguating user intent (query vs. creation)version-compatibility.md - Supported versions and breaking changeswif-guide.md - WIF intermediate format, data directory structure, debugging with intermediate files
<common_tasks>
python scripts/parse-targets.py /path/to/project.wep
Check the file resolver hierarchy:
[Project]/Formats/[FormatName]/[Project]/Formats/[FormatName].base/bash scripts/manage-sources.sh /path/to/project.wep list
</common_tasks>
<common_mistakes>
For platform-level gotchas (.wez files, XSLT 1.0 constraint, UI name mapping), see references/product-foundations.md.
</common_mistakes>
Cause: Project file doesn't contain <Format> elements.
Solutions:
Cause: Path is incorrect or file doesn't exist.
Solutions:
C:\projects\my-proj\my-proj.wep)Cause: File is not a recognized ePublisher project type.
Solutions:
<success_criteria>
npx claudepluginhub quadralay/webworks-agent-skills --plugin webworks-agent-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.