---
title: workflow-skill
description: Create or update agent-facing skill docs from local workflows.
---

`workflow-skill` reads local Smithers workflow metadata and asks an agent to write concise skill documentation for selected workflows. It passes each workflow's ID, display name, source type, entry file path, and full source to the agent. The agent infers descriptions, inputs, and other workflow-specific fields directly from the source.

For deterministic, no-agent generation, use the CLI command. The generated skill includes the workflow's real input schema: field names, types, required/default status, enum values, and descriptions when the Zod schema provides them.

```bash
bunx smithers-orchestrator workflow skills
```

<Frame caption="The workflow-skill UI shows local workflows read and turned into agent-facing skill docs.">
  <img src="/images/workflow-ui/workflow-skill.png" alt="workflow-skill workflow UI showing local workflows turned into skill documentation" />
</Frame>

Inspect the same machine-readable contract without writing files:

```bash
bunx smithers-orchestrator workflow inspect mission --format json
```

To generate skill docs through the agent (with prompt-driven customization), use:

```bash
bunx smithers-orchestrator workflow run workflow-skill --input '{"workflow":"mission"}'
```

## Inputs

| Input | Type | Default |
| --- | --- | --- |
| `workflow` | string | `"all"` |
| `output` | string or null | `null` |
| `prompt` | string | `""` |

## Output Rules

- `workflow: "all"` scans every local workflow except `workflow-skill`.
- If `output` is omitted, skills are written under `.smithers/skills/`. This is Smithers-owned generated output; Claude Code, Codex, and other coding harnesses do not auto-discover it unless your project bridges it into the harness skill directory, typically `.agents/skills`.
- If `workflow` is one workflow ID and `output` is provided, the agent writes exactly that file path.
- If `workflow` is `"all"` and `output` is provided, the agent treats it as a directory and writes one skill per workflow.

## Examples

Generate one skill:

```bash
bunx smithers-orchestrator workflow run workflow-skill \
  --input '{"workflow":"mission","output":".smithers/skills/mission.md"}'
```

Generate skills for every local workflow:

```bash
bunx smithers-orchestrator workflow run workflow-skill \
  --input '{"workflow":"all","output":".smithers/skills"}'
```

Use this when you want Smithers to generate reusable workflow skill docs. To make those docs discoverable to a specific coding agent, bridge `.smithers/skills` into that harness's skill directory, typically `.agents/skills`.
