بنقرة واحدة
commit
Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Write an implementation plan to docs/plans/. ALWAYS use this skill — never hand-roll a plan by mimicking files in docs/. Use when the user wants to create a project/implementation plan, when a plan discussed in chat should be persisted, or says /project-plan. Guarantees a spec exists, invoking to-spec if absent. Decomposes into vertical slices with Blocked-by edges, points to the spec for acceptance criteria, and extracts ADRs via to-adr.
Parse test failure output and diagnose root causes in a read-only background subagent, then fix the failures interactively in the main thread. Use when the user shares test output or says "tests fail". Default output path is /tmp/output.
Surface systemic patterns from an investigation as codified conventions or anti-patterns.
Architect a change from idea to actionable artifacts — bootstrap project instructions, research deeply, write a spec, then an implementation plan, each delegated to its skill. Use when the user wants to research a topic, explore a repo, write a spec, create a project plan, or says /architect.
Research a topic or repository deeply and produce a reference document under `docs/research/`. Handles two modes: code research (repo by URL, `org/repo`, or bare name — e.g. "check the spotless repo", "look at github.com/fastly/spotless") and topic research (concepts, technologies, patterns). Use when the user wants to research something, explore a repo, or says /research.
Elicit the user's intent before starting work. Use when a request is vague, when kicking off a new task, when another skill hits a vague request and needs to clarify it, or when the user says "help me with this", "I need something", "let's work on...", "draft a task", or /task.
استنادا إلى تصنيف SOC المهني
| name | commit |
| description | Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message. |
| allowed-tools | Bash(git add:*), Bash(git diff:*), Bash(git commit:*) |
If the fields below show commands rather than output, run each one first.
git status 2>/dev/null || echo "(not a git repo)"git diff --cached 2>/dev/null || echo "(not a git repo)"git diff 2>/dev/null || echo "(not a git repo)"git log -5 --oneline 2>/dev/null || echo "(not a git repo)"git branch --show-current 2>/dev/null || echo "(not a git repo)"git diff --stat HEAD 2>/dev/null || git diff --stat --cached 2>/dev/null || echo "(not a git repo)"Review context above:
.env, .env.*, *.env, *secret*, *credential*, *.key).git status --porcelain), use
git add -N <file> then git diff to scan their contents for the
same secrets.Assess staging state:
Analyze files for grouping:
Decide on commits:
All files single purpose → one commit, no prompt
Files split into obvious groups → sequential commits, no prompt
Grouping ambiguous → prompt with 2-3 options
If grouping is ambiguous, present numbered options and wait for the user's response:
If splitting into multiple commits, order them so dependencies come first. Type definitions before consumers. Shared utilities before features that import them. If ordering is unclear, ask.
For each commit group:
If splitting into multiple commits, unstage everything first:
git reset --quiet (skip this if committing only what the user
already staged).
Stage specific files: git add <file1> <file2> (never -A or .).
Verify staged: git diff --cached --name-only.
Write the commit message to a uniquely-named temp file with your
file-writing tool (NOT a shell heredoc), then commit from that file.
Use a random suffix so concurrent runs never collide, e.g.
/tmp/commit-msg-<random>.txt where <random> is a short random
string:
git commit -F /tmp/commit-msg-a1b2c3.txt
Do NOT pipe the message via a heredoc (git commit -F - <<'EOF').
git commit -F - reads stdin until the closing delimiter appears
alone at column 0; if the shell receives it indented, with trailing
whitespace, or without a final newline, git never sees the terminator
and blocks on stdin forever — the call then hangs until it times out
with no error. Writing a real file sidesteps stdin, heredocs, and
shell escaping entirely.
If any git commit call hasn't returned within a few seconds, assume
it is blocked reading stdin. Do not wait for the timeout — the message
never reached git. Re-run using the temp-file form above.
If pre-commit hook modifies files: review the changes. Only amend if they're mechanical (formatting, linting). If substantive or unclear, ask before amending.
Update project plan: If you have been working against a project
plan (a plan file, task list, or checklist in the conversation or
filesystem), mark the corresponding task done. Match the plan's
existing format: [x] for Markdown checklists, ✅ for emoji markers, or
whatever convention the document uses.
Skip these from commits unless the user explicitly asks to include them:
.claude/, .cursorrules, .cursorignore,
.github/copilot-instructions.md, .windsurfrules, .clinerules,
.gemini/, .codex/, .omp/, .pi/
Plan documents (docs/plans/*.md) need special handling:
[x] checkboxes): commit freely — it's a new plan
being checked in.Status field (e.g.
Planning → Complete), then move it to docs/plans/completed/ and
commit. Create the directory if it doesn't exist. If unsure whether the
plan qualifies as complete, ask.Clear single purpose (no prompt):
Obvious split (no prompt, sequential commits):
Ambiguous (prompt):
../shared/CONCISE-PROSE.md.~/.gitcommit exists, read it for the user's preferred
commit-message conventions (type prefixes, scopes, subject style,
examples) and follow them.