agentleFS
dithiothreitoldithiothreitol/ea-skills/skills/ea-import/SKILL.md

ea-import

Skill3 starsChanged 3 months agoMITView on GitHub

Import an existing architecture model (ArchiMate Open Exchange XML from Archi, LeanIX, Bizzdesign or any conforming tool) into model/staging/ for brownfield adoption. Use when a repository does not start empty - when asked to "migrate our model", "import from Archi", or bring an existing landscape under this discipline.

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run easkills validate --root <repo> --zone staging.

    line 43
  2. Very specific:

    views.yaml: when the elements it shows are approved.

    line 61
  3. Distinctive:

    Leave the rest in staging as the visible backlog.

    line 63
  4. Very specific:

    Do not chase a clean import of a dirty model: If the export names two systems identically, the import suffixes the second (crm-suite-2) and …

    line 71

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Brownfield import: an existing model, brought under the rules

easkills import --root <repo> --file <export>.xml

Reads an Open Group ArchiMate Model Exchange file and writes proposals into model/staging/, in the shape this repository authors models: elements per ArchiMate layer (application.yaml, business.yaml, …), relationships in relations.yaml, views in views.yaml. From Archi: File → Export → Model To Open Exchange File. Most commercial tools export the same format.

What the import does on its own

  • Everything lands in staging. Promotion is still the only write path into approved/, and still runs the gate. An import never overwrites an existing file.
  • Everything arrives as a claim, not evidence. Concepts are marked assumed: true with an import rationale; a provenance property from a previous export is kept as information, never trusted as verification. Evidence is built after import, through ea-intake and the fact register.
  • Owner and review metadata are lifted from exported properties (owner, lastReviewed, appliesTo, standards) back into DSL fields — with appliesTo references renamed together with the elements they bind.
  • Geometry is discarded (layout is computed at render time), junctions are mapped to the one Junction concept, identifiers become readable slugs derived from names (--ids identifiers keeps the export's own), and every rename, skip and mapping is in the report. Nothing is dropped silently.
  • The import never judges the model. A relationship the previous tool allowed and the 3.2 matrix forbids is imported as-is and left for validate to report — that finding is the migration surfacing what the old tool never checked.

Your job after the import

Run easkills validate --root <repo> --zone staging. The findings are not noise — they are the adoption backlog, already itemised:

FindingMeaningWork
GOV001/GOV002 warningsNo owner / no review dateAssign owners before promoting; promotion turns these into errors
PROV006 infoEverything is assumedEvidence what matters via ea-intake; drop what nobody defends
REL001 errorsThe old tool allowed what the matrix forbidsFix the relationship type — this is real modelling debt made visible
STD001/STD002 errorsStandards claims with no SIB, or retired onesMigrate the standards base too (ea-standards-base), or drop the claim

Promote in slices, not wholesale. A 400-element import promoted in one move signs off 400 unreviewed claims. The file split is what makes slicing possible, and it dictates the order:

  1. One element file at a time, as its owners vouch for it. An element file has no outbound references, so it promotes on its own.
  2. relations.yaml last, once both endpoints of its relationships are approved — relationships cross layers, so promoting them early just dangles (REF001).
  3. views.yaml when the elements it shows are approved.

Leave the rest in staging as the visible backlog. An honest architecture repository is allowed to know less than the old tool claimed.

While the model is half-promoted, ask impact questions against the proposal: easkills impact --scope <id> --zone staging. Against the approved zone alone the radius is truthfully tiny and practically misleading — most of the model is still a proposal.

Do not chase a clean import of a dirty model. If the export names two systems identically, the import suffixes the second (crm-suite-2) and moves on; deciding whether they are one system is intake work, with the people who run them.

Reporting back

State the counts, where the file landed, what was skipped or renamed (with reasons), and the validation summary of the staging zone as the adoption backlog. Recommend the first promotion slice: the elements that already have an owner and a defensible review date.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.