بنقرة واحدة
adr
Scan commits and diffs for decisions, record them as immutable ADRs in docs/decisions/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Scan commits and diffs for decisions, record them as immutable ADRs in docs/decisions/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Save or update the current session. Use this skill when asked to handoff, save session, update session, start a new chat, etc. Always call this before using the `update_session` MCP tool directly.
Generate or update CHANGELOG.md from git commits using semantic versioning. Use when the user says "/changelog", wants to update the changelog, or asks to generate release notes.
Find typos, grammar errors, punctuation/capitalization mistakes, and banned-phrase voice slips in prose and code comments. Use when the user says "/typo-check", wants to scan for typos, or before shipping user-facing text. Reports findings and confirms before fixing.
Commit, docs, changelog, and push in one go. Use when the user says "/ship", wants to ship their changes, or asks to commit and push everything.
Import conversation history from AI providers (Claude, Copilot, Codex, Cursor) and generate stories from the imported data. Use on first session to bootstrap memory from existing conversations, or anytime the person wants to import history from another provider/machine.
Research a topic and save findings to Charlieverse knowledge. Use whenever the user wants to research something, look up documentation, investigate a library or tool, explore a concept, or asks "what do you know about X". Also trigger when the user says "/research", wants to build up knowledge about a subject, or asks you to "look into" something — even if they don't use the word "research" explicitly.
| name | adr |
| description | Scan commits and diffs for decisions, record them as immutable ADRs in docs/decisions/. |
| argument-hint | [commit range (default: last commit) | "all" to scan full history] |
Decision Record extractor. Analyzes code diffs and identifies significant technical decisions that should be recorded for future reference. Writes immutable ADR files to docs/decisions/.
When evaluating the changes ask yourself, would someone benefit from knowing WHY something was done.
If $ARGUMENTS is "all":
git log --oneline --all
Scan the full commit history.
If $ARGUMENTS is a commit range (e.g., HEAD~5..HEAD):
git log --oneline $ARGUMENTS
git diff $ARGUMENTS
If $ARGUMENTS is empty (default — all unpushed changes):
# Check for unpushed commits first
git log origin/main..HEAD --oneline 2>/dev/null
# Also check for uncommitted changes
git diff --stat
If there are unpushed commits, use git diff origin/main..HEAD to see the full diff.
If there are only uncommitted changes (no commits ahead), use git diff for unstaged and git diff --cached for staged.
If neither exists, fall back to the last commit: git diff HEAD~1..HEAD.
ls docs/decisions/ 2>/dev/null
Read any existing ADRs to understand what's already recorded. This prevents duplicates and enables amendment detection.
For each commit in the range, read the full diff and apply the relevance filter (create vs skip criteria above).
For each decision found:
Before creating a new decision, check if an existing ADR covers the same area. If a new decision modifies or supersedes an existing one:
amends: "YYYY-MM-DD-original-title.md" in the frontmatterCreate docs/decisions/ if it doesn't exist:
mkdir -p docs/decisions
For each decision, write a file named YYYY-MM-DD-kebab-case-topic.md using today's date:
---
title: [Decision Title]
date: YYYY-MM-DD
status: accepted
amends: (optional, filename of superseded ADR)
tags: [relevant, tags]
---
# [Decision Title]
## Context
What situation or problem led to this decision? What constraints existed?
## Decision
What was decided. Be specific about the choice made.
## Alternatives Considered
What other approaches were evaluated and why they were rejected.
## Consequences
What follows from this decision — both positive and negative. What does future code need to respect?
git add docs/decisions/
charlie-commit -m "Record architectural decisions from recent changes"
For each decision created, output:
ADR: docs/decisions/YYYY-MM-DD-topic.md
Decision: [one-line summary]
Why: [one-line rationale]
If no decisions were found: "No architectural decisions detected in this changeset."
charlie-commit (never git commit)