Write a report of what an ElastiCORE DSL change means for the business - what is stored, who may do what, the lifecycle, derived values, the API - and what needs a decision, from the diff of the model under src/main/resources/blueprint/<domain>.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Is that skill safe to install?
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
Are you the author of Change Report?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/xsko-change-report)
---
name: change-report
description: Write a report of what an ElastiCORE DSL change means for the business - what is stored, who may do what, the lifecycle, derived values, the API - and what needs a decision, from the diff of the model under src/main/resources/blueprint/<domain>.
disable-model-invocation: true
argument-hint: "[git range - default: changes not yet committed]"
---
# Change report
1. Get the DSL change - the YAML in the domain folders, `src/main/resources/blueprint/<domain>/`.
With a range: `git diff $ARGUMENTS -- src/main/resources/blueprint`. Without one:
`git diff HEAD -- src/main/resources/blueprint` (staged and unstaged), plus the new YAML files
that `git status --porcelain -- src/main/resources/blueprint` lists as untracked. Leave out the
files directly in the blueprint folder: `schema.yml`, `semantic_model.yml`, `context-map.md` and
the `elasticore-*.md` guides are written by the generator. Then the developer-owned files that
changed in the same range - files with a line near the top starting
`// Initially generated by ElastiCORE;`, and hand-written ones.
2. Check which generator the build runs (from ElastiCORE 3.0.261028-rc3 the 3.0 rule engine unless
`elasticore { output = 'v2' }`; before it, an `elasticore { }` block setting `architecture`,
`language` or `rules` means the rule engine). On the 2.x generator, `@access`, `@owner`, `@password`,
`@login`, `states:`, `@compute` and `@snapshot` are not generated at all: report them as such,
never as working rules.
3. For each construct the diff adds or removes, look up what it means in the project's guides
(`src/main/resources/blueprint/elasticore-*.md`) rather than guessing.
4. Write the report with the template and the decision table in
`${CLAUDE_PLUGIN_ROOT}/skills/elasticore/references/change-report.md`. Business words first; a
reviewer must be able to approve it without reading Java. Use the user's language.
5. If generation has not been run since the change, say so under "Checked" rather than inventing a
result.