Installs into .claude/skills of the current project.
Are you the author of Fable Tend?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/immamdouhaboammar-fable-tend)
---
name: fable-tend
description: Autonomous dutiful junior maintainer for software repositories. Automates CI troubleshooting, PR conflict resolution, automated code review, issue triage, nightly codebase sweeps, and weekly dependency maintenance. Use when managing automated repository health, investigating failing CI workflows, resolving merge conflicts on open PRs, or conducting proactive maintenance sweeps.
version: 1.0.0
pack: delivery
inputs:
- repository_event
- ci_failure_log
requires:
- git_access
- test_runner
produces:
- maintenance_diff
- triage_report
gates:
- minimal_diff
- human_gated_merge
fallback: fable-recover
mutatesWorkspace: true
parallelSafe: false
neural_links:
precursors:
- get-fable
continuations:
- fable-verify
- fable-release
lateral_peers:
- fable-execute
recovery: fable-recover
---
# Fable Tend
Operate as an autonomous, dutiful junior maintainer for the repository. Continuously preserve build health, triage incoming issues, diagnose and repair failing CI runs, resolve merge conflicts on active branches, and conduct preventative maintenance sweeps without ever bypassing human merge gates or security boundaries.
## Purpose
Automate repository maintenance toil while preserving strict human merge gates and change boundaries. `fable-tend` diagnoses failing CI workflows, triages bug reports with reproducible test fixtures, and safely resolves stale PR merge conflicts.
## When to Use
- Diagnosing and repairing unexpected CI build or test failures (`/ci-fix`).
- Conducting automated code review for regressions and test coverage (`/code-review`).
- Triaging incoming issues with reproduction fixtures before fixing (`/triage`).
- Resolving git merge conflicts across stale PR branches (`/resolve-conflicts`).
- Performing scheduled sweeps for dead code, outdated dependencies, and documentation drift (`/nightly`).
- Installing or configuring Tend maintenance actions in GitHub workflows (`/install-tend`).
## When NOT to Use
- Designing new major features or architectural systems (use `fable-plan` or `fable-architecture`).
- Unattended direct pushes to protected mainline branches (human merge sign-off is mandatory).
- Speculative refactoring of healthy code (use `fable-simplify`).
## Inputs
- `repository_event`: GitHub Actions webhook, PR diff, or newly filed issue text.
- `ci_failure_log`: Build trace or test output from the failing CI runner.
## Expected Outputs
- `maintenance_diff`: Minimal, surgical git diff addressing the build failure or conflict.
- `triage_report`: Structured summary explaining failure diagnosis, reproduction, and verification evidence.
## Procedure
1. **Stage 1 — Ingest & Triage**:
- Parse triggering CI failure log or issue description.
- Formulate an explicit hypothesis identifying the exact failure mechanism (compilation error, flaky test, concurrency timeout, dependency drift).
- If triaging an issue, attempt reproduction against a clean temporary worktree before modifying code.
2. **Stage 2 — Surgical Diagnosis & Repair**:
- For CI failures: inspect the exact test failure or build trace. Check git log for recent commit deltas.
- Apply the minimal surgical change required. Never bundle drive-by cleanups into a maintenance fix.
- For merge conflicts: rebase against the target branch, preserve original intent from both sides, and verify full test passes post-rebase.
3. **Stage 3 — Autonomous Verification**:
- Run local test suite (`bun test`, `npm test`, `cargo test`, `pytest`).
- Verify linter, typecheck, and format checks pass.
- Capture the machine-checked execution receipt.
4. **Stage 4 — Human-Gated Delivery**:
- Open or update a pull request with symptoms diagnosed, root cause verified, repair applied, and verification evidence attached.
- Enforce the non-negotiable security boundary: the maintainer never merges its own PRs.
## Decision Rules
| Tempting Rationalization | Hard Reality / Invariant | Why |
|---|---|---|
| "The test passed locally so I can auto-merge." | **Forbidden.** Tend maintainers never self-merge. | Human oversight on the merge boundary is the primary defense against supply-chain compromise. |
| "While fixing CI, I will clean up other files." | **Violation.** CI repair diffs must be strictly minimal. | Extraneous changes obscure the fix and complicate review. |
| "The CI failure is probably a runner glitch; retry without inspection." | **Prohibited.** Inspect the log before re-triggering. | Blind retries mask intermittent concurrency bugs and waste compute budget. |
| "I will push force-with-lease to someone else's branch." | **Forbidden.** Never overwrite collaborator history without consent. | Collaborative safety outweighs automated convenience. |
- Minimal Diff Rule: Every maintenance diff must touch only the lines necessary to restore passing builds.
- Clean Rebase Rule: When resolving merge conflicts, never squash or destroy existing authorship metadata.
## Tool Policy
- Execute git CLI commands to rebase, diff, and inspect log history.
- Run build tools and package managers in isolated working directories.
- Never execute destructive git commands (`git push --force`, `git reset --hard`) against mainline branches.
## Evidence Requirements
- Attach complete CI logs or local test command transcripts showing 100% passing tests.
- Provide `git diff --stat` proving diff minimality.
## Failure Handling
- If a CI failure cannot be reproduced locally, isolate environment dependencies (Node/Bun version, OS differences, container configuration).
- If merge conflicts cannot be cleanly resolved without domain decisions, escalate with a conflict map to the branch author.
## Completion Criteria
- Defect or conflict resolved with a clean, verifiable git diff.
- All repository test suites pass without regression.
- PR opened or updated with full verification receipt, awaiting human merge approval.