Token导航 LogoToken导航TokenDH.com
待分类敏感数据github未标认证来源可访问许可证需确认审计通过

permissionspermissions 命令行

Agent Skill

permissions 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

259

周安装

11

GitHub Stars

4

下载量

91
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/crystallizeapi/ai --skill permissions

简介

设计 Crystallize 用户角色、字段级权限与访问令牌配置方案。

  • 区分 UI 层展示控制与 API 层实际读写权限,避免误用“只读”设置。
  • 支持细粒度访问控制以满足企业级安全与合规要求。
  • 安装需通过 npx 添加指定仓库,建议先明确业务所需的真实访问边界。
  • permissions 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Crystallize Permissions & Access Control

Design and configure user roles, field-level permissions, and access tokens in Crystallize.

Critical concept: UI vs API permissions

This distinction trips up most users. Crystallize separates permissions into two layers:

LayerScopeWhat it controls
UI permissionsCrystallize UI onlyHide or lock fields from editors — cosmetic, does not restrict API access
CRUD permissionsAPI + UIActual data access control (read/write/delete)

Setting a field to "Read-Only" in the UI does not prevent API writes to that field. If you need true access restriction, set both UI and CRUD permissions. This is especially important when integrations (ERPs, PIMs) write data via API — you want UI-only locks for editors, but the API token needs write access.

Consultation Approach

Before recommending a permission setup, understand the user's situation. Ask clarifying questions:

  1. How many distinct user types do you have? Editors, contributors, product managers, admins? Each needs its own role since Crystallize uses one-role-per-user.
  2. Do you need UI restrictions, API restrictions, or both? UI-only hides/locks fields in the dashboard. CRUD controls actual data access.
  3. Are there specific folders or shapes that need restricted access? Multi-team setups often need folder-level isolation.
  4. Do external systems write data? ERPs, PIMs, and import scripts may need separate API tokens with broader access than human editors.
  5. What fields should editors never touch? Prices synced from ERP, migration metadata, internal tracking fields?

Use the answers to design a role structure and recommend the right combination of UI + CRUD permissions.

Overview

Crystallize provides granular access control at multiple levels:

  • User roles — Control what users can do (read, write, publish, admin)
  • Field-level permissions — Make specific component fields read-only or hidden for certain roles
  • Resource-level permissions — Control access to features like shapes, price variants, catalogue folders
  • UI vs API permissions — UI permissions only affect the Crystallize UI, not API access
  • Access tokens — User tokens (follow role permissions) and API tokens (tenant-level)

User roles

Crystallize has two built-in roles and supports unlimited custom roles.

Built-in roles

RoleDescription
Tenant AdminFull access to everything including tenant copying, mass operation logs, and all settings
UserBase role with minimal permissions — typically used as starting point for custom roles

Custom roles

Create custom roles in Settings → Roles & Permissions.

Key characteristics:

  • One-to-one mapping — Each user can only have one role assigned
  • Fully customizable — Set permissions per feature/resource
  • Granular control — UI-level hiding/locking, folder-level catalogue access

When inviting users, select which role they should have. If a user needs different permissions, create a new role — you cannot assign multiple roles to one user.

Field-level permissions

Field-level permissions are configured per shape resource in the Roles & Permissions settings.

How to configure (UI)

  1. Go to Settings → Roles & Permissions
  2. Select or create a role
  3. Under Shapes resource, click on a specific shape
  4. You'll see all components on that shape
  5. For each component, toggle:

- Read-Only — Field appears greyed out, cannot be edited - Hide Component Completely — Field is invisible to this role

Supported fields

  • Root-level components on shapes
  • Structural components (contentChunk, componentChoice, etc.)
  • Native Crystallize fields — SKUs, images, variants
  • Price variants — Configure in the Price Variants resource (same pattern as shapes)

Behavior

PermissionCrystallize UIAPI behavior
Read-OnlyGreyed out, cannot editCan only read field values
HiddenCompletely invisibleField is not accessible
Default (no restriction)EditableFull read/write access

Important: UI permissions (hide/lock) only apply to the Crystallize UI, not the API level. Use API-level CRUD restrictions for API access control.

Resource permissions

Almost every feature in Crystallize has CRUD operation resources (Create, Read, Update, Delete).

