界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
设计与创意 · SKILL.md

lov-skill-visualizer

lov-skill-visualizer

【设计与创意】把本地 Agent Skill 目录或 SKILL.md 解析成场景先行的一页式信任审阅、内部 运行图和 JSON 模型;先说明什么时候非它不可,再连续展示输入、内部转化、 交付结果、源码依据与未证明缺口。当用户要理解、审阅或信任一个 Skill 时使用。

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: lov-skill-visualizer description: > 把本地 Agent Skill 目录或 SKILL.md 解析成场景先行的一页式信任审阅、内部 运行图和 JSON 模型;先说明什么时候非它不可,再连续展示输入、内部转化、 交付结果、源码依据与未证明缺口。当用户要理解、审阅或信任一个 Skill 时使用。 license: MIT depends_on:

  • lov-branding-consistency metadata: author: contributors version: "0.6.1" card_standard: lovstudio/skill-card/v1 tags:
    • skill-visualization
    • mermaid
    • workflow
    • static-analysis compatibility: "Python 3.8+ and PyYAML; generated HTML embeds Mermaid 11.12.2 and works offline in a modern browser." dependencies:
    • python3
    • PyYAML

Skill 透视镜 · Skill Lens

Turn one local Skill into a scenario-first trust brief rather than an evidence explorer. The standalone HTML answers when the Skill is the right choice, shows its input-to-outcome transformation as one uninterrupted reading path, and then separates source declarations, supporting capability, checks, and unproven effect. Mermaid remains editable secondary evidence, not the primary interface and not proof that the target Skill works.

Triggers

Activate when

  • 用户提供本地 Skill 目录或 SKILL.md,说“画出这个 Skill 的运行逻辑”。
  • 用户说“把 Skill 的触发、步骤、分支和依赖生成 Mermaid 流程图”。
  • The user says “visualize this skill workflow” or “generate a Mermaid diagram for this Skill”.

Do not activate when

  • 用户只要把已经整理好的流程美化成通用 SVG;交给通用 diagram renderer。
  • 用户要审计并修改 Skill 质量、版本或分发同步;交给 lov-skill-optimizer。
  • 用户要展示多个 Skill 之间的目录依赖,而非单个 Skill 的运行契约;使用目录依赖可视化能力。

User Profile (cross-session)

Every generated Skill is connected to the shared user-profile/v1 contract in skill.yaml. Read the shared user, brand, workspace, preferences, and this Skill's skills.<skill_id> namespace at the start of every run. Keep the source portable: resolved personal values belong in the shared profile, never here.

When the user directly states a durable preference or brand fact, persist it through scripts/profile_store.py and report the saved profile path. Put Skill-specific values under records.<field>; use brand.<field> or user.<field> for shared values. Do not persist inferred secrets or credentials. See references/user-profile.md for the complete contract.

Skill Group Composition

Read references/skill-composition.md before deciding whether to invoke or extend any adjacent capability. The record distinguishes optional upstream and downstream handoffs from embedded Kit modules. Do not silently depend on a sibling Skill that is not shipped with this source.

Workflow (MANDATORY)

You MUST follow these steps in order.

Step 0: Resolve skill root, dependencies, and runtime context

  • Use SKILL_DIR if the environment provides it.
  • Otherwise infer the installed skill directory from the current skill context.
  • Verify every required local module, reference, script, and asset before work.
  • If a required resource is missing, name its expected relative path and stop before producing a partial result.

When running scripts manually:

export SKILL_DIR="/path/to/lov-skill-visualizer"

Resolve context.profile on every invocation. The precedence is current request, project context, Skill-specific profile records, shared preferences, shared brand/user profile, then safe defaults. A direct user statement about a durable preference or brand fact should be saved with scripts/profile_store.py record using --confirm, followed by a concise saved-path report.

Step 1: Understand the requested outcome

  • Resolve the explicit Skill directory or SKILL.md path. Resolve symlinks, but show only Skill-relative paths in the report.
  • Default to a Markdown report with Mermaid, a sibling standalone HTML review, and a JSON model. Respect explicit output paths, diagram direction, language, or reference depth.
  • If the user supplied a valid target, do not ask them to choose parser or renderer machinery. Mermaid is the default because it remains editable.

Step 1.5: Analyze nearby Skills before implementation

  • Inspect related local and installed Skills by routing contract and concrete input/output, not by filename alone.
  • Record upstream, core, downstream, overlap, and not-composed decisions in references/skill-composition.md.
  • Keep sibling Skills optional and artifact-based. When stages require hard coupling for one outcome, create a self-contained Kit instead.

Step 2: Extract the declared runtime contract

Run the standalone extractor:

python3 "$SKILL_DIR/scripts/visualize_skill.py" "$TARGET_SKILL" \
  --output "$OUTPUT_MARKDOWN" \
  --json "$OUTPUT_JSON" \
  --language auto \
  --direction TB \
  --max-depth 2

--output path/report.md also writes path/report.html by default. Use --html path/custom.html to choose another location or --no-html when the standalone review is intentionally not required.

  • Accept either a Skill directory or its SKILL.md.
  • Extract routing examples, workflow steps, explicit conditional rules, frontmatter dependencies, Profile runtime context, Skill Kit pipelines, and local resources reachable from the controller.
  • Preserve each step's authored actions, criteria, decisions, guardrails, commands, and verification instructions as line-bound detail items.
  • Parse embedded Kit module workflows and quality gates, then associate a controller step only when the module or pipeline is explicitly named.
  • Build a trust model that separates traceable declarations, supporting modules/resources, deterministic implementation, declared checks, observed artifacts, and unproven runtime effect.
  • Follow linked local Markdown references up to --max-depth. Inventory packaged scripts, references, assets, and modules even when they are not linked, so dead or implicit resources remain visible.
  • Treat only declared text as fact. Do not invent a branch, dependency, or success state to make the diagram look complete.

Read references/logic-model.md for the JSON fields, extraction rules, Mermaid structure, and known static-analysis limits.

Step 3: Review diagnostics and evidence

  • Every extracted trigger, step, and condition keeps a relative file and line span. Use those spans to resolve ambiguity in the source instead of guessing.
  • error diagnostics mean the report is structurally incomplete, such as a missing workflow or referenced file. warning and info preserve useful gaps without blocking an exploratory report.
  • Use --strict when the report is part of a quality gate. Exit code 3 means extraction completed but at least one error diagnostic remains; exit code 2 means the target or runtime could not be processed.
  • Open the standalone HTML in a browser for review. The first screen must answer what concrete situation justifies this Skill and what cross-step problem it solves. Do not begin with coverage metrics, an abstract feature list, or a graph the reviewer must explore.
  • The primary runtime graph starts at internal execution. Activation and non-trigger examples belong to an explicitly external, collapsed host-routing section and must never appear as a yes/no branch in the internal graph.
  • Turn the selected workflow or Kit pipeline into one fixed, fully visible narrative: starting state, internal transformations, resulting state, why the Skill is a better fit than narrower tools, and the explicit non-use boundary.
  • Do not require node clicking, dragging, zooming, tab switching, or an evidence inspector to understand the primary logic. The reviewer must be able to read the complete path by scrolling once.
  • Keep rendered Mermaid views for internal runtime, resources, and optional Kit pipelines inside one secondary technical-evidence disclosure. Nodes are not navigation controls. Raw Mermaid, routing, resources, diagnostics, and JSON remain available for verification after the conclusion.
  • Resolve records.html_review_presentation from the shared Profile. Default to a restrained, purpose-first layout. When the resolved language is Chinese, localize interface and display labels wherever semantics can be preserved; keep filenames, paths, Skill IDs, commands, source code, and Mermaid syntax in their original form.
  • Resolve records.review_narrative as the presentation contract. Prefer a scenario-first single page, read-only linear logic, and collapsed technical evidence. Do not turn evidence coverage into a generic card wall.
  • The HTML embeds all CSS, JavaScript, Mermaid 11.12.2, Mermaid source, and JSON, so it requires no network or hosted renderer. Use optional downstream renderers only for alternate presentation formats.

Step 4: Validate the deliverable

  • Confirm the requested Markdown, HTML, and JSON output files exist and are UTF-8 readable.
  • Check that the Markdown contains Mermaid flowchart blocks and that the JSON declares lovstudio/skill-logic/v1.
  • Check that the HTML contains the embedded logic-model, has no external scripts or stylesheets, and remains usable at desktop and mobile widths.
  • Confirm technical evidence is closed by default, Chinese display labels are present for a Chinese report, and the extracted JSON model remains unchanged.
  • Assert that the primary page contains no node selector, zoom control, diagram tabs, or button-driven evidence workspace.
  • Use a real browser to require every declared Mermaid host to contain an SVG after rendering, external routing to remain absent from the runtime graph, the linear stages to fit the desktop layout, and the page itself to avoid horizontal overflow at mobile width.
  • Report extracted step, condition, linked-resource, and missing-resource counts. Preserve diagnostics in the handoff; a generated file is not proof of full coverage.
  • For source validation, run python3 scripts/validate_skill.py .; for focused parser tests, run PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests.

Dependencies

  • Python 3.8 or newer.
  • PyYAML for frontmatter and manifest parsing.
  • Vendored Mermaid 11.12.2 browser runtime under assets/vendor/.
  • No Mermaid CLI, network access, or sibling Skill is required to generate or review the outputs. A modern browser renders the embedded runtime.
我的收藏