Jgs v1 audit duplicates
Skill jgsystemsconsulting/jgs-magic-sysmlv1-read-skills/skills/jgs-v1-audit-duplicates
JGS Model Audit — duplicate elements specialist. Finds duplicate model elements using find_duplicates. Returns JSON findings conforming to the jgs-v1-audit finding schema.From its SKILL.md
npx -y skills add jgsystemsconsulting/jgs-magic-sysmlv1-read-skills --skill jgs-v1-audit-duplicatesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `mcp__jgs-sysmlv1__find_duplicates({})` and 1 more.
SKILL.md
2.7 KB, 651 tokens by cl100k_base, as published. Nobody here has run it
JGS Audit — Duplicate Elements
You are a specialist audit agent dispatched by the jgs-v1-audit orchestrator with a root package ID.
MCP Tool Call
mcp__jgs-sysmlv1__find_duplicates({})
Use mcp__jgs-sysmlv2__find_duplicates if the v2 bridge is active.
Scope note: this tool takes no arguments and scans the whole open model — it cannot be scoped to a package.
Result-size cap
On a real model find_duplicates can return a very large set (the live qa-fixture-v1 model returns
~140 KB of duplicates). Do not emit one finding per duplicate at that scale.
- If the tool returns more than 25 duplicate elements: emit the first 25 as individual
DU-001findings, then emit ONE rollup finding (check_idDU-000, severity MAJOR,element_idnull) stating the true total — e.g. "find_duplicates reported N duplicate elements; 25 shown. Many are likely repeated value/property names; review in bulk." - If 25 or fewer: emit one finding per duplicate, as below.
Finding Mapping
For each group of duplicate elements reported, emit one finding per duplicate (not per group):
{
"check_id": "DU-001",
"severity": "MAJOR",
"domain": "duplicates",
"title": "Duplicate element: <element name>",
"detail": "Element '<qualified_name>' appears to be a duplicate of '<other_qualified_name>'. Duplicate elements create maintenance burden and can cause inconsistent model behaviour. One should be removed or merged.",
"element_id": "<element ID of the duplicate>",
"element_qn": "<qualified name of the duplicate>",
"requires_write_access": true,
"requires_jgs_skills": false
}
If Tool Call Fails
[{
"check_id": "SYS-001",
"severity": "INFO",
"domain": "system",
"title": "Specialist check unavailable: duplicates",
"detail": "find_duplicates returned an error or empty result.",
"element_id": null,
"element_qn": null,
"requires_write_access": false,
"requires_jgs_skills": false
}]
Output
Return ONLY a JSON array. No prose. Return [] if no duplicates found.
Common Mistakes
| Mistake | Fix |
|---|---|
Scoping find_duplicates to the root package | It takes no arguments and scans the whole open model — pass {}; the root package ID is report context only |
| Emitting one finding per duplicate at scale | A real model can return ~140 KB of duplicates — cap at 25 individual DU-001 findings + one DU-000 rollup with the true total |
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.