hlix skill, agent & mcp import
These three commands activate a resource that project import only quarantines. A project scan preserves agent instructions, skill content, and MCP configuration encrypted — but inert. Activation is separate because these files can change model behaviour, run tools, reach remote services, or execute local programs inside the Coding Workspace.
Prerequisites
Section titled “Prerequisites”- A folder bound by
hlix import— all three exitnot_initializedotherwise - You have read the complete file you are importing
hlix skill import
Section titled “hlix skill import”hlix skill import <SKILL.md|folder> [--name <slug>] [--json]Arguments
Section titled “Arguments”<path>(string, required): aSKILL.mdfile, or a folder containing one. Exactly one; zero exitsmissing_argument, two exitsinvalid_usage.
--name <slug>(string, default derived from the path): the project-scoped identifier. Must be a lowercase kebab-case slug matching^[a-z0-9]+(-[a-z0-9]+)*$. Derivation is the folder name for a directory, the parent folder’s name for a file calledSKILL.md, and otherwise the file’s base name.--json(boolean, defaultfalse): return the stored skill metadata.
Conflicts and validation
Section titled “Conflicts and validation”- A symlink at the given path is refused outright.
- The resolved file must be a regular file of at most 200,000 bytes.
- Re-importing with the same project-scoped name updates that skill.
hlix agent import
Section titled “hlix agent import”hlix agent import <markdown-file> [--name <name>] [--runtime <runtime>] [--profile <profile>] [--json]Arguments
Section titled “Arguments”<markdown-file>(string, required): one Markdown instruction file. The extension must be.mdor.mdx.
--name <name>(string, default the file’s base name with-and_turned into spaces): the agent’s display name. Unlike a skill slug, this is free text.--runtime <runtime>(claude-code|codex|cursor-agent|hlix, defaulthlix): which coding agent the instructions target. Any other value is refused with the accepted list. This flag names the runtime an agent record targets; it is separate from the task-level harness cascade, whose default is alsohlix.--profile <profile>(builder|desktop|e2e, defaultbuilder): the sandbox profile the agent runs under.desktopande2eare sandbox-driver profiles, so they require--runtime claude-code; combining either withhlixis refused rather than accepted and ignored.--json(boolean, defaultfalse): return the created agent, including its ID.
Conflicts and validation
Section titled “Conflicts and validation”- The file must be a regular file of at most 20,000 bytes.
- Agent import creates a new agent each time, so an existing agent identity is never replaced implicitly. Skill and MCP imports update in place; this one does not.
--runtimehere names the coder for an agent record. Which harness actually runs a given task is decided by a wider cascade — see Connect your agents.
hlix mcp import
Section titled “hlix mcp import”hlix mcp import <.mcp.json> [--server <name>] [--allow-stdio] [--json]Arguments
Section titled “Arguments”<.mcp.json>(string, required): an MCP configuration file containing anmcpServersobject. At most 200,000 bytes.
--server <name>(string, default the only server): which server to activate. Required when the file defines more than one — a file with several servers and no--serveris refused rather than defaulting to the first.--allow-stdio(boolean, defaultfalse): permit a stdio server. Required, because a stdio server executes a local program inside the Coding Workspace. It is not permission to run an arbitrary command string through a shell — the command must be a validated direct executable.--json(boolean, defaultfalse): return the stored server definition, including the environment key names but no values.
Conflicts and validation
Section titled “Conflicts and validation”- The transport is taken from
typewhen it ishttporsse, otherwise inferred: acommandmeans stdio, aurlmeans http. Neither exits withMCP server <name> has no supported transport. - A stdio server without
--allow-stdiois refused:Stdio MCP servers execute a local command in the cloud; repeat with --allow-stdio. - Remote URLs must use public HTTPS. Embedded credentials, query strings, fragments, and loopback, private, link-local, or cloud-metadata hosts are refused.
- Every header value must be a string, and must be exactly
${KEY}or one approved scheme followed by it —Bearer,Basic, orToken. Extra prefix or suffix text is refused, and a headers object with no${KEY}placeholder at all is refused as a literal credential. - Only environment key names are sent. The values must already exist in the project’s encrypted secrets; a missing one fails closed at task time rather than starting with an empty value.
- Malformed JSON exits with
MCP config is not valid JSON.; an emptymcpServersexits withMCP config contains no servers.
If a resource import fails
Section titled “If a resource import fails”not_initialized—This folder is not bound to an Hlix project. Run `hlix import .` first.The nearest binding is used, and only that one; an initialized-but-unimported folder does not fall through to an imported ancestor.Skill name must be a lowercase kebab-case slug.— pass--nameexplicitly.Agent imports must be Markdown files.— convert the reviewed instructions to.md.MCP config contains multiple servers; select one with --server <name>.MCP remote headers must use ${KEY} placeholders; literal credentials are refused.Refusing to import a symlink: …orRefusing to import a non-regular file: …Import file exceeds <n> bytes: …— 200,000 for skills and MCP configuration, 20,000 for an agent brief.
Next steps
Section titled “Next steps”Import skills, agents & MCPThe walkthrough, the pre-run verification list, and how MCP secrets resolve.
Import trust modelWhat each import phase reads, executes, and makes active.
Connect your agentsThe agent matrix, and which harness actually runs a task.
CLI referenceGlobal options, exit codes, and every error code above.