.claude-plugin/skills/backward-compat-removal/SKILL.md
# Skill: backward-compat-removal ## Overview | Field | Value | |-------|-------| | Date | 2026-02-20 | | Issue | #784 | | PR | #832 | | Objective | Remove deprecated `BaseExecutionInfo` dataclass as part of the target major version cleanup | | Outcome | Success — 209 lines deleted, 2266 tests pass, all pre-commit hooks green | | Category | testing | ## When to Use Trigger this skill when: - A class or symbol has a `DeprecationWarning` added via `warnings.warn()` - The deprecation milestone
npx skillsauth add homericintelligence/projectscylla .claude-plugin/skills/backward-compat-removalInstall 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.
| Field | Value |
|-------|-------|
| Date | 2026-02-20 |
| Issue | #784 |
| PR | #832 |
| Objective | Remove deprecated BaseExecutionInfo dataclass as part of the target major version cleanup |
| Outcome | Success — 209 lines deleted, 2266 tests pass, all pre-commit hooks green |
| Category | testing |
Trigger this skill when:
DeprecationWarning added via warnings.warn()TestXxxBackwardCompatibility or TestXxx test classes only testing deprecated codegrep -rn "BaseExecutionInfo" scylla/ tests/
Check for:
scylla/core/results.py__init__.py exportimport in test filesIn the source file (scylla/core/results.py):
@dataclass decorator and entire class bodyimport warnings only if it becomes unused — check the whole file firstfrom dataclasses import dataclass if any other dataclass exists in the fileIn scylla/core/__init__.py:
from scylla.core.results import (...) block__all__In tests/unit/core/test_results.py:
TestBaseExecutionInfo class entirely (all methods)TestBaseExecutionInfoBackwardCompatibility class entirelyTestComposedTypes, etc.) that reference the deleted symbol@pytest.mark.skip — delete them outrightSearch for text-only mentions in docstrings:
grep -rn "BaseExecutionInfo" scylla/
Remove lines like - BaseExecutionInfo (core/results.py) - Legacy dataclass (deprecated) from docstring "see also" lists in other modules.
pixi run python -m pytest tests/ -v
grep -rn "BaseExecutionInfo" scylla/ tests/ # should return empty
pre-commit run --all-files
| Decision | Rationale |
|----------|-----------|
| Delete test classes, not skip | Skipped tests are dead weight; they will never be unskipped |
| Keep @dataclass import if other dataclasses exist | BaseRunMetrics is also a @dataclass in results.py |
| Scope: deletion only | No migration, no refactoring of other callers — those should already use the replacement |
| Remove docstring mentions | Stale "see also" references mislead future readers |
None — the systematic 6-phase approach from the issue plan worked first time.
The only non-obvious step was checking whether import warnings could be removed (yes, it was only used by BaseExecutionInfo.__post_init__), and whether from dataclasses import dataclass could be removed (no — BaseRunMetrics is also a dataclass).
Files changed: 5
Lines deleted: 209
Lines added: 1
Tests: 2266 passed, 0 failed
Coverage: 73.57% (above 73% threshold)
Pre-commit hooks: all passed
Zero remaining references after cleanup
development
# Skill: docs-status-fix ## Overview | Field | Value | |------------|----------------------------------------------------| | Date | 2026-02-19 | | Category | documentation | | Objective | Fix stale "Current Status" in CLAUDE.md | | Issue | #753 | | PR | #810
tools
# Skill: preflight-closing-issues-fix ## Overview | Field | Value | |-------|-------| | Date | 2026-02-21 | | Issue | #802 | | PR | #912 | | Category | tooling | | Objective | Fix `preflight_check.sh` Check 3 false positives caused by free-text PR search matching issue numbers in unrelated PR titles/bodies | | Outcome | Success — 6 bash tests pass, all pre-commit hooks green, PR created with auto-merge | ## When to Use Trigger this skill when: - A preflight/guard script uses `gh pr list --s
tools
# Preflight Check Skill Propagation ## Overview | Field | Value | |-------|-------| | Date | 2026-02-21 | | Issue | #803 | | Objective | Add preflight check to `worktree-create` skill so developers bypassing `gh-implement-issue` still run the 6-check safety gate | | Outcome | Success — PR #917 created, auto-merge enabled | | Files Changed | `tests/claude-code/shared/skills/worktree/worktree-create/SKILL.md` | ## When to Use Use this pattern when: - A safety/quality gate exists in one entry-
tools
# Orphan Config Detection ## Overview | Field | Value | |------------|-----------------------------------------------------------------| | Date | 2026-02-20 | | Issue | #777 | | PR | #824 | | Objective | Warn when a `config/models/*.yaml` file