agentsclimarketplace

Design commands

Skill pantheon-org/tekhne/skills/agentic-harness/opencode-toolkit/design-commands

Create custom /slash commands for repetitive tasks in OpenCode. Use when user wants to create a command, automate a workflow, make a shortcut, add a slash command, set up automation, create a /test, /review, /deploy, /commit, /fix, /build, /lint, /spellcheck, /migrate, or /ci command. Also use when writing a command file, configuring command frontmatter, using $ARGUMENTS placeholders, setting agent: plan, using subtask: true, injecting shell output with !cmd, referencing files with the at-file syntax in a command template, or choosing between a slash command, agent, and skill.From its SKILL.md

Install
npx -y skills add pantheon-org/tekhne --skill design-commands

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `bun run opencode`.

SKILL.md

3.5 KB, 732 tokens by cl100k_base, as published. Nobody here has run it

Command Creator

Quick Start

Create .opencode/commands/<name>.md:

---
description: Run tests and fix all failures automatically
---

Run the full test suite, identify any failures, and fix them.

1. Run `npm test`
2. For each failure, identify root cause and fix
3. Re-run to verify all pass

Invoke it in OpenCode: /test

Run bun run opencode to start, then type /<name> to invoke your command.

Mindset

Slash commands are user-to-agent shortcuts — markdown files with an instruction template. User types /test → OpenCode substitutes placeholders → agent executes.

Decision rule:

  • Human wants a shortcut → Command
  • Agent needs standing instructions → Skill
  • Task needs a persona → Agent

When to use: Repetitive multi-step tasks that need a one-word trigger. When NOT to use: Do not create a command for one-off tasks — just type the instruction directly. Do not use commands for interactive workflows; commands are one-shot. Modes: no agent: = default build (read/write); agent: plan = read-only; subtask: true = fire-and-forget.

Template Placeholders

$ARGUMENTS — all args; $1/$2 — positional; !cmd — shell output injection; @filename — include file content.

# Dynamic context injection example
!git log --oneline -5
---
description: Deploy to staging with context
agent: plan
subtask: true
---
Deploy $ARGUMENTS using the steps in docs/deploy.md.
!git log --oneline -3

Anti-Patterns

NEVER use $ARGUMENTS more than once in a command body. WHY: The placeholder is substituted literally — using it twice creates duplicate content that confuses the agent.

# BAD — duplicate content
Review $ARGUMENTS. Focus on $ARGUMENTS for security issues.

# GOOD — wrap in XML once
<target>$ARGUMENTS</target>
Review the target file for security issues and bugs.

NEVER tell the agent to "run /command" inside a command body. WHY: Agents cannot invoke slash commands from within a command — only users can type /cmd.

# BAD
After fixing, run /test to verify.

# GOOD
After fixing, run `npm test` to verify.

NEVER use agent: plan for commands that write files. WHY: The plan agent is read-only and will refuse any write operation, silently failing the command.

# BAD
---
agent: plan
---
Create a new file called output.md with the results.
# GOOD — remove agent: plan for write operations

References

Eval Scenarios: Scenario 0: Deploy | Scenario 1: Spellcheck | Scenario 2: Fix anti-patterns

What ships with it: 7 files

19.8 KB alongside SKILL.md

.tessl-plugin/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.