analytics-repo-pruning
Flag archived or inactive repos in PatternFly Analytics repos.json for removal. Use when auditing tracked codebases or pruning stale entries from analytics.
Best use case
analytics-repo-pruning is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Flag archived or inactive repos in PatternFly Analytics repos.json for removal. Use when auditing tracked codebases or pruning stale entries from analytics.
Teams using analytics-repo-pruning should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/analytics-repo-pruning/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How analytics-repo-pruning Compares
| Feature / Agent | analytics-repo-pruning | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Flag archived or inactive repos in PatternFly Analytics repos.json for removal. Use when auditing tracked codebases or pruning stale entries from analytics.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Analytics repo pruning Keep PatternFly Analytics from tracking **archived** repositories and repos with **no meaningful code activity** past a configurable threshold (default **730 days**). ## Plugin placement This skill lives under **pf-workshop** as **cross-repo / analytics inventory** work (repository health and maintenance). ## Input - **File:** `repos.json` (project root or path the user supplies). Expect a top-level `repos` array; each entry has `git` (clone URL) and `name` (display label). ## Outcomes For every row, assign one bucket: | Bucket | Meaning | |--------|---------| | **archived** | Host marks the project archived / read-only | | **stale** | Last code activity is before the cutoff | | **could not verify** | Auth failure, network, or unsupported host—**not** the same as stale | | **active** | Neither archived nor stale | Use the host’s best signal for **real code activity** (e.g. last push to the default branch), not noisy metadata-only updates. Field names and API notes: [reference.md](reference.md). ## How to work 1. Read `repos.json` and collect all `git` URLs with their `name`. 2. For each URL, determine host (**GitHub**, **GitLab** including private instances, or other). 3. Query the host using **whatever authenticated access the user’s environment already provides** (host CLI, REST with tokens, etc.). Prefer a deterministic per-repo lookup; if one path fails, try another before giving up. 4. Do **not** treat auth or network failures as “stale”—bucket those as **could not verify** with a short reason. 5. Produce the report below. **Do not** remove or edit `repos.json` entries unless the user explicitly asks. ## Edge cases - **404 / moved / renamed:** Flag for manual verification; do not assume delete. - **Forks and mirrors:** Same rules; stale mirrors may still be poor analytics targets. - **Unknown hosts:** **could not verify** with explanation—not stale. ## Optional script For a repeatable local run, execute the bundled **Bash** script `scripts/analytics-repo-pruning.sh` next to this skill. Requires `jq` and either `gh` or `curl` (typically pre-installed). Pass the path to `repos.json`; optional `--days <n>` and `--json`. Does not modify `repos.json`. ## Report format Use markdown with: 1. **Threshold** (days) and **run date** 2. **Archived** — table: name, git, notes 3. **Stale** — table: name, git, last activity (and which field was used) 4. **Could not verify** — table: name, git, reason 5. **Active** — brief count or one-line summary **Good output:** Clear buckets, honest “unknown,” timestamps tied to named fields, no silent edits to the JSON file. **Bad output:** Calling repos stale because API calls failed, or pruning the list without explicit user consent. ## Additional resources - [reference.md](reference.md) — host APIs, fields, encoding, and CLI patterns
Related Skills
quarterly-initiative-report
Generate quarterly Jira status reports with RAG assessment, blocker tracking, and next-quarter recommendations. Use when preparing quarterly initiative reviews or tracking epic progress.
pf-unit-test-generator
Generate a unit test file for a React component using Testing Library. Use when adding test coverage to new or existing components.
pf-prototype-mode
Enable prototype mode for React apps with grayscale styling and a banner overlay. Use when demoing early concepts, presenting wireframes, or preventing stakeholders from fixating on visual polish.
pf-project-scaffolder
Scaffolds PatternFly React projects with PF6-safe dependencies, imports, and starter layout. Use when creating a new PatternFly app or bootstrapping a migration sandbox.
pf-import-checker
Audit and fix invalid PatternFly import paths across packages. Use when imports fail, modules are unresolved, or after upgrading PatternFly versions.
pf-component-structure
Audit PatternFly React component nesting, wrapper hierarchies, and layout structure. Use when scanning for hierarchy violations or debugging spacing caused by missing wrapper components.
write-example-description
Write and refine example descriptions for PatternFly.org component and demo pages. Use when authoring or updating the prose in PatternFly example markdown files.
summarize-jira-issues
Summarize your current sprint workload from Jira — assigned issues, contributor roles, and priorities. Use when checking what's left in the sprint or deciding what to work on next.
semantic-release-troubleshooting
Diagnose and fix semantic-release issues when a specific version is not being released. Use when semantic-release skips a version, fails to release, or when troubleshooting after git push --force, squashed commits, permission errors, or reference already exists.
pf-tokens
Build CSS design tokens for PatternFly core and copy them to the PatternFly repository. Use when regenerating tokens after design changes or during release preparation.
pf-org-version-update
Update patternfly-org for a new PatternFly release — resolve versions, update package.json and versions.json, and provide build steps. Use when cutting a PF release or release candidate.
pf-create-issue
Create well-structured GitHub issues for PatternFly repositories with templates, follow-up tracking, and duplicate detection. Use when filing bugs, feature requests, or cross-repo follow-ups.