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-claude-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 |
|---|---|
| automap | After understanding project structure, use automap to execute builds |
| reverb2 | After building Reverb output, use reverb2 skill to test and customize |
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
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 XSLFormatTraitInfoStrings.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 joshuarweaver/cascade-code-devops-misc-1 --plugin quadralay-webworks-claude-skillsParse Scrivener .scriv bundles, query DuckDB exports, extract RTF manuscript text and synopses, handle cross-platform migrations.
Converts markdown to DOCX, PPTX, XLSX, and PDF office documents for exportable deliverables, with format recommendations by workflow (empathize, advise, synthesize).