submit-commit-cleanup-artifactlisted
Install: claude install-skill Ralph-Workflow/Ralph-Workflow
# submit-commit-cleanup-artifact
## Overview
A commit cleanup is one markdown document
(`artifact_type: "commit_cleanup"`) recommending which files must NOT be
committed: binaries, build artifacts, editor temp files, machine-local
configuration.
Submit with `ralph_submit_md_artifact`; pre-check with
`ralph_verify_md_artifact`.
## Document Shape
Frontmatter: `type: commit_cleanup` and `analysis_complete: true` or
`analysis_complete: false` (exactly those lowercase words).
| Section | Required | Items |
|---|---|---|
| `## Actions` | yes (may have zero items) | `<action> \| <path-or-pattern>` per item |
| `## Reason` | no | at most 1: why these actions |
Each action item text is `<action> | <value>` with a space-pipe-space
separator:
- `delete_file | <path>` — remove a file from the repo. Only for actual
binary/generated files in the diff or paths on the Ralph
runtime-artifact allowlist.
- `add_to_gitignore | <pattern>` — project-wide patterns like `*.pyc`,
`build/`, `dist/`.
- `add_to_git_exclude | <pattern>` — machine-local patterns like
`.env.local`, `.vscode/`. Never use `delete_file` for environment files.
Paths and patterns must be printable ASCII: no control characters, no
whitespace-only values, no non-ASCII, and no leading `#` (a `#` prefix
would silently disable a real `.gitignore` / `.git/info/exclude` rule via
comment-line injection — the validator rejects it on purpose).
## Security Boundary (keep these semantics)
The runtime enforces a path boun