# geni resource pull (/cli/resource/pull)



```sh
geni resource pull <id> [flags]
```

Downloads a resource's live files into a directory and writes its `.geni-resource.json` marker, so you can read or edit them. Use it to start working on a resource you didn't create locally, or to diff your local edits against what's published (pull into a temp directory).

## Synopsis [#synopsis]

```sh
geni resource pull wf_01HX
geni resource pull wf_01HX --dir ./digest
geni resource pull wf_01HX --dir /tmp/live --force   # for a diff
geni resource pull skl_01HX --dir ./triage-skill
```

| Arg / Flag     | Notes                                      |
| -------------- | ------------------------------------------ |
| `<id>`         | Resource id to pull (`wf_` or `skl_`).     |
| `--dir <path>` | Destination directory. Defaults to cwd.    |
| `--force`      | Overwrite existing files in the directory. |

Every resource type moves its files through the same tar bundle transport, so binary assets (images, `docx` templates in a skill's `assets/`) are preserved byte-for-byte. After pulling, edit and [`publish`](/cli/resource/publish).
