column-sync

Synchronizes data column changes across Java core, web DTOs, Excel exports, and frontend i18n.

5|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/A158Coke/WotbTools --skill column-sync-a158coke
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: column-sync
Source: https://github.com/A158Coke/WotbTools/tree/main/.agents/skills/column-sync
Command: npx skills add https://github.com/A158Coke/WotbTools --skill column-sync-a158coke

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding, renaming, or deleting a data column in a full-stack replay analytics project touches many layers—Java core definitions, web DTOs, Excel export headers, frontend i18n files, and tests—and missing any one layer causes silent inconsistencies or build failures. ## Core Features & Use Cases - Layered Checklist: Ordered verification steps covering Columns.java, PlayerResult.java, ReplayParser.java, Mapper.java, Excel sheet headers, and three-language locale files (zh/en/ru). - Test & Documentation Gates: Includes ParityTest.java, WebApiTest.java, Maven test runs, frontend builds, and CHANGELOG/DEVELOPER_GUIDE updates. - Sub-agent Split: Suggests dividing work into core-sync, ui-sync, and verify-sync agents for parallel cross-layer execution. - Use Case: When adding a new "assisted damage" column to battle results, follow the checklist to update the Java column definition, DTO mapping, Excel headers, all three locale JSON files, and tests without missing a layer. ## Quick Start Ask the AI to add a new data column to the replay results and follow the column-sync checklist to update every layer consistently.

Frequently Asked Questions about column-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new data column across a full-stack Java project?

Add the Column record in Columns.java with snake_case key, update PlayerResult.java and ReplayParser.java, align Mapper.java DTOs, update Excel sheet headers, add locale keys in zh/en/ru JSON files, then run ParityTest and WebApiTest to verify.

What files need updating when renaming a column key?

Renaming a column key requires updating Columns.java, Mapper.java DTO mapping, SingleBattleSheets.java and AggregateSheets.java headers, all three locale files under frontend/src/locales, useColumns.js mappings, and the documentation tables.

How do I keep frontend i18n in sync with backend columns?

Add the new column key to player_labels or agg_labels in zh.json, en.json, and ru.json simultaneously, then check useColumns.js DEFAULT_VISIBLE and helpers.js COL_GROUP_CAT for grouping adjustments.

Which tests verify column synchronization across layers?

ParityTest.java validates field existence and types, while WebApiTest.java verifies the /api/columns response. Run mvn -s settings.xml test with JDK 21, and npm run build if frontend files changed.

When should I use wotb-sync instead of column-sync?

Use column-sync for column definition changes only. If the change also involves protobuf schemas, Flyway migrations, or Keycloak configuration, run the broader wotb-sync workflow alongside it.