원클릭으로
sync-plugins
Sync plugins from configured source repos to OpenCode format. Usage: /sync-plugins [repo:plugin...] or /sync-plugins --all
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Sync plugins from configured source repos to OpenCode format. Usage: /sync-plugins [repo:plugin...] or /sync-plugins --all
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Manifest builder. Plan work, scope tasks, spec out requirements. Converts needs into Deliverables + Invariants with verification criteria.
Manifest executor. Iterates through Deliverables satisfying Acceptance Criteria, then verifies all ACs and Global Invariants pass.
Creates personalized X/Twitter growth strategy through guided interview. Based on algorithm-derived principles (exposure equation, phase model). Use when asked about X growth, Twitter strategy, building audience, or social media presence.
Completion marker. Outputs hierarchical execution summary showing Global Invariants respected and all Deliverables completed.
Structured escalation with evidence. Surfaces blocking issues for human decision, referencing the Manifest hierarchy.
Manifest verification runner. Spawns parallel verifiers for Global Invariants and Acceptance Criteria. Called by /do, not directly by users.
| name | sync-plugins |
| description | Sync plugins from configured source repos to OpenCode format. Usage: /sync-plugins [repo:plugin...] or /sync-plugins --all |
Convert Claude Code plugins from multiple source repos to OpenCode format.
Source of truth:
references/CONVERSION_GUIDE.md - ALL conversion rulesreferences/NOTES.md - Lessons learned and special patterns (MUST READ)Read references/REPOS.md for the list of source repos and their plugins.
$ARGUMENTS: Space-separated list of repo:plugin pairs, plugin names (searches all repos), or flags.
vibe-workflow → finds in any repoclaude-code-plugins:vibe-workflow → explicit repomanifest-dev:manifest-dev → explicit repo--all: Sync all plugins from all configured repos--full: Force full resync (skip changelog, do everything from scratch)--repo=NAME: Only sync from specified repoWhen syncing plugins for this repo, always convert model: opus agents to:
model: openai/gpt-5.2
reasoningEffort: xhigh
This applies to all plugins synced here (vibe-workflow, vibe-extras, manifest-dev, consultant, prompt-engineering, solo-dev, etc.). The xhigh reasoning effort matches the intent of using a high-capability model like opus.
references/REPOS.md--repo flag if specified# Find or clone repo
REPO=""
for dir in <local-paths>; do
[ -d "$dir" ] && cd "$dir" && git pull origin main && REPO="$dir" && break
done
if [ -z "$REPO" ]; then
if [ -d "/tmp/<repo-name>" ]; then
cd /tmp/<repo-name> && git pull origin main
else
git clone <git-url> /tmp/<repo-name>
fi
REPO=/tmp/<repo-name>
fi
--all or no args: sync all plugins listed for this repoEach plugin directory has a SYNC.md tracking the last synced source commit (repo, path, commit hash, date).
If SYNC.md exists and has a commit hash (and --full not set):
cd $REPO && git diff <last-commit>..HEAD -- <plugins-dir>/<plugin>/ to get changed filesSYNC.mdIf SYNC.md missing or --full flag set:
SYNC.md with current HEAD commitThis avoids reading and diffing every file on every sync.
For each file (changed or all):
Reference files (task files, references/*.md, supporting data) that don't have frontmatter needing conversion: cp from source to target, then grep for CLAUDE.md/.claude/ — if no hits, done. If hits, apply content transformations.
Files needing conversion (agents, commands, skills with frontmatter, package.json, README):
$REPO/<plugins-dir>/<plugin>/name: from commands/agents (keep for skills)user-invocable: fieldmodel: inherit → remove the model line (OpenCode inherits by default; also remove reasoningEffort: if present)model: opus → model: openai/gpt-5.2 + reasoningEffort: xhighmodel: sonnet → model: anthropic/claude-sonnet-4-5-20250929model: haiku → model: anthropic/claude-haiku-4-5-20251001tools: comma list to boolean objectmode: subagent to agentsCLAUDE.md → AGENTS.mdAskUserQuestion → question toolSkill("plugin:name") → /name (commands) or skill({ name: "name" }) (skills)<plugin>/ in this repoAfter successful sync, update <plugin>/SYNC.md with the current HEAD commit of the source repo. This is the last step — only written after all files are synced.
Synced from <repo>:
<plugin-name> (<old-commit>..<new-commit>):
- <file>: <brief description of change>
Skipped (OpenCode limitations):
- <description of hook changes that can't be ported>
Already up to date:
- <plugin-name> (at <commit>)
Document but don't attempt to sync:
session.idle cannot prevent stopstool.execute.before cannot abort execution<plugin>/
├── package.json
├── README.md
├── command/*.md
├── agent/*.md
├── skill/*/SKILL.md
└── plugin/hooks.ts