Token导航 LogoToken导航

Agent Skill · 研究检索

shaping(shaping 开发)

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

shaping 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 22,619。

总安装 4,504周安装 184GitHub Stars 1,034下载 1,443核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/rjs/shaping-skills --skill shaping

这个 Skill 是做什么的

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

shaping 用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中引导任务分解或方案设计。通过 npx skills add 命令从 rjs/shaping-skills 安装。使用前应确认其是否依赖模板或启发式规则。原始 SKILL.md 未提供内容,功能尚不明确。

来源仓库内路径:skills/shaping

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

shaping 怎么安装?

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

shaping 支持哪些 AI 工具?

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

shaping 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

shaping 是免费的吗?

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

shaping 用的人多吗?

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

shaping 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

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

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 1,034 星,维护活跃度相对可查。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

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

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 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调用外部服务未明确有提醒
shaping

shaping 开发 · 本页

4,5041,034需要联网未明确有提醒

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

SKILL.md 原文

Shaping Methodology

A structured approach for collaboratively defining problems and exploring solution options.


Multi-Level Consistency (Critical)

Shaping produces documents at different levels of abstraction. Truth must stay consistent across all levels.

The Document Hierarchy (high to low)

  1. Shaping doc — ground truth for R's, shapes, parts, fit checks
  2. Slices doc — ground truth for slice definitions, breadboards
  3. Individual slice plans (V1-plan, etc.) — ground truth for implementation details

The Principle

Each level summarizes or provides a view into the level(s) below it. Lower levels contain more detail; higher levels are designed views that help acquire context quickly.

Changes ripple in both directions:

  • Change at high level → trickles down: If you change the shaping doc's parts table, update the slices doc too.
  • Change at low level → trickles up: If a slice plan reveals a new mechanism or changes the scope of a slice, the Slices doc and shaping doc must reflect that.

The Practice

Whenever making a change:

  1. Identify which level you're touching
  2. Ask: "Does this affect documents above or below?"
  3. Update all affected levels in the same operation
  4. Never let documents drift out of sync

The system only works if the levels are consistent with each other.


Starting a Session

When kicking off a new shaping session, offer the user both entry points:

  • Start from R (Requirements) — Describe the problem, pain points, or constraints. Build up requirements and let shapes emerge.
  • Start from S (Shapes) — Sketch a solution already in mind. Capture it as a shape and extract requirements as you go.

There is no required order. Shaping is iterative — R and S inform each other throughout.

Working with an Existing Shaping Doc

When the shaping doc already has a selected shape:

  1. Display the fit check for the selected shape only — Show R × [selected shape] (e.g., R × F), not all shapes
  2. Summarize what is unsolved — Call out any requirements that are Undecided, or where the selected shape has ❌

This gives the user immediate context on where the shaping stands and what needs attention.


Core Concepts

R: Requirements

A numbered set defining the problem space.

  • R0, R1, R2... are members of the requirements set
  • Requirements are negotiated collaboratively - not filled in automatically
  • Track status: Core goal, Undecided, Leaning yes/no, Must-have, Nice-to-have, Out
  • Requirements extracted from fit checks should be made standalone (not dependent on any specific shape)
  • R states what's needed, not what's satisfied — satisfaction is always shown in a fit check (R × S)
  • Chunking policy: Never have more than 9 top-level requirements. When R exceeds 9, group related requirements into chunks with sub-requirements (R3.1, R3.2, etc.) so the top level stays at 9 or fewer. This keeps the requirements scannable and forces meaningful grouping.

S: Shapes (Solution Options)

Letters represent mutually exclusive solution approaches.

  • A, B, C... are top-level shape options (you pick one)
  • C1, C2, C3... are components/parts of Shape C (they combine)
  • C3-A, C3-B, C3-C... are alternative approaches to component C3 (you pick one)

Shape Titles

Give shapes a short descriptive title that characterizes the approach. Display the title when showing the shape:

## E: Modify CUR in place to follow S-CUR

| Part | Mechanism |
|------|-----------|
| E1 | ... |

Good titles capture the essence of the approach in a few words:

  • ✅ "E: Modify CUR in place to follow S-CUR"
  • ✅ "C: Two data sources with hybrid pagination"
  • ❌ "E: The solution" (too vague)
  • ❌ "E: Add search to widget-grid by swapping..." (too long)

Notation Hierarchy

LevelNotationMeaningRelationship
RequirementsR0, R1, R2...Problem constraintsMembers of set R
ShapesA, B, C...Solution optionsPick one from S
ComponentsC1, C2, C3...Parts of a shapeCombine within shape
AlternativesC3-A, C3-B...Approaches to a componentPick one per component

Notation Persistence

Keep notation throughout as an audit trail. When finalizing, compose new options by referencing prior components (e.g., "Shape E = C1 + C2 + C3-A").

Phases

Shaping moves through two phases:

Shaping → Slicing
PhasePurposeOutput
ShapingExplore the problem and solution space, select and detail a shapeShaping doc with R, shapes, fit checks, breadboard
SlicingBreak down for implementationVertical slices with demo-able UI

Phase Transition

Shaping → Slicing happens when:

  • A shape is selected (passes fit check, feels right)
  • The shape has been breadboarded into concrete affordances
  • We need to plan implementation order

You can't slice without a breadboarded shape.


Fit Check (Decision Matrix)

THE fit check is the single table comparing all shapes against all requirements. Requirements are rows, shapes are columns. This is how we decide which shape to pursue.

Format

## Fit Check

| Req | Requirement | Status | A | B | C |
|-----|-------------|--------|---|---|---|
| R0 | Make items searchable from index page | Core goal | ✅ | ✅ | ✅ |
| R1 | State survives page refresh | Must-have | ✅ | ❌ | ✅ |
| R2 | Back button restores state | Must-have | ❌ | ✅ | ✅ |

**Notes:**
- A fails R2: [brief explanation]
- B fails R1: [brief explanation]

Conventions

  • Always show full requirement text — never abbreviate or summarize requirements in fit checks
  • Fit check is BINARY — Use ✅ for pass, ❌ for fail. No other values.
  • Shape columns contain only ✅ or ❌ — no inline commentary; explanations go in Notes section
  • Never use ⚠️ or other symbols in fit check — ⚠️ belongs only in the Parts table's flagged column
  • Keep notes minimal — just explain failures

Comparing Alternatives Within a Component

When comparing alternatives for a specific component (e.g., C3-A vs C3-B), use the same format but scoped to that component:

## C3: Component Name

| Req | Requirement | Status | C3-A | C3-B |
|-----|-------------|--------|------|------|
| R1 | State survives page refresh | Must-have | ✅ | ❌ |
| R2 | Back button restores state | Must-have | ✅ | ✅ |

Missing Requirements

If a shape passes all checks but still feels wrong, there's a missing requirement. Articulate the implicit constraint as a new R, then re-run the fit check.

Macro Fit Check

A separate tool from the standard fit check, used when working at a high level with chunked requirements and early-stage shapes where most mechanisms are still ⚠️. Use when explicitly requested.

The macro fit check has two columns per shape instead of one:

  • Addressed? — Does some part of the shape seem to speak to this requirement at a high level?
  • Answered? — Can you trace the concrete how? Is the mechanism actually spelled out?

Format:

## Macro Fit Check: R × A

| Req | Requirement | Addressed? | Answered? |
|-----|-------------|:----------:|:---------:|
| R0 | Core goal description | ✅ | ❌ |
| R1 | Guided workflow | ✅ | ❌ |
| R2 | Agent boundary | ⚠️ | ❌ |

Conventions:

  • Only show top-level requirements (R0, R1, R2...), not sub-requirements
  • No notes column — keep the table narrow and scannable
  • Use ✅ (yes), ⚠️ (partially), ❌ (no) for Addressed
  • Use ✅ (yes) or ❌ (no) for Answered
  • Follow the macro fit check with a separate Gaps table listing specific missing parts and their related sub-requirements

Possible Actions

These can happen in any order:

  • Populate R - Gather requirements as they emerge
  • Sketch a shape - Propose a high-level approach (A, B, C...)
  • Detail (components) - Break a shape into components (B1, B2...)
  • Detail (affordances) - Expand a selected shape into concrete UI/Non-UI affordances and wiring
  • Explore alternatives - For a component, identify options (C3-A, C3-B...)
  • Check fit - Build a fit check (decision matrix) playing options against R
  • Extract Rs - When fit checks reveal implicit requirements, add them to R as standalone items
  • Breadboard - Map the system to understand where changes happen and make the shape more concrete
  • Spike - Investigate unknowns to identify concrete steps needed
  • Decide - Pick alternatives, compose final solution
  • Slice - Break a breadboarded shape into vertical slices for implementation

