adrielc/helios-alpha/golem-add-component
- community
Checking that the SKILL.md file is still in the repository.
Adding a new component or agent templates to an existing Golem application. Use when adding a second component, adding agent templates like human-in-the-loop or snapshotting to an existing component, or converting a single-component app to multi-component.
Install
npx vskill@latest install adrielc/helios-alpha/golem-add-componentSKILL.md
The same SKILL.md was published earlier as rust-soham/golem-claw/golem-add-component.
Adding Components and Agent Templates to an Existing Golem Application
Both golem and golem-cli can be used — all commands below work with either binary.
Two Modes of golem new in an Existing Application
When golem new is run inside an existing application directory (one that already has a golem.yaml), it operates in existing application mode. There are two use cases:
1. Add a new component (with --component-name)
Creates a new component in the application. The component gets its own directory, source files, and entry in golem.yaml.
2. Add agent templates to an existing component (without --component-name)
Adds new agent template files to an existing component. The CLI automatically detects which component to target based on the template's language. If there are multiple components using the same language, specify --component-name to disambiguate.
Template Names
Templates are specified as <language> (for the default template) or <language>/<name> (for named templates).
Rust templates
| Template | Description | |
|---|---|---|
rust | Default — a simple counter agent | |
rust/human-in-the-loop | Agent using promises for human-in-the-loop workflows | |
rust/json | Agent demonstrating JSON API support | |
rust/snapshotting | Agent with custom state snapshotting |
TypeScript templates
| Template | Description | |
|---|---|---|
ts | Default — a simple counter agent | |
ts/human-in-the-loop | Agent using promises for human-in-the-loop workflows | |
ts/json | Agent demonstrating JSON API support | |
ts/snapshotting | Agent with custom state snapshotting |
Scala templates
| Template | Description | |
|---|---|---|
scala | Default — a simple counter agent |
Required Flags
| Flag | Description | |
|---|---|---|
--template <TEMPLATE> | Template to apply (see template names above). | |
--yes / -Y | Non-interactive mode. Always use this flag. |
Optional Flags
| Flag | Description | |
|---|---|---|
--component-name <NAMESPACE:NAME> | Target component. Required when adding a new component. Also required when there are multiple existing components using the same language as the template. |
Examples
Add a new Rust component to an existing application
This creates a new billing-service/ directory with Rust component scaffolding and adds a myapp:billing-service entry to golem.yaml.
Add a new TypeScript component alongside an existing Rust component
Add the human-in-the-loop template to an existing Rust component
When there is only one Rust component, the CLI automatically targets it.
Add a template to a specific component (multi-component app)
Single-Component to Multi-Component Promotion
When the existing application has a single component with dir: "." (source files in the root), adding a second component triggers an automatic layout migration:
- The CLI creates a new subdirectory for the existing component (e.g.,
rust-main/) - It moves the existing component's source files into that subdirectory
- It creates a new subdirectory for the new component
- It updates
golem.yamlto reflect the new directory layout
The CLI shows the planned file moves and asks for confirmation (auto-confirmed with --yes).
Agent Name Conflicts
Default templates all create an agent named CounterAgent. When adding a new component using a default template (e.g., rust, ts, scala), the generated agent will conflict with any existing CounterAgent in other components, causing deployment failures.
After adding a new component with a default template, rename the generated agent (both the type/trait name and the HTTP mount path in the source files) to something unique before building or deploying.
After Adding a Component or Template
- Build to verify the new component compiles:
``shell golem build ``
- Deploy to make it available:
``shell golem deploy --reset --yes ``
- For cross-component communication, load the relevant RPC skill (
golem-call-another-agent-rust,golem-call-another-agent-ts, orgolem-call-another-agent-scala).
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckinggolem/.agents/skills/golem-add-component/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/adrielc/helios-alpha/golem-add-component)