From clara
Prepares a GitLab merge request — a scoped commit, a branch push, and `glab mr create` with a structured description that references the ticket. Defaults to a Draft MR targeting the integration branch. Use when the user asks to prepare/open/create a MR or PR after a fix, or invokes /clara:merge-request.
How this skill is triggered — by the user, by Claude, or both
Slash command
/clara:merge-requestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a finished change into a clean, reviewable GitLab MR. Outward-facing: create the MR as a **Draft** by default and never mark it Ready or merge without explicit user go-ahead.
Turn a finished change into a clean, reviewable GitLab MR. Outward-facing: create the MR as a Draft by default and never mark it Ready or merge without explicit user go-ahead.
fix/<ticket>-<slug> (or feat/<ticket>-<slug>). If currently on the base branch (develop/main), create the branch first.develop (fall back to the repo's default branch). Confirm from existing branches/MRs if unsure.git status and explicitly exclude unrelated working-tree edits (leave them unstaged — never git add -A blindly)./clara:review just ran, lift its verdict, Vérification ✅ checks, and Hors-scope notes straight into the MR description instead of re-deriving them.One focused commit. Message convention (match the repo's history):
type(scope: #<ticket>): <imperative summary>
<body: what was wrong, the root cause, and what the fix does — wrapped ~72 cols>
type ∈ fix / feat / refactor / chore. Verify the staged set before committing:
git diff --cached --name-only # must contain only the intended files
git push -u origin <branch>
GITLAB_HOST=<host> glab auth status # confirm auth + host
GITLAB_HOST=<host> glab mr list --source-branch <branch> # bail if one already exists — update it, don't duplicate
DESC=$(cat <<'EOF'
<the MR description template below, filled in>
EOF
)
GITLAB_HOST=<host> glab mr create \
--source-branch <branch> \
--target-branch <base> \
--title "<commit summary>" \
--description "$DESC" \
--draft --yes
Set GITLAB_HOST when the remote is self-hosted (e.g. gitlab.gingerminds.fr). Build $DESC with the heredoc above so the multi-line markdown survives the shell. --draft is the canonical Draft flag (don't fake it with a Draft: title prefix); --yes skips the interactive prompt. If glab mr list shows an open MR for the branch, update it instead of creating a second one.
This fills $DESC above. Reference the tracker (Mantis/Jira/issue) with a real link. Structure:
## Contexte
<ticket link> — <one-paragraph problem statement>
## Cause racine
<root cause; name the commits/routes/services involved>
## Correctif
<what changed and why it's correct; what is intentionally left unchanged>
## Vérification
- ✅ <empirical check that ran>
- ✅ phpcs / php -l / tests as applicable
### UAT manuelle
<exact steps a human follows to confirm>
## Hors-scope
<dead code / latent issues for a separate ticket>
Return the MR URL. State plainly that it's a Draft and that UAT + "mark Ready" are the user's to do. Report what was committed and what was deliberately excluded.
git add -A over unrelated changes; commit only the change at hand.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub tarto-dev/clara-claude-skills --plugin clara