Add skill staleness reminder workflow - #69
Open
ams-thakkar wants to merge 2 commits into
Open
Conversation
added 2 commits
August 28, 2026 12:49
Add a scheduled GitHub Actions workflow that reminds the team to verify skills are still current. A Python script measures freshness from the last git commit touching each skills/<name>/ directory and flags any skill untouched for >= 60 days. The workflow runs on the 1st of every other month (cron "0 15 1 */2 *") plus manual dispatch. For each stale skill it opens a deduplicated skill-freshness issue and assigns a random repository maintainer (admin or maintain permission) to triage. The frontmatter author is surfaced as plain text in the body for the maintainer to route to, since in this repo that field is an internal alias, not a GitHub login, so it cannot be mentioned or assigned directly. The script renders issue title/body files so the workflow avoids fragile shell heredocs, and exits 0 so a stale skill is a reminder, not a build failure. Documented the process in CONTRIBUTING.md.
Add a dry_run workflow_dispatch input (default true) so a manual run on a branch logs what it would do without creating or commenting on issues. Scheduled runs act for real; manual runs are safe to trigger for validation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a scheduled GitHub Actions workflow that reminds the team to verify skills are still current, so skill content doesn't silently drift out of date.
How it works
.github/scripts/check_skill_staleness.py) measures freshness from the last git commit touching eachskills/<name>/directory and flags any skill untouched for>= 60 days. (Git history is a reliable signal; CHANGELOG dates in this repo are inconsistent.).github/workflows/skill-staleness-reminder.yml) runs on the 1st of every other month (cron: "0 15 1 */2 *") plus manual dispatch.skill-freshnessissue (reused across runs; a commit to the skill dir resets the clock) and assigns a random repository maintainer (admin or maintain permission) to triage.Why assign a maintainer instead of the author
The
SKILL.mdfrontmatterauthorfield is an internal alias, not a GitHub login (e.g.hokang→ GitHub userhoward-m-k;redshift-support-specialistlistsaws-samples).@-mentioning or assigning it would silently notify no one or the wrong account. So the workflow assigns a maintainer to triage and surfaces the listed author as plain text in the issue body for the maintainer to route to.Type of change
Testing
Verified locally:
eks-operation-review(82d) andenrich-with-aws-security-agent(74d) at the 60-day threshold; author parsing handles single and comma-separated values.@-mention, author as plain text, clean markdown).random.choice, noshufdependency).Not yet verified at runtime (and how to close the gap):
gh api/gh issue create --assigneecalls, cron trigger). Scheduled triggers only fire from the default branch, so this can't be exercised pre-merge viaschedule.dry_runinput (defaulttrue) was added: a manualworkflow_dispatchon this branch logs what it would do (detected skills, chosen assignee, create-vs-comment) without creating or commenting on any issues. Recommend running that dry-run before/after merge, then confirming a real run.Notes
CONTRIBUTING.md("Keeping a Skill Fresh").redshift-support-specialist's frontmatterauthorisaws-samples(org name, not a person) — out of scope here; flagging for that skill's owner.