Skip to content
Back to skills

Estimation

ASecurity

Use before committing to a task. Provides complexity analysis and scope assessment. Invoke when user asks "how complex" or before large features.

  • 207 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added February 7, 2026
documentationgoexpresstestingapidocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add NeverSight/skills_feed --skill estimation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Estimation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Estimation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neversight-estimation/badge)](https://www.skillsdirectory.com/skills/neversight-estimation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: estimation
description: Use before committing to a task. Provides complexity analysis and scope assessment. Invoke when user asks "how complex" or before large features.
version: 1.0.0
---

# Estimation Skill

> **Core Principle**: Estimate before committing.

## When to Invoke

- Before starting a large or complex task
- When user asks about complexity or scope
- Before providing time commitments
- When decomposing tasks for orchestration
- When uncertain about task scope

---

## Complexity Factors

Assess each factor to determine overall complexity:

| Factor | Weight | Questions to Ask |
|--------|--------|------------------|
| Files to modify | High | How many files? How spread across codebase? |
| New patterns required | High | Does this require patterns not in codebase? |
| External dependencies | High | New APIs, services, or integrations? |
| Test coverage needed | Medium | Unit, integration, e2e tests required? |
| Documentation updates | Low | README, API docs, comments needed? |
| Breaking changes | High | Will this break existing functionality? |
| Unknown territory | High | Are you familiar with this code area? |

### Complexity Scoring

```
LOW: 1-2 files, existing patterns, no new dependencies
MEDIUM: 3-5 files, minor new patterns, limited dependencies
HIGH: 6+ files, new patterns, new dependencies, cross-cutting
UNKNOWN: Cannot assess without more exploration
```

---

## Estimation Protocol

### Step 1: Scope Analysis

```
1. What is the task asking for?
2. What files will likely need changes?
3. What patterns exist for similar features?
4. What dependencies are involved?
5. What testing is required?
```

### Step 2: Factor Assessment

For each complexity factor:
- Score as: none (0), low (1), medium (2), high (3)
- Note specific concerns

### Step 3: Risk Identification

```
Risks to identify:
- Areas of uncertainty
- Potential blockers
- Dependencies on external factors
- Technical debt implications
```

### Step 4: Output Estimation

Use the template below.

---

## Output Template

```yaml
estimation:
  timestamp: [ISO 8601]
  task: |
    [Task description]

  scope:
    files_affected:
      known:
        - [file1.ts - reason]
        - [file2.ts - reason]
      likely:
        - [file3.ts - reason]
      unknown: [count or "cannot determine"]

    changes_required:
      - type: [new_file | modification | deletion]
        description: [what change]
      - type: [type]
        description: [what change]

  complexity:
    overall: [low | medium | high | unknown]
    factors:
      files_to_modify: [0-3]
      new_patterns: [0-3]
      external_dependencies: [0-3]
      test_coverage: [0-3]
      documentation: [0-3]
      breaking_changes: [0-3]
      unknown_territory: [0-3]
    total_score: [sum]

  risks:
    - risk: "[Risk description]"
      likelihood: [low | medium | high]
      impact: [low | medium | high]
      mitigation: "[How to address]"

  unknowns:
    - "[What you couldn't determine]"
    - "[What needs clarification]"

  recommendations:
    approach: |
      [Recommended approach]
    alternatives:
      - "[Alternative approach 1]"
    next_steps:
      - "[First step]"
      - "[Second step]"

  confidence: 0.0
  evidence:
    - "[What you examined]"
```

---

## Complexity Thresholds

### Low Complexity (Score 0-5)
- Can likely be completed in single session
- Straightforward implementation
- Well-understood patterns

### Medium Complexity (Score 6-10)
- May require multiple sessions
- Some exploration needed
- Some new patterns required

### High Complexity (Score 11+)
- Definitely requires planning
- Significant exploration needed
- Consider breaking into phases

### Unknown Complexity
- Cannot assess without more information
- Recommend context-gathering first
- Ask user clarifying questions

---

## Rules

> [!CRITICAL]
> NEVER estimate without understanding scope.
> ALWAYS include unknowns.

### Do
- List specific files you expect to change
- Identify risks and unknowns
- Provide confidence level
- Recommend next steps

### Don't
- Give point estimates (use ranges/categories)
- Promise delivery timelines
- Understate complexity to seem helpful
- Skip the unknown factors

---

## Integration with Other Skills

| After Estimation | Invoke |
|------------------|--------|
| Need more context | → `context-gathering` skill |
| Ready to plan implementation | → `writing-plans` skill |
| Ready to execute | → `orchestration` skill |

### Chaining Rules

1. **IF** unknowns are significant **THEN** invoke `context-gathering` first
2. **IF** complexity is high **THEN** recommend phased approach
3. **AFTER** estimation accepted **THEN** proceed to `writing-plans`

---

## Example

**Task**: "Add user authentication to the API"

```yaml
estimation:
  timestamp: "2024-01-15T10:00:00Z"
  task: |
    Add user authentication to the existing Express API

  scope:
    files_affected:
      known:
        - src/routes/auth.ts - new route file
        - src/middleware/auth.ts - new middleware
        - src/models/user.ts - user model changes
      likely:
        - src/routes/index.ts - route registration
        - tests/auth.test.ts - new tests
      unknown: 2-3 additional files for utilities

    changes_required:
      - type: new_file
        description: Authentication routes (login, register, logout)
      - type: new_file
        description: Auth middleware for protected routes
      - type: modification
        description: Add auth to existing protected routes

  complexity:
    overall: medium
    factors:
      files_to_modify: 2
      new_patterns: 2
      external_dependencies: 2
      test_coverage: 2
      documentation: 1
      breaking_changes: 1
      unknown_territory: 1
    total_score: 11

  risks:
    - risk: "Password hashing library choice"
      likelihood: low
      impact: medium
      mitigation: "Use bcrypt, well-established"
    - risk: "JWT secret management"
      likelihood: medium
      impact: high
      mitigation: "Environment variable, document required setup"

  unknowns:
    - "Which routes should be protected?"
    - "OAuth integration needed?"
    - "Session vs JWT preference?"

  recommendations:
    approach: |
      Implement JWT-based auth with bcrypt password hashing.
      Start with login/register, add middleware, then protect routes.
    alternatives:
      - "Session-based auth with express-session"
      - "OAuth with passport.js"
    next_steps:
      - "Clarify auth requirements with user"
      - "Create detailed plan with writing-plans skill"

  confidence: 0.7
  evidence:
    - "Reviewed existing routes structure"
    - "Checked package.json for auth libraries"
    - "Examined similar features in codebase"
```

Files in this skill

  • SKILL.md6.6 KB
  • description_cn.txt136 B
  • description_de.txt214 B
  • description_en.txt146 B
  • description_es.txt195 B
  • description_fr.txt238 B
  • description_ja.txt235 B
  • description_ko.txt196 B
  • description_tw.txt136 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…