Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计异常

self-integration自我整合

Agent Skill

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

总安装

210

周安装

9

GitHub Stars

4

下载量

73
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:self-integration(自我整合)
来源仓库:https://github.com/membranehq/agent-skills
仓库路径:skills/self-integration
安装命令:
npx skills add https://github.com/membranehq/agent-skills --skill self-integration
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/membranehq/agent-skills --skill self-integration

简介

self-integration 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于信息调研、资料整理和线索追踪等需要精准匹配来源的场景。
  • 通过 npx 命令安装并使用,支持会话管理和连接配置,操作流程清晰。
  • 使用前请确认权限范围、维护状态及是否涉及联网、命令执行或文件读写。
  • 建议结合原始 README 和仓库文档进一步验证具体用法和功能边界。

SKILL.md

Self-Integration

Connect to any external app and perform actions on it. Uses the Membrane CLI.

Authentication

Authenticate with the Membrane CLI:

npx @membranehq/cli login --tenant

Alternatively, you can install the membrane CLI globally (npm i -g @membranehq/cli@latest) and use membrane login --tenant instead.

Always use --tenant to get a tenant-scoped token — this authenticates on behalf of a specific tenant (workspace + customer) in Membrane, so you don't need to pass --workspaceKey and --tenantKey on every subsequent command.

This will either open a browser for authentication or print an authorization URL to the console, depending on whether interactive mode is available. The user authenticates in Membrane, then selects a workspace and tenant (user inside workspace).

When login process is completed, the credentials are stored locally in ~/.membrane/credentials.json and used in subsequent commands automatically.

Non-interactive Authentication

If interactive browser login is not possible (e.g. remote/headless environment) the membrane login command will print an authorization URL to the terminal. The user can then open the URL in their browser and complete the login process.

If this is the case, ask the user to enter the code they see in the browser after completing the login process.

When user enters the code, complete the login process with:

npx @membranehq/cli login complete <code>

All commands below use npx @membranehq/cli (or just membrane if installed globally). Add --json to any command for machine-readable JSON output to stdout. Command without --json flag will print the result in a human-readable (and often shorter) format.

Workflow

Step 1: Get a Connection

