difyctl skills install to write a skill file for the coding agents on your machine. The agent picks it up and onboards itself from there.
The installed SKILL.md is a bootstrap, not a manual. It walks the agent through discovery against the installed difyctl in two steps:
- The agent reads the compact command map with
difyctl help -o json --compactand picks the one command that fits the request. - Before running it, the agent reads that command’s descriptor with
difyctl help <path> -o json, where<path>is the command as the map lists it, such asget app. The descriptor is its only source for the command’s arguments and flags.
difyctl help agent for exit codes, error output, paused workflows, and retry rules.
The descriptor’s effect label (read, write, or destructive) doubles as a confirmation gate: the skill has the agent confirm with you before it runs any write or destructive command.
When to Use the Skill
- Your agent runtime reads skills: Claude Code, Codex, OpenCode, Cursor, pi, or anything else that picks up
SKILL.mdfiles from a skill directory. - The agent can run shell commands. The skill drives
difyctlthrough the agent’s shell tool. - You want zero maintenance: the skill never goes stale, because it lists no commands.
Prerequisites
- Install
difyctland sign in on the machine the agent runs on, so it can reuse your session. For a server or container, see Authenticate Where Your Agent Runs. - Use a coding agent that reads skills and can run shell commands. A sandboxed agent with no shell access can’t use the skill.
- Launch the agent at least once before installing, so its config directory exists for
difyctl skills installto find.
Steps
1
Preview where the skill will land
Without
--yes, the command is a dry run:2
Write the skill
--yes writes to every detected agent. Pass --agent <name> to write to just one.3
Start a fresh agent session
Start a new session so the agent indexes the skill it just received.
See the Skills reference page for detection, target paths per agent, and the
--agent, --stdout, and explicit-directory forms.Test
The install prints the path it wrote; open that file to confirm the skill is there. Then check that the agent actually uses it:- Discovery: In a fresh session, ask the agent: “What can you do with
difyctl?” A correctly onboarded agent runsdifyctl help -o json --compactand answers from its output rather than guessing commands. - End to end: Ask the agent to list your Dify apps and run one. Watch for
difyctl get app -o jsonfollowed by adescribe/runsequence with real IDs from the list. Expect it to check with you before the run, sincerun appis awritecommand. - Pause handling: If you have a Workflow or Chatflow app with a human-input step, ask the agent to run it. A paused run exits 0 and reports
"status": "paused"on stdout. The agent should recognize the pause and offer to resume, not report a failure or retry the run.
Troubleshooting
For everything else, see the full Troubleshooting page.