chore: shell skill#212
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
skill-check — worker0 verified, 14 skipped (no docs/).
Four for four. Nicely done. |
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (25)
💤 Files with no reviewable changes (18)
✅ Files skipped from review due to trivial changes (6)
📝 WalkthroughWalkthroughThis PR consolidates shell skill docs into ChangesShell Skills Documentation Restructuring
sequenceDiagram
participant BuildScript as build_skills_payload.py
participant Resolver as resolve_top_of_tree
participant ValidateScript as validate_worker.py
BuildScript->>Resolver: find top-of-tree markdown candidate
Resolver-->>BuildScript: return skills/SKILL.md or fallback
BuildScript->>BuildScript: exclude SKILL.md / skills/index.md from traversal
ValidateScript->>ValidateScript: check root/skills/SKILL.md (fallback to root/skill.md)
ValidateScript-->>ValidateScript: validate non-empty and size <= 256 KiB
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ 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.
🧹 Nitpick comments (2)
.github/scripts/build_skills_payload.py (1)
56-59: ⚡ Quick winRefine the warning wording for clarity with 3+ candidates.
The warning says "both {label} and {winner_label}" but when all three candidates exist (SKILL.md, index.md, skill.md), multiple warnings are emitted and "both" becomes misleading. Consider rephrasing to avoid implying exactly two files.
💬 Suggested rewording
winner_label, winner_path = present[0] for label, _ in present[1:]: print( - f"::warning::{worker_root.name}: both {label} and " - f"{winner_label} present; using {winner_label} as the top-of-tree." + f"::warning::{worker_root.name}: {label} also present, " + f"but using {winner_label} as the top-of-tree." )🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/scripts/build_skills_payload.py around lines 56 - 59, The warning message uses "both" which is misleading when more than two candidate files exist; update the print call that references worker_root.name, label and winner_label to use wording that doesn't imply exactly two items (e.g., "multiple candidates found; using {winner_label} as the top-of-tree.", "conflicting candidates found; prefer {winner_label} as top-of-tree.", or "found {label} and other candidates; selecting {winner_label} as top-of-tree."). Replace the current f-string in the print(...) call with one of these rephrased variants (or a similar neutral phrase) so the log is correct when SKILL.md, index.md, and skill.md all exist..github/scripts/validate_worker.py (1)
162-166: ⚡ Quick winClarify error message to reflect that legacy path was also checked.
The error message hardcodes
skills/SKILL.mdbut the validation logic also checksskill.mdas a fallback (lines 160-161). When neither file exists, the message only mentions the preferred path. Consider updating to match the pattern used in lines 169 and 174, which dynamically show whichever path was actually used, or explicitly mention both paths were checked.📝 Suggested clarification
if not skill_md.exists(): hard( - f"{worker}/skills/SKILL.md is missing — bundled workers must ship one " + f"{worker}/{skill_md.relative_to(root).as_posix()} is missing — bundled workers must ship one " f"(see binary-worker.md)" )Or be explicit about both paths:
if not skill_md.exists(): hard( - f"{worker}/skills/SKILL.md is missing — bundled workers must ship one " + f"{worker}/skills/SKILL.md (or legacy {worker}/skill.md) is missing — bundled workers must ship one " f"(see binary-worker.md)" )🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/scripts/validate_worker.py around lines 162 - 166, The error message in the hard(...) call always mentions "skills/SKILL.md" but the validation also checks the legacy "skill.md" fallback (the existence check stored in skill_md and the fallback variable), so update the hard(...) message to reflect both possibilities: either explicitly say both "skills/SKILL.md" and "skill.md" were checked, or interpolate the actual path variable used in the existence check (e.g., use the same path variable passed into skill_md.exists()). Modify the hard(...) call accordingly so the message matches the validation logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/scripts/build_skills_payload.py:
- Around line 56-59: The warning message uses "both" which is misleading when
more than two candidate files exist; update the print call that references
worker_root.name, label and winner_label to use wording that doesn't imply
exactly two items (e.g., "multiple candidates found; using {winner_label} as the
top-of-tree.", "conflicting candidates found; prefer {winner_label} as
top-of-tree.", or "found {label} and other candidates; selecting {winner_label}
as top-of-tree."). Replace the current f-string in the print(...) call with one
of these rephrased variants (or a similar neutral phrase) so the log is correct
when SKILL.md, index.md, and skill.md all exist.
In @.github/scripts/validate_worker.py:
- Around line 162-166: The error message in the hard(...) call always mentions
"skills/SKILL.md" but the validation also checks the legacy "skill.md" fallback
(the existence check stored in skill_md and the fallback variable), so update
the hard(...) message to reflect both possibilities: either explicitly say both
"skills/SKILL.md" and "skill.md" were checked, or interpolate the actual path
variable used in the existence check (e.g., use the same path variable passed
into skill_md.exists()). Modify the hard(...) call accordingly so the message
matches the validation logic.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e6bd1543-a2e2-4ce5-83af-b8b61a74c440
📒 Files selected for processing (19)
.github/scripts/build_skills_payload.py.github/scripts/validate_worker.pyshell/skill.mdshell/skills/SKILL.mdshell/skills/chmod.mdshell/skills/exec.mdshell/skills/exec_bg.mdshell/skills/grep.mdshell/skills/kill.mdshell/skills/list.mdshell/skills/ls.mdshell/skills/mkdir.mdshell/skills/mv.mdshell/skills/read.mdshell/skills/rm.mdshell/skills/sed.mdshell/skills/stat.mdshell/skills/status.mdshell/skills/write.md
💤 Files with no reviewable changes (16)
- shell/skills/mkdir.md
- shell/skill.md
- shell/skills/chmod.md
- shell/skills/list.md
- shell/skills/exec_bg.md
- shell/skills/read.md
- shell/skills/mv.md
- shell/skills/kill.md
- shell/skills/exec.md
- shell/skills/stat.md
- shell/skills/write.md
- shell/skills/status.md
- shell/skills/grep.md
- shell/skills/sed.md
- shell/skills/ls.md
- shell/skills/rm.md
…rchitecture notes
also updated logic to publish skill to not rename from
SKILL.mdtoindex.mdSummary by CodeRabbit