Agent skill
trace-skill-provenance
Investigate where a Hermes skill came from, when it was created, and whether it was builtin, promoted/imported, or locally created via skill_manage.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/trace-skill-provenance
SKILL.md
Trace Skill Provenance
Use this when a user asks questions like:
- “这个 skill 是哪来的?”
- “是不是 builtin?”
- “什么时候创建的?为什么我没印象?”
- “这是导入的、提升的,还是你自己后来建的?”
Goal
Determine, with evidence:
- whether a skill is
builtinorlocal - its on-disk path
- approximate creation time
- whether it came from promotion/import (
imported-codex/ manifest) or was created later viaskill_manage - the session that created or modified it, if available
Procedure
1. Confirm how Hermes classifies it
Run:
hermes skills list | grep -n '<skill-name>'
Interpretation:
builtin | builtin=> official built-in skilllocal | local=> local skill in the runtime environment
Do not rely on memory alone.
2. Find the actual filesystem path
Check likely skill roots directly:
~/.hermes/skills~/.codex/skills(older/shared runtime copies may still exist)
Example shell approach:
for d in ~/.hermes/skills ~/.codex/skills; do
[ -d "$d" ] || continue
find "$d" -type d -name '<skill-name>'
done
If needed, inspect SKILL.md under the found path.
3. Get file timestamps
For the skill directory and SKILL.md, inspect:
- birth time (
st_birthtimeon macOS when available) - mtime
- ctime
Example Python snippet:
from pathlib import Path
from datetime import datetime
p = Path('~/.hermes/skills/<category>/<skill-name>/SKILL.md').expanduser()
st = p.stat()
print(datetime.fromtimestamp(getattr(st, 'st_birthtime', st.st_ctime)))
print(datetime.fromtimestamp(st.st_mtime))
print(datetime.fromtimestamp(st.st_ctime))
Use this only as approximate creation evidence; later edits can change mtime/ctime.
4. Check promotion/import manifests
Look for promotion manifests such as:
~/.hermes/skill-promotions/<timestamp>/promotion-manifest.json
Read them and see whether the skill appears in entries.
Interpretation:
- Present in manifest => likely promoted from
imported-codexor another source - Absent from manifest => likely not part of that promotion batch
Important: verify against the specific manifest timestamp instead of assuming all local skills came from promotion.
5. Search session history for creation evidence
Search Hermes session files and/or use session search for:
- the skill name
skill_manageaction":"create"action":"patch"
Useful targets:
~/.hermes/sessions/*.jsonsession_search(query='"<skill-name>"')
High-signal evidence is a session snippet containing:
skill_manageaction: createname: <skill-name>
If found, report:
- session id
- session start time
- exact lines or file reference
6. Distinguish creation modes clearly
Use the evidence to classify one of these outcomes:
- Built-in: listed as builtin; no local creation needed
- Promoted/imported: appears in promotion manifest and local path matches promoted category
- Locally created later: not in manifest, but session logs show
skill_manage(action='create', ...) - Locally patched later: original source may differ, but session logs show subsequent
patch/edit
Recommended evidence order in final answer
- classification from
hermes skills list - on-disk path
- file timestamp
- promotion-manifest result
- session-log evidence of
skill_manage
This makes the conclusion auditable and easy to trust.
Pitfalls
hermes skills inspect <name>may fail even whenskill_view(name)works; do not stop there.- Searching only
~/.hermes/skillscan miss older copies in~/.codex/skills. - mtime alone is not “creation time”; prefer birth time when available and corroborate with session logs.
- A skill can be
localwithout being imported; do not equatelocalwithpromoted. - Promotion manifests prove inclusion in a batch, but absence there does not by itself prove manual creation; verify with session evidence.
Done criteria
You should be able to answer, with citations/evidence:
- what kind of skill it is (
builtinvslocal) - where it lives
- when it was likely created
- whether it was promoted/imported or created by a later agent action
- why the user may not remember it (for example, an agent auto-saved it after a complex task)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?