Communication

Show Full Tables

When displaying R (requirements) or any S (shapes), always show every row — never summarize or abbreviate. The full table is the artifact; partial views lose information and break the collaborative process.

  • Show all requirements, even if many
  • Show all shape parts, including sub-parts (E1.1, E1.2...)
  • Show all alternatives in fit checks

Why This Matters

Shaping is collaborative negotiation. The user needs to see the complete picture to:

  • Spot missing requirements
  • Notice inconsistencies
  • Make informed decisions
  • Track what's been decided

Summaries hide detail and shift control away from the user.

Mark Changes with 🟡

When re-rendering a requirements table or shape table after making changes, mark every changed or added line with a 🟡 so the user can instantly spot what's different. Place the 🟡 at the start of the changed cell content. This makes iterative refinement easy to follow — the user should never have to diff the table mentally.

Spikes

A spike is an investigation task to learn how the existing system works and what concrete steps are needed to implement a component. Use spikes when there's uncertainty about mechanics or feasibility.

File Management

Always create spikes in their own file (e.g., spike.md or spike-[topic].md). Spikes are standalone investigation documents that may be shared or worked on independently from the shaping doc.

Purpose

  • Learn how the existing system works in the relevant area
  • Identify what we would need to do to achieve a result
  • Enable informed decisions about whether to proceed
  • Not about effort — effort is implicit in the steps themselves
  • Investigate before proposing — discover what already exists; you may find the system already satisfies requirements

Structure

## [Component] Spike: [Title]

### Context
Why we need this investigation. What problem we're solving.

### Goal
What we're trying to learn or identify.

### Questions

| # | Question |
|---|----------|
| **X1-Q1** | Specific question about mechanics |
| **X1-Q2** | Another specific question |

