feat: improve 5 lowest-scoring skills via tessl review#1
Conversation
$(cat /tmp/tessl-pr-body.md)
📝 WalkthroughWalkthroughFive skill definition files underwent documentation consolidation. Changes involve condensing verbose descriptions into concise overviews, restructuring frontmatter metadata, removing detailed sections and code examples, and updating references to supporting library modules. No code logic or public API declarations were altered. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@skills/claude-plugin-validation/SKILL.md`:
- Around line 315-317: Update the SKILL.md text to match the actual validator
behavior by replacing the incorrect severity taxonomy (remove or correct the
"Info" severity entry) and updating the validator reference from
lib/plugin_validator.py to the real implementation file
lib/claude_plugin_validator.py; ensure the documented severities (Critical,
Warning, etc.) exactly reflect what claude_plugin_validator.py emits and add a
short note pointing to lib/claude_plugin_validator.py for implementation
details.
In `@skills/decision-frameworks/SKILL.md`:
- Line 617: The documented explanation schema in SKILL.md is out of sync with
lib/decision_explainer.py:create_explanation(); update the schema so the keys
match the function's output: replace `why_chosen` with `why_this_decision`,
replace `analogy` with `human_analogy`, and add the `supporting_evidence` key
(keep the other keys intact) so the SKILL.md explanation output structure
matches create_explanation() exactly.
In `@skills/group-collaboration/SKILL.md`:
- Around line 579-586: Remove the duplicate "## Success Metrics" block from
SKILL.md and update the remaining metrics example to use the exact keys returned
by get_group_collaboration_stats() (refer to that function in
lib/group_collaboration_system.py) so the doc and API match; specifically delete
the second header and its list, then replace the example keys (e.g.,
communication_success_rate, avg_feedback_cycle_seconds, knowledge_reuse_rate)
with the actual keys emitted by get_group_collaboration_stats() and ensure the
text references "Track via get_group_collaboration_stats()" only once.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 4de26a52-fa76-472d-b58a-cf29975516ba
📒 Files selected for processing (5)
skills/claude-plugin-validation/SKILL.mdskills/contextual-pattern-learning/SKILL.mdskills/decision-frameworks/SKILL.mdskills/group-collaboration/SKILL.mdskills/predictive-skill-loading/SKILL.md
| **Error severity**: Critical (blocks install) → Warning (non-blocking) → Info (optimization suggestions). | ||
|
|
||
| **Version**: 1.0.0 | ||
| **Last Updated**: 2025-10-23 | ||
| **Compatible With**: Claude Code Plugin System v2.0+ No newline at end of file | ||
| Complements `lib/plugin_validator.py` with plugin-system-specific rules, installation failure prevention, and version compatibility checking. No newline at end of file |
There was a problem hiding this comment.
Severity taxonomy and validator reference do not match implementation.
Line 315 documents an Info severity that the validator implementation does not emit, and Line 317 references lib/plugin_validator.py, which is a stub, while the actual logic is in lib/claude_plugin_validator.py.
Proposed wording fix
-**Error severity**: Critical (blocks install) → Warning (non-blocking) → Info (optimization suggestions).
-
-Complements `lib/plugin_validator.py` with plugin-system-specific rules, installation failure prevention, and version compatibility checking.
+**Error severity**: Critical (installation blockers) → Warning (non-blocking).
+
+Complements `lib/claude_plugin_validator.py` with plugin-system-specific rules, installation failure prevention, and version compatibility checking.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| **Error severity**: Critical (blocks install) → Warning (non-blocking) → Info (optimization suggestions). | |
| **Version**: 1.0.0 | |
| **Last Updated**: 2025-10-23 | |
| **Compatible With**: Claude Code Plugin System v2.0+ | |
| \ No newline at end of file | |
| Complements `lib/plugin_validator.py` with plugin-system-specific rules, installation failure prevention, and version compatibility checking. | |
| **Error severity**: Critical (installation blockers) → Warning (non-blocking). | |
| Complements `lib/claude_plugin_validator.py` with plugin-system-specific rules, installation failure prevention, and version compatibility checking. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/claude-plugin-validation/SKILL.md` around lines 315 - 317, Update the
SKILL.md text to match the actual validator behavior by replacing the incorrect
severity taxonomy (remove or correct the "Info" severity entry) and updating the
validator reference from lib/plugin_validator.py to the real implementation file
lib/claude_plugin_validator.py; ensure the documented severities (Critical,
Warning, etc.) exactly reflect what claude_plugin_validator.py emits and add a
short note pointing to lib/claude_plugin_validator.py for implementation
details.
| ### Analogy | ||
| Like reorganizing a messy closet by sorting items into clearly labeled boxes (modular refactoring) rather than just pushing things around (incremental) or building an entirely new closet system (complete rewrite). The sorting approach takes reasonable time, dramatically improves organization, and can be done safely one section at a time. | ||
| ``` | ||
| **Explanation output structure**: `why_chosen`, `why_not_alternatives`, `trade_offs`, `confidence_factors`, `user_alignment`, `analogy`. |
There was a problem hiding this comment.
Explanation schema keys are incorrect for create_explanation().
Line 617 lists why_chosen and analogy, but lib/decision_explainer.py:create_explanation() returns why_this_decision and human_analogy (plus supporting_evidence).
Proposed correction
-**Explanation output structure**: `why_chosen`, `why_not_alternatives`, `trade_offs`, `confidence_factors`, `user_alignment`, `analogy`.
+**Explanation output structure**: `why_this_decision`, `why_not_alternatives`, `trade_offs`, `confidence_factors`, `user_alignment`, `human_analogy`, `supporting_evidence`.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| **Explanation output structure**: `why_chosen`, `why_not_alternatives`, `trade_offs`, `confidence_factors`, `user_alignment`, `analogy`. | |
| **Explanation output structure**: `why_this_decision`, `why_not_alternatives`, `trade_offs`, `confidence_factors`, `user_alignment`, `human_analogy`, `supporting_evidence`. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/decision-frameworks/SKILL.md` at line 617, The documented explanation
schema in SKILL.md is out of sync with
lib/decision_explainer.py:create_explanation(); update the schema so the keys
match the function's output: replace `why_chosen` with `why_this_decision`,
replace `analogy` with `human_analogy`, and add the `supporting_evidence` key
(keep the other keys intact) so the SKILL.md explanation output structure
matches create_explanation() exactly.
| ## Success Metrics | ||
|
|
||
| **Related Systems**: | ||
| - `lib/group_collaboration_system.py` - Communication tracking | ||
| - `lib/agent_feedback_system.py` - Feedback management | ||
| - `lib/inter_group_knowledge_transfer.py` - Knowledge sharing | ||
| - `lib/group_specialization_learner.py` - Specialization tracking | ||
| - `lib/agent_performance_tracker.py` - Performance metrics | ||
| - Communication flow rate > 95% | ||
| - Feedback loop cycle time < 5 minutes | ||
| - Knowledge reuse rate > 60% | ||
| - Execution success rate > 90% on first attempt | ||
|
|
||
| **Related Documentation**: | ||
| - `docs/FOUR_TIER_ARCHITECTURE.md` - Complete architecture design | ||
| - `docs/FOUR_TIER_ENHANCEMENTS.md` - Advanced features | ||
| - `agents/orchestrator.md` - Orchestrator coordination logic | ||
| Track via `lib/group_collaboration_system.py` using `get_group_collaboration_stats()`. |
There was a problem hiding this comment.
Remove duplicate Success Metrics block and align stats keys with the real API.
Line 579 introduces a second ## Success Metrics section while the earlier section still contains a stats example with keys not returned by lib/group_collaboration_system.py:get_group_collaboration_stats() (e.g., communication_success_rate, avg_feedback_cycle_seconds, knowledge_reuse_rate). This leaves conflicting guidance in one doc.
Suggested cleanup
-## Success Metrics
-
-- Communication flow rate > 95%
-- Feedback loop cycle time < 5 minutes
-- Knowledge reuse rate > 60%
-- Execution success rate > 90% on first attempt
-
-Track via `lib/group_collaboration_system.py` using `get_group_collaboration_stats()`.
+## Success Metrics
+
+- Communication flow rate > 95%
+- Feedback loop cycle time < 5 minutes
+- Knowledge reuse rate > 60%
+- Execution success rate > 90% on first attempt
+
+Track via `lib/group_collaboration_system.py` using `get_group_collaboration_stats()`.
+If you keep a code snippet, use fields that actually exist in the return payload
+(for example `total_communications`, `successful_collaborations`, `flow_effectiveness`, `knowledge_transfers`).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/group-collaboration/SKILL.md` around lines 579 - 586, Remove the
duplicate "## Success Metrics" block from SKILL.md and update the remaining
metrics example to use the exact keys returned by
get_group_collaboration_stats() (refer to that function in
lib/group_collaboration_system.py) so the doc and API match; specifically delete
the second header and its list, then replace the example keys (e.g.,
communication_success_rate, avg_feedback_cycle_seconds, knowledge_reuse_rate)
with the actual keys emitted by get_group_collaboration_stats() and ensure the
text references "Track via get_group_collaboration_stats()" only once.
|
Hey @rohan-tessl — thanks for taking the time to run these skills through review and submit this PR! Really appreciate the contribution. We've actually been doing a major modernization pass on the plugin (v8.1.0 and v8.2.0 just shipped) that already picked up several of the improvements you identified:
The remaining 3 bloated skills (decision-frameworks, group-collaboration, predictive-skill-loading) are on our list for a moderate trim — though we'll keep them a bit more substantial than ~15 lines since agents reference the detailed content during execution. Closing this one since the changes have diverged, but the analysis was genuinely useful for prioritizing our cleanup. Thanks again! |
Hey @bejranonda 👋
I ran your skills through
tessl skill reviewat work and found some targeted improvements.Here's the full before/after:
This PR is intentionally scoped to the 5 lowest-scoring skills to keep it reviewable — more skills can be improved in follow-ups or via automated review on future PRs.
Changes made
All 5 skills:
namefields to use kebab-case (required by skill validation — "Decision Frameworks" → "decision-frameworks", etc.)descriptionfields with concrete trigger terms, "Use when..." clauses, and specific actionsversion,category,tags,related_skills) that triggered validation warningsdecision-frameworks:
group-collaboration:
plugin-validation (renamed from claude-plugin-validation):
predictive-skill-loading:
contextual-pattern-learning:
Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.
Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at this Tessl guide and ask it to optimize your skill. Ping me - @rohan-tessl - if you hit any snags.
Thanks in advance 🙏
Summary by CodeRabbit
Release Notes