Skip to main content
Glama

curator_run

Destructive

Archive stale agent-created skills with tier-aware lifecycle rules: report planned changes in dry-run mode or apply moves while preserving pinned and validated skills.

Instructions

Move stale agent-created skills to archive.

Lifecycle: active → stale when last activity > stale_after_days stale → archived when last activity > archive_after_days (also moves primary directory to .archive/ and removes its mirrors, so a sync cannot revive it)

Activity is the last use, foreground view or creation. Patches do not count: autonomous loops patch skills routinely, which is maintenance, not proof that anyone relies on the skill. A skill must spend the gap between the two windows in 'stale' before it is archived, and renewed activity moves a stale skill back to 'active'. Every new curator pass runs this with dry_run=False.

Tier-aware adjustments (the discrete trust signal trumps raw activity): • tier='validated' skills are NEVER stale-aged or archived — proven load-bearing knowledge stays alive regardless of recency. • tier='hypothesis' skills age faster — half the stale_after window (default 15d instead of 30d). Unproven skills don't get to linger. • tier='observed' uses the standard windows.

Covers every learning-loop origin (CURATABLE_SKILL_ORIGINS). NEVER touches: • foreground (user-authored) skills — provenance check • pinned skills — opt-out flag • validated tier — proven externally • skills with no created_by_origin set (unknown provenance — be safe)

dry_run=True (default) reports what would change without writing. Set False to apply.

Input Schema

NameRequiredDescriptionDefault
dry_runNo
stale_after_daysNo
archive_after_daysNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.2

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds the concrete blast radius beyond that: the primary directory moves to .archive/ and its mirrors are removed so a sync cannot revive it. It also discloses non-obvious policy (patches don't count as activity, the stale-in-between-window requirement, renewal re-activates) and the tier-based overrides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then a scannable lifecycle block and bulleted exclusions; the tier section is genuinely load-bearing rather than filler. Minor redundancy between the closing dry_run explanation and the earlier 'every new curator pass runs this with dry_run=False' line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values needn't be explained, and everything an agent needs to call this safely is covered: semantics of all three parameters, the exclusion set, tier overrides, and the destructive side effects. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the burden and mostly does: dry_run is explained (default true reports only, False applies writes), and both window parameters appear verbatim in the lifecycle with their semantics relative to last activity plus the tier='hypothesis' halving to 15d. It omits constraints such as the relationship required between stale_after_days and archive_after_days, which is why it falls short of a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Move stale agent-created skills to archive') and immediately scopes it to stale, agent-created skills, which cleanly separates it from siblings like curator_restore, skill_manage, forget and candidate_review_run. The lifecycle diagram makes the state transition being performed unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use framing (every new curator pass runs it with dry_run=False), explicit exclusions (foreground/user-authored, pinned, validated tier, missing created_by_origin), and the alternative-mode relationship between dry_run=True and False. An agent knows both when to call it and when it will no-op.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools