# `mix agent_db.import_skills`
[🔗](https://github.com/manhvu/agent_db/blob/v0.1.0/lib/mix/tasks/agent_db.import_skills.ex#L1)

Imports Agent Skills from the command line.

    mix agent_db.import_skills PATH --user USER_ID

`PATH` is a folder or a tar archive, gzip-compressed or not. A folder holding a
`SKILL.md` at its own root is one skill, named after the folder; a folder (or
archive) of immediate skill folders is a collection of them, and an archive may
add one wrapper directory above them. Every text file in a skill is stored
below `viking://user/USER_ID/skills/SKILL_NAME` at the path it had inside the
skill.

A skill already stored under that name is replaced whole: files the new source
does not have are removed with it, and a replacement that fails leaves the
stored skill as it was. Every skill's outcome is printed, and the task exits
with a failure if any skill failed or the source was refused.

Options:

  * `--user` - the user whose skills subtree the skills are imported into
    (required).
  * `--json` - print per-skill outcomes as JSON instead of human text.
  * `--no-compile` - do not compile the project before running.

## What it refuses

An unsafe path, a link, a duplicate path, a path stored both as a file and a
directory, a skill with no `SKILL.md`, and a file that is not UTF-8 text, plus
the bounds one import accepts: at most 500 files
and 5000000 bytes once expanded. A source refused for
any of them leaves the store exactly as it was. macOS metadata (`._` sidecars
and `.DS_Store` files) is set aside rather than refused.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
