feat: skill refresh workflow — re-research, diff, propagate, re-provenance #9
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Skills built from research docs can go stale when upstream sources change. Today there is no structured way to detect drift or propagate upstream changes through the chain. This issue tracks the workflow and the staleness signal needed to support it.
Background
The provenance chain runs: research → plugin-level docs → skill. Concretely:
/researchfetches upstream sources (e.g. agentskills.io) and writes topic files +sources.mdto a plugin-level output directory/skill-authorreads those docs, writes the skill, and records provenance inreferences/sources.md+source_keysfrontmatterWhen the upstream source changes (e.g. the agentskills.io spec is updated), the plugin-level docs become stale, and the skill content derived from them drifts from reality.
Two gaps to resolve
1. No staleness signal
references/sources.mdrecords what sources were used but not when. Git log can infer it, but there is no explicit timestamp in the provenance file. Without a staleness signal, there is no way to know whether a skill's sources are current without manually checking each upstream URL.Options to consider:
Researched:date field to each entry insources.md(populated when/researchruns)researched_at:frontmatter field tosources.md2. No orchestration workflow
The refresh process today requires manually chaining four slash commands with a judgment call in the middle:
/researchat the same output path (overwrites topic files andsources.mdin place)git diffthe research output to identify what changed/skill-author(improving existing skill) — agent updates skill contentreferences/sources.mdcontributing files andsource_keysif sources changed/skill-auditto validateA
/refresh-skillor/upgrade-skillworkflow skill would chain these steps. The diff between old and new research output is the key signal — it maps changed doc sections to which skill instructions need updating.Non-goals
/researchoutputPrerequisite
Issue #4 (skill-author provenance) must be merged first — this workflow depends on the
references/sources.mdconvention being in place.Note on sequencing
Resolve the staleness signal design before building the workflow — a refresh workflow without a staleness signal re-researches everything on every run, which is wasteful and makes it hard to scope what actually needs updating.
Automated note from the PR #135 review follow-up. This issue's own conclusion, state and labels are untouched — this comment only records a renamed step, so the issue stays actionable.
The provenance-refresh chain has a renamed step
The
/skill-auditstep in the chain described here is now/factory-audit:skill-auditwas merged intofactory-audit(ADR-0025, commit620f20b). Running the chain as written will fail at that step.Nothing else in this issue was re-validated.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01NwD8Egs5r4ndqeFLmhusX2