docs(skill): stop implying load_skill is availability-gated - #3468
Conversation
Two follow-ups from review on #3464, which merged before they landed. `isSkillInfrastructureToolAllowed` returns `true` for `load_skill` unconditionally; only `load_skill_reference` and `execute_skill_script` depend on what the active skill advertises. The architecture page described the whole three-tool surface as gated, which reads as "call load_skill and it may be refused" — the opposite of how a model recovers from the no-skill-loaded error. Also retitles `ActiveSkillContext`, whose JSDoc still said "runtime policy tracking" after the policy it tracked was removed.
|
Warning Review limit reached
Next review available in: 23 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2bb188033f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Runtime skill tools are local platform tools. Local and project runtimes always | ||
| expose `load_skill`. They gate `load_skill_reference` and `execute_skill_script` |
There was a problem hiding this comment.
Qualify load_skill exposure for disabled skill selectors
When an agent uses the explicit skills: false or skills: [] selector, shouldExposeSkillTools is false and the factory removes every skill tool, including load_skill; agent-runtime-step.test.ts also verifies this case. The current-state document therefore should limit “always expose” to skill-enabled agents rather than implying that the recovery loader exists in every local and project runtime.
AGENTS.md reference: AGENTS.md:L13-L14
Useful? React with 👍 / 👎.
| } | ||
|
|
||
| /** Active skill context for runtime policy tracking */ | ||
| /** Active skill context for runtime availability and delegation tracking */ |
There was a problem hiding this comment.
Describe ActiveSkillContext as identity-only
This exported interface contains only skillId and has no availability or delegation fields; the runtime tracks those separately as activeSkillToolAvailability and activeSkillDelegationOverrides. The regenerated public API now promises capabilities that consumers cannot obtain from this type, so describe it as active-skill identity context unless those fields are intended to become part of the interface.
AGENTS.md reference: AGENTS.md:L13-L14
Useful? React with 👍 / 👎.
Two review findings on #3464 arrived after it had already merged, so they land here.
load_skillis not gated.isSkillInfrastructureToolAllowedreturnstrueforload_skillunconditionally (src/skill/allowed-tools.ts:39-41); onlyload_skill_referenceandexecute_skill_scriptdepend onhasActiveSkillplus a non-empty references/scripts list.docs/architecture/21-agent-tool-registration-current-state.mddescribed the whole three-tool surface as gated by the loaded skill, which reads as "callload_skilland it may be refused" — the opposite of how a model is supposed to recover from theno skill is loaded. Call load_skill first.error that same PR introduced.ActiveSkillContextJSDoc. Still said "runtime policy tracking" after the policy it tracked was removed. Fixed at the source insrc/skill/types.tsrather than in the generated table, anddocs/api-reference/veryfront/skill.mdregenerated withdeno task docs.Docs-only;
docs:api-reference:checkandtypecheckare clean locally.