You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(app-control): find plugin-shipped control skills in /app-control:drive #9580
Slice A10 of #9507 (no poteto draft; added in reconciliation because Track B needs it).
Problem
/app-control:drive finds only project .claude/skills/control-*. A control skill a plugin ships (such as harness-ops:control-claude-code) is invisible to it.
Fix
Rewrite drive's "Find the control skill": match available skills named control-<app> (project) or <plugin>:control-<app> (plugin); the project skill wins on a name clash. Load the match through the Skill tool and read features/ from the reported base directory. The unattended ambiguity rule is unchanged.
First probe whether claude plugin eval can load a second plugin; if not, prove the plugin-shipped case with an attended --plugin-dir check attached to the PR.
Evals plugin-shipped-control-skill-resolves and project-control-skill-wins-name-clash. Fragment: app-control minor.
Done when
jq '[.evals[].name] | (index("project-control-skill-wins-name-clash") != null)' plugins/app-control/skills/drive/evals/evals.json prints true.
The new cases pass (or the attended check's output is attached), and existing cases are non-inferior.
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Medium
Uncertainty: Knowable
Flags: none
Understood: /app-control:drive only finds project .claude/skills/control-* skills. The request is to also resolve plugin-shipped <plugin>:control-<app> skills, with the project skill winning on a name clash. It also asks for two new evals and an app-control minor fragment. The attended --plugin-dir check can't run unattended, but the file edits and the eval-name check can be verified in CI. The issue is blocked by A1 (under #9507). I found no clear duplicates.
Not admitted to the issue lane: a Feature needs an open parent issue a listed human filed that awaits no decision. A recorded decision does not change these rules (.github/actions/resolve-config/admission-rules.json); a person who wants it worked adds agent-ready.
Activity
github-actions commentedon Oct 24, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Medium
Uncertainty: Knowable
Flags: none
Understood:
/app-control:driveonly finds project.claude/skills/control-*skills. The request is to also resolve plugin-shipped<plugin>:control-<app>skills, with the project skill winning on a name clash. It also asks for two new evals and an app-control minor fragment. The attended--plugin-dircheck can't run unattended, but the file edits and the eval-name check can be verified in CI. The issue is blocked by A1 (under #9507). I found no clear duplicates.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 24, 2026
Not admitted to the issue lane: a Feature needs an open parent issue a listed human filed that awaits no decision. A recorded decision does not change these rules (
.github/actions/resolve-config/admission-rules.json); a person who wants it worked addsagent-ready.kyle-sexton commentedon Oct 24, 2026
fix(app-control): load project control skills through the Skill tool too