feat(pr-review): load connector layer review skills from c1-engineering marketplace - #104
Open
luisina-santos wants to merge 1 commit into
Open
feat(pr-review): load connector layer review skills from c1-engineering marketplace#104luisina-santos wants to merge 1 commit into
luisina-santos wants to merge 1 commit into
Conversation
…ng marketplace Connector reviews now install the agentic-connector-development plugin from ConductorOne/claude-marketplace and invoke its layer review skills (review-config-layer, review-client-layer, review-connector-layer, review-actions-layer) on the paths a PR actually changed. Skill and Task were already in the allowedTools list and the base prompt already anticipated skills; this supplies the plugin they need. The runner's automatic GITHUB_TOKEN is scoped to the repository running the workflow, so it cannot read the private marketplace repo. Loading the skills therefore needs a CLAUDE_MARKETPLACE_TOKEN secret with contents:read on that one repo. Absent or expired, the step warns and the review continues with the base prompt and mixins; every summary reports which happened on its Skills line, so a missing secret is visible on the PR rather than silent. The marketplace is cloned rather than checked out with actions/checkout because composite action steps do not support continue-on-error, and the clone drops .git afterwards so the tokenized remote URL is not left on disk where the reviewer's Read and Grep can reach it. The connector mixin checklists are left intact; connector-skills.md instructs the reviewer to report an overlapping finding once at the higher severity. Skills inherit the read-only contract: no edits, no build or test commands, no network fetches, no posting, and no skill-side approval verdict. Turn budget raised to 150 and the job timeout to 30 minutes to fit up to four layer skills. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Complements the Claude PR review with the layer review skills from the
agentic-connector-developmentplugin inConductorOne/claude-marketplace.The pieces were mostly already in place:
SkillandTaskare in the action's--allowedTools, andbase-pr-review.mdStep 5 already tells the reviewer it may use them. What was missing is the plugin those skills live in.claude-code-action@661a6fefexposesplugins/plugin_marketplacesinputs, so this wires them up.Dispatch is by changed path, so a config-only PR does not pay for four skills:
pkg/config/**review-config-layerpkg/client/**,pkg/connector/client*.goreview-client-layerpkg/connector/**review-connector-layerpkg/connector/actions.go,*_actions.goreview-actions-layerRequired before this helps:
CLAUDE_MARKETPLACE_TOKENclaude-marketplaceis private, and the runner's automaticGITHUB_TOKENis an installation token scoped to the repository running the workflow — same-org membership does not extend it. (github-workflowsis public, which is why the existingCheckout workflow repostep needs no token and this asymmetry has not come up before.)So loading the skills needs an org-level
CLAUDE_MARKETPLACE_TOKENsecret: a fine-grained PAT or GitHub App token withcontents: readonConductorOne/claude-marketplaceand nothing else.Until that secret exists, this PR is a no-op — every connector review logs a warning and proceeds exactly as it does today. Nothing breaks in the meantime, which is what makes on-by-default safe here.
Decisions taken
connectorprofile.generalnever loads skills and needs no token.**Skills:**line, so a missing secret shows up on the PR instead of silently downgrading every review.connector-skills.mdtells the reviewer to post an overlapping finding once, at the higher severity. Worth revisiting once we can see real output.deep-code-review— its 8-finder fan-out does not fit this budget.--max-turns100 → 150 andtimeout-minutes15 → 30 to fit up to four skills.Two implementation notes worth a look
actions/checkout. Composite action steps do not supportcontinue-on-error, so a checkout with a bad token would fail the whole review rather than degrade it. The step clones with|| warninstead..gitis deleted after cloning. The clone URL embeds the token in.git/config, and the reviewer hasRead/Grepover the workspace. Only the plugin files are needed, so the git metadata goes._marketplace/is also added to the "ignore these directories" instruction in Step 1 so it is not mistaken for PR content.Skills run read-only
These skills were written for interactive development and some steps assume they can build, test, edit, and fetch vendor docs.
connector-skills.mdmakes the Step 5 read-only contract win explicitly: no edits, no build/test commands, no network fetches, no posting, and a skill's own approval verdict does not clear the PR. Skill output is analysis that still goes through Step 6 validation before it becomes a comment.Verification
action.ymland both caller workflows parse; every composite step uses only keys composite actions accept (this is how thecontinue-on-errorproblem surfaced).connector-skills.md(540 lines) and skills-unavailable does not (494), with theSkills status:line and heredoc terminator correct in both.**Skills:**line and turn count before enabling more.🤖 Generated with Claude Code