Problem
The plugins/dev workflows are currently only partially forge-agnostic.
Several skills in plugins/dev are tightly coupled to GitHub-specific conventions and gh CLI behavior:
plugins/dev/skills/issue-submit/SKILL.md hardcodes gh api repos/.../contents/.github/ISSUE_TEMPLATE and gh issue create
plugins/dev/skills/pr-followup/SKILL.md explicitly instructs the workflow to reason about gh semantics and reply to reviews using gh
plugins/dev/skills/env-setup/SKILL.md already acknowledges that a gc command may exist, but that support stops at permissions/environment setup and is not integrated into issue/PR workflows
This makes the plugin work well for GitHub repositories, but fragile or unusable for other forges such as GitCode. In practice, the current workflows can mis-detect commands, assume GitHub-only API shapes, and fail to complete common follow-up actions such as reading review comments, replying, or submitting updates.
Proposed Solution
Introduce a minimal forge/provider abstraction for the plugins/dev remote collaboration workflows.
A possible approach:
- Detect the forge/provider from repository remote host or explicit user input
- Resolve the correct CLI/binary for that provider (
gh, gc, etc.), distinguishing aliases from real executables
- Normalize a small set of operations behind a provider adapter, for example:
- fetch issue templates
- create issue
- fetch PR/MR metadata
- fetch review/thread comments
- reply to review/thread
- check mergeability / checks / status
- Keep the existing skill UX and SOP structure, but route remote operations through the provider adapter
- Make
issue-submit and pr-followup the first consumers; keep local-only workflows such as env-setup and worktree-clean mostly unchanged
This would allow the dev plugin to support GitHub first, while adding GitCode and potentially GitLab support without rewriting each skill independently.
Alternatives Considered
-
Patch each skill independently with ad-hoc if github / if gitcode branches
- Simpler short term
- Likely to duplicate logic and drift over time
-
Keep the plugin GitHub-only and document that limitation
- Lowest implementation cost
- Does not match actual user workflows where non-GitHub forges are already in use
-
Build a fully generic forge SDK abstraction from the start
- Cleaner long term
- Probably too large for the current plugin scope
A minimal adapter layer seems like the best tradeoff.
Additional Context
The current repository itself is hosted on GitHub (origin points to github.com/codeasier/claude-codeasier), but the dev plugin is intended to help with broader development workflows, and recent usage already exposed gaps when trying to use /dev:pr-followup against a GitCode PR with the gc CLI.
Relevant coupling points observed in the current codebase:
plugins/dev/skills/issue-submit/SKILL.md:16
plugins/dev/skills/issue-submit/SKILL.md:97
plugins/dev/skills/pr-followup/SKILL.md:39
plugins/dev/skills/pr-followup/SKILL.md:49
plugins/dev/skills/env-setup/SKILL.md:114
Problem
The
plugins/devworkflows are currently only partially forge-agnostic.Several skills in
plugins/devare tightly coupled to GitHub-specific conventions andghCLI behavior:plugins/dev/skills/issue-submit/SKILL.mdhardcodesgh api repos/.../contents/.github/ISSUE_TEMPLATEandgh issue createplugins/dev/skills/pr-followup/SKILL.mdexplicitly instructs the workflow to reason aboutghsemantics and reply to reviews usingghplugins/dev/skills/env-setup/SKILL.mdalready acknowledges that agccommand may exist, but that support stops at permissions/environment setup and is not integrated into issue/PR workflowsThis makes the plugin work well for GitHub repositories, but fragile or unusable for other forges such as GitCode. In practice, the current workflows can mis-detect commands, assume GitHub-only API shapes, and fail to complete common follow-up actions such as reading review comments, replying, or submitting updates.
Proposed Solution
Introduce a minimal forge/provider abstraction for the
plugins/devremote collaboration workflows.A possible approach:
gh,gc, etc.), distinguishing aliases from real executablesissue-submitandpr-followupthe first consumers; keep local-only workflows such asenv-setupandworktree-cleanmostly unchangedThis would allow the dev plugin to support GitHub first, while adding GitCode and potentially GitLab support without rewriting each skill independently.
Alternatives Considered
Patch each skill independently with ad-hoc
if github / if gitcodebranchesKeep the plugin GitHub-only and document that limitation
Build a fully generic forge SDK abstraction from the start
A minimal adapter layer seems like the best tradeoff.
Additional Context
The current repository itself is hosted on GitHub (
originpoints togithub.com/codeasier/claude-codeasier), but the dev plugin is intended to help with broader development workflows, and recent usage already exposed gaps when trying to use/dev:pr-followupagainst a GitCode PR with thegcCLI.Relevant coupling points observed in the current codebase:
plugins/dev/skills/issue-submit/SKILL.md:16plugins/dev/skills/issue-submit/SKILL.md:97plugins/dev/skills/pr-followup/SKILL.md:39plugins/dev/skills/pr-followup/SKILL.md:49plugins/dev/skills/env-setup/SKILL.md:114