# Create

```
yq n <path_expression> <new value>
```

This works in the same way as the write command, but you don't pass in an existing Yaml file. Currently this does not support creating multiple documents in a single yaml file.

See docs for [path expression](https://mikefarah.gitbook.io/yq/v3.x/usage/path-expressions) and [value parsing](https://mikefarah.gitbook.io/yq/v3.x/usage/value-parsing) for more details, including controlling quotes and tags.

## Creating a simple yaml file

```bash
yq n b.c cat
```

will output:

```yaml
b:
  c: cat
```

## Creating using a create script

Create scripts follow the same format as the update scripts.

Given a script create\_instructions.yaml of:

```yaml
- command: update 
  path: b.c
  value:
    #great 
    things: frog # wow!
```

then

```bash
yq n -s create_instructions.yaml
```

will output:

```yaml
b:
  c:
    #great
    things: frog # wow!
```

You can also pipe the instructions in:

```bash
cat create_instructions.yaml | yq n -s -
```


---

# 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://mikefarah.gitbook.io/yq/v3.x/commands/create.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.
