Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ayeshakhalid192007-dev/graph-engineering-crash-course --skill merge-aliasesgit clone --depth 1 https://github.com/ayeshakhalid192007-dev/graph-engineering-crash-courseWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/merge-aliases)<a href="https://agentmods.dev/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/merge-aliases"><img src="https://agentmods.dev/badge/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/merge-aliases/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/merge-aliases"><img src="https://agentmods.dev/badge/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/merge-aliases.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01135 |
| Opus 5.5 | $0.00015 | $0.00454 |
| Sonnet 5.5 | $0.00007 | $0.00227 |
| Haiku 4.5 | $0.00004 | $0.00113 |
Grade A, and why
merge-aliases scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
merge-aliases
Takes two or more surface names pulled from different source documents and decides whether they name the same underlying system. When they do, it produces one canonical entity, but every surface string that fed into that decision stays in the output as its own retrievable record — nothing gets overwritten or thrown away to make room for the canonical name.
Instructions
You are a Claude Code skill implementing the alias-merge-with-trail
pattern. A merge is a claim, and a claim needs standing evidence — not a
resemblance between two strings. Follow these steps in order:
- Read the schema first. Open
schema.example.jsonand note the two shapes it defines: aServiceentity with acanonical_nameand amerge_reason, and an alias record whosementionsarray holds one entry per surface string, each carrying its ownsourceand aretrievableflag. Treat this shape as fixed for the run. - Read the source material. Default to
sample-input.mdin this kit unless the user names a different file or pair of files. Pull out every surface string used for a system, along with which source section it came from and any timestamp or reference number attached to it. - Group candidate surface strings into pairs (or larger clusters) that might name the same system. For each candidate group, look for a concrete, checkable link between the sources involved — a shared timestamp window, an explicit cross-reference from one document to the other, a shared ticket or deployment identifier. A pair that shares nothing but a plausible-sounding name is not a candidate for merging; set it aside.
- For a group with real evidence: create one canonical
Serviceentity, write the concrete evidence intomerge_reasonin plain language (name the shared timestamp or cross-reference, don't just say "these seem related"), and add onementionsentry per original surface string — each with its ownsourceandretrievable: true. Do not delete, rename, or collapse the original surface strings into the canonical one; they stay as separate entries pointing at it. - For a group with no real evidence (including the decoy pair in
sample-input.md): do not merge. Report the pair by name and state plainly why it was left alone — e.g., no shared timestamp, no cross-reference between the two mentions. - Write the result to
output.json(or the path the user requested) in this kit's root, followingschema.example.json'sentitiesandaliasesshape. Print the same structure alongside a short list of any groups you considered and chose not to merge, with the reason for each. - Confirm reversibility before finishing: for every canonical entity you produced, check that a lookup keyed on each of its original surface strings independently — not just a lookup on the canonical name — would still return that entity and both of its mentions. State this check explicitly in your output rather than assuming it.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 101 lines · 37 tokens per session scan A e1e9b068b87e
merge-aliases is a skill published in the GitHub repository ayeshakhalid192007-dev/graph-engineering-crash-course (5 stars, last pushed 2mo ago), licensed MIT. It adds 37 tokens to every session and 1,135 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
animate
Build a web animation: whether it should animate at all, the purpose, the tool, the properties, the easing curve, the duration, interruption and exit. Writes the CSS or Motion code for dropdowns, modals, toasts, tooltips, accordions, press feedback, stagger and scroll reveals. Use to animate something or make a…
implement
Use when an approved plan and task list exist and it is time to turn them into working, tested code — the SDD phase after analyze and before verify. Enforces TDD: a failing test comes before the code that makes it pass, one task at a time, appended to a progress ledger that survives compaction. Delegates test tooling…
presentations
Use when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or editable PPTX (Marp, Slidev, python-pptx). NOT the words (that is marketing), NOT the visual tokens (that is design), NOT the investor story…
review
Use when a green diff needs adversarial judgment in the rsc SDD chain, between verify and ship — give a review keyed to the spec/plan/constitution in 02-DOCS/wiki/sdd/, or receive one and verify each comment before agreeing. NOT running lint/type/tests (that is verify), NOT the spec-less standalone pass (that is…
author-skill
Use when authoring a NEW rsc skill or editing an existing one — scoping it to one job, writing the description that decides whether it ever loads, splitting the body into references/, writing its evals, auditing it against the rubric. NOT building a product feature (that is specify) and NOT designing an agent loop…
building-agents
Use when building or restructuring an LLM agent — provider adapter, tool calling, structured output, RAG, agent loop, eval gate, cost routing, tracing, MCP server — model-agnostic across OpenAI/Anthropic/Gemini/OSS so a model swap is a config change. NOT vector-store SQL alone (that is postgresdb) or service…