/SKILL.md
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'.
npx skillsauth add faugustdev/git-context-controller gccInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
index.yaml, worktree isolation, aiyoucli bridgeOn 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
.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
.GCC/
├── index.yaml # Timeline in standalone mode
├── main.md # Global roadmap (v1 compat)
├── log.md # OTA execution log (v1 compat)
└── branches/
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).
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)
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
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
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
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
Persist a milestone. In git mode, executes a real commit.
Triggers: /gcc commit <summary>, "commit this progress", "checkpoint"
Procedure (git mode):
scripts/gcc_commit.sh "<intent>" ["<note>"]bridge_to_aiyoucli: auto, feeds to aiyoucli memoryProcedure (standalone mode):
scripts/gcc_commit.sh "<intent>"Proactive behavior: When proactive_commits: true, suggest a commit after:
Create an isolated workspace. In git mode, uses real git worktrees.
Triggers: /gcc branch <name>, "try a different approach", "experiment with..."
Procedure (git mode):
git worktree add ../gcc-wt-<name> -b <name>worktrees: with TTLProcedure (standalone mode):
.GCC/branches/<name>/ with summary.md, log.mdIntegrate a branch back. In git mode, real git merge.
Triggers: /gcc merge <branch>, "integrate the experiment", "branch X is done"
Procedure (git mode):
cd to main worktreegit merge <branch>git worktree remove ../gcc-wt-<name>mergedProcedure (standalone mode):
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.Maintain the index and worktrees.
Triggers: /gcc cleanup, "clean up old worktrees"
Procedure:
scripts/gcc_cleanup.sh to handle expired worktreesscripts/gcc_cleanup.sh --prune-index 50 to trim old entriesWhen starting a new session on a project with .GCC/:
scripts/gcc_context.sh --summary for quick orientationscripts/gcc_context.sh --last 5scripts/gcc_cleanup.sh --dry-run for expired worktreesCost: ~50 tokens for summary vs ~2500 tokens loading all v1 markdowns.
When bridge_to_aiyoucli: auto in config:
gcc_bridge.shgcc, tagged by branchManual sync: scripts/gcc_bridge.sh --sync
| 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 --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 |
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.