skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
steveclarke/dotfiles145 installs

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-creation
view source ↗

Is 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

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>