startup-runtracker
Set up, resume and wrap up work on the Run Tracker project on whichever PC I'm on (Windows or Linux). Use when I say "set up this PC", "get me started", "where was I", "what's next", "pick up work", "
SKILL.md.claude/skills/startup-runtracker/SKILL.md
GitHubRun Tracker: setup, pick up, wrap up
Solo project, several PCs (Windows 11 and a Linux home PC, Docker Desktop on all of them). CLAUDE.md (already loaded) has the commands and workflow rules; context.md has the background and decisions, so read it when the task needs the why. Issues live on GitHub (gh issue list), not in a file.
Set up this PC
git statusandgit branch --show-current. If this is a fresh clone,git fetch --all.- Run
npm run doctor(needsnpm installfirst ifnode_modulesis missing; do that, it is safe). - For every ✗ the doctor prints, fix what you can without asking (
npm install);gh auth loginneeds me, so tell me the command. For things only I can do, give me the OS-specific step from the doctor's hint and wait:- installing Android Studio, enabling USB debugging on the phone, plugging it in, a Linux udev rule
- Docker is only needed from Phase 4; don't push me to fix it earlier.
- Before the first
npm run android:runon a PC, the doctor's "Debug keystore" line must show the same SHA256 as my other PCs (#76). If it is missing, tell me to copy~/.android/debug.keystorefrom the PC the phone was last installed from (never into the repo); do not runandroid:runfirst, because Gradle would create a new key. - Android items are only needed to run on the phone. Web work (
npm run dev) needs only the "Required" group. - Finish by running the checks:
npm run type-check,npm run lint,npm run test:unit. Report what passed. Say plainly if the phone run was not verified.
Never install system software or change global config on my behalf without asking.
Pick up work
Show me, briefly:
- current branch and whether it is ahead/behind its remote
- uncommitted changes
- open PRs (
gh pr list) and which are stacked on which (check each PR's base branch). Merge order matters for stacked PRs. - issues with the
decisionlabel that are still open - the next open issue in the lowest open milestone, skipping ones blocked by an undecided
decisionissue
Then ask which issue to take. Don't start coding until I pick one.
Starting an issue
- Branch from the right base:
main, or the PR branch it depends on if it needs that code (then open the PR against that branch and say it is stacked). - Name:
feat/<n>-slug,task/<n>-slug,docs/slug. - Open a PR with
Closes #<n>, using.github/pull_request_template.md. Leave PRs open for me to merge unless I say otherwise. - Local checks before the PR: type-check, lint, unit tests. No CI exists on purpose.
Wrap up / switching PCs
- Everything committed and pushed? Show
git statusand unpushed commits; commit and push only if I ask. - List open PRs and what each is waiting for.
- Note anything unverified (especially "not tried on the phone") in the PR description or the issue, so it is visible from the other PC.
- If a decision was made in conversation, update
context.md(Decisions / Pending decisions) on adocs/branch.
Gotchas
- A signature-mismatch error on
android:run(INSTALL_FAILED_UPDATE_INCOMPATIBLE) means this PC's debug key differs from the one on the phone. Stop: uninstalling wipes the saved runs. Export what I want to keep (GPX share) first. - Git Bash on Windows rewrites
branch:patharguments; useMSYS_NO_PATHCONV=1forgit show branch:file. .vscode/,android/,dist/andnode_modules/show up as untracked when on a branch that predates the scaffold; they are ignored once the scaffold is merged.- Background GPS and keep-awake can only be verified on the real phone, never in the browser.