Skip to content

Commit 73334e1

Browse files
committed
Support for custom skills
1 parent 7ad075e commit 73334e1

9 files changed

Lines changed: 4244 additions & 24 deletions

File tree

README.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ A GitHub Action to deploy agents to the [Runloop](https://runloop.ai) platform.
66

77
- **Zero-config Git deployments** - Automatically deploys your current repository
88
- **Release tag support** - Deploys specific versions when releases are published
9-
- **Multiple source types** - Git repositories, tar archives (.tar, .tar.gz, .tgz), and single files
9+
- **Multiple source types** - Git repositories, tar archives, single files, NPM packages, and PyPI packages
1010
- **Flexible packaging** - Create tar archives however you want in your workflow
1111
- **Setup commands** - Run custom setup commands after agent installation
12+
- **Custom skills** - Attach custom skill definitions (YAML or JSON) to agents
1213
- **Public/private agents** - Control agent visibility
1314
- **TTL support** - Set expiration time for uploaded objects
1415

@@ -34,12 +35,17 @@ That's it! The action will automatically use your current repository and commit
3435
| Input | Required | Default | Description |
3536
|-------|----------|---------|-------------|
3637
| `api-key` | ✅ | | Runloop API key (store in secrets) |
37-
| `source-type` | ✅ | | Agent source type: `git`, `tar`, or `file` |
38+
| `source-type` | ✅ | | Agent source type: `git`, `tar`, `file`, `npm`, or `pip` |
3839
| `agent-version` | ✅ | | Agent version (semver string like `2.0.65` or git SHA) |
3940
| `agent-name` | | repo name | Name for the agent (defaults to repository name) |
4041
| `git-repository` | | current repo | Git repository URL (auto-detected) |
4142
| `git-ref` | | current commit/tag | Git ref (branch/tag/commit SHA, auto-detected) |
43+
| `npm-package` | | | NPM package name (required for `npm`, e.g., `@anthropic-ai/claude-code`) |
44+
| `npm-registry-url` | | | NPM registry URL (defaults to public npm registry) |
45+
| `pip-package` | | | PyPI package name (required for `pip`, e.g., `deepagents-cli`) |
46+
| `pip-index-url` | | | PyPI index URL (defaults to public PyPI) |
4247
| `path` | | | Path to tar archive or single file (required for `tar`/`file`) |
48+
| `custom-skill` | | | Custom skill definition in YAML (or JSON) to attach to the agent |
4349
| `setup-commands` | | | Newline-separated setup commands to run after installation |
4450
| `is-public` | | `false` | Whether the agent should be publicly accessible |
4551
| `api-url` | | `https://api.runloop.ai` | Runloop API URL |
@@ -143,6 +149,47 @@ You can also use `.tar` format or reference output from a previous step:
143149
path: ./scripts/agent.sh
144150
```
145151

152+
### NPM Package
153+
154+
```yaml
155+
- uses: runloopai/deploy-agent@main
156+
with:
157+
api-key: ${{ secrets.RUNLOOP_API_KEY }}
158+
source-type: npm
159+
agent-version: 1.0.0
160+
npm-package: "@anthropic-ai/claude-code"
161+
```
162+
163+
### NPM Package with Custom Skill
164+
165+
The `custom-skill` input accepts a YAML (or JSON) definition:
166+
167+
```yaml
168+
- uses: runloopai/deploy-agent@main
169+
with:
170+
api-key: ${{ secrets.RUNLOOP_API_KEY }}
171+
source-type: npm
172+
agent-version: 1.0.0
173+
npm-package: "@anthropic-ai/claude-code"
174+
custom-skill: |
175+
name: my-skill
176+
description: A custom skill for the agent
177+
instructions: >-
178+
Detailed instructions for how the agent
179+
should use this skill.
180+
```
181+
182+
### PyPI Package
183+
184+
```yaml
185+
- uses: runloopai/deploy-agent@main
186+
with:
187+
api-key: ${{ secrets.RUNLOOP_API_KEY }}
188+
source-type: pip
189+
agent-version: 1.0.0
190+
pip-package: deepagents-cli
191+
```
192+
146193
## Authentication
147194

148195
Store your Runloop API key as a GitHub secret:

action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ inputs:
5656
description: 'Path to file or tar archive (required if source-type=tar/file)'
5757
required: false
5858

59+
# Custom skill inputs
60+
custom-skill:
61+
description: 'YAML-encoded custom skill definition to attach to the agent'
62+
required: false
63+
5964
# Common inputs
6065
setup-commands:
6166
description: 'Newline-separated setup commands to run after agent installation'

0 commit comments

Comments
 (0)