/hephaestus-upload
Use when the user types $hephaestus-upload or /hep-upload, or asks to upload, publish, or list an Agentlas agent or team. Ask Cloud (private) vs Agentlas Hub (public) FIRST, then publish through the bundled Hephaestus gate.
$ npx -y skills add agentlas-ai/Agentlas-OS --skill hephaestus-upload --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/hephaestus-upload
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user types $hephaestus-upload or /hep-upload, or asks to upload, publish, or list an Agentlas agent or team. Ask Cloud (private) vs Agentlas Hub (public) FIRST, then publish through the bundled Hephaestus gate.
SKILL.md
hephaestus-upload.SKILL.mdname: hephaestus-upload
description: "Use when the user types $hephaestus-upload or /hep-upload, or asks to upload, publish, or list an Agentlas agent or team. Ask Cloud (private) vs Agentlas Hub (public) FIRST, then publish through the bundled Hephaestus gate."
Hephaestus Upload (Cloud or Agentlas Hub)
Publish a finished Agentlas package. This is a WRITE surface: a Hub upload is public and other people can borrow it, so the destination question comes before any packaging or API call.
Upload is deliberately NOT folded into `/hep-network`. Network staffs a roster (a read), upload publishes an artifact (a write that is hard to take back); merging them would let "find me an agent" end in an accidental publish.
1. Ask the destination first — always
Ask this before anything else, even when the arguments already say upload, publish, add, Cloud, Hub, or name a target folder:
Cloud에 업로드 할까요? 다른사람들이 볼 수 없어요.
Upload to Cloud? Other people cannot see it.
Agentlas Hub에 업로드 할까요? 다른 사람들이 빌려 쓸 수 있어요.
Upload to Agentlas Hub? Other people can borrow it.
Do not package, publish, register, add-source, reindex, or call any upload API until the user answers Cloud or Agentlas Hub. If the destination is answered but the target folder is ambiguous, ask for the exact agent folder before running anything.
2. Resolve the runner in this host
Run the preflight inside this host app; never ask the user to open a separate terminal.
RUNNER=""
for candidate in "$HOME/.agentlas/runtime/current/bin/hephaestus" "./bin/hephaestus"; do
[ -x "$candidate" ] && RUNNER="$candidate" && break
done
[ -n "$RUNNER" ] || { echo "Hephaestus runtime not found. Run the installer first." >&2; exit 1; }3. Validate through the bundled gate
The gate must validate the package without assuming any private local checkout:
- Cloud / private-link: `"$RUNNER" package <agent-folder> --visibility private-link`
- Agentlas Hub / marketplace: `"$RUNNER" package <agent-folder> --visibility marketplace`
For a Hub upload the gate blocks a missing or generic `publicProfile`, an invalid `routing-card.json`, missing package hashes, static security blockers, and bundles over the public size limits. It repairs what it can derive from the package rather than refusing — including the entity type: a card that claims `agent` while the package ships a multi-node roster is corrected to `team`, so the release is priced and executed as the team it actually is.
4. Publish
- Cloud: `"$RUNNER" publish <agent-folder> --visibility private-link`
- Agentlas Hub: `"$RUNNER" publish <agent-folder> --visibility marketplace`
On a non-interactive host with no TTY, do not call the question-only gate again after the user has answered. Use one explicit command:
- Cloud: `"$RUNNER" hep-upload <agent-folder> --visibility private-link`
- Agentlas Hub: `"$RUNNER" hep-upload <agent-folder> --visibility marketplace`
5. Workforce résumé repair loop
If registration returns `workforce_resume_incomplete`, the server refused the card because its `workforce` block does not match the hub standard résumé. The error carries the exact mismatches and seed ontology examples. YOU repair it — the platform never edits the card for you: use stable English `role:*`, `community:*`, `skill:*`, and `knowledge:*` IDs that actually describe the agent. The returned examples are aliases, not an allowlist. Rerun the upload and repeat until registration succeeds.
6. Report honestly
Report `published` only when registration actually succeeded, and say which destination it went to. Otherwise report the last true state — `validated`, `blocked`, or `failed` — with the server's exact refusal code.
Read more
name: hephaestus-upload description: "Use when the user types $hephaestus-upload or /hep-upload, or asks to upload, publish, or list an Agentlas agent or team. Ask Cloud (private) vs Agentlas Hub (public) FIRST, then publish through the bundled Hephaestus gate."
Hephaestus Upload (Cloud or Agentlas Hub)
Publish a finished Agentlas package. This is a WRITE surface: a Hub upload is public and other people can borrow it, so the destination question comes before any packaging or API call.
Upload is deliberately NOT folded into `/hep-network`. Network staffs a roster (a read), upload publishes an artifact (a write that is hard to take back); merging them would let "find me an agent" end in an accidental publish.
1. Ask the destination first — always
Ask this before anything else, even when the arguments already say upload, publish, add, Cloud, Hub, or name a target folder:
Cloud에 업로드 할까요? 다른사람들이 볼 수 없어요. Upload to Cloud? Other people cannot see it. Agentlas Hub에 업로드 할까요? 다른 사람들이 빌려 쓸 수 있어요. Upload to Agentlas Hub? Other people can borrow it.
Do not package, publish, register, add-source, reindex, or call any upload API until the user answers Cloud or Agentlas Hub. If the destination is answered but the target folder is ambiguous, ask for the exact agent folder before running anything.
2. Resolve the runner in this host
Run the preflight inside this host app; never ask the user to open a separate terminal.
RUNNER=""
for candidate in "$HOME/.agentlas/runtime/current/bin/hephaestus" "./bin/hephaestus"; do
[ -x "$candidate" ] && RUNNER="$candidate" && break
done
[ -n "$RUNNER" ] || { echo "Hephaestus runtime not found. Run the installer first." >&2; exit 1; }3. Validate through the bundled gate
The gate must validate the package without assuming any private local checkout:
- Cloud / private-link: `"$RUNNER" package <agent-folder> --visibility private-link`
- Agentlas Hub / marketplace: `"$RUNNER" package <agent-folder> --visibility marketplace`
For a Hub upload the gate blocks a missing or generic `publicProfile`, an invalid `routing-card.json`, missing package hashes, static security blockers, and bundles over the public size limits. It repairs what it can derive from the package rather than refusing — including the entity type: a card that claims `agent` while the package ships a multi-node roster is corrected to `team`, so the release is priced and executed as the team it actually is.
4. Publish
- Cloud: `"$RUNNER" publish <agent-folder> --visibility private-link`
- Agentlas Hub: `"$RUNNER" publish <agent-folder> --visibility marketplace`
On a non-interactive host with no TTY, do not call the question-only gate again after the user has answered. Use one explicit command:
- Cloud: `"$RUNNER" hep-upload <agent-folder> --visibility private-link`
- Agentlas Hub: `"$RUNNER" hep-upload <agent-folder> --visibility marketplace`
5. Workforce résumé repair loop
If registration returns `workforce_resume_incomplete`, the server refused the card because its `workforce` block does not match the hub standard résumé. The error carries the exact mismatches and seed ontology examples. YOU repair it — the platform never edits the card for you: use stable English `role:*`, `community:*`, `skill:*`, and `knowledge:*` IDs that actually describe the agent. The returned examples are aliases, not an allowlist. Rerun the upload and repeat until registration succeeds.
6. Report honestly
Report `published` only when registration actually succeeded, and say which destination it went to. Otherwise report the last true state — `validated`, `blocked`, or `failed` — with the server's exact refusal code.
Agent OS: keep specialist agents in a hub, spin up a temporary orchestrator per task. Local-first, works with any model.
Other skills on agentlas-os.
- /agentlas-core-engine-meta-agent
Use when creating a single Agentlas agent, creating a multi-agent team, or packaging an existing local/external agent into Agentlas architecture. Make sure to use this for /meta-agent requests.
Open skill - /hephaestus-build
Use when the user types /prompts:hep-build, mentions @Hephaestus for build work, asks to create a single Agentlas agent, create a multi-agent team, or package an existing local/external agent into Agentlas architecture.
Open skill - /hephaestus-cloud
Use when the user types /hep-cloud or asks to staff from THEIR OWN Agentlas cloud packages only. Cloud is one exact source scope; Network means Local + owner Cloud + public Hub.
Open skill - /hephaestus-network
Use when the user types $hephaestus-network or /hep-network, mentions @Hephaestus, or asks Agentlas to staff a durable goal from registered Local, owner Cloud, and public Hub agents or teams. The active host LLM staffs each turn; the exact roster remains goal-bound until
Open skill - /hephaestus-storm
Use when the user types /hep-storm, says @Hephaestus storm <goal>, or asks to drive a goal to verified completion through a force-robust Stormbreaker loop. Stormbreaker routes the goal to real Agentlas specialists, materializes a dependency-ordered pipeline fabric, and runs each
Open skill - /routing-card-authoring
Use whenever a build emits or repairs .agentlas/routing-card.json — the shared card contract for the single-agent builder, the team builder, and the packager. States what belongs in every field, which fields the hub can actually match on, and which fields silently break matching
Open skill

