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

revision-external-apirevision external API 搜索

Agent Skill

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

总安装

559

周安装

24

GitHub Stars

公开资料未说明

下载量

196
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

简介

用于辅助 API 设计、接口文档和服务集成说明。

  • 适合梳理 endpoint、生成 OpenAPI 草稿或检查字段命名。
  • 需要确认真实业务语义、鉴权方式和错误处理规则。revision-external-api 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 涉及生成接口文档时,应从现有代码或样例中提取事实,避免凭空补字段。
  • 确保接口定义与实际实现一致,减少前后端联调问题。

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.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

33.31%
按下载量换算65

Claude

32.27%
按下载量换算63

Cursor

19%
按下载量换算37

Gemini CLI

9.12%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills