
finishing-a-development-branch
✓ Official★ 4,933by microsoft · part of microsoft/fluidframework
The end-of-job routine for a piece of work — tests run, code tidied, a second pair of eyes on it, and the request to merge opened and watched until the checks pass.
WHEN YOUR AGENT SHOULD USE IT
A QUICK BOUNDARYUSE FOR
- Run the project's tests, formatter, linter, and type checker before opening a PR.
- Get a fresh self-review of the code and test coverage before pushing.
- Push a branch, open a PR, and keep working it until CI checks pass.
- Spin up a demo link for a webapp change so someone can review it live.
This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.
- Use the Task tool to verify tests by using the project's test suite.
# Run project's test suite
npm test / cargo test / pytest / go test ./...If tests fail:
Tests failing (<N> failures). Must fix before creating PR:
[Show failures]
Cannot proceed until tests pass.-
Confirm that there is some formatting/lint/typechecking in the project. If NONE of these exist, ask me if there was something that you missed.
-
Use the Task tool to run any formatters and fix issues in a subagent.
# Node.js/JavaScript/TypeScript
ls package.json 2>/dev/null && jq -r '.scripts | keys[]' package.json | grep -E 'format|lint'
# Rust
ls rustfmt.toml .rustfmt.toml 2>/dev/null
# Python
ls .flake8 pyproject.toml setup.cfg 2>/dev/null
# Go
ls .golangci.yml .golangci.yaml 2>/dev/null- Use the Task tool to run any linters and fix issues in a subagent.
# Node.js - check package.json scripts
npm run lint # or: npm run lint:fix, npm run eslint
# Rust
cargo clippy --fix --allow-dirty --allow-staged
# Python
ruff check --fix .
# or: flake8 ., pylint .
# Go
golangci-lint run --fix-
Use the Task tool to run type checking and fix issues in a subagent.
-
Use the nori-code-reviewer subagent to do a self review. You do NOT have to follow the subagent's suggestions. This is merely a way to get a fresh pair of eyes on the code.
-
Run the test-scenario-hygiene skill in a subagent to do test review. You do NOT have to follow the subagent's suggestions. This is merely a way to get a fresh pair of eyes on the code.
-
Confirm that you are not on the main branch. If you are, ask me before proceeding. NEVER push to main without permission.
-
Push and create a PR.
# Push branch
git push -u origin <feature-branch>
# Create PR
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
🤖 Generated with [Nori](https://www.npmjs.com/package/nori-ai)
<2-3 bullets of what changed>
## Test Plan
- [ ] <verification steps>
Share Nori with your team: https://www.npmjs.com/package/nori-skillsets
EOF
)"- Merge main and resolve conflicts if necessary.
git fetch && git merge main- Make sure the PR branch CI succeeds.
If you do not see any CI, this is likely because of merge conflicts. Go back to step 10.
# Check if the PR CI succeeded
gh pr checks
# If it is still running, sleep and check again
sleep 60 && gh pr checksIf CI did not pass, examine why and fix the issue.
- Make changes as needed, push a new commit, and repeat the process. It is critical that you fix any ci issues, EVEN IF YOU DID NOT CAUSE THEM.
- If this was a change to a webapp, spin up the server and the ui in a demo localhost link and show me the link so that I can review the changes. If you are in a worktree, make sure you copy any gitignored env or config files that are necessary to start the server
Install this skill from microsoft/fluidframework on GitHub. It only works when installed from that project, so don't copy the skill's file out on its own.
npx skills add microsoft/fluidframework --skill "finishing-a-development-branch" --full-depthRun this in your project — your agent picks the skill up automatically.
BEFORE IT WILL WORK
1 FOR YOU- 01Have `gh` authenticated with GitHub
Licensed under MIT— you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub →