#23754: Skills: enforce capability manifest requirements
agents
size: M
trusted-contributor
Cluster:
Tool and Plugin Enhancements
## Summary
- add capability-manifest parsing for skills (`requiredTools`, `requiresSandbox`) from frontmatter and `metadata.openclaw.capabilities`
- include parsed capabilities on skill entries and enforce capability checks in skill eligibility filtering
- gate skills when required tools are blocked by policy or when sandbox is required but not configured
## Testing
- pnpm check
- pnpm vitest run --config vitest.unit.config.ts src/agents/skills/frontmatter.test.ts src/agents/skills.buildworkspaceskillsnapshot.test.ts src/agents/skills.test.ts
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Adds capability manifest parsing for skills that enforces tool policy and sandbox requirements. Skills can now declare `requiredTools` and `requiresSandbox` in their frontmatter or `metadata.openclaw.capabilities`, and the system will filter out skills when required tools are blocked by policy or when sandbox is required but not configured. The implementation correctly parses capabilities from multiple naming conventions (kebab-case, snake_case, camelCase) and integrates with existing tool policy infrastructure.
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge with minimal risk
- The implementation is well-structured with comprehensive test coverage for both tool policy and sandbox capability checking. The code properly integrates with existing policy infrastructure, handles multiple naming conventions, and includes defensive programming patterns. No logical errors, security issues, or breaking changes were identified.
- No files require special attention
<sub>Last reviewed commit: a778e16</sub>
<!-- greptile_other_comments_section -->
<!-- /greptile_comment -->
Most Similar PRs
#23383: Skills: gate command-dispatch tool targets and args
by bmendonca3 · 2026-02-22
78.4%
#22306: Warn on malformed skill parsing failures in load path
by AIflow-Labs · 2026-02-21
78.3%
#23795: Skills: enforce managed skills.lock integrity with allowUnlocked es...
by bmendonca3 · 2026-02-22
77.7%
#23768: Skills: pin and verify workspace skill content hashes
by bmendonca3 · 2026-02-22
76.6%
#8075: fix(skills): add --ignore-scripts to all package managers
by yubrew · 2026-02-03
76.5%
#23758: Skills: gate deterministic dispatch with allowTools
by bmendonca3 · 2026-02-22
75.7%
#8821: Security: Holistic capability-based sandbox (replaces pattern-match...
by tonioloewald · 2026-02-04
75.6%
#23372: Skills: quarantine ClawHub installs until explicitly enabled
by bmendonca3 · 2026-02-22
75.0%
#23785: Skills: add signature verification and quarantine invalid signatures
by bmendonca3 · 2026-02-22
75.0%
#10016: fix: prevent FD exhaustion from skill watcher scanning artifact trees
by oldeucryptoboi · 2026-02-06
74.7%