bruno-endpoint-creation
Create Bruno REST API endpoint configs with auth, environment setup, and docs. Triggers on 'create Bruno endpoint', 'Bruno API testing', 'Bruno collection'.
How do I install this agent skill?
npx skills add https://github.com/steveclarke/dotfiles --skill bruno-endpoint-creationIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides templates and documentation for creating Bruno REST API endpoint configurations. It follows security best practices by recommending the use of secret variables for sensitive data and contains no malicious patterns or unauthorized code execution.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1/1 file flagged
- ZeroLeakspass
1 finding · Score: 82/100
What does this agent skill do?
Bruno Endpoint Creation
Bruno-specific patterns for creating .bru endpoint files. Assumes familiarity with REST conventions.
Environment Configuration
Development (Local.bru):
vars {
baseUrl: http://localhost:3001
linkId:
apiKey: dev_api_key_change_in_production
}
Production/Staging — use vars:secret for sensitive data:
vars {
baseUrl: https://api.yourdomain.com
linkId:
}
vars:secret [
apiKey
]
Collection-Level Authentication
Set auth once in collection.bru, then inherit in all endpoints:
auth {
mode: bearer
}
auth:bearer {
token: {{apiKey}}
}
Individual endpoints inherit with auth: inherit:
post {
url: {{baseUrl}}/api/v1/resources
body: json
auth: inherit
}
Override per-endpoint only when auth differs from the collection.
Request Structure
meta {
name: "Create Resource"
type: http
seq: 1
}
post {
url: {{baseUrl}}/api/v1/resources
body: json
auth: inherit
}
body:json {
{
"resource": {
"field1": "value1",
"field2": "value2"
}
}
}
params:path {
id: {{resourceId}}
}
params:query {
page: 1
limit: 20
sort: created_at
order: desc
}
Scripting API
Post-response — extract data for subsequent requests:
script:post-response {
if (res.status === 201 && res.body && res.body.id) {
bru.setVar("resourceId", res.body.id);
}
}
Pre-request — generate dynamic data:
script:pre-request {
const timestamp = Date.now();
bru.setVar("uniqueEmail", `test-${timestamp}@example.com`);
}
Key difference:
bru.setVar()— runtime variables (temporary, current collection run only)bru.setEnvVar()— environment variables (persists, visible in Environment tab)
Use bru.setVar() for ephemeral values like extracted IDs from test runs.
Documentation Block
docs {
Create a new resource in the system.
**Required Fields:**
- field1: Description
- field2: Description
**Optional Fields:**
- optional_field: Description
}
Collection Folder Structure
Bruno Collection/
├── Environments/
│ ├── Local.bru
│ ├── Staging.bru
│ └── Production.bru
├── Authentication/
│ ├── Login.bru
│ └── Refresh Token.bru
├── Resources/
│ ├── List Resources.bru
│ ├── Get Resource.bru
│ ├── Create Resource.bru
│ ├── Update Resource.bru
│ └── Delete Resource.bru
└── Health/
└── Health Check.bru
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/steveclarke/dotfiles/bruno-endpoint-creation">View bruno-endpoint-creation on skillZs</a>