Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Git Context Controller

ASecurity

Git Context Controller (GCC) - Manages agent memory as a versioned file system under .GCC/. This skill should be used when working on multi-step projects that benefit from structured memory persistence, milestone tracking, branching for alternative approaches, and cross-session context recovery. Triggers on /gcc commands or natural language like 'commit this progress', 'branch to try an alternative', 'merge results', 'recover context'.

2 stars
0 votes
0 copies
1 views
Added 9/29/2026
ai-agentsgodebugginggit

Security Analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned 9/29/2026

$npx -y skills add aicodedecode/awesome-muse-skills --skill git-context-controller --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Context Controller?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Git Context Controller
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-git-context-controller/badge)](https://www.skillsdirectory.com/skills/aicodedecode-git-context-controller)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: git-context-controller
description: "Git Context Controller (GCC) - Manages agent memory as a versioned file system under .GCC/. This skill should be used when working on multi-step projects that benefit from structured memory persistence, milestone tracking, branching for alternative approaches, and cross-session context recovery. Triggers on /gcc commands or natural language like 'commit this progress', 'branch to try an alternative', 'merge results', 'recover context'."
---

# Git Context Controller (GCC)

## Overview

GCC transforms agent memory from a passive token stream into a structured, versioned file system under `.GCC/`. Inspired by Git, it provides four operations — COMMIT, BRANCH, MERGE, CONTEXT — to persist milestones, explore alternatives in isolation, synthesize results, and recover historical context efficiently.

## Initialization

On first use, check if `.GCC/` exists in the project root. If not, run `scripts/gcc_init.sh` to create the directory structure:

```
.GCC/
├── main.md          # Global roadmap and objectives
├── metadata.yaml    # Infrastructure state (branches, file tree, config)
├── commit.md        # Commit history for main branch
├── log.md           # OTA execution log for main branch
└── branches/        # Isolated workspaces for experiments
    └── <branch-name>/
        ├── commit.md
        ├── log.md
        └── summary.md
```

For detailed file format specifications, read `references/file_formats.md`.

## Configuration

GCC behavior is controlled via `metadata.yaml`:

- `proactive_commits: true` — Automatically suggest commits after completing coherent sub-tasks
- `proactive_commits: false` — Only commit when explicitly requested

Toggle with: "enable/disable proactive commits" or by editing `metadata.yaml`.

## Commands

### COMMIT

Persist a milestone on the current branch.

**Triggers**: `/gcc commit <summary>`, "commit this progress", "save this milestone", "checkpoint"

**Procedure**:
1. Read the current branch's `commit.md` to determine the next commit number
2. Append a new entry to `commit.md` with:
   - Sequential ID (e.g., `[C004]`)
   - Date (UTC ISO 8601)
   - Current branch name
   - Branch purpose (from `summary.md` if on a branch, or from `main.md`)
   - Previous progress summary (1-2 sentences from last commit)
   - This commit's contribution (detailed technical description with files touched)
3. Append an OTA entry to `log.md` recording the commit action
4. Update `metadata.yaml` file tree if files were created/modified
5. If on main branch, update milestones section in `main.md`

**Proactive behavior**: When `proactive_commits: true`, suggest a commit after:
- Completing a function, module, or coherent unit of work
- Fixing a bug and verifying the fix
- Finishing a research/exploration phase with conclusions
- Any point where losing context would mean re-doing significant work

### BRANCH

Create an isolated workspace for exploring an alternative approach.

**Triggers**: `/gcc branch <name>`, "branch to try...", "explore alternative...", "experiment with..."

**Procedure**:
1. Create `.GCC/branches/<branch-name>/` directory
2. Create `summary.md` with: purpose, parent branch, creation date, key hypotheses
3. Create empty `commit.md` and `log.md` for the branch
4. Update `metadata.yaml` to register the new branch
5. Update `main.md` Active Branches section
6. Log the branch creation in the parent branch's `log.md`

From this point, all COMMITs and OTA logs go to the branch-specific files until a MERGE or explicit branch switch.

### MERGE

Integrate a completed branch back into the main flow.

**Triggers**: `/gcc merge <branch>`, "merge results from...", "integrate the experiment", "branch X is done"

**Procedure**:
1. Read the branch's `summary.md` and `commit.md` to understand outcomes
2. Append a synthesis commit to main's `commit.md` summarizing:
   - What was tried
   - What was learned
   - What is being integrated (or why the branch is being abandoned)
3. Update `main.md`:
   - Add milestone entry with branch results
   - Remove from Active Branches
   - Update objectives if applicable
4. Update `metadata.yaml`: set branch status to `merged` or `abandoned`
5. Log the merge in main's `log.md`

### CONTEXT

Retrieve historical memory at different resolution levels.

**Triggers**: `/gcc context <flag>`, "what did we do on...", "recover context", "show me the history", "where were we"

**Flags**:

- `--branch [name]` — Read `summary.md` and latest commits for a specific branch (or current branch if no name). Provides high-level understanding of what happened and why.

- `--log [n]` — Read last N entries (default 20) from the current branch's `log.md`. Provides fine-grained OTA traces for debugging or resuming interrupted work.

- `--metadata` — Read `metadata.yaml` to recover project structure: file tree, dependencies, active branches, configuration.

- `--full` — Read `main.md` for the complete project roadmap, all milestones, and active branches. Use for cross-session recovery or handoff to another agent.

When no flag is specified, default to `--branch` for the current active branch.

## OTA Logging

Throughout all work (not just during explicit commands), maintain the OTA execution log:

1. **Observation**: What was noticed or discovered
2. **Thought**: Reasoning about what to do next
3. **Action**: What action was taken

Append entries to the active branch's `log.md`. Keep a maximum of 50 entries; when exceeding, remove the oldest entries. Each entry includes a sequential ID, timestamp, and branch name.

Log OTA entries at meaningful decision points — not every single action, but significant observations, strategy changes, and outcomes.

## Cross-Session Recovery

When starting a new session on an existing project with `.GCC/`:

1. Read `metadata.yaml` to understand project state and active branches
2. Read `main.md` for the global roadmap and objectives
3. Read the active branch's latest commits and log entries
4. Resume work with full context of what was accomplished and what remains

## Natural Language Mapping

| User says | Command |
|---|---|
| "save/checkpoint/persist this" | COMMIT |
| "try a different approach" | BRANCH |
| "that experiment worked, integrate it" | MERGE |
| "where were we?" / "what's the status?" | CONTEXT --full |
| "what happened on branch X?" | CONTEXT --branch X |
| "show recent activity" | CONTEXT --log |
| "what files do we have?" | CONTEXT --metadata |
| "enable/disable auto-commits" | Toggle `proactive_commits` in metadata.yaml |

Attribution

aicodedecodeaicodedecode
View sourceSee grades on GitHubMore from aicodedecode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →