britg/landing-the-plane-skill
Overview
This skill completes a work session by cleaning up code, running quality gates, committing all changes, and pushing everything to remote. It enforces a non-negotiable workflow so no work remains unpushed and team coordination is preserved. The session finishes only when git push succeeds and the repo is verified clean.
How this skill works
When invoked (e.g., "land the plane", "wrap up"), the skill runs a checklist: remove debug artifacts, run linters/type checks/builds, stage and commit all local changes, pull/rebase, push to remote, and clean git state. It reports results, files follow-up issues for unresolved problems, and updates relevant GitHub issues to reflect progress. The skill never stops before a successful push and preserves all existing uncommitted work.
When to use it
- You want to finish a development session and ensure all changes are pushed.
- You need to hand off work to teammates or move an issue to review.
- You detect leftover debug code or temporary changes that must be cleaned and committed.
- At the end of a sprint task or before switching branches or contexts.
- When coordinating multiple sessions to prevent stray local changes.
Best practices
- Always include all dirty files in the commit — preserve uncommitted edits even if unrelated to current task.
- Remove console logs, breakpoints, and temporary debugging code before commit.
- Run linters, type checks, and builds and fix blocking issues; file tickets for anything deferred.
- Use descriptive commit messages and include co-author metadata when applicable.
- Pull with rebase before pushing and retry push until it succeeds; do not stop before a successful push.
Example use cases
- Finish a coding session and push every local change so reviewers can access the work.
- Wrap up after a debugging loop: clean debug prints, run tests, commit, and push.
- Hand off partially completed work to a colleague by moving the issue to In Review and pushing the latest changes.
- Prepare a release branch by ensuring all edits are committed, quality gates pass, and the branch is up to date with remote.
FAQ
Resolve conflicts by keeping both changes where needed, pull with rebase to integrate remote commits, fix issues, and retry push until it succeeds.
Should I discard uncommitted files unrelated to this session?
No. Preserve and commit all uncommitted work — never discard changes with reset/checkout/restore during landing.