# Julia Yaml

> Parse and write YAML in Julia with YAML.jl, including load/load_file/load_all APIs, dictionary type customization, anchors/aliases behavior, and write/write_file emission. Use this skill when reading YAML configs, converting YAML to Julia structures, or generating YAML outputs from Julia data.

- **Type:** Skill
- **Install:** `agentstack add skill-krastanov-juliallmagentskills-julia-yaml`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Krastanov](https://agentstack.voostack.com/s/krastanov)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** Unlicense
- **Upstream author:** [Krastanov](https://github.com/Krastanov)
- **Source:** https://github.com/Krastanov/JuliaLLMAgentSkills/tree/master/julia-yaml

## Install

```sh
agentstack add skill-krastanov-juliallmagentskills-julia-yaml
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Julia YAML

Use `YAML.jl` to load YAML documents into Julia types and emit Julia data as YAML.

## Load YAML Documents

Single-document parse:

```julia
import YAML
obj = YAML.load(yaml_string)
obj2 = YAML.load_file("config.yml")
```

Multi-document parse:

```julia
docs = YAML.load_all(yaml_string)
docs2 = YAML.load_all_file("multi.yml")
```

## Control Dictionary Type

By default, mappings parse as `Dict{Any,Any}`. Pass `dicttype` to control output:

```julia
YAML.load_file("a.yml"; dicttype=Dict{Symbol,Any})
YAML.load_file("a.yml"; dicttype=OrderedDict{String,Any})
YAML.load_file("a.yml"; dicttype=()->DefaultDict{String,Any}(missing))
```

Use `OrderedDict` when key order should be preserved from source YAML.

## Write YAML

Emit to string/IO or file:

```julia
yaml_text = YAML.write(data)
YAML.write_file("out.yml", data)
```

When round-tripping, verify semantic structure, not exact formatting (layout/quoting style may differ).

## YAML Semantics Notes

- Anchors and references are supported per package README behavior.
- Numeric and timestamp-like scalars are parsed into Julia values according to YAML.jl rules.
- Keep current package limitations in mind when relying on advanced YAML features.

## Reference

- `references/yaml-api-patterns.md` - load/dump APIs, `dicttype`, and caveats

## Related Skills

- `julia-toml` - analogous workflow for TOML data
- `julia-package-dev` - package workflows where YAML may appear in tooling/config

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Krastanov](https://github.com/Krastanov)
- **Source:** [Krastanov/JuliaLLMAgentSkills](https://github.com/Krastanov/JuliaLLMAgentSkills)
- **License:** Unlicense

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-krastanov-juliallmagentskills-julia-yaml
- Seller: https://agentstack.voostack.com/s/krastanov
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
