commit-push-mrlisted
Install: claude install-skill IgnatRozhkoTR/governed-workflow
# Commit, Push & Merge Request Workflow
## Critical Rule
**NEVER commit, push, or create a merge request unless the user explicitly asks.**
This is non-negotiable. Even if changes are ready and tested — wait for the user's instruction.
## Commit Messages
### Format
```
#TICKET-ID add work TIME description
```
### Rules
1. Starts with `#` followed by the branch/ticket ID (e.g., `#TMJ-1838`, `#MP-12`)
2. Then `add work` followed by time spent
3. Time format: `5m`, `15m`, `1h`, `1h 20m`, `2h 30m`
4. Then a lowercase description of what was done
5. **Always ask the user how much time they spent** before creating the commit
### Examples
```
#TMJ-1838 add work 5m fix tests
#TMJ-1838 add work 15m replace approaches with each other, fix tests
#TMJ-1838 add work 1h 20m implement scheduled deletion from document_photo table
#MP-12 add work 1h 20m implement the exchange 1c -> exchange server, write tests
```
### How to Commit
```bash
git add <specific files>
git commit -m "#TICKET-ID add work TIME description"
```
- Stage specific files, not `git add -A`
- Never skip hooks (`--no-verify`)
- Never amend unless explicitly asked
- Never include `Co-Authored-By` or any trailer lines in commit messages
- The ticket ID comes from the current branch name
## Push
Only push when explicitly asked. Use:
```bash
git push origin BRANCH_NAME
```
If the branch has no upstream yet:
```bash
git push -u origin BRANCH_NAME
```
## Merge Requests
### MR Title Format
```
TICKET-ID Exact Y