From claudecode-research-harness-workflow
Diagnoses and fixes CI/CD pipeline failures including build errors, test failures, and environment issues. Guides users through triage and repair workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claudecode-research-harness-workflow:ci [analyze|fix|run][analyze|fix|run]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A set of skills for resolving CI/CD pipeline issues.
A set of skills for resolving CI/CD pipeline issues.
| Feature | Details | Trigger |
|---|---|---|
| Failure Analysis | See references/analyzing-failures.md | "Read the log", "Investigate the cause" |
| Test Fixing | See references/fixing-tests.md | "Fix the test", "Suggest a fix" |
When a CI failure occurs, first triage the cause:
CI failure reported
↓
┌─────────────────────────────────────────┐
│ Test vs. Implementation │
├─────────────────────────────────────────┤
│ Analyze the cause: │
│ ├── Implementation is wrong → Fix impl │
│ ├── Test is outdated → Confirm w/ user │
│ └── Environment issue → Fix env │
└─────────────────────────────────────────┘
⚠️ Prohibited actions when CI fails
The following "solutions" are prohibited:
| Prohibited | Example | Correct approach |
|------------|---------|------------------|
| Skipping tests | `it.skip(...)` | Fix the implementation |
| Removing assertions | Delete `expect()` | Verify expected values |
| Bypassing CI checks | `continue-on-error` | Fix the root cause |
| Relaxing lint rules | `eslint-disable` | Fix the code |
🔴 CI is failing
**A decision is needed**:
1. **Implementation is wrong** → Fix the implementation ✅
2. **Test expected value is outdated** → Ask user for confirmation
3. **Environment issue** → Fix the environment configuration
⚠️ Tampering with tests (skipping, removing assertions) is prohibited
Which applies here?
If changes to tests/configuration are unavoidable:
## 🚨 Approval Request for Test/Config Change
### Reason
[Why this change is necessary]
### Change Content
[Diff]
### Alternatives Considered
- [ ] Confirmed that fixing the implementation cannot resolve this
Waiting for explicit user approval
Use structured logs to identify the commit that caused the CI failure.
# Analyze commits with structured format
git log --format="%h|%s|%an|%ad" --date=short -10
# Analyze chronologically with topological order
git log --topo-order --oneline -20
# Link changed files to causes
git log --raw --oneline -5
| Use | Flag | Effect |
|---|---|---|
| Identify failure cause | `--format="%h | %s"` |
| Chronological tracking | --topo-order | Track considering merge order |
| Understand change impact | --raw | Detailed file change display |
| Exclude-merge analysis | --cherry-pick --no-merges | Extract only real commits |
🔍 CI Failure Cause Analysis
Recent commits (structured):
| Hash | Subject | Author | Date |
|------|---------|--------|------|
| a1b2c3d | feat: update API | Alice | 2026-02-04 |
| e4f5g6h | test: add tests | Bob | 2026-02-03 |
Changed files (--raw):
├── src/api/endpoint.ts (Modified) ← type error here
├── tests/api.test.ts (Modified)
└── package.json (Modified)
→ Commit a1b2c3d is likely the cause
Type error: src/api/endpoint.ts:42
Launch ci-cd-fixer via the Task tool when the following conditions are met:
Launch pattern:
Task tool:
subagent_type="ci-cd-fixer"
prompt="Please diagnose and fix the CI failure. Error log: {error_log}"
ci-cd-fixer operates with safety first (default dry-run mode).
See agents/ci-cd-fixer.md for details.
🔧 How to talk about broken CI
1. **"CI failed" / "It went red"**
- Automated tests are failing
2. **"Why is it failing?"**
- Investigate the cause
3. **"Fix it"**
- Attempt automatic repair
💡 Important: Fixes that "cheat" tests are prohibited
- ❌ Deleting or skipping tests
- ✅ Properly fixing the code
If you think "the test seems wrong",
confirm first before deciding on a course of action
npx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowDiagnoses and fixes CI/CD pipeline failures including build errors, test failures, and pipeline issues. Uses git log analysis and structured debugging to identify root causes.
Diagnoses and fixes GitHub Actions CI failures in pull requests by fetching job logs, identifying root causes like build or test errors, and proposing targeted code changes.
Monitors running CI builds on GitHub Actions and CircleCI via polling, reports completion status, and diagnoses failures by fetching logs, job summaries, and artifacts.