From agentic
Port an OpenCode plugin command to a Claude Code equivalent: either a CC skill (SKILL.md), a CC sub-agent (.claude/agents/<name>.md), or a CC slash command (commands/<name>.md). The command reads the OC TypeScript tool + paired instruction file, walks through a three-way output decision, and writes the chosen target. Use when the user asks to port, migrate, or convert an OpenCode command to Claude Code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic:port_command [plugin-name] [command-name][plugin-name] [command-name]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Port an OpenCode plugin command to a Claude Code equivalent. $ARGUMENTS specifies
Port an OpenCode plugin command to a Claude Code equivalent. $ARGUMENTS specifies the source plugin (name) and optionally a command name. If no arguments are given, ask the user.
Fetch all of the following before doing any analysis:
Claude Code (target):
OpenCode (source):
Read these before continuing. Do not rely on training-time knowledge about either system.
Parse $ARGUMENTS: first token = plugin name; second = command name (optional).
Resolution order:
.opencode/plugins/<name>.ts in the current projectOnce located:
.ts file in full.opencode/plugins/instructions/<plugin>-<command>.md (or all <plugin>-*.md if no command specified).opencode/plugins/instructions/<plugin>-system.md if it existsskills/<name>/SKILL.md (OC skills directory) for sibling skillsIdentify all tool() definitions. If more than one exists and no command was specified,
ask the user which one to port.
Before choosing a target, document the source command across these dimensions:
Surface any gaps or ambiguities. Ask the user to clarify before proceeding if needed.
Determine whether the OC command maps best to:
Target A — CC Skill (skills/<name>/SKILL.md)
Choose when: the command is invoked by a user request within a conversation, primarily
produces instructions for the LLM to follow, benefits from $ARGUMENTS, is
topic-scoped, and does NOT require TypeScript execution at call time.
execute() body (context gathering) must be translated to inline CC instructions:
"Glob files matching…", "Read the file at…", "WebFetch the URL…".md body maps to the SKILL.md body below the frontmatter$ARGUMENTS replaces the Zod args schema for runtime inputTarget B — CC Sub-agent (.claude/agents/<name>.md)
Choose when: the command orchestrates a long, multi-step workflow that benefits from
a dedicated agent context, has its own persona or tone, or needs to be invoked via
@agent-name rather than /skill:name. Typically: the instruction .md already
reads like an autonomous agent prompt.
name: <agent-name> in frontmatterdescription controls when it is auto-triggered.md content, adapted for agent prompt styleexecute()) become inline instructions in the bodyTarget C — CC Slash Command (commands/<name>.md)
Choose when: the workflow is conversational and primarily driven by user turn-by-turn input, or the command is a lightweight helper that doesn't need skill-style invocation. Commander-style prompts with structured phases map here.
commands/<name>.md (no frontmatter required; plain Markdown prompt)$ARGUMENTS — user provides context conversationallyexecute() becomes inline instructions in the body| Criterion | Skill (A) | Agent (B) | Command (C) |
|---|---|---|---|
| Triggered by | /plugin:skill | @agent | /command |
| Arguments | $ARGUMENTS | conversational | conversational |
| Autonomous | no | yes | no |
| Execute() side effects | inline gather | inline gather | inline gather |
| Multi-step orchestration | some | primary | light |
Present your recommendation with rationale. Ask the user to confirm or override.
Write skills/<derived-name>/SKILL.md.
Frontmatter:
---
name: <plugin>:<derived-name>
description: "<one-sentence description>"
argument-hint: "<args hint>"
---
Body:
execute() reads into inline CC instructions
(Glob, Read, WebFetch as needed).md, adapted for CC:
Document any OC patterns that couldn't be translated:
experimental.chat.system.transform)Write .claude/agents/<derived-name>.md.
Frontmatter:
---
name: <derived-name>
description: "<one-sentence description>"
---
Body: autonomous agent prompt adapted from the OC instruction content. Use imperative
second-person ("You are…", "Your task is…"). Include inline context-gathering steps
translated from execute().
Write commands/<derived-name>.md.
Plain Markdown. No frontmatter required. Structured prompt with:
execute().mdFor the chosen target:
npx claudepluginhub nominexhq/agentic-plugin --plugin agenticProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.