A connection is an authenticated link to an external app (e.g. a user's Slack workspace, a HubSpot account). You need one before you can run actions.

1a. Check for existing connections

npx @membranehq/cli connection list --json

Look for a connection matching the target app. Key fields: id, name, connectorId, disconnected.

If no connection is found, go to step 1b to find a connector.

If a connection is disconnected (disconnected is true), you can reconnect it using connect --connectionId <existingId> (step 1d) instead of creating a new connection from scratch.

If a matching connection exists and disconnected is false, skip to Step 2.

1b. Find a connector

A connector is a pre-built adapter for an external app. Search by app name:

npx @membranehq/cli search slack --elementType connector --json

Look for results with elementType: "Connector". Use element.id as connectorId in step 1d.

If nothing is found, go to step 1c to build a connector.

1c. Build a connector (if none exists)

Create a Membrane Agent session to build a connector:

npx @membranehq/cli agent-session create --agent connection-building --message "Build a connector for Slack (https://slack.com)" --json

Adjust the message to describe the actual app you need.

Poll until state is "idle" or status is "completed":

npx @membranehq/cli agent-session get <sessionId> --wait --json

This command will wait until session is completed or up to a --timeout seconds and return the current state of the session. Keep polling until session is in idle state - which means the agent is done with your request.

Key response fields:

  • state: busy (still working) or idle (done with current request)
  • status: queued, starting, running, completed, failed, or cancelled
  • summary: description of what was done (available when idle)

You can send follow-up instructions or abort:

npx @membranehq/cli agent-session send <sessionId> --message "Also add OAuth2 support" --json
npx @membranehq/cli agent-session abort <sessionId> --json

After the connector is built get its id from the session summary or search for it again (step 1b) if it's not in the summary.

1d. Create a connection

Use the following command to create a connection:

npx @membranehq/cli connect --connectorId <connectorId>

In interactive mode, this will open the browser, wait for the user to complete authentication, and print the connection ID on success.

If interactive mode is not available, add --non-interactive to print the URL instead of opening the browser. This will create a connection request and output a URL to the terminal. You need to ask the user to follow this URL to complete the connection process.

It will also output the connection request ID that you can then use to get the status of the connection request and the connection Id on success.

Then poll until the user completes authentication:

npx @membranehq/cli connection-request get abc123 --json
  • status: "pending" — user hasn't completed yet, poll again.
  • status: "success" — done. Use resultConnectionId as the connection ID going forward.
  • status: "error" — failed. Check resultError for details.
  • status: "cancelled" — user cancelled the connection flow.

Step 2: Get an Action

An action is an operation you can perform on a connected app (e.g. "Create task", "Send message", "List contacts").

2a. Search for actions

Search using a natural language description of what you want to do:

npx @membranehq/cli action list --connectionId abc123 --intent "send a message" --limit 10 --json

You should always search for actions in the context of a specific connection.

Each result includes id, name, description, inputSchema (what parameters the action accepts), and outputSchema (what it returns).

If no suitable action exists, go to step 2b.

2b. Build an action (if none exists)

Use Membrane Agent. ALWAYS include the connection ID in the message:

npx @membranehq/cli agent-session create --agent action-building --message "Create an action to send a message in a channel for connection abc123" --json

Adjust the message to describe the actual action you need. Poll for completion the same way as step 1c. After the action is built, search for it again (step 2a).

Step 3: Run an Action

Execute the action using the action ID from step 2 and the connection ID from step 1:

npx @membranehq/cli action run <actionId> --connectionId abc123 --input '{"channel": "#general", "text": "Hello!"}' --json

Provide --input matching the action's inputSchema.

The result is in the output field of the response.

CLI Reference

All commands support --json for structured JSON output to stdout. Add --workspaceKey <key> and --tenantKey <key> to override project defaults.

connection

npx @membranehq/cli connection list [--json]                # List all connections
npx @membranehq/cli connection get <id> [--json]           # Get a connection by ID

connect (interactive)

npx @membranehq/cli connect --connectorId <id>                    # Create connection via browser OAuth

Opens a browser for the user to authenticate, waits for completion, and prints the result. Use --non-interactive to print the URL instead of opening the browser.

connection-request

npx @membranehq/cli connection-request create [options] [--json]   # Create connection request
npx @membranehq/cli connection-request get <requestId> [--json]    # Check request status

Options for create: --connectorId <id>, --integrationId <id>, --integrationKey <key>, --connectionId <id> (reconnect), --name <name>

action

npx @membranehq/cli action list [--connectionId <id>] [--intent <text>] [--limit <n>] [--json]   # List/search actions
npx @membranehq/cli action run <actionId> --connectionId <id> [--input <json>] [--json]      # Run an action

search

npx @membranehq/cli search <query> [--elementType <type>] [--limit <n>] [--json]   # Search connectors, integrations, etc.

agent-session

npx @membranehq/cli agent-session create --agent <agentName> --message <text> [--json]           # Create session
npx @membranehq/cli agent-session list [--json]                              # List sessions
npx @membranehq/cli agent-session get <id> [--wait] [--json]                 # Get status (--wait for long-poll)
npx @membranehq/cli agent-session send <id> --message <text> [--json]        # Send follow-up message
npx @membranehq/cli agent-session abort <id> [--json]                        # Abort session
npx @membranehq/cli agent-session messages <id> [--json]                     # Get session messages

Fallback: Raw API

If the CLI is not available, you can make direct API requests.

Base URL: https://api.getmembrane.com Auth header: Authorization: Bearer $MEMBRANE_TOKEN

Get the API token from the Membrane dashboard.

CLI CommandAPI Equivalent
connection list --jsonGET /connections
connection get <id> --jsonGET /connections/:id
search <q> --jsonGET /search?q=<q>
connection-request create --connectorId <id> --jsonPOST /connection-requests with {"connectorId": "<id>"}
connection-request get <id> --jsonGET /connection-requests/:id
action list --connectionId <id> --intent <text> --jsonGET /actions?connectionId=<id>&intent=<text>
action run <id> --connectionId <cid> --input <json> --jsonPOST /actions/:id/run?connectionId=<cid> with {"input": <json>}
agent-session create --message <text> --jsonPOST /agent/sessions with {"prompt": "<text>"}
agent-session get <id> --wait --jsonGET /agent/sessions/:id?wait=true
agent-session send <id> --message <text> --jsonPOST /agent/sessions/:id/message with {"input": "<text>"}
agent-session abort <id> --jsonPOST /agent/sessions/:id/interrupt

External Endpoints

All requests go to the Membrane API. No other external services are contacted directly by this skill.

EndpointData Sent
https://api.getmembrane.com/*Auth credentials, connection parameters, action inputs, agent prompts

Security & Privacy

  • All data is sent to the Membrane API over HTTPS.
  • CLI credentials are stored locally in ~/.membrane/ with restricted file permissions.
  • Connection authentication (OAuth, API keys) is handled by Membrane — credentials for external apps are stored by the Membrane service, not locally.
  • Action inputs and outputs pass through the Membrane API to the connected external app.

By using this skill, data is sent to Membrane. Only install if you trust Membrane with access to your connected apps.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

36.24%
按下载量换算26

Claude

32.54%
按下载量换算24

Cursor

19.24%
按下载量换算14

Gemini CLI

9.37%
按下载量换算7

安全审计

Gen Agent Trust Hub

可疑

Socket

未通过

Snyk

可疑

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills