Install
openclaw skills install @harrylabsj/skill-maintainerMaintain a large ClawHub skill portfolio with a quality-first and AI-assisted upgrade lens. Use when the user wants to audit published skills, find high-qual...
openclaw skills install @harrylabsj/skill-maintainerUse this skill to audit and maintain a ClawHub publisher portfolio, especially when the maintainer needs to identify which skills deserve ongoing public investment.
Preserve quality first, analyze cleanup second, ask for approval third, execute last.
The default output is an evidence-backed maintenance queue. Prefer skills with real user signal, clear public utility, complete metadata, source provenance, version history, recent updates, and growth momentum. Treat cleanup as secondary and only act on it when the data quality status is ok.
Do not run public visibility changes, merge commands, delete commands, or publish updates unless the user explicitly approves the specific batch or operation.
Refresh portfolio data:
python3 scripts/update_all.py --handle <clawhub-handle>
To restart the trend history from a clean baseline while preserving old snapshots in an archive:
python3 scripts/update_all.py --handle <clawhub-handle> --baseline
Review generated artifacts:
reports/index.htmldata/processed/<handle>_skill_analysis.csvdata/processed/<handle>_summary.jsondata/processed/<handle>_low_signal_triage.csvdata/processed/<handle>_data_unavailable.csvdata/snapshots/<handle>/latest.jsondata/processed/<handle>_skill_growth.csvdata/processed/<handle>_trend_summary.jsonreports/approval_packets/<handle>_approval_board.mdreports/bulk_cleanup/<handle>_bulk_approval_board.mdreports/auto_upgrade/latest/report.mdreports/auto_upgrade/latest/agent_prompts/Explain the recommendation to the user in business terms:
Ask the user to approve one batch at a time using the exact approval phrase shown in the generated approval board.
After approval, execute only the approved commands and report the outcome.
Use scripts/auto_upgrade.py when the portfolio is too large to maintain manually. The loop selects the next high-quality skills worth reviewing, inspects local source packages, writes an evidence report, and creates one prompt per candidate for an AI maintainer. It is a candidate-plan workflow, not an automatic publish workflow.
Plan-only mode:
python3 scripts/auto_upgrade.py --handle <clawhub-handle> --limit 5
Integrated refresh plus plan:
python3 scripts/update_all.py --handle <clawhub-handle> --auto-upgrade-plan --auto-upgrade-limit 5
Fetch missing sources before planning:
python3 scripts/auto_upgrade.py --handle <clawhub-handle> --limit 5 --fetch-source
Missing source lookup order is GitHub first, local roots second, and ClawHub install/download fallback last. If GitHub or ClawHub reports a rate limit, stop instead of retrying and run the source fetch later.
Conservative deterministic edits:
python3 scripts/auto_upgrade.py --handle <clawhub-handle> --limit 5 --apply-safe
--apply-safe is intentionally narrow and must not be used in the daily cron. It only appends missing example prompts or sensitive-domain safety boundaries to local SKILL.md files when the package has no forbidden files and a small file surface. It never publishes, hides, merges, deletes, renames, or changes ownership.
For each generated prompt in reports/auto_upgrade/latest/agent_prompts/, run an AI maintainer with these gates:
Start with quality_maintenance_queue in data/processed/<handle>_summary.json and reports/action_plans/<handle>_quality_maintenance_plan.csv.
Strong quality signals include:
When a skill has quality signal, recommend concrete upgrades before any visibility cleanup: improve SKILL.md, examples, bilingual search terms, tags, changelog, source metadata, tests, and release notes.
Treat the run as partial when profile totals and processed totals diverge, many detail requests fail, many rows are unexpectedly zero-download, the report falls back to cache, or deltas are negative. In partial mode:
data_unavailabledata_unavailable skills from keep, upgrade, hide, merge, delete, monitor, bulk-cleanup, and AI maintenance candidate decisions for that dayWhen the user says bulk publishing caused an account review, start with scripts/plan_bulk_cleanup.py outputs.
The strongest bulk-risk pattern is:
Recommended default policy:
ok.Prefer hide before delete because clawhub hide is reversible with clawhub unhide <slug>.
Generated command files are intentionally commented out. Treat them as previews, not scripts to run blindly.
Safe command forms after explicit approval:
clawhub hide <slug> --yes
clawhub unhide <slug> --yes
clawhub inspect <slug> --files
clawhub publish <path>
clawhub skill rescan <slug>
Higher-risk command form:
clawhub skill merge <source-slug> <target-slug> --yes
Merge is higher risk because no obvious unmerge command is available. Review the canonical target before approving merge batches.
For skills with comments or reported issues:
clawhub inspect <slug> --files.clawhub publish <path>.clawhub skill rescan <slug>.If comment bodies are unavailable through the API or CLI, say that only comment counts are visible and ask for a browser workflow or comment export.
The dashboard is a local generated artifact:
python3 scripts/update_all.py --handle <clawhub-handle>
Open reports/index.html after refresh. It is safe to regenerate; it should not be packaged into the skill.
Each full refresh writes a timestamped snapshot under data/snapshots/<handle>/. When at least two snapshots exist, the dashboard shows the top 20 skills by new downloads and new installs since the previous snapshot. Use those growth charts to decide which skills are becoming popular and deserve priority maintenance.
Use --baseline when the account has materially changed and the next run should become the first active trend baseline. Existing active snapshots are archived under data/snapshots/<handle>/archive/ instead of deleted.
data_quality.status is partial.data_unavailable; retry collection later.