AUTHORITATIVE REFERENCE for WebWorks AutoMap CLI. Use when working with .waj/.wep/.wrp/.wxsp files, executing builds, detecting installation, creating job files, or automating CI/CD publishing workflows.
/plugin marketplace add quadralay/webworks-claude-skills/plugin install webworks-claude-skills@webworks-claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/cli-reference.mdreferences/cli-vs-administrator.mdreferences/installation-detection.mdreferences/job-file-guide.mdscripts/automap-wrapper.shscripts/create-job.pyscripts/detect-installation.shscripts/lib/__init__.pyscripts/lib/constants.pyscripts/lib/logging.pyscripts/lib/validators.pyscripts/lib/xml_utils.pyscripts/list-job-targets.pyscripts/parse-job.pyscripts/parse-stationery.pyscripts/requirements.txtscripts/validate-job.pytests/sample.wajtests/sample.wxspBuild automation for WebWorks ePublisher using AutoMap command-line interface. Execute builds, detect installations, and automate publishing workflows. </objective>
<overview>AutoMap is the command-line build tool for ePublisher. It processes source documents and generates output without requiring the GUI application.
Job files inherit format configuration from Stationery projects (.wxsp), enabling:
For job file details, see: references/job-file-guide.md </overview>
<usage>Always use the wrapper script to execute builds. The wrapper:
AUTOMAP_PATHDo NOT use detect-installation.sh to find the CLI path and call it directly. The wrapper is the execution interface.
</usage>
<related_skills>
| Skill | Relationship |
|---|---|
| epublisher | Use first to understand project structure and target names |
| reverb | Use after building Reverb output to test and customize |
</related_skills>
<quick_start>
# Build single target (safe defaults: clean, no-deploy, skip-reports)
./scripts/automap-wrapper.sh -t "WebWorks Reverb 2.0" project.wep
# CI/CD: Build all targets explicitly
./scripts/automap-wrapper.sh --all-targets project.wep
# Production: Deploy with reports
./scripts/automap-wrapper.sh --deploy --with-reports -t "Target" project.wep
The wrapper automatically detects the AutoMap installation and applies safe defaults.
The wrapper now applies these options by default:
| Default | Opt-Out Flag | Description |
|---|---|---|
-c (clean) | --no-clean | Clean build for consistency |
-n (no deploy) | --deploy | Prevent accidental overwrites |
--skip-reports | --with-reports | Faster builds (2025.1+) |
When no target is specified:
-t, --target=, or --all-targetsTo cache the installation path for multiple consecutive builds:
export AUTOMAP_PATH=$(./scripts/detect-installation.sh)
To check if AutoMap is installed and where:
./scripts/detect-installation.sh --verbose
</quick_start>
<job_files>
Job files (.waj) are lean automation files that reference a Stationery project for format configuration.
To create a job file from scratch:
The skill will guide you through:
# Parse Stationery to see available formats and settings
python scripts/parse-stationery.py stationery.wxsp
# Create job file interactively
python scripts/create-job.py --stationery stationery.wxsp
# Create job from config file
python scripts/create-job.py --config config.json --output job.waj
# Generate a config template from Stationery
python scripts/create-job.py --template --stationery stationery.wxsp > template.json
# Parse job file to view configuration
python scripts/parse-job.py job.waj
# Export to editable config format
python scripts/parse-job.py --config job.waj > job-config.json
# Validate job file before building
python scripts/validate-job.py job.waj
# Validate with full checks
python scripts/validate-job.py --check-documents --check-stationery job.waj
# List targets with build status
python scripts/list-job-targets.py job.waj
# Show only enabled targets
python scripts/list-job-targets.py --enabled job.waj
Job files reference Stationery via <Project path="..."/>:
<cli_reference>
./scripts/automap-wrapper.sh [options] <project-file> [-t <target-name>]
| Option | Description |
|---|---|
-t <name> | Build single target |
--target=<name1>,<name2> | Build multiple specific targets |
--all-targets | Build all targets (bypasses interactive selection) |
| Option | Default | Opt-Out | Description |
|---|---|---|---|
-c, --clean | Enabled | --no-clean | Clean build |
-n, --nodeploy | Enabled | --deploy | Skip deployment |
--skip-reports | Enabled | --with-reports | Skip report pipelines (2025.1+) |
-l, --cleandeploy | Disabled | - | Clean deployment location |
| Option | Description |
|---|---|
--verbose | Show all build output (default: minimal) |
--deployfolder PATH | Override deployment destination |
For complete CLI reference with examples, see: references/cli-reference.md </cli_reference>
<scripts>| Script | Purpose |
|---|---|
detect-installation.sh | Find AutoMap installation |
automap-wrapper.sh | Execute builds with error handling |
parse-stationery.py | Extract formats/settings from Stationery |
create-job.py | Create job files interactively or from config |
parse-job.py | Parse existing job files |
validate-job.py | Validate job files before building |
list-job-targets.py | List targets with build status |
./detect-installation.sh
./automap-wrapper.sh [options] <project-or-job-file> [-t <target-name>]
Supports both project files (.wep) and job files (.waj). For multiple targets use --target="Name1", "Name2".
</scripts>
cli-reference.md - Complete CLI options and syntaxcli-vs-administrator.md - When to use CLI vs GUIinstallation-detection.md - Installation paths and detection logicjob-file-guide.md - Job file structure and Stationery inheritance
</references>
Install required packages before using job file scripts:
pip install -r scripts/requirements.txt
Or install directly:
pip install defusedxml
</requirements>
<exit_codes>
| Code | Meaning |
|---|---|
| 0 | Build successful |
| 1 | Build failed |
| 2 | Invalid arguments / user cancelled |
| 3 | AutoMap not installed |
| 4 | Project file not found |
| </exit_codes> |
<common_workflows>
#!/bin/bash
# Build all targets (safe defaults applied automatically)
if ./scripts/automap-wrapper.sh --all-targets project.wep; then
echo "Build successful"
# Deploy output...
else
echo "Build failed"
exit 1
fi
# Cache installation path for efficiency
export AUTOMAP_PATH=$(./scripts/detect-installation.sh)
for project in projects/*.wep; do
# --all-targets required in non-interactive (CI) mode
./scripts/automap-wrapper.sh --all-targets "$project" || echo "Failed: $project"
done
# No target specified - prompts for selection if multiple targets exist
./scripts/automap-wrapper.sh project.wep
# Incremental build (skip clean)
./scripts/automap-wrapper.sh --no-clean -t "WebWorks Reverb 2.0" project.wep
</common_workflows>
<troubleshooting>Cause: AutoMap not installed or not in expected location.
Solutions:
HKLM\SOFTWARE\WebWorks\ePublisher AutoMapC:\Program Files\WebWorks\ePublisher\[version]\--verbose flag for detailed detection outputCause: ePublisher build encountered errors.
Solutions:
-c (clean) flagCause: Specified target name doesn't exist in project.
Solutions:
parse-targets.sh to list available targets<Format> elementsStationery not found
Error: Stationery file not found: ..\stationery\main.wxsp
<Project path="..."/> in job filepython validate-job.py job.wajInvalid target format
Error: Format "Unknown Format" not found in Stationery
format attribute must match format name in Stationerypython parse-stationery.py stationery.wxsp to list available formatsDocument path errors
Warning: Document not found: Source\missing.md
python validate-job.py --check-documents job.waj<success_criteria>
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.