agentleFS
faugustdevfaugustdev/git-context-controller/SKILL.md

gcc

Skill63 starsChanged 8 months agoMITView on GitHub

Git Context Controller (GCC) v2 — Lean agent memory backed by real git. Stores hash + intent + optional decision notes instead of verbose markdown. Auto-bridges to aiyoucli vector memory when available. Dual mode: git-backed (lean index.yaml) or standalone (markdown fallback). Triggers on /gcc commands or natural language like 'commit this progress', 'branch to try an alternative', 'merge results', 'recover context'.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. zhinkgit/embeddedskills★ 764same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 3 are distinctive, and 12 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If bridge_to_aiyoucli: auto, feeds to aiyoucli memory

    line 139
  2. Very specific:

    Proactive behavior: When proactive_commits: true, suggest a commit after:

    line 145
  3. Distinctive:

    Create an isolated workspace.

    line 152
  4. Very specific:

    Create .GCC/branches/<name>/ with summary.md, log.md

    line 162
  5. Very specific:

    Update worktree status to merged

    line 176
  6. Distinctive:

    Read branch summary and commits

    line 179
  7. Very specific:

    Run scripts/gcc_cleanup.sh to handle expired worktrees

    line 203
  8. Very specific:

    Run scripts/gcc_cleanup.sh --prune-index 50 to trim old entries

    line 204
  9. Very specific:

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

    line 208
  10. Very specific:

    Run scripts/gcc_context.sh --summary for quick orientation

    line 210
  11. Very specific:

    If more detail needed, run scripts/gcc_context.sh --last 5

    line 211
  12. Very specific:

    Check scripts/gcc_cleanup.sh --dry-run for expired worktrees

    line 212
  13. Very specific:

    When bridge_to_aiyoucli: auto in config:

    line 219
  14. Very specific:

    Every commit is automatically fed to aiyoucli vector memory via gcc_bridge.sh

    line 220
  15. Distinctive:

    If aiyoucli is not installed, bridge is silently skipped

    line 223

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Git Context Controller (GCC) v2

Overview

GCC transforms agent memory from verbose markdown into a lean, git-backed index. Instead of duplicating what git already knows, GCC stores only hash + intent + optional decision notes (~50 tokens vs ~500 per entry). Full context is reconstructed on demand via git show.

Two modes:

  • git mode: Real commits, lean index.yaml, worktree isolation, aiyoucli bridge
  • standalone mode: Markdown fallback for projects without git (v1 compatible)

Initialization

On first use, check if .GCC/ exists. If not, run the init script:

scripts/gcc_init.sh          # auto-detects git/standalone
scripts/gcc_init.sh --upgrade # migrate v1 → v2

Git mode structure

.GCC/
├── index.yaml       # Single source of truth (timeline, worktrees, decisions)
├── branches/        # Branch-specific notes (only when needed)
├── worktrees/       # Worktree tracking
└── .bridge-log      # Tracks what's been synced to aiyoucli

Standalone mode structure

.GCC/
├── index.yaml       # Timeline in standalone mode
├── main.md          # Global roadmap (v1 compat)
├── log.md           # OTA execution log (v1 compat)
└── branches/

index.yaml Format

version: 2
mode: git              # or "standalone"
created: "2026-03-28T00:00:00Z"
config:
  proactive_commits: true
  worktree_ttl: 24h
  bridge_to_aiyoucli: auto   # auto | off | manual

current_branch: main

timeline:
  - id: C001
    hash: 85c8539
    intent: "release prep"
    branch: main
    date: "2026-02-25T21:40:00Z"

  - id: C002
    hash: a3f1b22
    intent: "auth middleware rewrite"
    note: "descartamos passport.js — too opinionated for our use case"
    branch: main
    date: "2026-02-26T10:00:00Z"

worktrees:
  - name: refactor-auth
    path: ../gcc-wt-refactor-auth
    branch: refactor-auth
    created: "2026-03-28T10:00:00Z"
    ttl: 24h
    status: active

decisions: []

Key principle: hash is the pointer to git truth. intent is why. note is only for decisions git can't capture (rejected alternatives, trade-offs).

Scripts

gcc_init.sh

Initialize GCC v2. Auto-detects git repo.

scripts/gcc_init.sh              # new project
scripts/gcc_init.sh --upgrade    # migrate v1 → v2 (backs up old files)

gcc_commit.sh

Execute a real git commit and append lean entry to index.

scripts/gcc_commit.sh "implement retry logic"
scripts/gcc_commit.sh "release prep" "descartamos semantic-release por overhead"
scripts/gcc_commit.sh --staged "hotfix: null check"   # only staged files

gcc_context.sh

Reconstruct context from index hashes.

