# Stage And Commit

> Stage changed files and create a commit following the repo's translation, formatting, and git workflow rules. Use when the user asks to stage, commit, or both.

- Skill: `classroomio/stage-and-commit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add classroomio/stage-and-commit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/classroomio/stage-and-commit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: classroomio (https://skillmd.com/u/classroomio)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/classroomio/stage-and-commit

---


Follow these steps in order. Do not skip steps or reorder them.

## 1. Translations (if applicable)

If `apps/dashboard/src/lib/utils/translations/en.json` is among the changed files:

```bash
cd apps/dashboard && pnpm translate
```

After running, review the generated locale files and verify that any placeholders wrapped in `{}` were preserved exactly. Fix translated variable names if needed before continuing.

## 2. Format changed files

Run the changed-file formatter from the repo root:

```bash
pnpm format:changed
```

If any files under `packages/ui/src/**` were changed, also run the UI prefix fixer first:

```bash
pnpm --filter @cio/ui prefix
```

Then re-run `pnpm format:changed` after the prefix fix.

## 3. Stage files

Stage only the files relevant to the task. Prefer explicit paths over broad commands:

```bash
git add path/to/file1 path/to/file2
```

Never use `git add -A` or `git add .` — those risk accidentally staging unrelated files, env files, or large binaries.

## 4. Pre-commit checks

Run these before creating the commit:

```bash
pnpm format:check
```

If staged changes include any file matching `packages/ui/src/**/*.{svelte,ts,tsx,js,jsx}`:

```bash
pnpm --filter @cio/ui prefix:check:staged
```

Fix any failures before proceeding.

## 5. Commit

Commit messages must follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/):

```
<type>[optional scope]: <description>

[optional body]
```

Common types: `feat`, `fix`, `chore`, `refactor`, `docs`, `style`, `test`.

**Never** add `Co-Authored-By` trailers for Claude, Cursor, Codex, or any other AI tool.

```bash
git commit -m "$(cat <<'EOF'
type(scope): short description

Optional longer body if needed.
EOF
)"
```

