com um clique
hermes-skill-lifecycle
Use when managing user-local Hermes skill lifecycle.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Use when managing user-local Hermes skill lifecycle.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
| name | hermes-skill-lifecycle |
| description | Use when managing user-local Hermes skill lifecycle. |
| version | 1.2.12 |
| author | Kiren Srinivasan |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["skills","lifecycle","prune","curator","skill-manage","residuals"],"related_skills":["hermes-agent-skill-authoring","plan","meaning-preserving-rewrite"],"created_by":"agent","created_with_hermes_commit":"b27d8b6ac8c8eed4c995d1b92790d476eb6e7149","compatibility_reviewed_with_hermes_commit":"5988fe6cd5547d3620df1de889ac6007f5463b4d"}} |
Own the runtime skill library under ~/.hermes/skills/ (and paired workspace active surfaces). In-repo authoring conventions stay in hermes-agent-skill-authoring (bundled). Hermes product config stays in hermes-agent (bundled). This skill covers lifecycle operations agents actually perform with skill_manage / Curator: create only when justified, absorb into umbrellas, and hard-prune without leaving active breadcrumbs.
absorbed_into)skill_manage delete/create/patch, ensure catalogs, telemetry, reports, and cron stay consistentDon't use for: in-repo skills/ package authoring (use hermes-agent-skill-authoring); general Hermes install/config (use hermes-agent); session chronology recall (use session_search).
A user-created skill is local, absent from .bundled_manifest and .hub/lock.json, and not loaded through skills.external_dirs. A curator-managed skill is narrower: current Hermes marks only background-review creations with created_by: agent. Background curation must not mutate manual or foreground-created skills.
Run this gate whenever a user-created skill is invoked:
metadata.hermes or .usage.json, then resolve installed Hermes HEAD.HEAD. Recover missing creation provenance from exact session or reflog evidence, never timestamps; otherwise record unknown.HEAD, even after a no-op body review. unknown creation provenance requires a full review at each new commit.Record both fields at creation. Use .usage.json only when frontmatter would breach a Markdown limit. The creation commit is immutable; the reviewed commit is a compatibility cache.
PD-003: references/commit-drift-review.md owns commands, path lists, the comparison matrix, and sidecar fields. Load it when creation provenance is missing or the reviewed commit differs from installed HEAD. This section owns the universal trigger and stamp rule and links to that detail.
Prefer, in order: no change → patch governing skill → patch umbrella → one support file + pointer → new class-level skill only if no merge target.
Create only when: no owner can absorb; procedure is recurring, non-trivial, environment-stable; path was verified; trigger is distinct; reuse beats maintenance. Never skill one-off narratives, unrelated SHAs, or "tool X is broken." Creation and review commit metadata are provenance, not task history.
For user-created and user-edited skills under ~/.hermes/skills/, set author: Kiren Srinivasan. Leave unmodified bundled or hub skill authors alone. Bulk author or description passes: references/bulk-metadata-normalization.md.
Platform validator still allows description ≤ 1024 chars and full SKILL.md ≤ 100,000 chars. Authored policy is stricter:
Use when .... Name one exact trigger class only. Exclude unrelated tasks so the skill is not loaded by mistake.---: < 200 physical lines (count blanks). Keep the body non-empty.references/, templates/, or scripts/ and keep a short pointer in SKILL.md.import pathlib, yaml
content = pathlib.Path("SKILL.md").read_text()
assert content.startswith("---\n")
frontmatter, body = content[4:].split("\n---\n", 1)
fm = yaml.safe_load(frontmatter)
assert len(str(fm["description"])) < 60
assert body.strip() and len(body.splitlines()) < 200
assert len(content) <= 100_000
Do not rewrite platform-limit docs as if the validator itself rejected at 60/200. Keep those as authoring rules.
| Intent | Call | Do |
|---|---|---|
| Merge into existing umbrella | skill_manage(action='delete', name=NAME, absorbed_into='UMBRELLA') | Put durable content in UMBRELLA first; then delete. Target must exist. |
| Permanent prune, no successor | skill_manage(action='delete', name=NAME, absorbed_into='') | Hard delete. No archive, curator backup, forwarding skill, or tombstone. Empty-string absorbed_into makes prune intent explicit. |
Pinned skills: pin blocks curator auto-delete; user-directed prune may require unpin first. Do not invent a stub skill as an absorb target.
~/.hermes vs other profile — never cross-profile without explicit direction), cron skills attachments, active references.skill_manage(action='delete', name=NAME, absorbed_into='').~/.hermes/skills/<category>/<name>/ is gone; remove empty category directory if it only held that skill.~/.hermes/skills/.usage.json if present.~/.hermes/.skills_prompt_snapshot.json (or current skills prompt snapshot) of name/description entries.~/hermes-profiles/<profile>/ and profile home for skill name, title variants, and unique reference basenames. Edit active reports/baselines (e.g. .hermes/reports/**); keep hash/manifest siblings consistent when a report is content-hashed.hermes skills list, hermes curator status, skills_list, and skill_view(name=...) must not resolve it..hermes/plans/ that only existed to drive this prune (after success), so the plan is not an active mention.Detailed search matrix and verifier sketch: references/skill-prune-residuals.md.
absorbed_into='' (or real umbrella if absorb)skill_view + curator do not list/resolve itabsorbed_into on delete — set '' for prune or the real umbrella name for merge so Curator and dependents get correct intent..usage.json, and prompt snapshots can keep the name alive for later agents.final-validation.json (or similar), update content and hash together.write_file can refuse /private/var/folders/.... For size/hash gates after skill edits, create a hermes-verify- temp script via execute_code or terminal, run it, then delete it. Keep platform limits intact while asserting authored 60/200 bounds.~/.hermes/scripts/, /tmp, or one-shot cron jobs must be removed when the gate finishes so they do not become permanent lifecycle clutter.rev-list --count can understate drift. Use path-scoped git diff --name-only CREATED CURRENT -- <governing paths> and inspect contracts, not distance alone. See references/commit-drift-review.md.compatibility_reviewed_with_hermes_commit to current HEAD. Otherwise every later invocation redoes the same inspection..usage.json sidecar fields when frontmatter would push SKILL.md over the authored limit. After writing the sidecar, re-read it and skill_view so a later skill tool write did not drop the keys.created_at and file mtime are not provenance. Use session evidence, reflog interval, or record unknown.skills.write_approval — staging config is separate from prompt-level gates. When the user or governing skill takes write_approval out of the equation, strip every mention, inspect, set, dependency, and validation claim. Don't reintroduce the flag through residual steps, evidence fields, or SOUL-adjacent checklist items.created_by unset) need a foreground session or explicit user direction. Don't treat a blocked manual-skill patch as permission to fork a near-duplicate.packet-integrity.json already proves packet identity. Don't block solely because the reviewer could not recompute SHA-256.references/skill-mutation-validation.md.installed_source_unchanged, not byte identity with the override.type(exit_code) is int (bool equals 0/1), reverse evidence.validator_id reciprocity, residual-risk orphans/duplicates, content-bound human/machine match, or producer-bound aggregates. Independent review must probe live code for those holes and add RED fixtures before any PASS. Full matrix: references/skill-mutation-validation.md."id": "PREFIX-###" for ledger size; do not use "source_file" alone. Reconcile exit-0 / exit-1 / other exit distributions against validator-tests.json. Reviewer procedure: references/skill-mutation-validation.md (Acting as the independent reviewer).read_file slices instead of PCRE lookarounds when verifying enums or absence claims.review_scope path, write independent-review.json, re-run the full fixture matrix, then set whole-change PASS. Never flip PASS while review is still pending, and never skip the post-return integrity recheck. Sequence: references/skill-mutation-validation.md (Main session after independent review returns).hermes curator backup first. Full recipe: references/bulk-metadata-normalization.md..usage.json and concurrent body/reference changes can drift. Assert the planned SKILL.md set and intended frontmatter fields only; keep concurrent body changes.equal: hashes without re-hashing live files; do not accept open disposition taxonomies or conflicting audit counts; do not treat prompt text as secret isolation under bypass + broad tools; do not treat skills-guard hits on inspection-only foreign settings paths as automatic blockers. Full checklist: references/independent-skill-package-review.md.references/frozen-distribution-package-review.md.references/frozen-distribution-package-review.md.references/frozen-distribution-package-review.md.After a non-trivial skill rewrite that adds or changes support files, schemas, or scripts, run the package in references/skill-mutation-validation.md. Use a meaning ledger when prior rules must survive. Generate pass and negative fixtures from the current schema, including fail-closed classes for schema shape, path confinement, strict integer exit codes, evidence provenance, reverse producer links, residual-risk orphans, whole-plan scope, producer-bound aggregates, content-bound human/machine match, and waivers. RED each fail-open hole before the fix. Freeze a review packet, then re-hash it after every fix. Discard delayed reviews of older packets. After a current-packet PASS, re-check freeze integrity, persist the verdict, re-run fixtures, then separate subtask and whole-change PASS. For read-only security, contradiction, and packet-quality review of a live skill, follow references/independent-skill-package-review.md. For frozen Toolbox/profile distribution trees, follow references/frozen-distribution-package-review.md.
references/skill-prune-residuals.md — prune search matrix and verifier sketchreferences/commit-drift-review.md — invocation compatibility gate: classify, diff, sidecar, stampreferences/skill-mutation-validation.md — multi-file skill rewrite closeout: ledger, RED/GREEN fixtures, fail-closed matrix, frozen packet, independent-reviewer procedure, main-session post-review PASS sequence, honest PASS labelsreferences/independent-skill-package-review.md — read-only security/contradiction/packet review: live hash re-proof, closed taxonomies, delegation security contracts, guard false positivesreferences/frozen-distribution-package-review.md — frozen distribution: identity, privacy, nested config RED, root-copy install/update, and remediation re-reviewreferences/bulk-metadata-normalization.md — classify local vs edited-bundled vs hub; bulk author/description fix; curator backup; scoped snapshot verifyUse when ... and names only the exact trigger classauthor: Kiren Srinivasanskills.write_approval coupling when the governing skill or user removed that flag from the equationUse when diagnosing Hermes state.db WAL advisories.
Use when tuning Honcho for a Hermes profile.
Use when managing crit reviews programmatically.
Use when reviewing code, plans, or live pages with crit.
Use when writing code or Markdown anywhere.
Use when preparing input for a standing Hermes goal.
Baseado na classificação ocupacional SOC