estimate-complexity
Estimate implementation complexity for features and technical tasks
What this skill does
# Estimate Complexity Provide structured complexity estimates for features and tasks to help with planning and prioritization. ## When to Use - During sprint planning - When scoping new features - Before committing to timelines - When breaking down large initiatives ## Used By - Full-Stack Engineer - Frontend Engineer - Backend Engineer - DevOps Engineer --- ## Complexity Estimation Framework ### T-Shirt Sizes | Size | Description | Typical Scope | |------|-------------|---------------| | **XS** | Trivial change | Config change, copy update, minor fix | | **S** | Small, well-understood | Single component, simple API endpoint | | **M** | Moderate complexity | Multiple components, some unknowns | | **L** | Significant effort | Cross-cutting changes, new patterns | | **XL** | Major initiative | New system, architectural changes | --- ## Estimation Template ```markdown ## Complexity Estimate: [Feature/Task Name] ### Summary **T-Shirt Size**: [XS / S / M / L / XL] **Confidence**: [High / Medium / Low] ### Breakdown | Component | Effort | Notes | |-----------|--------|-------| | [Component 1] | [XS-XL] | [Details] | | [Component 2] | [XS-XL] | [Details] | | [Component 3] | [XS-XL] | [Details] | ### Key Complexity Drivers 1. **[Driver 1]**: [Why this adds complexity] 2. **[Driver 2]**: [Why this adds complexity] 3. **[Driver 3]**: [Why this adds complexity] ### Risk Factors | Risk | Impact | Mitigation | |------|--------|------------| | [Risk 1] | [H/M/L] | [Strategy] | | [Risk 2] | [H/M/L] | [Strategy] | ### Unknowns - [ ] [Unknown 1] - Could affect estimate by [amount] - [ ] [Unknown 2] - Need to spike/investigate ### Suggested Breakdown If size is L or XL, break into smaller deliverables: 1. **Phase 1**: [Scope] - Size: [S/M] 2. **Phase 2**: [Scope] - Size: [S/M] 3. **Phase 3**: [Scope] - Size: [S/M] ### Dependencies - Blocked by: [Dependency] - Blocks: [Other work] ### Recommendations [Any suggestions for approach, sequencing, or risk reduction] ``` --- ## Complexity Indicators ### Factors That Increase Complexity **Technical** - New technology or pattern not used before - Integration with external systems - Performance-critical requirements - Complex state management - Database migrations on large tables - Security-sensitive functionality **Organizational** - Cross-team coordination required - Unclear or changing requirements - Multiple stakeholder approval needed - Compliance or legal review required **Code Quality** - Working in unfamiliar codebase area - Technical debt in affected areas - Missing test coverage - Poor documentation ### Factors That Decrease Complexity - Similar work done before (pattern exists) - Well-defined requirements - Strong test coverage - Clear ownership and decision-making - Good documentation - Modern, maintained dependencies --- ## Confidence Levels ### High Confidence - Similar work completed before - All requirements are clear - Technology is well-understood - No significant unknowns ### Medium Confidence - Some new elements but core is understood - Requirements are mostly clear - Some unknowns that are bounded ### Low Confidence - New technology or pattern - Requirements are still evolving - Significant unknowns exist - External dependencies unclear **When confidence is low**: Consider a spike/investigation before committing to estimate. --- ## Breaking Down Large Tasks If the estimate is L or XL, it should be broken down. Use these strategies: ### 1. Vertical Slicing Break by user-facing functionality: - Slice 1: Minimal viable flow - Slice 2: Add edge cases - Slice 3: Polish and optimization ### 2. Horizontal Slicing Break by technical layer: - Phase 1: Data model and API - Phase 2: Frontend implementation - Phase 3: Integration and testing ### 3. Risk-First Slicing Address unknowns first: - Phase 1: Spike on risky parts - Phase 2: Core implementation - Phase 3: Polish and edge cases --- ## Estimation Anti-Patterns ### Don't Do This 1. **Pressure-driven estimates**: Fitting estimate to desired timeline 2. **Best-case thinking**: Assuming everything goes perfectly 3. **Ignoring testing**: Development isn't done until it's tested 4. **Forgetting integration**: Time for connecting pieces 5. **Missing review cycles**: Code review, design review, etc. ### Do This Instead 1. **Add buffer**: Include time for unknowns and interruptions 2. **Include all work**: Testing, documentation, review, deployment 3. **Communicate uncertainty**: Be honest about confidence level 4. **Update as you learn**: Revise estimates when new info emerges 5. **Track actuals**: Compare estimates to actual to improve --- ## Quick Estimation Checklist Before providing an estimate, consider: ### Scope - [ ] Are requirements clear and complete? - [ ] Is scope explicitly bounded? - [ ] Are acceptance criteria defined? ### Technical - [ ] Have you worked in this area before? - [ ] Are there existing patterns to follow? - [ ] Are dependencies understood? - [ ] Is the data model clear? ### Testing - [ ] What testing is required? - [ ] Is there existing test coverage? - [ ] Are there test data needs? ### Deployment - [ ] Any database migrations? - [ ] Feature flag needed? - [ ] Configuration changes? - [ ] Documentation updates? ### Coordination - [ ] Other teams involved? - [ ] Review cycles needed? - [ ] Stakeholder approval required? --- ## Example Estimates ### XS Example: Copy Update ``` Task: Update error message text Size: XS Confidence: High Breakdown: - Edit: 10 min - Test: 10 min - Deploy: Automatic ``` ### S Example: New API Endpoint ``` Task: Add endpoint to fetch user preferences Size: S Confidence: High Breakdown: - API implementation: 2 hours - Tests: 1 hour - Documentation: 30 min ``` ### M Example: New Feature Component ``` Task: Add notification preferences UI Size: M Confidence: Medium Breakdown: - Component design: 2 hours - State management: 2 hours - API integration: 2 hours - Testing: 3 hours - Accessibility: 2 hours ``` ### L Example: New Subsystem ``` Task: Implement real-time notifications Size: L Confidence: Medium Key Drivers: - WebSocket infrastructure needed - Multiple notification types - Delivery guarantees - UI notifications component Suggested Breakdown: 1. WebSocket infrastructure (M) 2. Backend notification service (M) 3. Frontend notification component (S) 4. Integration and testing (S) ```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.