specwright/templates/skills/dev-team/architect/dependency-checking/SKILL.md
# Dependency Checking Skill > Skill: Dependency Checking > Role: Architect > Created: 2026-01-09 > Version: 1.0.0 ## Purpose Evaluates external dependencies (libraries, frameworks, APIs, services) for security, reliability, maintenance status, and architectural fit. Ensures dependencies align with project standards and minimize risk. ## When to Activate This Skill **Trigger Conditions:** - Adding new external library or package - Evaluating third-party API integration - Security vulnerabili
npx skillsauth add michsindlinger/specwright specwright/templates/skills/dev-team/architect/dependency-checkingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skill: Dependency Checking Role: Architect Created: 2026-01-09 Version: 1.0.0
Evaluates external dependencies (libraries, frameworks, APIs, services) for security, reliability, maintenance status, and architectural fit. Ensures dependencies align with project standards and minimize risk.
Trigger Conditions:
Context Signals:
[TECH_STACK_SPECIFIC]
[TECH_STACK_SPECIFIC]
[TECH_STACK_SPECIFIC]
[TECH_STACK_SPECIFIC]
[MCP_TOOLS]
<!-- Populated during skill creation based on: 1. User's installed MCP servers 2. User's selection for this skill Recommended for this skill (examples): - npm/bundler/pip - Package management operations - security-scanner - Vulnerability scanning - license-checker - License compliance - [TECH_STACK_SPECIFIC] - Framework-specific tools Note: Skills work without MCP servers, but functionality may be limited -->Scenario: Choose a library for PDF generation
Evaluation:
[TECH_STACK_SPECIFIC]
REQUIREMENT: Generate PDF invoices from HTML templates
CANDIDATES:
1. [Popular Library A]
2. [Popular Library B]
3. Build custom solution
EVALUATION CRITERIA:
1. [Library A] - Mature and feature-rich
✓ GitHub: 15k stars, 200 contributors
✓ Last commit: 2 days ago
✓ npm downloads: 2M/week
✓ Documentation: Excellent with examples
✓ License: MIT
✓ Version: 3.2.1 (stable)
✗ Bundle size: 2.5MB (large)
✗ Dependencies: 45 (many transitive deps)
2. [Library B] - Lightweight alternative
✓ GitHub: 5k stars, 30 contributors
✓ Last commit: 1 week ago
✓ npm downloads: 500k/week
✓ Documentation: Good
✓ License: Apache 2.0
✓ Version: 2.0.3 (stable)
✓ Bundle size: 400KB (small)
✓ Dependencies: 5 (minimal)
✗ Fewer advanced features
3. Custom Solution
✓ Complete control
✓ No external dependency
✗ Development time: 2-3 weeks
✗ Ongoing maintenance burden
✗ Reinventing the wheel
RECOMMENDATION: [Library B]
RATIONALE:
- Meets all current requirements
- Smaller footprint reduces security surface
- Fewer dependencies = less maintenance
- Well-maintained and stable
- Can switch to Library A if advanced features needed
DECISION RECORD: Log in specwright/product/architecture-decision.md
Scenario: Security alert on existing dependency
Response:
[TECH_STACK_SPECIFIC]
ALERT: CVE-2024-12345 in [library-name] < 2.5.1
SEVERITY: High (CVSS 7.8)
IMPACT: Remote Code Execution via malicious input
CURRENT VERSION: 2.4.0
AFFECTED: Yes
EXPLOITABILITY: High (PoC available)
ASSESSMENT:
1. Verify vulnerability applies to our usage
- Review vulnerable code path
- Check if we use affected feature
- Result: YES, we are vulnerable
2. Check patch availability
- Version 2.5.1 released 2 days ago
- Changelog: Security fix only, no breaking changes
- Result: Safe to update
3. Test compatibility
- Run test suite with 2.5.1
- Check for deprecation warnings
- Result: All tests pass
ACTION PLAN:
1. IMMEDIATE (Today):
- Update to 2.5.1
- Run full test suite
- Deploy to staging
- Verify fix
2. SHORT-TERM (This week):
- Deploy to production
- Monitor for issues
- Document incident
3. LONG-TERM:
- Enable automated security scanning
- Set up dependency update automation
- Establish security update SLA
COMMUNICATION:
- Notify team: High priority security update
- Notify stakeholders: Timeline for fix
- Document: Post-mortem and prevention
Scenario: Major version update of framework
Plan:
[TECH_STACK_SPECIFIC]
UPDATE: [Framework] 7.x → 8.x
TYPE: Major version (breaking changes expected)
MOTIVATION: New features, security support, performance
BREAKING CHANGES ANALYSIS:
1. Deprecated feature X removed
- Impact: Used in 3 controllers
- Migration: Use new feature Y
- Effort: 4 hours
2. API change in module Z
- Impact: Used in authentication layer
- Migration: Update to new API
- Effort: 8 hours
3. Configuration format changed
- Impact: All config files
- Migration: Run automated converter
- Effort: 2 hours
DEPENDENCY CONFLICTS:
- [Plugin A] compatible from v2.0+
- [Plugin B] not yet compatible (blocking)
- [Plugin C] requires update to v3.x
MIGRATION PLAN:
Phase 1: Preparation (Week 1)
- Create feature branch
- Update [Plugin A] to v2.0
- Wait for [Plugin B] compatibility or find alternative
- Review all breaking changes
Phase 2: Migration (Week 2)
- Update framework to 8.x
- Fix breaking changes
- Update tests
- Run full test suite
Phase 3: Testing (Week 3)
- QA testing on staging
- Performance testing
- Security review
- Fix any issues
Phase 4: Deployment (Week 4)
- Deploy to production during low-traffic window
- Monitor closely
- Rollback plan ready
ROLLBACK PLAN:
- Keep 7.x branch available
- Database migrations reversible
- Can redeploy 7.x if critical issues
DECISION: Proceed with migration
BLOCKER: Wait for [Plugin B] v8.x support (ETA: 2 weeks)
Scenario: Need user authentication system
Analysis:
[TECH_STACK_SPECIFIC]
REQUIREMENT: User authentication with OAuth, 2FA, SSO
OPTION 1: Use Authentication Library/Service
Examples: [Auth Service A], [Library B], [Framework Built-in]
PROS:
✓ Battle-tested security
✓ Fast implementation (days)
✓ Regular security updates
✓ Compliance certifications
✓ Documentation and support
✓ Industry best practices
CONS:
✗ External dependency
✗ Ongoing costs (for hosted services)
✗ Less customization
✗ Vendor lock-in risk
✗ Learning curve
OPTION 2: Build Custom Auth System
PROS:
✓ Complete control
✓ Perfect customization
✓ No external dependency
✓ No recurring costs
CONS:
✗ Security expertise required
✗ Development time: 4-6 weeks
✗ Ongoing maintenance burden
✗ Compliance complexity
✗ Testing burden
✗ High risk if done wrong
RECOMMENDATION: Use [Auth Library/Service]
RATIONALE:
- Security is critical - use proven solution
- Faster time to market
- Compliance requirements met out-of-box
- Team can focus on core product
- Auth is not our competitive advantage
- Risk of custom auth errors is too high
COST ANALYSIS:
- Service cost: $X/month
- Build cost: 6 weeks × $developer_rate
- Maintenance: Ongoing burden
- Break-even: Service pays for itself in reduced risk
DECISION: Adopt [Auth Library]
See: specwright/product/architecture-decision.md#DEC-XXX
Scenario: Audit dependencies for license compliance
Audit:
[TECH_STACK_SPECIFIC]
PROJECT LICENSE: MIT
COMPATIBILITY: Must allow commercial use, modification, distribution
DEPENDENCY LICENSES:
COMPATIBLE (No issues):
✓ MIT: 127 packages
✓ Apache 2.0: 34 packages
✓ BSD-3-Clause: 12 packages
✓ ISC: 8 packages
REVIEW REQUIRED (Copyleft):
⚠ LGPL-3.0: [library-name] v1.2.3
- Used for: [specific feature]
- Risk: LGPL allows dynamic linking (OK)
- Action: Verify dynamic linking, document
⚠ GPL-3.0: [dev-tool] v2.0.0
- Used for: Development tooling only
- Risk: Not distributed with product (OK)
- Action: Ensure stays in devDependencies
PROBLEMATIC (Incompatible):
✗ Custom restrictive license: [library-x]
- Used for: [feature]
- Risk: Restricts commercial use
- Action: REMOVE - find alternative
ACTION ITEMS:
1. Remove [library-x] (incompatible license)
2. Find alternative for [feature]
3. Document LGPL usage compliance
4. Set up automated license checking in CI
5. Create approved licenses list
APPROVED LICENSES:
- MIT
- Apache 2.0
- BSD (2-Clause, 3-Clause)
- ISC
- Unlicense
- CC0
PROHIBITED LICENSES:
- GPL (except dev dependencies)
- AGPL
- Custom restrictive licenses
TOOL SETUP:
Add to CI pipeline:
$ [license-checker-command]
Fail build if prohibited license detected
1. IDENTIFY: Dependency need or issue
2. RESEARCH: Available options and alternatives
3. EVALUATE: Security, maintenance, fit, license
4. COMPARE: Pros/cons of each option
5. TEST: Proof of concept if uncertain
6. DECIDE: Select best option with rationale
7. DOCUMENT: Decision and reasoning
8. MONITOR: Ongoing security and updates
tools
Session Handoff: Erstellt eine vollständige Zusammenfassung der aktuellen Session für einen sauberen Kontextwechsel. NUR bei explizitem Aufruf (/session-handoff). NICHT automatisch auslösen. Geeignet wenn der User die Session resetten will, den Kontext aufräumen will, oder bei ~120k Tokens angelangt ist.
development
Pre-Mortem Risk Analysis: Strukturierte Prospective-Hindsight-Übung um launch-blocking Risiken vor Commitment aufzudecken. Team stellt sich vor, das Produkt sei 14 Tage nach Launch gefloppt, und arbeitet rückwärts. Klassifiziert Risiken in Tigers (echt), Paper Tigers (hypothetisch), Elephants (unausgesprochen). Nutze diesen Skill vor Build-Commitment, bei zu hoher Stakeholder-Confidence, vor Major-Releases, oder wenn das Team vage Sorgen nicht artikulieren kann. Trigger: /pre-mortem, 'pre-mortem', 'risk analysis', 'was könnte schiefgehen', 'risiken vor launch'.
testing
Six-Sigma Atomicity Validator for create-spec stories
tools
UX pattern definition guidance for navigation, user flows, interactions, and accessibility