> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Shell Render • AI Agent SDK

> Inline shell substitution for skill bodies.

# shell\_render

<Badge color="blue">AI Agent</Badge>

Inline shell substitution for skill bodies.

Supports two forms (Claude Code parity):

* Inline:   ``!`echo hello` ``
* Fenced:   \`\`\`\`! ... \`\`\` \`\`

Safe-by-default: `enabled=False` replaces every block with a
`[shell execution disabled]` marker so skills authored with shell
injection can be rendered deterministically without running arbitrary
commands. Hosts (CLI, UI) opt-in explicitly by passing `enabled=True`.

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.skills import shell_render
```

## Functions

<CardGroup cols={2}>
  <Card title="render_shell_blocks()" icon="function" href="../functions/render_shell_blocks">
    Render ``!`cmd` `` and \`\`\`\` \`\`\`! \`\` blocks inside a skill body.
  </Card>
</CardGroup>

### Constants

| Name               | Value                                             |
| ------------------ | ------------------------------------------------- |
| `_INLINE_RE`       | `re.compile('!`(\[^`\\n]+)`')\`                   |
| `_FENCED_RE`       | `re.compile('```!\\s*\\n(.*?)\\n```', re.DOTALL)` |
| `_DISABLED_MARKER` | `'[shell execution disabled]'`                    |