### Acceptance
Spike is complete when all questions are answered and we can describe [the understanding we'll have].

Acceptance Guidelines

Acceptance describes the information/understanding we'll have, not a conclusion or decision:

  • ✅ "...we can describe how users set their language and where non-English titles appear"
  • ✅ "...we can describe the steps to implement [component]"
  • ❌ "...we can answer whether this is a blocker" (that's a decision, not information)
  • ❌ "...we can decide if we should proceed" (decision comes after the spike)

The spike gathers information; decisions are made afterward based on that information.

Question Guidelines

Good spike questions ask about mechanics:

  • "Where is the [X] logic?"
  • "What changes are needed to [achieve Y]?"
  • "How do we [perform Z]?"
  • "Are there constraints that affect [approach]?"

Avoid:

  • Effort estimates ("How long will this take?")
  • Vague questions ("Is this hard?")
  • Yes/no questions that don't reveal mechanics

Breadboards

Use the /breadboarding skill to map existing systems or detail a shape into concrete affordances. Breadboarding produces:

  • UI Affordances table
  • Non-UI Affordances table
  • Wiring diagram grouped by Place

Invoke breadboarding when you need to:

  • Map existing code to understand where changes land
  • Translate a high-level shape into concrete affordances
  • Reveal orthogonal concerns (parts that are independent of each other)

Tables Are the Source of Truth

The affordance tables (UI and Non-UI) define the breadboard. The Mermaid diagram renders them.

When receiving feedback on a breadboard:

  1. First — update the affordance tables (add/remove/modify affordances, update Wires Out)
  2. Then — update the Mermaid diagram to reflect those changes

Never treat the diagram as the primary artifact. Changes flow from tables → diagram, not the reverse.

CURRENT as Reserved Shape Name

Use CURRENT to describe the existing system. This provides a baseline for understanding where proposed changes fit.

Shape Parts

Flagged Unknown (⚠️)

A mechanism can be described at a high level without being concretely understood. The Flag column tracks this:

PartMechanismFlag
F1Create widget (component, def, register)
F2Magic authentication handler⚠️
  • Empty = mechanism is understood — we know concretely how to build it
  • ⚠️ = flagged unknown — we've described WHAT but don't yet know HOW

Why flagged unknowns fail the fit check:

  1. ✅ is a claim of knowledge — it means "we know how this shape satisfies this requirement"
  2. Satisfaction requires a mechanism — some part that concretely delivers the requirement
  3. A flag means we don't know how — we've described what we want, not how to build it
  4. You can't claim what you don't know — therefore it must be ❌

Fit check is always binary — ✅ or ❌ only. There is no third state. A flagged unknown is a failure until resolved.

This distinguishes "we have a sketch" from "we actually know how to do this." Early shapes (A, B, C) often have many flagged parts — that's fine for exploration. But a selected shape should have no flags (all ❌ resolved), or explicit spikes to resolve them.

Parts Must Be Mechanisms

Shape parts describe what we BUILD or CHANGE — not intentions or constraints:

  • ✅ "Route childType === 'letter' to typesenseService.rawSearch()" (mechanism)
  • ❌ "Types unchanged" (constraint — belongs in R)

Avoid Tautologies Between R and S

R states the need/constraint (what outcome). S describes the mechanism (how to achieve it). If they say the same thing, the shape part isn't adding information.

  • ❌ R17: "Admins can bulk request members to sign" + C6.3: "Admin can bulk request members to sign"
  • ✅ R17: "Admins can bring existing members into waiver tracking" + C6.3: "Bulk request UI with member filters, creates WaiverRequests in batch"

The requirement describes the capability needed. The shape part describes the concrete mechanism that provides it. If you find yourself copying text from R into S, stop — the shape part should add specificity about *how*.

Parts Should Be Vertical Slices

Avoid horizontal layers like "Data model" that group all tables together. Instead, co-locate data models with the features they support:

  • ❌ B4: Data model — Waivers table, WaiverSignatures table, WaiverRequests table
  • ✅ B1: Signing handler — includes WaiverSignatures table + handler logic
  • ✅ B5: Request tracking — includes WaiverRequests table + tracking logic

Each part should be a vertical slice containing the mechanism AND the data it needs.

Extract Shared Logic

When the same logic appears in multiple parts, extract it as a standalone part that others reference:

  • ❌ Duplicating "Signing handler: create WaiverSignature + set boolean" in B1 and B2
  • ✅ Extract as B1: Signing handler, then B2 and B3 say "→ calls B1"
| **B1** | **Signing handler** |
| B1.1 | WaiverSignatures table: memberId, waiverId, signedAt |
| B1.2 | Handler: create WaiverSignature + set member.waiverUpToDate = true |
| **B2** | **Self-serve signing** |
| B2 | Self-serve purchase: click to sign inline → calls B1 |
| **B3** | **POS signing via email** |
| B3.1 | POS purchase: send waiver email |
| B3.2 | Passwordless link to sign → calls B1 |

Hierarchical Notation

Start with flat notation (E1, E2, E3...). Only introduce hierarchy (E1.1, E1.2...) when:

  • There are too many parts to easily understand
  • You're reaching a conclusion and want to show structure
  • Grouping related mechanisms aids communication
NotationMeaning
E1Top-level component of shape E
E1.1, E1.2Sub-parts of E1 (add later if needed)

Example of hierarchical grouping (used when shape is mature):

PartMechanism
E1Swap data source
E1.1Modify backend indexer
E1.2Route letters to new service
E1.3Route posts to new service
E2Add search input
E2.1Add input with debounce

Detailing a Shape

When a shape is selected, you can expand it into concrete affordances. This is called detailing.

Notation

Use "Detail X" (not a new letter) to show this is a breakdown of Shape X, not an alternative:

## A: First approach
(shape table)

## B: Second approach
(shape table)

## Detail B: Concrete affordances
(affordance tables + wiring)

What Detailing Produces

Use the /breadboarding skill to produce:

  • UI Affordances table — Things users see and interact with (inputs, buttons, displays)
  • Non-UI Affordances table — Data stores, handlers, queries, services
  • Wiring diagram — How affordances connect across places

Why "Detail X" Not "C"

Shape letters (A, B, C...) are mutually exclusive alternatives — you pick one. Detailing is not an alternative; it's a deeper breakdown of the selected shape. Using a new letter would incorrectly suggest it's a sibling option.

A, B, C = alternatives (pick one)
Detail B = expansion of B (not a choice)

Documents

Shaping produces up to four documents. Each has a distinct role:

DocumentContainsPurpose
FrameSource, Problem, OutcomeThe "why" — concise, stakeholder-level
Shaping docRequirements, Shapes (CURRENT/A/B/...), Affordances, Breadboard, Fit CheckThe working document — exploration and iteration happen here
Slices docSlice details, affordance tables per slice, wiring diagramsThe implementation plan — how to build incrementally
Slice plansV1-plan.md, V2-plan.md, etc.Individual implementation plans for each slice

Document Lifecycle

Frame (problem/outcome)
    ↓
Shaping (explore, detail, breadboard)
    ↓
Slices (plan implementation)

Frame can be written first — it captures the "why" before any solution work begins. It contains:

  • Source — Original requests, quotes, or material that prompted the work (verbatim)
  • Problem — What's broken, what pain exists (distilled from source)
  • Outcome — What success looks like (high-level, not solution-specific)

Capturing Source Material

When the user provides source material during framing (user requests, quotes, emails, slack messages, etc.), always capture it verbatim in a Source section at the top of the frame document.

## Source

> I'd like to ask again for your thoughts on a user scenario...
>
> Small reminder: at the moment, if I want to keep my country admin rights
> for Russia and Crimea while having Europe Center as my home center...

> [Additional source material added as received]

---

## Problem
...

Why this matters:

  • The source is the ground truth — Problem/Outcome are interpretations
  • Preserves context that may be relevant later
  • Allows revisiting the original request if the distillation missed something
  • Multiple sources can be added as they arrive during framing

When to capture:

  • User pastes a request or quote
  • User shares an email or message from a stakeholder
  • User describes a scenario they were told about
  • Any raw material that informs the frame

Shaping doc is where active work happens. All exploration, requirements gathering, shape comparison, breadboarding, and fit checking happens here. This is the working document and ground truth for R, shapes, parts, and fit checks.

Slices doc is created when the selected shape is breadboarded and ready to build. It contains the slice breakdown, affordance tables per slice, and detailed wiring.

File Management

  • Shaping doc: Update freely as you iterate — this is the ground truth
  • Slices doc: Created when ready to slice, updated as slice scope clarifies
  • Slice plans: Individual files (V1-plan.md, etc.) with implementation details

Frontmatter

Every shaping document (shaping doc, frame, slices doc) must include shaping: true in its YAML frontmatter. This enables tooling hooks (e.g., ripple-check reminders) that help maintain consistency across documents.

---
shaping: true
---

# [Feature Name] — Shaping
...

Keeping Documents in Sync

See Multi-Level Consistency at the top of this document. Changes at any level must ripple to affected levels above and below.

Slicing

After a shape is breadboarded, slice it into vertical implementation increments. Use the /breadboarding skill for the slicing process — it defines what vertical slices are, the procedure for creating them, and visualization formats.

The flow:

  1. Parts → high-level mechanisms in the shape
  2. Breadboard → concrete affordances with wiring (use /breadboarding)
  3. Slices → vertical increments that can each be demoed (use /breadboarding slicing section)

Key principle: Every slice must end in demo-able UI. A slice without visible output is a horizontal layer, not a vertical slice.

Document outputs:

  • Slices doc — slice definitions, per-slice affordance tables, sliced breadboard
  • Slice plans — individual implementation plans (V1-plan.md, V2-plan.md, etc.)

Example

User is shaping a search feature:

---
shaping: true
---

## Requirements (R)

| ID | Requirement | Status |
|----|-------------|--------|
| R0 | Make items searchable from index page | Core goal |
| R1 | State survives page refresh | Undecided |
| R2 | Back button restores state | Undecided |

---

## C2: State Persistence

| Req | Requirement | Status | C2-A | C2-B | C2-C |
|-----|-------------|--------|------|------|------|
| R0 | Make items searchable from index page | Core goal | — | — | — |
| R1 | State survives page refresh | Undecided | ✅ | ✅ | ❌ |
| R2 | Back button restores state | Undecided | ✅ | ✅ | ✅ |

**Notes:**
- C2-C fails R1: in-memory state lost on refresh
- C2-B satisfies R2 but requires custom popstate handler

平台分布

Codex

37.68%
按下载量换算544

Claude

30.93%
按下载量换算446

Cursor

19.04%
按下载量换算275

Gemini CLI

9.65%
按下载量换算139

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

继续浏览同类 Skills