# Skill Lineage: Hermes Agent plugin

> Records where each skill version's content came from, so a skill that rewrites itself can be audited afterwards.

Canonical: https://hermeswatcher.com/plugins/skill-lineage  
Tier: Community  
Official page (Nous Research): https://hermes-agent.nousresearch.com/docs/plugins/skill-lineage  
Last updated in catalog: 2026-10-24

Records where each skill version's content came from, so a skill that rewrites itself can be audited afterwards. For every skill write — a foreground skill_manage call, a background-review edit, or a curator consolidation — it stores the skill content fingerprint before and after, the sources present earlier in the same session (the text the user typed, tool results such as a fetched page or a file, and skills that were read), how each source is linked to the added lines — strong (at least three shared 8-word shingles), anchor (a shared operative token: a URL or host, a shell command with its first argument, a package install, a file path, an environment variable, an IP or e-mail address, that is not common across sources), or context (seen in the session, nothing measurable shared; recorded, not followed by default) — and a seq -> prev_hash -> hash chain over the entries. Text is never stored: hashes are keyed per install and the key stays in plugin-data/skill-lineage. `hermes skill-lineage trace <skill>` shows where the newest version came from, `descendants <url|skill>` lists every skill a source produced, `report` lists versions carrying operative lines of no traceable origin, `verify` re-walks the chain, and `head` prints a value to record elsewhere so a later `verify --head` can tell truncation from an intact chain; a key reset is recorded in the chain and shown in `status` rather than happening silently. The plugin does not stop a write and does not judge a skill: it records and it verifies, and it does not claim a source caused an edit. Prior work on memory lineage (MemLineage, arXiv:2605.14421) is acknowledged in the README. Measured on 2026-10-22 against Hermes 3166d61: Python 3.14 62 passed; Python 3.11 54 passed, 1 skipped; `hermes plugins validate` reports no warning other than one known false positive (a test template that quotes a "curl | sh" instruction as data and never runs it). Evaluation (generated scenarios and 120 real-model runs) in the README; raw output in eval/. A manual end-to-end run in an isolated HERMES_HOME (one real session creating a skill through skill_manage, then status/trace/descendants/report/verify/head) passed, raw output in tests/smoke-2026-10-21.txt.

## Good to know before installing

Four read-only hooks (on_session_start, pre_llm_call, pre_tool_call, post_tool_call); reads tool results, user messages and skill files (in this profile, every other profile's skills folder, the project's .hermes/skills and the skills.external_dirs it reads from config.yaml) to compute keyed hashes; keeps hashes (no text) for 7 days per session and the lineage chain (hashes and skill names) under plugin-data/skill-lineage; no network, no credentials, never blocks or changes a tool call.

From the plugin's catalog listing.

## How to install

1. Install it. Hermes asks for any API keys it needs, then asks whether to turn it on.

```bash
hermes plugins install skill-lineage
```

2. Said no? Turn it on later:

```bash
hermes plugins enable skill-lineage
```

3. Restart Hermes so it loads the plugin.

Some plugins also need a sign-in or settings: see the official page. Memory plugins ask whether to become your memory provider instead. Steps follow the official plugins guide: https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins

## Facts

- Category: Coding & developer tools
- Maintained by: simin-yuan (Community)
- Needs: No API keys declared
- Requires Hermes: `>=0.21.5`
- Version: 0.1.8
- In the catalog since: 2026-10-24

## Links

- [Full setup and settings (official page)](https://hermes-agent.nousresearch.com/docs/plugins/skill-lineage)
- [Source code](https://github.com/simin-yuan/hermes-skill-lineage#readme)
- [All plugins](https://hermeswatcher.com/plugins.md)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
