Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计未展示

complexity-analysis复杂性分析

Agent Skill

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

总安装

624

周安装

26

GitHub Stars

公开资料未说明

下载量

208
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

AgentSkills.tonpx skills
npx skills add outfitter-dev/agents --skill "complexity-analysis"

简介

complexity-analysis 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于系统架构、模块设计或代码质量评估中的复杂性分析与优化建议。
  • 通过 npx skills add outfitter-dev/agents --skill "complexity-analysis" 安装,需确认权限范围和维护状态。
  • 使用前建议核实是否会触发联网、命令执行或文件读写,避免影响系统安全。
  • 可结合来源仓库和原始 README 进一步核验具体用法和功能边界。

SKILL.md

Challenge Complexity

Systematic pushback against over-engineering → justified simplicity.

<when_to_use>

  • Planning features or architecture
  • Choosing frameworks, libraries, patterns
  • Evaluating proposed solutions
  • Detecting premature optimization or abstraction
  • Build vs buy decisions

NOT for: trivial tasks, clear requirements with validated complexity, regulatory/compliance-mandated approaches

</when_to_use>

Track with TodoWrite when applying framework to non-trivial proposals:

PhaseTriggeractiveForm
IdentifyComplexity smell detected"Identifying complexity smell"
AlternativeGenerating simpler options"Proposing simpler alternatives"
QuestionProbing constraints"Questioning constraints"
DocumentRecording decision"Documenting decision"

TodoWrite format:

- Identify { complexity type } smell
- Propose alternatives to { specific approach }
- Question { constraint/requirement }
- Document { decision/rationale }

Workflow:

  • Start: Create Identify in_progress when smell detected
  • Transition: Mark current completed, add next in_progress
  • Skip to Document if complexity validated immediately
  • Optional phases: skip Alternative if obvious, skip Question if constraints clear

Adjust tone based on severity:

Alternative (Minor complexity):

"Interesting approach. Help me understand why X over the more common Y?"

Caution (Moderate risk):

"This pattern often leads to [specific problems]. Are we solving for something I'm not seeing?"

◆◆ Hazard (High risk):

"This violates [principle] and will likely cause [specific issues]. I strongly recommend [alternative]. If we must proceed, we need to document the reasoning."

Common complexity smells to watch for:

Build vs Buy: Custom solution when proven libraries exist

  • Custom auth system → Auth0, Clerk, BetterAuth
  • Custom validation → Zod, Valibot, ArkType
  • Custom state management → Zustand, Jotai, Nanostores
  • Custom form handling → React Hook Form, Formik

Indirect Solutions: Solving problem A by first solving problems B, C, D

  • Compiling TS→JS then using JS → Use TS directly in build tool
  • Reading file, transforming, writing back → Use stream processing
  • Storing in DB to pass between functions → Pass data directly

Premature Abstraction: Layers "for flexibility" without concrete future requirements

  • Plugin systems for 1 use case
  • Factories for single implementations
  • Dependency injection for stateless functions
  • Generic repositories for 1 data source

Performance Theater: Optimizing without measurements or clear bottlenecks

  • Caching before measuring load
  • Debouncing without user complaints
  • Worker threads for CPU-light tasks
  • Memoization of cheap calculations

Security Shortcuts: Disabling security features instead of configuring properly

  • CORS: * → Configure specific origins
  • any types for external data → Runtime validation with Zod
  • Disabling SSL verification → Fix certificate chain
  • Storing secrets in code → Environment variables + vault

Framework Overkill: Heavy frameworks for simple tasks

  • React for static content → HTML + CSS
  • Redux for local UI state → useState
  • GraphQL for simple CRUD → REST
  • Microservices for small apps → Monolith first

Custom Infrastructure: Building platform features that cloud providers offer

  • Custom logging → CloudWatch, Datadog
  • Custom metrics → Prometheus, Grafana
  • Custom secrets → AWS Secrets Manager, Vault
  • Custom CI/CD → GitHub Actions, CircleCI

<red_flags>

Watch for these justifications — reframe with specific questions:

"We might need it later" → "What specific requirement do we have now?"

"It's more flexible" → "What flexibility do we need that the simple approach doesn't provide?"

"It's best practice" → "Best practice for what context? Does that context match ours?"

"It's faster" → "Have you measured? What's the performance requirement?"

"Everyone does it this way" → "For problems of this scale? Do they have our constraints?"

"It's more enterprise-ready" → "What enterprise requirement are we meeting?"

"I read about it on Hacker News" → "Does their problem match ours?"

</red_flags>

Guide toward simpler alternatives with concrete examples:

Feature Flags over Plugin Architecture

// Complex
interface Plugin { transform(data: Data): Data }
const plugins = loadPlugins()
let result = data
for (const plugin of plugins) { result = plugin.transform(result) }

// Simple
const features = getFeatureFlags()
let result = data
if (features.transformA) { result = transformA(result) }
if (features.transformB) { result = transformB(result) }

Direct over Generic

// Complex (premature abstraction)
interface DataStore<T> { get(id: string): Promise<T> }
class PostgresStore<T> implements DataStore<T> { /* ... */ }
const users = new PostgresStore<User>({ /* config */ })

// Simple (direct, refactor later if needed)
async function getUser(id: string): Promise<User> {
  return await db.query('SELECT * FROM users WHERE id = $1', [id])
}

Standard Library over Framework

// Complex
import _ from 'lodash'
const unique = _.uniq(array)
const mapped = _.map(array, fn)

// Simple
const unique = [...new Set(array)]
const mapped = array.map(fn)

Composition over Configuration

// Complex
const pipeline = new Pipeline({
  steps: [
    { type: 'validate', rules: [...] },
    { type: 'transform', fn: 'normalize' },
    { type: 'save', destination: 'db' }
  ]
})

// Simple
const result = pipe(
  data,
  validate,
  normalize,
  save
)

Complexity is appropriate when:

  1. Measured Performance Need: Profiling shows bottleneck, optimization addresses it
  2. Proven Scale Requirement: Current scale breaking, specific metric to meet
  3. Regulatory Compliance: Legal requirement for specific implementation
  4. Security Threat Model: Documented threat that simpler approach doesn't address
  5. Integration Contract: External system requires specific approach
  6. Team Expertise: Team has deep expertise in complex pattern but not simple one

Even then:

  • Document why in ADR
  • Add TODO to revisit when constraints change
  • Isolate complexity to smallest possible scope
  • Provide escape hatches

Apply this protocol systematically:

1. IDENTIFY → Recognize complexity smell

Scan proposal for common triggers:

  • Build vs Buy
  • Indirect Solutions
  • Premature Abstraction
  • Performance Theater
  • Security Shortcuts
  • Framework Overkill
  • Custom Infrastructure

2. ALTERNATIVE → Propose simpler solutions

Always provide concrete, specific alternatives with examples:

❌ Vague: "Maybe use something simpler?" ✅ Specific: "Use Zod for validation instead of building a custom validation engine. Here's how..."

Include:

  • Exact library/pattern name
  • Code snippet showing simpler approach
  • Why it's sufficient for actual requirements

3. QUESTION → Investigate constraints

Ask probing questions to uncover hidden requirements:

  • "What specific requirement makes the simpler approach insufficient?"
  • "What will break in 6 months if we use the standard pattern?"
  • "What performance/scale problem are we solving?"
  • "What security threat model requires this complexity?"
  • "What team capability gap makes the standard approach unsuitable?"

4. DOCUMENT → Record decisions

If complexity chosen after validation:

  • Document specific requirement that justifies it
  • Add ADR (Architecture Decision Record) explaining trade-offs
  • Include TODO for revisiting when requirements change
  • Add comments explaining non-obvious complexity

ALWAYS:

  • Apply pushback protocol to non-trivial proposals
  • Provide concrete alternatives with code examples
  • Ask specific questions about constraints
  • Match escalation level to severity (◇/◆/◆◆)
  • Document justified complexity decisions

NEVER:

  • Accept "might need it later" without concrete timeline
  • Allow security shortcuts without threat model
  • Skip questioning performance claims without measurements
  • Proceed with indirection without clear justification
  • Accept complexity without documenting why

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

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

平台分布

Claude Code

25.86%
按下载量换算54

windsurf

23.24%
按下载量换算48

OpenCode

17.38%
按下载量换算36

Cursor

13.03%
按下载量换算27

Codex

8.12%
按下载量换算17

Antigravity

3.56%
按下载量换算7

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills