Help us improve
Share bugs, ideas, or general feedback.
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.
npx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowHow 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.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
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