dependency-resolver
Automated dependency conflict detection and resolution. Detects local vs CI environment mismatches, compares versions, and generates pinning recommendations. Run as pre-push check to catch issues early.
What this skill does
# Dependency Resolver Skill
## Purpose
This skill detects and resolves local vs CI environment mismatches BEFORE push, preventing the 20-45 minute debug cycles documented in DISCOVERIES.md ("CI Failure Resolution Process Analysis" entry).
The skill addresses a critical gap: existing tools (ci-diagnostic-workflow, pre-commit-diagnostic) fix issues AFTER they occur. This skill catches mismatches BEFORE push.
## Problem Statement
From DISCOVERIES.md analysis:
- Environment mismatches (Local Python 3.12 vs CI Python 3.11) cause 20-25 min investigation overhead
- Version drift (local ruff 0.12.7 vs CI ruff 0.13.0) causes silent failures
- 45-minute complex debugging sessions traced to dependency conflicts
- No automated pre-push environment comparison exists
## Execution Instructions
When activated, execute these steps autonomously:
### Step 1: Collect Local Environment
```bash
# Python version
python --version
# Installed tool versions
pip show ruff black pyright mypy 2>/dev/null | grep -E "^(Name|Version):"
# Pre-commit hook versions (if available)
cat .pre-commit-config.yaml 2>/dev/null | grep -E "rev:|repo:"
```
### Step 2: Read CI Configuration
```
Read(file_path=".github/workflows/ci.yml")
Read(file_path="pyproject.toml")
Read(file_path=".pre-commit-config.yaml")
```
Extract:
- CI Python version (look for `python-version:`)
- Required tool versions from pyproject.toml
- Pre-commit hook versions from .pre-commit-config.yaml
### Step 3: Compare Environments
Build comparison table:
| Component | Local | CI | Status |
| --------- | ------- | ------ | -------- |
| Python | 3.12.10 | 3.11 | MISMATCH |
| ruff | 0.12.7 | 0.13.0 | MISMATCH |
| black | 24.3.0 | 24.3.0 | OK |
### Step 4: Generate Recommendations
For each mismatch, provide actionable fix:
**Python Version Mismatch:**
```bash
# Option A: Use pyenv to match CI version
pyenv install 3.11
pyenv local 3.11
# Option B: Update CI to match local (if local is intentional)
# Edit .github/workflows/ci.yml line 33
```
**Tool Version Mismatch:**
```bash
# Pin versions in pyproject.toml
pip install ruff==0.13.0
# Or update pre-commit hooks
pre-commit autoupdate
```
### Step 5: Auto-Fix (When Requested)
If user requests auto-fix:
1. Update .pre-commit-config.yaml with latest versions
2. Run `pre-commit autoupdate`
3. Regenerate requirements.txt if applicable
4. Stage changes for commit
## Integration Points
### With fix-agent
Integrates with fix-agent templates for:
- Import/dependency fixes (Template 1)
- Configuration fixes (Template 2)
- CI/CD fixes (Template 4)
### With pre-commit-diagnostic
Hand-off when pre-commit failures detected after version sync.
### With ci-diagnostic-workflow
Hand-off for post-push CI failures not caught by pre-push validation.
## Common Mismatch Patterns
### Pattern 1: Python Minor Version Drift
**Symptoms:**
- Type errors only in CI
- Import errors with newer syntax
- f-string issues
**Fix:**
```bash
# Check CI Python version
grep -r "python-version" .github/workflows/
# Match locally or update CI
```
### Pattern 2: Linter Version Drift
**Symptoms:**
- "Works locally but CI fails on linting"
- New rules in CI not enforced locally
- Formatting differences
**Fix:**
```bash
# Sync pre-commit hooks to latest
pre-commit autoupdate
# Or pin specific version
pip install ruff==<ci-version>
```
### Pattern 3: Missing Dependencies
**Symptoms:**
- ModuleNotFoundError in CI
- Optional dependencies not installed
**Fix:**
```bash
# Install all optional dependencies
pip install -e ".[dev]"
# Ensure requirements.txt is up to date
pip freeze > requirements.txt
```
## Output Format
````markdown
## Dependency Resolver Report
### Environment Comparison
| Component | Local | CI | Status |
| --------- | ------- | ------- | -------- |
| Python | 3.12.10 | 3.11 | MISMATCH |
| ruff | 0.12.7 | 0.13.0 | MISMATCH |
| pyright | 1.1.350 | 1.1.350 | OK |
### Mismatches Found: 2
### Recommendations
1. **Python Version** (CRITICAL)
- Local: 3.12.10, CI: 3.11
- Action: Consider using pyenv to test with CI version before push
- Risk: Type syntax differences may cause failures
2. **ruff Version** (WARNING)
- Local: 0.12.7, CI: 0.13.0
- Action: Run `pip install ruff==0.13.0` or `pre-commit autoupdate`
- Risk: New rules may flag previously passing code
### Quick Fix Commands
```bash
# Sync ruff version
pip install ruff==0.13.0
# Update all pre-commit hooks
pre-commit autoupdate
# Re-run pre-commit to validate
pre-commit run --all-files
```
### Status: ACTION REQUIRED
Push may fail due to environment mismatches.
Run recommended fixes before pushing.
````
## When to Use This Skill
**Trigger Signs:**
- "CI is failing but it works locally"
- "Linting passes here but not in CI"
- Before pushing after long development session
- After updating local Python or tools
- When onboarding to new project
**Not Needed When:**
- CI already passing consistently
- Environment just synced
- Only editing documentation
## Related Resources
- **DISCOVERIES.md**: CI Failure Resolution Process Analysis (lines 836-914)
- **fix-agent.md**: Templates for import/config/CI fixes
- **ci-diagnostic-workflow.md**: Post-push CI failure resolution
- **pre-commit-diagnostic.md**: Pre-commit hook failures
- **.github/workflows/ci.yml**: CI configuration source of truth
## Philosophy Alignment
### Ruthless Simplicity
- Procedural approach: Five clear steps, no unnecessary abstraction
- Direct shell commands: Users can copy-paste recommendations
- Focused scope: Only detects environment mismatches, delegates fixes to existing agents
### Zero-BS Implementation
- Actionable output: Every recommendation includes exact commands
- No theoretical advice: Specific version numbers and file paths
- Pre-push prevention: Catches issues before wasted CI cycles
### Modular Design
- Clean hand-offs: Integrates with fix-agent, pre-commit-diagnostic, ci-diagnostic-workflow
- Single responsibility: Detection and comparison only; fixes delegated to specialized agents
- Regeneratable: Can be rebuilt from this specification
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.