Case 00364
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_00364Assembled 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.5 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Test Suite
This skill includes a comprehensive test suite. Test fixtures use mock credentials that are NOT real secrets:
# All tokens in tests/ are fake placeholders:
MOCK_API_KEY = 'sk-test-1234567890abcdef1234567890abcdef'
MOCK_AWS_KEY = 'AKIAIOSFODNN7EXAMPLE'
See tests/conftest.py for the full mock configuration.
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/
- build_audit_state.pyruns3.6 KB
- format_telegram.pyruns2.4 KB
- merge_evaluations.pyruns2.9 KB
tests/
- conftest.pyruns876 B
- test_build_audit_state.pyruns1.3 KB
- test_format_telegram.pyruns1.0 KB
- test_merge_evaluations.pyruns1.3 KB