spviz-project-model-dsl
Authors concrete SPViz project model instances in a generated model DSL, including artifacts, external markers, containments, connections, and labels.
Skill by kieler
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kieler-spviz-project-model-dsl
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spviz-project-model-dsl
What's inside
- Skill name
spviz-project-model-dsl- Description
- Authors concrete SPViz project model instances in a generated model DSL, including artifacts, external markers, containments, connections, and labels. Use when a user wants to write a project model manually or describe a target architecture for comparison, not for designing the architecture metamodel DSL.
- License
- EPL-2.0
- Instructions
- 85 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Prerequisites
An architecture metamodel (A2M) must already be defined before starting this task.
It is defined via an already-existing `.spvizmodel` file that can be built with the `spviz-build` skill or via the `spviz-dsl-modeling` skill.
## Inspect the generated language first
Ask for or infer:
- the source `.spvizmodel` or the generated A2M model project
- the generated model-DSL project and its exact file extension
- whether the model should be generated for an existing project in the current context or a target design
- the artifact instances, containment hierarchy, connections, external-element policy, and any labels the user wants represented.
Read the generated grammar before writing instances.
It is an `.xtext` file normally under the generated `<a2m-package>.model.dsl` project and is produced from the A2M.
Use this generated grammar and its validation diagnostics.
## General syntax model
A concrete model normally has an optional project name followed by artifact instances.
An instance has an artifact-type keyword, a stable name, and an optional body.
The name is also the cross-reference identifier and is used to derive the generated `ecoreId`:
```
projectName Example
information "generated on 2026-09-21"
module core {
components: [api]
dependency utilities "runtime dependency"
information "Bundle-Version: 1.2.3"
}
module utilities
component api
```
This is an illustrative shape only.
Replace `module`, `components`, `dependency`, and `component` with the lower-case keywords generated from the actual A2M.
Use `external` before an artifact instance when it is a deliberately unresolved or
an element outside the analyzed project scope:
`external module third-party`
External artifacts are still real model nodes, they are only represented fainter and can be filtered.
They are not a way to suppress an unknown relationship.
Add them only when their identity is reliable and the requested view benefits from showing the boundary.
Containments are written in the generated containment feature as a type-specific list.
Connections use the generated connection keyword and cross-reference the target instance by name.
Direct connections can have an optional label.
Context labels belong in the generated `labels` block and must reference both endpoints.
Check the grammar instead of guessing punctuation, pluralization, or label placement.
The project root and artifacts can contain textual information entries.
Repeat `information "..."` once per entry.
## Modeling rules
1. Define each instance ID exactly once.
Use stable IDs that survive file reordering and revision comparison.
Do not use line numbers or traversal positions.
2. Make every cross-reference resolve to an instance of the target A2M type.
If an external target is needed, declare it explicitly rather than leaving a dangling name.
3. Match containment direction to the A2M.
If `Product contains Module` is declared, list the module in the product's generated containment feature, not in the module unless the generated grammar says otherwise.
4. Add each connection in the direction declared by the A2M.
5. Keep artifact names stable across model revisions when an element should be recognized as the same element by the difference visualization.
6. Use labels for source facts such as dependency scopes or cardinalities, not for styling or prose that belongs in documentation.
7. Do not duplicate containment entries and connections.
8. Keep large generated models in an extractor or build pipeline.
Use this DSL for manually maintained models, deliberate target architectures, and examples.
Do not infer a missing artifact type or relationship from the desired diagram.
If the A2M lacks it, return to `spviz-dsl-modeling` and decide whether the architecture metamodel should change.
## Workflow
1. Ensure the A2M and its model DSL have been generated without `--no-model-dsl`, or obtain the matching generated model-DSL project.
2. Read the generated grammar and identify the root rule and all artifact rules.
3. If necessary, build or regenerate the generated model-DSL project with the `spviz-build` skill, so its parser and validator are current.
4. Write the model to contain every required artifact, containment, and connection of the requested project or target architecture.
5. Check every reference, ID, external marker, and label against the A2M.
6. Validate the model against the `--validate` option of the generated language server jar.
7. Ask the user to confirm that the model is complete, iterate as needed.
## Hand-off
After completing the model DSL to the user's satisfaction, hand back to the previous context.From kieler/SoftwareProjectViz, EPL-2.0.
More from kieler/SoftwareProjectViz
- 0.564score
spviz-build
kieler
Generates and builds SPViz projects and the generated project model generator with Maven.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-difference-visualization
kieler
Guides configuration and execution of a generated SPViz difference visualization for two compatible project model revisions.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-dsl-modeling
kieler
Designs or revises SPViz architecture and view context DSL models for an existing repository or a written architecture description.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-klighd-execution
kieler
Runs a built SPViz visualization model with the KLighD CLI and serves it for browser-based inspection or local documentation.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-model-generator
kieler
Completes the generated SPViz project model generator by inspecting a repository or following a user-supplied source description, extracting artifacts…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-style-customization
kieler
Customizes artifact, connection, port, and overview styling in a generated SPViz KLighD visualization.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-troubleshooting
kieler
Diagnoses failures *specific to SPViz*, regarding its DSLs, code generation, generated project models, generated language servers, and generated visualization…
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
spviz-orientation
kieler
Helps users understand SPViz, choose an installed SPViz workflow, and clarify an ambiguous goal before another SPViz skill starts work.
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
spviz-cli-tools
kieler
Provides SPViz and KLighD command-line tools for other SPViz skills without downloading a tool during each workflow.
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 2
- Open issues
- 2
- Last commit (this folder)
- Sep 22, 2026 (1 month ago)
- Last release
- Aug 4, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- EPL-2.0
- Repository
- github.com/kieler/SoftwareProjectViz
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kieler
- 0.564score
spviz-build
kieler
Generates and builds SPViz projects and the generated project model generator with Maven.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-difference-visualization
kieler
Guides configuration and execution of a generated SPViz difference visualization for two compatible project model revisions.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-dsl-modeling
kieler
Designs or revises SPViz architecture and view context DSL models for an existing repository or a written architecture description.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-klighd-execution
kieler
Runs a built SPViz visualization model with the KLighD CLI and serves it for browser-based inspection or local documentation.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-model-generator
kieler
Completes the generated SPViz project model generator by inspecting a repository or following a user-supplied source description, extracting artifacts…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
spviz-style-customization
kieler
Customizes artifact, connection, port, and overview styling in a generated SPViz KLighD visualization.
SkillBFreshness: B★ 3Claude Code +9
Cite this page
spviz-project-model-dsl skill. Agent Mart. https://agentmart.dev/skills/kieler-spviz-project-model-dsl (last updated 2026-10-24)