Common resources

  • Shapes — Control shape management and field-level permissions
  • Items — Control item creation, editing, publishing
  • Price Variants — Control which price variants a role can see/edit
  • Catalogue — Restrict access to specific folders (e.g., User X can only edit folder Y)
  • Topics — Control topic map management
  • Orders — Control order visibility and management
  • Users — Control user/team management

Folder-level restrictions

Restrict catalogue access to specific folders per role:

  • User can only see certain folders
  • User can only edit certain folders
  • Combine with other permissions for granular control

UI vs API permissions

Permission typeScopeUse case
UI permissionsCrystallize UI onlyHide/lock fields from editors, simplify UI
CRUD permissionsAPI + UIControl actual data access (read/write/delete)

Example: You can hide a "price" field in the UI but still allow API access — useful when editors shouldn't manually change prices that are synced from an ERP.

Access tokens

Crystallize has two types of tokens:

User tokens

  • Follow user role permissions — Same API access as the role assigned to the user
  • API-level only — UI preferences are not included
  • Use case — Programmatic access with the same permissions as a specific user role

API tokens

  • Tenant-level — Created for the entire tenant, not bound to a specific role
  • Use case — Service-to-service integrations, webhooks, background jobs, ERP syncs

Generate tokens in Settings → Access Tokens.

Choosing between token types: Use user tokens when you want API access scoped to a role's permissions. Use API tokens for service integrations that need tenant-wide access regardless of any specific role.

API configuration

Permissions can be queried and configured via the Core API under the user resource in the GraphQL schema. Permissions are a separate resource from shapes — you won't see permission settings when querying shapes.

Query role permissions

query GetRoles {
    user {
        roles {
            id
            name
            tenantPermissions
        }
    }
}

Query a specific role

query GetRole($roleId: ID!) {
    user {
        role(id: $roleId) {
            id
            name
            tenantPermissions
        }
    }
}

Create a custom role

mutation CreateRole {
    user {
        role {
            create(input: { name: "Content Editor" }) {
                id
                name
            }
        }
    }
}

Update role permissions

mutation UpdateRole($roleId: ID!) {
  user {
    role {
      update(
        id: $roleId
        input: {
          name: "Content Editor"
          tenantPermissions: {
            # Set CRUD permissions per resource
          }
        }
      ) {
        id
        name
      }
    }
  }
}

For the exact permission structure and available fields, check the Core API schema — the tenantPermissions input type defines all configurable resources and their CRUD flags.

Best practices

  1. Start with User role — Create custom roles based on the base User role, then add permissions as needed
  2. Always set both UI + CRUD — UI restrictions alone don't protect data at the API level
  3. One role per user type — Can't assign multiple roles, so create distinct roles (e.g., "Content Editor", "Product Manager", "External Contributor")
  4. Test with non-admin account — Always verify permissions work as expected from a non-admin user perspective
  5. Name roles descriptively — e.g., "Content Editor - Blog Only", "Product Manager - Catalogue Admin"
  6. Use folder restrictions for multi-team setups — Isolate catalogue access by team or department
  7. Separate human and machine access — Use role-scoped user tokens for human workflows, tenant-level API tokens for integrations

Common use cases

Read-only ERP fields

Scenario: Prices are synced from an ERP — editors shouldn't manually change them.

Solution:

  1. Create "Editor" role
  2. In Shapes → Product shape → price component → set Read-Only (UI)
  3. Editors can see prices but cannot edit them in the dashboard
  4. ERP integration uses an API token with full write access

Hide internal metadata

Scenario: Migration tracking fields should be invisible to content editors.

Solution:

  1. Create "Content Editor" role
  2. In Shapes → [Your Shape] → migration-metadata component → Hide Component Completely
  3. Only admins can see these fields

Folder-restricted access

Scenario: Team A manages products in /shop/electronics, Team B manages /shop/fashion.

Solution:

  1. Create "Team A Editor" role → Catalogue folder restriction → /shop/electronics
  2. Create "Team B Editor" role → Catalogue folder restriction → /shop/fashion
  3. Each team can only see and edit their assigned folder

API-only integration with limited scope

Scenario: A storefront needs read-only access to products but should never modify data.

Solution:

  1. Create "Storefront Reader" role with read-only CRUD permissions on Items, Shapes, Topics
  2. Generate a user token scoped to this role
  3. Use this token in the storefront's API calls — even if compromised, it can't write data

References

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

33.72%
按下载量换算31

Claude

28.37%
按下载量换算26

Cursor

21.28%
按下载量换算19

Gemini CLI

9.1%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills