Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

mindstudio-http-request-block-skillMindstudio http 请求拦截技巧

Agent Skill

mindstudio-http-request-block-skill 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,096

周安装

129

GitHub Stars

1

下载量

1,032
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:mindstudio-http-request-block-skill(Mindstudio http 请求拦截技巧)
来源仓库:https://github.com/sol1986/mindstudio-http-request-block-skill
安装命令:
openclaw skills install mindstudio-http-request-block-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install mindstudio-http-request-block-skill

简介

该技能配置 HTTP 请求块以对接外部 API 与 Webhook。

  • 适合系统集成、数据拉取与服务间通信需求。
  • 支持 GET/POST 方法、头部设置与响应解析。
  • 安装命令:openclaw skills install mindstudio-http-request-block-skill;需提供目标端点 URL。
  • 注意鉴权方式与安全策略,防止凭证泄露或接口滥用。

SKILL.md

name
mindstudio-http-request-block-skill
description
Configure and use the MindStudio HTTP Request block to send data to external APIs, webhooks, and web services. Use this skill whenever a user mentions HTTP requests, webhooks, calling an API, connecting to Make, Zapier, HubSpot, Airtable, Finnhub, or any external service from MindStudio, wants to fetch or POST data mid-workflow, or asks how to send workflow output somewhere. Always use this skill — do not attempt to configure an HTTP Request block from memory. Even if the request seems simple ("how do I POST to a webhook"), use this skill.

MindStudio HTTP Request Block Skill

A production reference for configuring the HTTP Request block correctly, reliably, and safely across any MindStudio workflow.


Step 1: Identify the Scenario and Interview the User

Before writing any configuration, determine what the user is trying to do. Match their intent to one of the five scenarios below, then ask only the questions listed for that scenario. Do not ask questions from other scenarios. Do not guess at variable names — use exactly what the user provides.

If the user's intent is already clear from context (e.g. they said "POST my AI output to a Make webhook"), skip straight to the questions for that scenario without asking them to confirm the scenario type.


Scenario A: Fetch Data (GET)

Trigger: User wants to retrieve data from an API — weather, stock prices, user records, CRM contacts, etc.

Ask the user:

  1. What is the API endpoint URL? (full URL including any path)
  2. Does the endpoint require an API key or token? If yes, what is the header name (e.g. Authorization, X-Api-Key)?
  3. Are there any query parameters needed to filter or specify the data? (e.g. symbol=AAPL, user_id={{userId}})
  4. What data do you need from the response? (so downstream handling can be configured correctly)

Method: GET Body: None Content-Type: none


Scenario B: Send Data (POST)

Trigger: User wants to submit data to an external system — form submissions, JSON payloads, lead captures, AI output delivery, etc.

Ask the user:

  1. What is the endpoint URL you are sending to?
  2. Does the endpoint require an API key or token? If yes, what is the header name?
  3. What variables from your workflow do you want to send? List the exact variable names (e.g. {{customer_name}}, {{ai_output}}, {{email}}).
  4. Does the endpoint expect JSON, form data, or plain text?
  5. What do you expect back in the response? (e.g. a confirmation ID, a status field, nothing)

Method: POST Content-Type: application/json (default unless user specifies otherwise)


Scenario C: Update or Modify (PATCH / PUT)

Trigger: User wants to update an existing record in an external system — CRM contact, database row, project record, etc.

