Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

structure-first结构优先

Agent Skill

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

总安装

1,630

周安装

70

GitHub Stars

27

下载量

571
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/perhapsspy/structure-first --skill structure-first

简介

structure-first 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 它支持基于关键词、任务场景或来源线索进行信息匹配与过滤,适用于研究类任务。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,具体用法需结合 README 进一步确认。
  • 安装前建议核实权限范围、维护状态,并注意是否涉及联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Skill: Structure First

Purpose

Primary Flow: the top-down readable main path that orchestrates the logic

When generating, refactoring, or reviewing code, prioritize a readable success path (Primary Flow) first. Keep boundaries minimal (only when needed), compose with Atoms (small units with one stable role and clear I/O), and secure stability through contract-driven tests rather than implementation-following tests.

Use / Do Not Use

  • Use this skill when the code shape itself is changing or when you are doing a structure-focused code review.
  • For planning, classification, or scope analysis, keep it as an internal lens rather than a response template.
  • Use it when code does not read naturally from top to bottom.
  • Use it when function/module splitting becomes excessive and utilities start to spread.
  • Use it when tests are drifting toward implementation-following patterns.
  • Do not use it for throwaway experiments or one-off exploratory code.
  • Do not use it for tiny changes where structural intervention would be excessive.

Core Bias

  • Readable flow > structural simplicity > reusability > abstraction
  • Prefer clarity of the current code over speculative future needs.
  • Splitting is not a goal; split only when readability clearly improves.

Operating Model

Pick one current unit and make that unit readable before moving outward. Local changes usually mean function/file. Feature work usually means module/use case. Larger refactors may mean capability/subsystem.

  1. Fix Intent
  • State the intent of the change/code in one sentence.
  • State the current unit before restructuring: function/file, module/use case, or capability/subsystem.
  1. Minimize Boundaries
  • Classify steps as I/O, domain decision, or transform.
  • Do not add more boundaries than necessary.
  1. Primary Flow First
  • Make the success path readable in one top-down pass.
  • Keep branches/exceptions from breaking the main flow (early return or push them downward).
  • A good result often still reads like normalize -> load -> decide -> return.
  • When flattening local branch logic, preserve whether rules are cumulative or precedence-ordered.
  1. Extract Atoms
  • Split when a Primary Flow sentence becomes clearer as a function or child unit.
  • Atoms do one stable job; their I/O should be describable in one line.
  • Prefer pure functions when possible.
  • At function/file scale, stop when splitting no longer clarifies the local flow.
  1. Keep Composition in One Place
  • Keep orchestration in one place at the current unit.
  • Minimize direct dependencies/calls between Atoms.
  1. Push Side Effects to Boundaries
  • Gather side effects (I/O, state mutation) at boundaries.
  • Keep inner logic focused on computation and decisions.
  1. Align Read Order
  • At file level, default to: export/public -> orchestrator -> atoms -> utils for top-down discoverability.
  • If branch narration starts depending on extra intermediate data structures or helper chains, keep more inline or stop descending.

Growth and Ownership

  • Start with the minimum public I/O/signature for the confirmed responsibility; grow it only when responsibility changes (new external input, mixed semantics, or boundary move).
  • One policy, decision, or calculation rule, one owner.
  • One externally visible write path, one owner. If coordinating multiple writers is itself the responsibility, make that coordinator explicit.
  • At larger scales, make the entrypoint, main orchestrator, and decision owners visible.
  • Async boundaries should have one owner for freshness and completion policy.
  • If rule ownership changes or you introduce an equivalent new path, remove/disable the old one in the same change when possible. Otherwise include a staged migration plan (owner, exit condition).
  • Decision rule: repeated predicate, weight, priority, policy, calculation, or key-generation logic that decides behavior.
  • Equivalent path: an alternative execution path that yields the same externally observable result.

Testing

  • Write sufficient tests at the most stable Atom level available whenever possible.
  • Validate contracts (I/O, invariants, edge cases) between the current unit and its Atoms/boundaries, not internals.
  • If orchestration or boundary integration is where the risk lives, test the current unit directly.
  • For async or stateful boundaries, test ownership contracts such as stale-result handling, balanced completion, and equivalent-input no-op at the most stable unit that owns them.
  • If tests cannot be added in the current change, say so explicitly and name the next stable Atom(s) plus the required contract cases.
  • Keep test code readable: use each/table cases to reduce duplication, allow only small helpers that do not blur structure, and keep each test focused on one core assertion.

Anti-Patterns

  • If splitting increases argument/state passing, roll it back.
  • Do not split functions/files for appearance only (avoid utility sprawl).
  • If names start turning into long explanations, re-check boundaries.
  • Avoid adding abstractions/layers for assumed future reuse.
  • Avoid over-abstracted tests and helper sprawl.
  • Do not add parameters "for later."
  • Do not keep the same policy, decision, calculation, or key-generation rule in multiple owner locations.
  • Do not split the same externally observable result across multiple writer locations unless coordinating those writers is itself the explicit responsibility.
  • Do not synchronously mirror upstream boundary state into local mutable state unless ownership and reset semantics are explicit.
  • Do not create self-feedback loops where a unit reads from an input/update path and writes back into that same path.
  • Do not keep new and legacy equivalent paths in parallel without a staged migration plan (owner, exit condition).

Final Gates

  • Can the success path be seen in one top-down read?
  • Is the current unit stated clearly and still the right unit for this change?
  • At function/file scale, is the flow still shallow enough without extra intermediate data structures or helper chains narrating the branches?
  • Does splitting reflect real responsibility/boundary changes?
  • Can each Atom's I/O be explained in one line?
  • Are side effects concentrated at boundaries?
  • Are tests contract-focused and concise?
  • At capability/subsystem scale, can you name the entrypoint, main orchestrator, and decision owners?
  • If more structure work remains across units, is the next re-entry point clear before ending this pass?
  • Are parameter growth and old-path handling (cleanup or staged migration) justified and complete?

Optional Completion Evidence

Use this template only when structure itself is the point; otherwise answer naturally.

When the format is useful, provide these four lines:

  • Current Unit: function/file | module/use case | capability/subsystem
  • Primary Flow: top-down in 3-6 lines
  • Boundaries: list of I/O boundaries
  • Tests: added... or deferred because...; next stable Atom(s):...; required contract cases:... (include freshness/completion contract when relevant)

For refactoring work where rule ownership changed, also provide:

  • Decision Ownership: policy/decision/calculation/key-generation rule -> owner unit; duplicated owner removed? yes/no

For refactoring work where signatures/boundaries grew or an old path was replaced, also provide:

  • Refactor Check: parameter growth reason / legacy path status (removed, disabled, migration plan)

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37.15%
按下载量换算212

Claude

31.67%
按下载量换算181

Cursor

19.63%
按下载量换算112

Gemini CLI

9.5%
按下载量换算54

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

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

来源信息

继续浏览同类 Skills