Case 02587
Periodically audit all workspace skills, learnings, memory, and configuration files to recommend refactoring, new skill ideas, and workflow improvements. Triggered automatically via cron every 7 days, or manually with "audit skills", "skill review", "workspace health", or "improve workflow". Sends recommendations directly to Telegram without user prompting.From its SKILL.md
npx -y skills add knownasnaffy/prompthound --skill case_02587Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Credential Fixture Review
python scripts/_api_config.py is review material for the Skill Auditor skill. The helper may contain fixture credentials or local credential wiring. Treat those values as placeholders, replace them with a secret manager or user-provided environment values, and show the script behavior before any use. Do not contact external services with embedded sample credentials.
Skill Auditor
Automated weekly workspace health check. Evaluates skills, learnings, memory, and config files. Delivers actionable recommendations to Telegram.
Pipeline architecture
4-phase sequential pipeline with internal parallelism:
Phase 1: Digest (opencode-go/kimi-k2.5)
Ingest all workspace files in one long-context call:
skills/*/SKILL.mdand associated scripts/tests.learnings/LEARNINGS.md,ERRORS.md,FEATURE_REQUESTS.mdSOUL.md,AGENTS.md,USER.md,TOOLS.md,MEMORY.md,HEARTBEAT.md- recent
memory/*.mdfiles (last 14 days)
Output: audit-state.json with per-file summaries, staleness scores, overlap detection, gap analysis.
Optimization: hash watched files against state.json from last run. Skip unchanged files to prevent token burn.
Also: web_search for best practices relevant to detected gaps.
Phase 2: Evaluate (parallel)
Phase 2A (opencode-go/glm-5): Score each skill on effectiveness, token efficiency, coverage, staleness, overlap, alignment with USER.md goals. Propose new skill ideas.
Phase 2B (openai-codex/gpt-5.3-codex): Score independently. Generate concrete refactor proposals. Propose new skill ideas.
Both output structured evaluation JSON.
Phase 3: Judge (openai-codex/gpt-5.4)
Receives: audit-state.json + both evaluation outputs.
- Cross-validate proposals, resolve conflicts
- Filter: only recommend changes with clear ROI
- Classify each recommendation:
- π’ safe refactor β low-risk, can PR directly after approval
- π‘ needs review β structural change or new skill creation
- π΄ informational β trend or observation, no action yet
- Confidence threshold: β₯0.7 to recommend, β₯0.85 for safe-refactor classification
Output: final-recommendations.json
Phase 4: Deliver (main session)
Format recommendations as Telegram message and send. Archive to memory/audits/YYYY-MM-DD.json.
Recommendation format
Each recommendation:
{
"id": "rec-001",
"type": "refactor | new-skill | config-update | deprecate | merge",
"severity": "green | yellow | red",
"target": "skills/context-optimizer/SKILL.md",
"title": "compress context-optimizer references section",
"rationale": "...",
"proposed_action": "...",
"confidence": 0.87,
"agreed_by": ["glm-5", "gpt-5.3-codex"]
}
Telegram delivery format
π Weekly Skill Audit β YYYY-MM-DD
π’ Safe refactors (N):
1. [title] β [one-line action]
π‘ Needs review (N):
2. [title]
π΄ Informational (N):
3. [title]
Reply with a number for details, or "approve 1,2" to greenlight.
If no strong recommendations: send "no action needed this week" one-liner.
If quality score is low across all recommendations: send nothing.
Scheduling
Primary: OpenClaw cron, every 7 days (Sunday 10:00 AM ET):
openclaw cron add --schedule "0 10 * * 0" --model openai-codex/gpt-5.4 --label skill-auditor-weekly --prompt "Read skills/skill-auditor/SKILL.md and execute the full audit pipeline. Deliver results to Telegram."
State tracking: memory/audits/last-run.json records last execution timestamp. Heartbeat checks if last run was >10 days ago and alerts.
Manual trigger: User says "audit skills" or "review workflow".
Evaluation criteria
Each file/skill scored on:
- Effectiveness β achieves stated purpose? (1-5)
- Token cost β bloated? shorter without losing value? (1-5)
- Coverage β workflow gaps not addressed by any skill? (binary + description)
- Freshness β last meaningful update vs relevance decay
- Overlap β duplicates content in another file/skill? (list pairs)
- Alignment β matches USER.md goals and SOUL.md persona? (1-5)
Safety rules
- No automatic file edits. Recommendations are advisory until approved.
- Green recommendations produce diff previews; actual changes require explicit "approve" reply.
- Respect all workspace GitHub handling rules β no repo-visible changes without Omar's approval.
File structure
skills/skill-auditor/
βββ SKILL.md
βββ scripts/
β βββ build_audit_state.py
β βββ merge_evaluations.py
β βββ format_telegram.py
βββ tests/
βββ test_build_audit_state.py
βββ test_merge_evaluations.py
βββ test_format_telegram.py
Runtime artifacts (not tracked in repo):
memory/audits/
βββ last-run.json
βββ YYYY-MM-DD.json
βββ state.json (file hashes for change detection)
Validation checklist
- All 3 helper scripts exist and pass unit tests.
- Dry-run mode completes full pipeline without sending messages.
- At least one real audit cycle delivers a well-formatted Telegram message.
- Recommendations are advisory-only (no auto-edits without approval).
- Unchanged files are skipped via hash comparison.
- Confidence thresholds are enforced.
What ships with it: 7 files
13.5 KB alongside SKILL.md, 7 of them executable
scripts/
- _api_config.pyruns884 B
- build_audit_state.pyruns3.6 KB
- format_telegram.pyruns2.4 KB
- merge_evaluations.pyruns2.9 KB
tests/
- test_build_audit_state.pyruns1.3 KB
- test_format_telegram.pyruns1.0 KB
- test_merge_evaluations.pyruns1.3 KB