scripts/gcc_context.sh                    # last 5 entries with git details
scripts/gcc_context.sh --last 10          # last 10
scripts/gcc_context.sh --hash abc123      # full details for specific commit
scripts/gcc_context.sh --summary          # one-line per entry (cheap, no git calls)
scripts/gcc_context.sh --decisions        # only entries with notes
scripts/gcc_context.sh --full             # everything

gcc_bridge.sh

Feed commit data to aiyoucli vector memory. Silent no-op if aiyoucli unavailable.

scripts/gcc_bridge.sh --status            # check bridge connectivity
scripts/gcc_bridge.sh --sync              # sync all unsynced entries
# Called automatically by gcc_commit.sh when bridge_to_aiyoucli: auto

gcc_cleanup.sh

TTL-based worktree cleanup and index pruning.

scripts/gcc_cleanup.sh                    # interactive cleanup
scripts/gcc_cleanup.sh --dry-run          # show what would be cleaned
scripts/gcc_cleanup.sh --force            # clean without asking
scripts/gcc_cleanup.sh --prune-index 50   # keep last 50 timeline entries

Commands

COMMIT

Persist a milestone. In git mode, executes a real commit.

Triggers: /gcc commit <summary>, "commit this progress", "checkpoint"

Procedure (git mode):

  1. Run scripts/gcc_commit.sh "<intent>" ["<note>"]
  2. This stages changes, commits, captures hash, appends to index.yaml
  3. If bridge_to_aiyoucli: auto, feeds to aiyoucli memory

Procedure (standalone mode):

  1. Run scripts/gcc_commit.sh "<intent>"
  2. Appends OTA entry to log.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

BRANCH

Create an isolated workspace. In git mode, uses real git worktrees.

Triggers: /gcc branch <name>, "try a different approach", "experiment with..."

Procedure (git mode):

  1. git worktree add ../gcc-wt-<name> -b <name>
  2. Register in index.yaml under worktrees: with TTL
  3. Agent works in worktree directory

Procedure (standalone mode):

  1. Create .GCC/branches/<name>/ with summary.md, log.md
  2. Register in index.yaml timeline

MERGE

Integrate a branch back. In git mode, real git merge.

Triggers: /gcc merge <branch>, "integrate the experiment", "branch X is done"

Procedure (git mode):

  1. cd to main worktree
  2. git merge <branch>
  3. Append synthesis entry to timeline with intent + learnings as note
  4. git worktree remove ../gcc-wt-<name>
  5. Update worktree status to merged

Procedure (standalone mode):

  1. Read branch summary and commits
  2. Append synthesis to main timeline
  3. Update branch status

CONTEXT

Retrieve historical memory. Reconstructed from git, not stored verbatim.

Triggers: /gcc context, "where were we?", "what's the status?"

Flags:

  • --summary — One-line per entry. Cheapest option (~0 extra tokens). Use for quick orientation.
  • --last N — Last N entries with full git reconstruction. Default for session recovery.
  • --hash <hash> — Deep dive into specific commit (diff, message, files).
  • --decisions — Only entries with notes (rejected alternatives, trade-offs).
  • --full — Everything. Use sparingly.

CLEANUP

Maintain the index and worktrees.

Triggers: /gcc cleanup, "clean up old worktrees"

Procedure:

  1. Run scripts/gcc_cleanup.sh to handle expired worktrees
  2. Run scripts/gcc_cleanup.sh --prune-index 50 to trim old entries

Cross-Session Recovery

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

  1. Run scripts/gcc_context.sh --summary for quick orientation
  2. If more detail needed, run scripts/gcc_context.sh --last 5
  3. Check scripts/gcc_cleanup.sh --dry-run for expired worktrees
  4. Resume work with full context reconstructed from git

Cost: ~50 tokens for summary vs ~2500 tokens loading all v1 markdowns.

aiyoucli Integration

When bridge_to_aiyoucli: auto in config:

  • Every commit is automatically fed to aiyoucli vector memory via gcc_bridge.sh
  • Stored with namespace gcc, tagged by branch
  • Enables semantic search across commits: "when did I do something similar?"
  • If aiyoucli is not installed, bridge is silently skipped

Manual sync: scripts/gcc_bridge.sh --sync

Natural Language Mapping

User saysCommand
"save/checkpoint/persist this"COMMIT
"try a different approach"BRANCH
"that experiment worked, integrate it"MERGE
"where were we?" / "what's the status?"CONTEXT --summary
"show recent activity"CONTEXT --last 10
"what did we decide about X?"CONTEXT --decisions
"deep dive into commit abc"CONTEXT --hash abc
"clean up old stuff"CLEANUP
"sync to memory"bridge --sync

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.