Ask the user:

  1. What is the base endpoint URL? (e.g. https://api.example.com/contacts)
  2. What is the record ID variable name in your workflow? (e.g. {{contact_id}}, {{record_id}}) — this gets appended to the URL
  3. Are you updating specific fields only (PATCH) or replacing the entire record (PUT)?
  4. Which fields are being updated? List the exact variable names and what each field represents.
  5. Does the endpoint require an API key or token? If yes, what is the header name?
  6. What do you expect back in the response?

Method: PATCH (partial update) or PUT (full replacement) Content-Type: application/json


Scenario D: Delete a Resource (DELETE)

Trigger: User wants to remove a record or resource from an external system.

Ask the user:

  1. What is the base endpoint URL?
  2. What is the record ID variable name in your workflow? (gets appended to the URL)
  3. Does the endpoint require an API key or token? If yes, what is the header name?
  4. Confirm: this action is permanent. Is that the intent?
  5. What do you expect back in the response? (many DELETE endpoints return 204 with no body)

Method: DELETE Body: None Content-Type: none

Safety rule: Never generate a DELETE configuration without explicit confirmation from the user that removal is the intended action.


Scenario E: Trigger an External System

Trigger: User wants to fire a signal to an external system when something happens in the workflow — webhooks, Make/Zapier triggers, notifications, pipeline kicks, inter-workflow calls, etc.

Ask the user:

  1. What is the webhook or trigger URL?
  2. Does it require any authentication headers? (many webhooks do not)
  3. What data do you want to include in the trigger payload? List exact variable names.
  4. What does the external system return on success? (e.g. Make returns {"accepted": true}, some return 200 with no body)
  5. Is there anything that should happen in the workflow after the trigger fires? (e.g. branch on success/failure, log the result)

Method: POST Content-Type: application/json


Step 2: Generate the Block Configuration

Once the user answers the questions for their scenario, output a complete, ready-to-paste block configuration using this structure:

URL          : [full URL, with variables where needed]
Method       : [GET / POST / PATCH / PUT / DELETE]
Content-Type : [application/json / none / other]

Headers:
  [Key]  : [Value]
  [Key]  : [Value]

Parameters (GET only):
  [key]  : [value]

Body:
[JSON or form structure using exact variable names]

Output Variable: [descriptiveName]

Then immediately follow with the downstream handling block:

On success (ok = true):
  - [what to do with the response]
  - [how to access specific fields]

On failure (ok = false):
  - Check {{outputVar.status}} for error code
  - [recommended branch or fallback]

Block Output Fields

Every HTTP Request block returns four fields regardless of method or endpoint:

FieldTypeDescription
okBooleantrue if response status is in the 2xx range
statusNumberNumeric HTTP status code (e.g. 200, 404, 500)
statusTextStringStatus description (e.g. "OK", "Not Found")
responseStringFull response body as a raw string

Access them downstream using:

{{outputVar.ok}}
{{outputVar.status}}
{{outputVar.statusText}}
{{outputVar.response}}

If the response body is JSON, pass {{outputVar.response}} to a downstream Generate Text or Run Function block to parse and extract fields. Never access nested fields directly from the raw response string.


Configuration Field Reference

URL

  • Must be a complete, valid URL including https://
  • Variables are supported: https://api.example.com/users/{{userId}}
  • Never hardcode API keys or tokens in the URL — use headers

Method

MethodUse Case
GETRetrieve data — no body
POSTCreate a resource or trigger an action
PATCHPartially update an existing resource
PUTFully replace an existing resource
DELETERemove a resource — no body
HEADRetrieve headers only
OPTIONSDiscover available methods

Headers

Content-Type    : application/json
Authorization   : Bearer {{apiKey}}
Accept          : application/json
X-Api-Key       : {{serviceKey}}
  • Always include Content-Type when sending a body
  • Always include Authorization when the endpoint requires it
  • All values support {{variable}} syntax

Parameters

Query string key-value pairs. Used with GET requests.

symbol    : {{ticker}}
token     : {{apiKey}}
from      : {{startDate}}

Content Type

OptionWhen to Use
application/jsonStructured JSON data (most common)
application/x-www-form-urlencodedHTML form submissions
multipart/form-dataFile uploads or mixed form data
text/plainRaw text payloads
application/XMLXML-based APIs
customAny content type not in this list
noneGET, HEAD, DELETE — no body

Body

For application/json:

{
  "customer_name": "{{customer_name}}",
  "email": "{{email}}",
  "ai_output": "{{generatedText}}",
  "submitted_at": "{{timestamp}}"
}

For application/x-www-form-urlencoded:

customer_name={{customer_name}}&email={{email}}

For GET / DELETE: Leave body empty. Set Content-Type to none.

Output Variable

Always set this. Use a descriptive name that reflects the source.

makeResponse
crmResult
stockData
userRecord
patchResult

Request Construction Rules

  1. Method selection — POST for create/trigger, PATCH for partial update, PUT for full replace, GET for read-only, DELETE for removal
  2. Headers — always include Content-Type when sending a body; always include auth headers when required; never omit required headers
  3. Body — every field must come from a real workflow variable or a hardcoded literal; never invent field values
  4. Variables — use {{variableName}} syntax everywhere; use dot notation for nested data from upstream blocks
  5. Output variable — always name it; always check ok before using response downstream

Output Handling

Success (ok = true, 2xx)

  1. Check {{outputVar.ok}} is true before proceeding
  2. Access raw body via {{outputVar.response}}
  3. If body is JSON, parse it in a downstream block before using individual fields
  4. Store or log relevant fields for use in the rest of the workflow

Failure (ok = false, 4xx or 5xx)

StatusMeaningFix
400Bad RequestBody is malformed or missing required fields
401UnauthorizedMissing or invalid API key / token
403ForbiddenValid key but insufficient permissions
404Not FoundURL is wrong or resource does not exist
422Unprocessable EntityJSON is valid but field values are invalid
429Rate LimitedToo many requests — add a Wait block
500Server ErrorExternal API issue — retry or alert
503Service UnavailableExternal API is down — retry later

Malformed Response

  • Do not parse a non-JSON response as JSON
  • Route to an error branch and log {{outputVar.response}} for debugging
  • Never pass raw malformed content to downstream AI blocks

Reliability Rules

Missing required data:

  • Use a Condition block upstream to verify required variables are not empty before the HTTP Request block runs
  • If a required field is missing, route to an error message block — never send an incomplete request

API failure:

  • Always check {{outputVar.ok}} immediately after the block
  • Branch on failure — never assume success

Retry logic:

  • Add a Wait block between retries for flaky endpoints (rate limits, 503s)
  • Maximum 2-3 retries before routing to a permanent failure state
  • Never retry on 4xx — those are logic or config errors, not transient failures

Response validation:

  • Verify {{outputVar.response}} is non-empty after a 2xx
  • Confirm expected fields exist before passing to downstream blocks

Safety Rules

Absolute. No exceptions.

  1. Never send undefined or empty variables in the request body — validate upstream first
  2. Never hallucinate field names — use only field names confirmed by the user or API documentation
  3. Never hardcode API keys, tokens, or passwords in the URL or body — always inject via workflow variable
  4. Never send a body with GET, HEAD, or DELETE requests
  5. Never omit Content-Type when sending a body — mismatches cause silent failures
  6. Never pass raw response strings to downstream AI blocks without labeling the format
  7. Never retry on 4xx errors — retrying will not fix a bad request
  8. Never generate a DELETE configuration without explicit user confirmation of intent

Example Configurations

Example 1: GET — Fetch Stock Quote from Finnhub

URL          : https://finnhub.io/api/v1/quote?symbol={{ticker}}&token={{finnhubApiKey}}
Method       : GET
Content-Type : none
Headers      :
  Accept : application/json
Body         : (empty)
Output Variable: stockData
On success: parse {{stockData.response}} — field "c" is current price
On failure: log {{stockData.status}} — check API key and ticker symbol

Example 2: POST — Send AI Output to Make Webhook

URL          : https://hook.us1.make.com/{{webhookId}}
Method       : POST
Content-Type : application/json
Headers      :
  Content-Type : application/json
Body:
{
  "customer_name": "{{customer_name}}",
  "email": "{{email}}",
  "ai_output": "{{generatedText}}",
  "submitted_at": "{{timestamp}}"
}
Output Variable: makeResponse
On success: Make returns {"accepted": true} — log and continue
On failure: log {{makeResponse.status}} — verify webhook URL is active

Example 3: PATCH — Update a CRM Contact

URL          : https://api.hubspot.com/crm/v3/objects/contacts/{{contact_id}}
Method       : PATCH
Content-Type : application/json
Headers      :
  Content-Type  : application/json
  Authorization : Bearer {{hubspotApiKey}}
Body:
{
  "properties": {
    "lead_score": "{{lead_score}}",
    "last_contacted": "{{timestamp}}",
    "notes": "{{ai_summary}}"
  }
}
Output Variable: crmResult
On success: {{crmResult.ok}} = true — record updated
On 404: contact_id is wrong — check the variable source block
On 422: field name mismatch — verify HubSpot property names

Example 4: DELETE — Remove a Resource

URL          : https://api.example.com/records/{{record_id}}
Method       : DELETE
Content-Type : none
Headers      :
  Authorization : Bearer {{apiKey}}
Body         : (empty)
Output Variable: deleteResult
On success: status 204 — no body returned, deletion confirmed
On 404: record_id does not exist or was already deleted
On 403: API key does not have delete permissions

Example 5: POST — Trigger a Zapier Webhook

URL          : https://hooks.zapier.com/hooks/catch/{{zapId}}/{{hookId}}/
Method       : POST
Content-Type : application/json
Headers      :
  Content-Type : application/json
Body:
{
  "event": "workflow_completed",
  "user_email": "{{email}}",
  "result": "{{ai_output}}",
  "timestamp": "{{timestamp}}"
}
Output Variable: zapierResponse
On success: Zapier returns {"status": "success"} — trigger confirmed
On failure: log {{zapierResponse.status}} — verify Zap is active and URL is correct

Pre-Flight Checklist

URL and method:

  • [ ] URL is complete and starts with https://
  • [ ] Method matches the intended operation
  • [ ] Dynamic values in the URL use {{variableName}} syntax

Headers:

  • [ ] Content-Type is set and matches the body format
  • [ ] Auth header is included if the endpoint requires it
  • [ ] API key is injected from a variable — not hardcoded

Body:

  • [ ] Content Type in block settings matches the Content-Type header
  • [ ] Every field uses a real workflow variable or literal value
  • [ ] No field has an undefined or empty variable
  • [ ] Body is empty for GET and DELETE requests

Output:

  • [ ] Output Variable is named and descriptive
  • [ ] Downstream blocks check {{outputVar.ok}} before using {{outputVar.response}}
  • [ ] A failure branch exists for ok = false

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

73.73%
按下载量换算761

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills