Token导航 LogoToken导航

Agent Skill · 研究检索

revision-external-api(revision external API 搜索)

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

revision-external-api 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 52,401。

总安装 559周安装 24GitHub Stars 公开资料未说明下载 196核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/revision-org/revision-skills --skill revision-external-api

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助 API 设计、接口文档和服务集成说明。适合梳理 endpoint、生成 OpenAPI 草稿或检查字段命名。需要确认真实业务语义、鉴权方式和错误处理规则。revision-external-api 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

涉及生成接口文档时,应从现有代码或样例中提取事实,避免凭空补字段。确保接口定义与实际实现一致,减少前后端联调问题。

来源仓库内路径:skills/revision-external-api

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/revision-org/revision-skills --skill revision-…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

revision-external-api 怎么安装?

在终端执行 npx skills add https://github.com/revision-org/revision-skills --skill revision-external-a…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

revision-external-api 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

revision-external-api 需要什么权限?

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

revision-external-api 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

revision-external-api 用的人多吗?

公开数据是累计安装 559 次,近一周安装 24 次,下载 196 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

revision-external-api 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
revision-external-api

revision external API 搜索 · 本页

559—接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Revision External API

REST API for managing architecture documentation in Revision workspaces.

Prerequisites

Before making any API calls, the user must provide two things:

  1. Organization URL: Each organization has its own subdomain, e.g. https://acme-company.revision.app/. This is the base URL for all API requests. Ask the user for their organization URL if it is not already available in the conversation context — there is no default.
  2. API key: A Bearer token from the workspace settings.

Authentication

All requests require a Bearer token (API key from workspace settings):

Authorization: Bearer <api-key>

Base URL

The base URL is the organization's own Revision URL. Every organization has a unique subdomain:

https://{organization}.revision.app

For example: https://acme-company.revision.app

Important: Do not use a generic URL. Always use the organization-specific subdomain provided by the user.

Resources

ResourceEndpointsDescription
ComponentsCRUD + batch upsert + filterArchitecture components (services, databases, etc.)
DiagramsCRUD + batch upsert + filterArchitecture diagrams with component instances, relations, textareas
AttributesCRUD + batch upsertCustom attribute definitions on components
TagsCRUD + batch upsertTags for categorizing diagrams
TypesRead-onlyComponent type definitions
TemplatePOSTBulk sync of components + diagrams in a single transaction

Quick Start

List components

curl -H "Authorization: Bearer $API_KEY" \
  https://acme-company.revision.app/api/external/components

Create a component

curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "User Service", "state": "ACTIVE"}' \
  https://acme-company.revision.app/api/external/components

Create a component with a predictable ID

curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "user-service", "name": "User Service", "state": "ACTIVE"}' \
  https://acme-company.revision.app/api/external/components

Update a component

curl -X PATCH -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "User Service", "state": "ACTIVE", "desc": "Handles user auth"}' \
  https://acme-company.revision.app/api/external/components/component-id

Standard CRUD Pattern

Every resource (components, diagrams, attributes, tags) follows the same pattern:

MethodPathAction
GET/api/external/{resource}List all (with optional query filters on components, diagrams, types)
POST/api/external/{resource}Create (single item)
GET/api/external/{resource}/{id}Get by ID
PATCH/api/external/{resource}/{id}Update by ID
PATCH/api/external/{resource}/upsert-batchBatch upsert (items with id are updated, without are created)

Note: DELETE endpoints exist but are not yet implemented (return 501).

ID behavior: If you provide an id when creating, that exact ID is used (predictable). If you omit id, one is auto-generated. Providing a predictable id is useful when you need to reference the resource elsewhere (e.g. a component's id in a component instance's componentId).

Create requests accept a single object (not an array). Returns 201 on success.

Batch upsert is the most powerful pattern: send items with id to update, without id to create, all in one request.

Component Schema

{
  "id": "string",
  "name": "string",
  "state": "DRAFT | ACTIVE | ARCHIVED",
  "desc": "string | null",
  "inlineDesc": false,
  "typeId": "string | null",
  "apiContext": "string",
  "attributes": [{ "id": "string", "value": "boolean | number | string | null" }],
  "linksTo": ["diagram-id-1", "diagram-id-2"]
}
  • id: Optional on create — provide it for a predictable ID, omit for auto-generated
  • apiContext: Optional label to group related imports (defaults to current UTC timestamp if omitted)
  • linksTo: Array of diagram IDs this component links to
  • attributes: Component attribute values (reference attribute definitions by id)

Diagram Schema

{
  "id": "string",
  "name": "string",
  "state": "DRAFT | ACTIVE | ARCHIVED",
  "url": "string",
  "desc": "string | null",
  "level": "C0 | C1 | C2 | C3 | C4 | D1 | P0 | null",
  "tags": ["tag-id-1"],
  "apiContext": "string",
  "componentInstances": [],
  "relations": [],
  "textareas": []
}

Diagram Levels

LevelMeaning
C0Landscape
C1System Context
C2Container
C3Component
C4Code
D1Deployment
P0Process

Component Instances

A component is part of the architecture model — a reusable entity that can be referenced across many diagrams. A component instance is a visual placeholder on a diagram. It can optionally link to a component via componentId, but it doesn't have to — unlinked instances are just standalone placeholders with a name and type.

Two types:

Important: position, width, and height are all optional. When omitted, Revision will automatically lay out and size the instances. Prefer omitting them unless the user explicitly asks for specific positioning or sizing — auto-layout produces better results.

Non-container (default):

{
  "ref": "unique-ref",
  "componentId": "component-id | null",
  "parent": "container-ref",
  "isContainer": false,
  "placeholder": { "text": "Name", "typeId": "type-id" }
}

Container (groups other instances):

{
  "ref": "unique-ref",
  "componentId": "component-id | null",
  "isContainer": true,
  "placeholder": { "text": "Name", "typeId": "type-id" }
}
  • ref is required and must be unique within the diagram
  • componentId links the instance to a component definition (null for placeholders)
  • Non-containers can reference a parent container via the container's ref
  • Containers cannot have a parent
  • position, width, height are optional — omit them to let Revision auto-layout and auto-size

Relations

Directed edges between component instances:

{
  "fromRef": "instance-ref-1",
  "toRef": "instance-ref-2",
  "label": "string | null",
  "desc": "string | null",
  "linksTo": ["diagram-id"]
}

Textareas

Free text on diagrams:

{
  "position": { "x": 100, "y": 100 },
  "width": 300,
  "text": "string | null"
}

Attribute Schema

Custom fields on components:

{
  "id": "string",
  "name": "string",
  "desc": "string | null",
  "type": "STRING | NUMBER | BOOLEAN | LINK | USERLIST | LIST",
  "list": ["option1", "option2"],
  "forTypes": ["type-id-1"],
  "required": false,
  "apiContext": "string"
}
  • list is only valid when type is LIST (and required for LIST)
  • forTypes: Restrict attribute to specific component types

Tag Schema

{
  "id": "string",
  "name": "string",
  "desc": "string | null",
  "color": "gray | red | orange | yellow | green | blue | purple",
  "apiContext": "string"
}

Type Schema (Read-Only)

{
  "id": "string",
  "name": "string"
}

Types are managed in the Revision UI. List via GET /api/external/types. Supports optional name query parameter for filtering.

Template Sync

Bulk sync components and diagrams in a single transaction:

curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"components": [...], "diagrams": [...]}' \
  https://acme-company.revision.app/api/external/template

Accepts both JSON and YAML. Components and diagrams follow their standard schemas.

Filtering & Dependencies

Filtering Components

GET /api/external/components?name=...&typeId=...&tagId=...&attributeId=...&attributeValue=...&state=...

All filters optional. attributeValue requires attributeId.

Filtering Diagrams

GET /api/external/diagrams?componentId=...&tagId=...&name=...&level=...&state=...

All filters optional.

Filtering Types

GET /api/external/types?name=...

Component Dependencies

GET /api/external/components/{id}/dependencies

Returns DependencySearchResult[] — upstream and downstream direct dependencies for a component.

Workflow: Create a Diagram with Components

A typical end-to-end flow for documenting architecture in Revision: understand what should be documented, avoid duplicates, resolve types, create a reusable YAML template, then use that template to create the diagram.

This is the default workflow for architecture documentation and diagram creation tasks. Do not force this workflow onto read-only lookups, dependency queries, or narrow updates to already-known resources.

  1. Understand what should be documented:

- Identify the architecture elements that belong in the model and the relationships that should appear on the diagram - Distinguish between real modeled components and diagram-only placeholders before creating anything

  1. Search for existing duplicates — do this before creating components or diagrams unless the user explicitly says to create a brand new resource:

- For each component you may need, search by name: GET /api/external/components?name=<name> - For the diagram, search by name: GET /api/external/diagrams?name=<name> - If matches are found, ask the user whether to reuse the existing resource or create a new one - If the user chooses to reuse, use the existing resource's id instead of creating a new one

  1. For components that are not found, always ask before creating them:

- Ask whether each missing item should be created as a real component or represented as a placeholder on the diagram - Recommend creating components for real architecture elements the user wants tracked in the model - Recommend placeholders for uncertain, temporary, external, or diagram-only elements

  1. List types to find the right typeId values for every component or placeholder that needs one:
curl -H "Authorization: Bearer $API_KEY" \
  https://acme-company.revision.app/api/external/types
  • Always search for matching types before building the template
  • Choose the closest matching typeId from the workspace's available types
  • If no good match exists, tell the user and use a reasonable fallback only if they agree
  1. Create a YAML template locally first:

- Write a YAML template containing the components to create or reuse and the diagram definition - Prefer predictable IDs for components that will be referenced from the diagram - Keep the YAML artifact in a form the user can save, reuse, and edit locally - Prefer the template endpoint over a series of individual create calls when creating a new diagram with related components

Example YAML template:

components:
  - id: user-service
    name: User Service
    state: ACTIVE
    typeId: backend-service

  - id: user-db
    name: User Database
    state: ACTIVE
    typeId: database

diagrams:
  - name: User Service Context
    level: C2
    state: ACTIVE
    componentInstances:
      - ref: us
        componentId: user-service
      - ref: udb
        componentId: user-db
    relations:
      - fromRef: us
        toRef: udb
        label: Reads/writes
  1. Use the template to create or sync the diagram:
curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/yaml" \
  --data-binary @template.yaml \
  https://acme-company.revision.app/api/external/template
  1. Use Revision auto-layout by default:

- Do not set fixed position, x, y, width, or height values unless the user explicitly asks for manual placement or sizing - Let Revision auto-layout and auto-size component instances whenever possible

  1. Verify by fetching the diagram back:
curl -H "Authorization: Bearer $API_KEY" \
  https://acme-company.revision.app/api/external/diagrams/<returned-id>

For bulk operations and new documentation flows, prefer the template endpoint to sync everything in a single transaction.

Output Summary

After every mutation (create, update, batch upsert, or template sync), print a summary that clearly separates what was created from what was updated.

Format:

Created:
  - Component "User Service" (id: user-service)
  - Diagram "System Context" (id: system-context)

Updated:
  - Component "Auth Service" (id: auth-service) — updated name, desc

Rules:

  • Use Created for POST (201) responses and batch upsert items that had no id provided
  • Use Updated for PATCH (200) responses and batch upsert items that had an id provided
  • Always include the resource type, name, and ID
  • For updates, briefly note which fields changed
  • Omit a section if it's empty (e.g. don't print "Updated:" if nothing was updated)

Error Responses

All errors return:

{ "error": "description" }
StatusMeaning
400Validation error
401Missing or invalid API key
404Resource not found
405Method not allowed
501Not implemented (e.g. DELETE endpoints)

Error Recovery

When an API call fails:

  1. 401: Confirm the API key is correct and the Authorization header uses Bearer prefix.
  2. 400: Read the error field — it describes the validation issue. Fix the request body and retry.
  3. 404: Verify the resource ID. Use the list endpoint (GET /api/external/{resource}) to confirm the resource exists.
  4. 501: DELETE is not implemented. Use PATCH to set state: "ARCHIVED" instead.

Always verify mutations by fetching the resource back after create/update to confirm the change took effect.

Full OpenAPI Spec

For the complete OpenAPI 3.0.3 specification with all request/response schemas, see OPENAPI.md.

平台分布

Codex

33.31%
按下载量换算65

Claude

32.27%
按下载量换算63

Cursor

19%
按下载量换算37

Gemini CLI

9.12%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills