
complexity-assessment
AI-based complexity assessment for task analysis. Use when determining the appropriate workflow, phases, and validation depth for a task.
- Installs
- 77
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/oimiragieo/agent-studio --skill complexity-assessment- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads complexity-assessment automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Complexity Assessment Skill
Overview
Analyze a task description and determine its true complexity to ensure the right workflow and validation depth are selected. Accuracy over speed - wrong complexity means wrong workflow means failed implementation.
Core principle: Accuracy over speed. Wrong complexity = wrong workflow = failed implementation.
When to Use
Always:
- Before planning any new task
- When requirements are gathered but approach unclear
- When determining validation depth for QA
Exceptions:
- Obvious simple fixes (typos, color changes)
- Tasks where complexity is explicitly specified
Iron Laws
- NEVER begin planning without complexity assessment — wrong complexity tier = wrong workflow = failed implementation; always assess first, then select the appropriate workflow phases and validation depth.
- ALWAYS be conservative when uncertain — go higher — underestimating complexity is more dangerous than overestimating; a COMPLEX task mis-classified as STANDARD skips security review, architecture design, and comprehensive testing.
- ALWAYS count affected files before assigning a tier — gut-feel estimates are unreliable; scan the codebase to count files actually touched by the change before assigning SIMPLE/STANDARD/COMPLEX/EPIC.
- ALWAYS flag unfamiliar technologies for research — unknown tech has hidden complexity; mark any unfamiliar framework, library, or service as requiring research before proceeding with the complexity estimate.
- NEVER let the user's casual language lower the tier — "just a quick fix" or "small change" reflects the user's perception, not the actual technical scope; assess objectively regardless of how it is described.
Workflow Types
Determine the type of work being requested:
FEATURE
- Adding new functionality to the codebase
- Enhancing existing features with new capabilities
- Building new UI components, API endpoints, or services
- Examples: "Add screenshot paste", "Build user dashboard", "Create new API endpoint"
REFACTOR
- Replacing existing functionality with a new implementation
- Migrating from one system/pattern to another
- Reorganizing code structure while preserving behavior
- Examples: "Migrate auth from sessions to JWT", "Refactor cache layer"
INVESTIGATION
- Debugging unknown issues
- Root cause analysis for bugs
- Performance investigations
- Examples: "Find why page loads slowly", "Debug intermittent crash"
MIGRATION
- Data migrations between systems
- Database schema changes with data transformation
- Import/export operations
- Examples: "Migrate user data to new schema", "Import legacy records"
SIMPLE
- Very small, well-defined changes
- Single file modifications
- No architectural decisions needed
- Examples: "Fix typo", "Update button color", "Change error message"
Complexity Tiers
SIMPLE
- 1-2 files modified
- Single service/area
- No external integrations
- No infrastructure changes
- No new dependencies
- Examples: typo fixes, color changes, text updates, simple bug fixes
STANDARD
- 3-10 files modified
- 1-2 services/areas
- 0-1 external integrations (well-documented, simple to use)
- Minimal infrastructure changes (e.g., adding an env var)
- May need some research but core patterns exist
- Examples: adding a new API endpoint, creating a new component
COMPLEX
- 10+ files OR cross-cutting changes
- Multiple services/areas
- 2+ external integrations
- Infrastructure changes (Docker, databases, queues)
- New architectural patterns
- Greenfield features requiring research
- Examples: new integrations (Stripe, Auth0), database migrations, new services
Workflow
Phase 1: Load Requirements
Read the requirements document:
# Read the requirements file
cat .claude/context/requirements/[task-name].md
Extract:
- task_description: What needs to be built
- workflow_type: Type of work (feature, refactor, etc.)
- scope: Which areas are affected
- requirements: Specific requirements
- acceptance_criteria: How success is measured
- constraints: Any limitations
Phase 2: Analyze the Task
Read the task description carefully. Look for:
Complexity Indicators (suggest higher complexity):
- "integrate", "integration" - external dependency
- "optional", "configurable", "toggle" - feature flags, conditional logic
- "docker", "compose", "container" - infrastructure
- Database names (postgres, redis, mongo) - infrastructure + config
- API/SDK names (stripe, auth0, openai) - external research needed
- "migrate", "migration" - data/schema changes
- "across", "all services", "everywhere" - cross-cutting
- "new service" - significant scope
- ".env", "environment", "config" - configuration complexity
Simplicity Indicators (suggest lower complexity):
- "fix", "typo", "update", "change" - modification
- "single file", "one component" - limited scope
- "style", "color", "text", "label" - UI tweaks
- Specific file paths mentioned - known scope
Phase 3: Assess Dimensions
Scope Analysis
- How many files will likely be touched?
- How many areas are involved?
- Is this a localized change or cross-cutting?
Integration Analysis
- Does this involve external services/APIs?
- Are there new dependencies to add?
- Do these dependencies require research?
Infrastructure Analysis
- Does this require Docker/container changes?
- Does this require database schema changes?
- Does this require new environment configuration?
Knowledge Analysis
- Does the codebase already have patterns for this?
- Will research be needed for external docs?
- Are there unfamiliar technologies involved?
Risk Analysis
- What could go wrong?
- Are there security considerations?
- Could this break existing functionality?
Phase 4: Determine Phases Needed
Based on your analysis, determine which phases are needed:
For SIMPLE tasks:
discovery → quick_spec → validation
(3 phases, no research, minimal planning)
For STANDARD tasks:
discovery → requirements → context → spec_writing → planning → validation
(6 phases, context-based spec writing)
For STANDARD tasks WITH external dependencies:
discovery → requirements → research → context → spec_writing → planning → validation
(7 phases, includes research for unfamiliar dependencies)
For COMPLEX tasks:
discovery → requirements → research → context → spec_writing → self_critique → planning → validation
(8 phases, full pipeline with research and self-critique)
Phase 5: Determine Validation Depth
Based on complexity and risk analysis, recommend validation depth:
| Risk Level | When to Use | Validation Depth |
|---|---|---|
| TRIVIAL | Docs-only, comments, whitespace | Skip validation entirely |
| LOW | Single area, < 5 files, no DB/API changes | Unit tests only |
| MEDIUM | Multiple files, 1-2 areas, API changes | Unit + Integration tests |
| HIGH | Database changes, auth/security, cross-service | Unit + Integration + E2E + Security |
| CRITICAL | Payments, data deletion, security-critical | All above + Manual review + Staging |
Skip Validation Criteria (TRIVIAL): Set only when ALL are true:
- Documentation-only changes (*.md, comments, docstrings)
- OR purely cosmetic (whitespace, formatting, linting fixes)
- No functional code modified
- Confidence >= 0.9
Security Scan Required when ANY apply:
- Authentication/authorization code touched
- User data handling modified
- Payment/financial code involved
- API keys, secrets, or credentials handled
- New dependencies with network access
- File upload/download functionality
Phase 6: Output Assessment
Create the structured assessment:
# Complexity Assessment: [Task Name]
## Summary
| Dimension | Assessment |
| ------------- | ------------------------------------------------- |
| Complexity | [simple/standard/complex] |
| Workflow Type | [feature/refactor/investigation/migration/simple] |
| Confidence | [0.0-1.0] |
## Reasoning
[2-3 sentence explanation]
## Analysis
### Scope
- Estimated files: [number]
- Estimated areas: [number]
- Cross-cutting: [yes/no]
- Notes: [brief explanation]
### Integrations
- External services: [list]
- New dependencies: [list]
- Research needed: [yes/no]
- Notes: [brief explanation]
### Infrastructure
- Docker changes: [yes/no]
- Database changes: [yes/no]
- Config changes: [yes/no]
- Notes: [brief explanation]
### Knowledge
- Patterns exist: [yes/no]
- Research required: [yes/no]
- Unfamiliar tech: [list]
- Notes: [brief explanation]
### Risk
- Level: [low/medium/high]
- Concerns: [list]
- Notes: [brief explanation]
## Recommended Phases
1. [phase1]
2. [phase2]
3. ...
## Validation Recommendations
| Setting | Value |
| ---------------- | ---------------------------------- |
| Risk Level | [trivial/low/medium/high/critical] |
| Skip Validation | [yes/no] |
| Minimal Mode | [yes/no] |
| Test Types | [unit, integration, e2e] |
| Security Scan | [yes/no] |
| Staging Required | [yes/no] |
**Reasoning**: [1-2 sentences explaining validation depth]
## Flags
- Needs research: [yes/no]
- Needs self-critique: [yes/no]
- Needs infrastructure setup: [yes/no]
Decision Flowchart
START
|
+--> Are there 2+ external integrations OR unfamiliar technologies?
| YES -> COMPLEX (needs research + critique)
| NO
| |
+--> Are there infrastructure changes (Docker, DB, new services)?
| YES -> COMPLEX (needs research + critique)
| NO
| |
+--> Is there 1 external integration that needs research?
| YES -> STANDARD + research phase
| NO
| |
+--> Will this touch 3+ files across 1-2 areas?
| YES -> STANDARD
| NO
| |
+--> SIMPLE (1-2 files, single area, no integrations)
Verification Checklist
Before completing assessment:
- Requirements document read completely
- All complexity indicators identified
- All simplicity indicators identified
- Scope analyzed (files, areas, cross-cutting)
- Integrations analyzed (external, dependencies)
- Infrastructure needs assessed
- Knowledge gaps identified
- Risk level determined
- Phases determined
- Validation depth recommended
Common Mistakes
Underestimating Integrations
Why it's wrong: One integration can touch many files.
Do this instead: Flag research needs for any unfamiliar technology.
Ignoring Infrastructure
Why it's wrong: Docker/DB changes add significant complexity.
Do this instead: Check for infrastructure needs early.
Over-Confident
Why it's wrong: Rarely should confidence be above 0.9.
Do this instead: Be conservative. When in doubt, go higher complexity.
Integration with Other Skills
This skill works well with:
- spec-gathering: Provides requirements for assessment
- spec-writing: Uses assessment to determine spec depth
- qa-workflow: Uses validation recommendations
Anti-Patterns
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Assigning SIMPLE without file scan | Underestimates actual affected file count | Count affected files before assigning tier |
| "Quick fix" language lowers tier | User perception ≠ technical scope | Assess objectively; ignore casual user framing |
| Ignoring integrations and external APIs | External dependencies add risk and complexity | List all external services/APIs in the assessment |
| Skipping research flag for unknown tech | Unfamiliar tech has invisible complexity | Flag any unfamiliar technology for research |
| Not considering rollback complexity | COMPLEX/EPIC need recovery plans | Include rollback difficulty in complexity scoring |
Memory Protocol
Before starting:
Read .claude/context/memory/learnings.md
After completing:
- New pattern ->
.claude/context/memory/learnings.md - Issue found ->
.claude/context/memory/issues.md - Decision made ->
.claude/context/memory/decisions.md
ASSUME INTERRUPTION: If it's not in memory, it didn't happen.
FAQ
What does the complexity-assessment skill do?
AI-based complexity assessment for task analysis. Use when determining the appropriate workflow, phases, and validation depth for a task.
How do I install complexity-assessment?
Run npx skills add https://github.com/oimiragieo/agent-studio --skill complexity-assessment in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/complexity-assessment/ (personal) or .claude/skills/complexity-assessment/ (project).
Which AI agents can use complexity-assessment?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is complexity-assessment safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains complexity-assessment?
It is published by oimiragieo in oimiragieo/agent-studio. It has 77 recorded installs.
More from oimiragieo/agent-studio
pyqt6-ui-development-rules
oimiragieo/agent-studio
PyQt6 desktop GUI development rules -- signal/slot architecture, QSS theming, QThread concurrency, layout management, and cross-platform rendering. Enforces MVC separation and responsive UI patterns.
filesystem
oimiragieo/agent-studio
File system operations guidance - read, write, search, and manage files using Claude Code's built-in tools.
chrome-browser
oimiragieo/agent-studio
Open the skill to read its SKILL.md instructions.
slack-notifications
oimiragieo/agent-studio
Open the skill to read its SKILL.md instructions.
context-compressor
oimiragieo/agent-studio
Open the skill to read its SKILL.md instructions.
nodejs-expert
oimiragieo/agent-studio
Open the skill to read its SKILL.md instructions.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。