archi-mcp-modeling

Archi MCP Modeling Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "archi-mcp-modeling" with this command: npx skills add thomasrohde/archi-server/thomasrohde-archi-server-archi-mcp-modeling

Archi MCP Modeling Skill

Model ArchiMate content through the Archi MCP server with task-routed reference loading, explicit tool selection, and safe async mutation handling.

When to Activate

User intent This skill applies

Create or update ArchiMate elements/relationships Yes

Build an architecture view from requirements or patterns Yes

Map strategy → capabilities → applications → technology Yes

Model microservices, integration, cloud, or migration roadmaps Yes

Audit model quality (orphans, duplicates, wrong relationships) Yes

General Archi server admin (health, shutdown, config) Partially — use tool catalog only

Prerequisites

  • Archi model is open in Archi 5.7+ with jArchi 1.11+.

  • Archi API server is running (archi_get_health returns healthy).

  • At least one view is open in the Archi editor (required for undo support).

Task Routing — What to Load

Always start by reading reference/01-task-routing.md . It routes you to the minimum set of reference files needed for the current task. Do not load all references upfront — load only what the task requires.

Reference file When to load

reference/01-task-routing.md

Always first — determines what else to read

reference/10-mcp-tool-catalog.md

Before calling any MCP tool

reference/20-modeling-playbook.md

Before choosing element types, relationship types, or naming

reference/30-operation-recipes.md

For multi-step mutations, view assembly, or large batches

reference/40-quality-gates.md

Before declaring completion

Execution Contract

These rules are non-negotiable for every task:

  • Read before write. Always search/query existing model content before creating anything.

  • Prefer upsert for idempotent workflows. When a workflow may be re-invoked, use createOrGetElement /createOrGetRelationship with onDuplicate: reuse instead of search-then-create. Add idempotencyKey for full replay safety.

  • Async awareness. Every archi_apply_model_changes call returns an operationId . Call archi_wait_for_operation before any dependent operation (layout, validate, export, next batch).

  • archi_populate_view is also async. Wait for its operationId before layout or validation.

  • tempId discipline. Assign a tempId to every created element/relationship. Use resolved IDs from wait results for subsequent operations.

  • Visual vs concept IDs. addConnectionToView requires visual object IDs (from addToView results), never concept IDs.

  • Batch size. Keep mutation batches at ≤8 operations (the MCP layer auto-chunks larger batches but smaller is safer for relationship-heavy work).

  • Parameter correctness. Use width /height (not w /h ) for moveViewObject . Use content (not text ) for createNote .

  • No viewpoint guessing. When creating views, omit the viewpoint parameter unless you know the exact supported key. Plain labels like "Application Usage" cause validation errors.

  • Confirm destructive ops. Never delete elements, relationships, or views without explicit user intent.

  • Ambiguity = ask. Treat unclear requirements as blocking. Ask clarifying questions rather than guessing architecture intent.

  • Relationship upsert limits. createOrGetRelationship only supports onDuplicate: error or reuse — rename is invalid for relationships.

Outcome Standard

A task is complete when:

  • All created elements use semantically correct ArchiMate types

  • Relationships have correct directionality and specificity (no lazy associations)

  • Model diagnostics show no orphans or ghosts from the current session

  • Views pass archi_validate_view with no blocking violations

  • A clear summary states what changed and any unresolved uncertainties

  • Model is saved only when explicitly requested

Continuous Improvement

This skill is a living document. When you discover something new while using it — a gotcha, a corrected assumption, a better pattern, a tool behavior not documented here — update the relevant reference file immediately rather than just working around it.

Examples of things worth capturing:

  • A tool parameter that behaves differently than documented (e.g., accepted values, error conditions)

  • A relationship direction or element type choice that was wrong and had to be corrected

  • A new recipe or workflow pattern that solved a problem not covered by existing recipes

  • An API behavior change (new fields, deprecated options, changed defaults)

  • A viewpoint key that is confirmed to work (or confirmed to fail)

How to update:

  • Identify the most relevant reference file for the learning.

  • Add the new information in the appropriate section, following the existing format.

  • If the learning contradicts existing content, replace the incorrect guidance — do not leave conflicting advice.

  • Keep additions concise and actionable. Prefer tables and rules over prose.

External References

  • ArchiMate best practices and patterns

  • JArchi → ArchiMate type mapping

  • Allowed relationship matrix

  • Archi API OpenAPI spec

  • Project-level runtime instructions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

archimate model quality

No summary provided by upstream source.

Repository SourceNeeds Review
General

drawio diagram creation

No summary provided by upstream source.

Repository SourceNeeds Review
General

archimate relationships

No summary provided by upstream source.

Repository SourceNeeds Review
General

archimate architecture patterns

No summary provided by upstream source.

Repository SourceNeeds Review