# Mechanic tags

Mechanic extends Liquid with custom tags that go beyond what standard Liquid provides. These tags are how tasks produce output — defining actions, logging data, raising errors, and more.

## Available tags

* [action](/platform/liquid/tags/action.md) — defines an [action](/core/actions.md) to be performed after the task finishes rendering (e.g. a Shopify API call, an email, an HTTP request)
* [log](/platform/liquid/tags/log.md) — outputs structured data to the task run's log, useful for debugging and auditing
* [error](/platform/liquid/tags/error.md) — raises an error that halts the task run and marks it as failed
* [assign](/platform/liquid/tags/assign.md) — an enhanced version of Liquid's assign tag, with support for nested hash key assignment
* [permissions](/platform/liquid/tags/permissions.md) — explicitly declares Shopify access scopes the task requires, supplementing Mechanic's automatic permission detection
* [liquid](/platform/liquid/tags/liquid.md) — evaluates a string as a Liquid template at runtime, useful for dynamic template rendering


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.mechanic.dev/platform/liquid/tags.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
