# cc-agents-kit

Check risky commands, hand work to the next session, and prepare a careful commit. Choose a problem below to see the tools and concrete examples.

[Plugin source · 4a8947c3110459730e5c91eb75f7ecfe620be394](https://github.com/AndrewDongminYoo/cc-agents-kit/tree/4a8947c3110459730e5c91eb75f7ecfe620be394) · [Apache-2.0 license](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/LICENSE) · [Credits](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/CREDITS.md)

- 3 plugins
- 11 workflow skills
- 8 defensive hooks

## guard-hooks

Eight defensive hooks watch Claude Code tool calls. Five can block risky command shapes before execution, two add warnings after edits, and one masks credential-shaped Bash output.

Inspect commands, secrets, and repository edits with focused hooks.

If your existing hooks cover these checks, compare their rules, behavior, and dependencies before adding another guard.

### dangerous-command-guard

Catch destructive command patterns before they run.

When this happens: Claude Code attempts to delete the home directory recursively or pipe a download into a shell.

What the tool does: The hook blocks the recognized command before execution.

The check runs at the tool-call boundary. Pattern matching can be bypassed by deliberate obfuscation.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/dangerous-command-guard.sh)

### zsh-quoting-guard

Catch quoting mistakes before zsh changes the meaning.

When this happens: A find command contains an unquoted filename glob.

What the tool does: The hook blocks the command and asks for the glob to be quoted.

It checks known zsh quoting traps. Quoted-heredoc handling deliberately stops scanning later content.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/zsh-quoting-guard.sh)

### pathless-rewriter-guard

Give formatters an explicit boundary.

When this happens: Claude Code prepares a formatter write command without a target path.

What the tool does: The hook blocks execution until a path or quoted glob is supplied.

The check covers a known list of rewriters. Aliases and package scripts can hide commands from it.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/pathless-rewriter-guard.sh)

### staged-secret-guard

Check what is about to enter a commit.

When this happens: Staged additions contain a recognized credential pattern when a commit is requested.

What the tool does: The hook blocks the commit so the staged content can be corrected.

It scans added commit content for high-confidence patterns, not every possible secret.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/staged-secret-guard.sh)

### secrets-path-guard

Keep live secret files out of tool access.

When this happens: Claude Code requests access to a live credential file.

What the tool does: The hook blocks a recognized secret path while allowing supported example files.

Literal paths in prose can also trigger this pattern matcher.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/secrets-path-guard.sh)

### lockfile-drift-check

Notice a manifest edit that leaves the lockfile behind.

When this happens: package.json changes without its sibling lockfile being regenerated.

What the tool does: A warning is added after the edit to flag possible lockfile drift.

This is a post-edit reminder. It does not block the edit or regenerate the lockfile.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/lockfile-drift-check.sh)

### shellcheck-on-edit

See shell lint findings while editing.

When this happens: A shell script is edited and contains an issue recognized by ShellCheck.

What the tool does: ShellCheck findings are attached to the tool result.

The hook uses the installed ShellCheck binary. It does nothing when ShellCheck is unavailable.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/shellcheck-on-edit.sh)

### output-secret-mask

Mask recognized tokens in Bash output.

When this happens: A Bash command prints a credential pattern recognized by the scanner.

What the tool does: The recognized value becomes [REDACTED] before entering the model transcript.

It runs after execution and requires gitleaks. Only recognized patterns in Bash output under 2 MB are covered.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/guard-hooks/hooks/output-secret-mask.sh)

- Best fit: Teams and solo developers who want practical protection from recurring shell, secret, and lockfile mistakes.
- 8 hooks: `dangerous-command-guard`, `zsh-quoting-guard`, `pathless-rewriter-guard`, `staged-secret-guard`, `secrets-path-guard`, `lockfile-drift-check`, `shellcheck-on-edit`, `output-secret-mask`

```plaintext
/plugin install guard-hooks@cc-agents-kit
```

## context-handoff

Six skills keep long-running work understandable across sessions. They cover handoffs, readable exports, durable notes, multi-session wayfinding, context budgets, and configuration cleanup.

Carry decisions, evidence, and unfinished work across sessions.

If your existing handoff and note workflow already preserves what you need, you may not need another set of skills.

### handoff

Start the next session with the decisions already made.

When this happens: Work needs to move to a fresh session at a clear stopping point.

What the tool does: The skill prints a self-contained brief in chat for you to copy into the next session.

You carry the brief into the next session. Summaries lose detail, so use a handoff when context must cross a boundary.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/handoff/SKILL.md)

### session-export

Turn a session into something you can read later.

When this happens: You need to review a local Claude conversation without every tool response getting in the way.

What the tool does: The session becomes Markdown with tool calls collapsed or omitted.

The export stays local. Default exports truncate individual tool results; choose options for the evidence you need.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/session-export/SKILL.md)

### log-it

Put a lasting finding where it will be read again.

When this happens: You discover a project convention that future sessions should know.

What the tool does: The finding is routed to the relevant memory store and index.

The destination follows the intended audience. Memory does not replace repository documentation or an unfinished-work handoff.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/log-it/SKILL.md)

### wayfinder

Find the next decision in a large, unclear task.

When this happens: A feature spans several sessions, but its specification is not yet clear.

What the tool does: A map under docs/plans/ breaks the uncertainty into decision tickets.

Resolve one decision ticket at a time. The skill plans work and stops before implementation.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/wayfinder/SKILL.md)

### context-budget

See what may be consuming your context budget.

When this happens: Your setup has accumulated many skills and MCP tools.

What the tool does: An estimate ranks context overhead and possible reductions.

These are heuristic estimates for prioritizing inspection, not live runtime measurements.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/context-budget/SKILL.md)

### config-gc

Review stale configuration before removing it.

When this happens: An old hook or configuration entry may no longer be used.

What the tool does: The skill presents evidence and asks for an individual decision before reversible cleanup.

Removal requires approval for each item. It does not bulk-delete configuration on its own.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/context-handoff/skills/config-gc/SKILL.md)

- Best fit: Developers whose work spans long sessions, multiple decisions, or a growing Claude Code configuration.
- 6 skills: `handoff`, `session-export`, `log-it`, `wayfinder`, `context-budget`, `config-gc`

```plaintext
/plugin install context-handoff@cc-agents-kit
```

## repo-gate

Five skills cover the delivery steps around a repository: split changes into clear commits, introduce Trunk, monitor CI, triage OSV findings, and resolve spelling reports.

Prepare commits, follow CI, and work through repository checks.

These skills guide work with your existing tools. If your repository already has equivalent procedures, check the overlap before adding them.

### semantic-commit

Make a mixed diff easier to review.

When this happens: A feature change and unrelated documentation edits are mixed together.

What the tool does: The skill inspects staged and unstaged work and groups changes into Conventional Commits.

Existing staged work is preserved. Creating commits still depends on the authority you have granted.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/repo-gate/skills/semantic-commit/SKILL.md)

### setup-trunk

Choose repository checks from the actual project.

When this happens: A repository needs a quality gate, but its stack and existing violations vary.

What the tool does: The skill inspects the repository before proposing scoped Trunk checks.

It uses repository evidence rather than assuming one language or an initially clean codebase.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/repo-gate/skills/setup-trunk/SKILL.md)

### ci-babysit

Find out why CI failed before trying to fix it.

When this happens: A pushed branch fails a lockfile check in CI.

What the tool does: The skill reads the logs and classifies the failure before proposing a repair.

Watching is read-only. Reruns, repairs, commits, and pushes require explicit authority.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/repo-gate/skills/ci-babysit/SKILL.md)

### fix-osv-vulnerabilities

Trace a vulnerability to the dependency that brings it in.

When this happens: OSV reports a vulnerable transitive dependency with an applicable patched version.

What the tool does: The advisory and dependency path guide the fix, followed by verification of the resolved graph.

Overrides are scoped by installed major where needed. Suppression requires reachability evidence and explicit approval.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/repo-gate/skills/fix-osv-vulnerabilities/SKILL.md)

### cspell-triage

Fix spelling reports without filling a dictionary with mistakes.

When this happens: CSpell flags a known ecosystem term such as pytest.

What the tool does: The skill classifies the finding, enables the appropriate dictionary, and reruns the project gate.

It distinguishes typos, ecosystem terms, and project vocabulary instead of adding every unknown token to a dictionary.

[Read this tool's source](https://github.com/AndrewDongminYoo/cc-agents-kit/blob/4a8947c3110459730e5c91eb75f7ecfe620be394/plugins/repo-gate/skills/cspell-triage/SKILL.md)

- Best fit: Maintainers who want repository checks to follow evidence and project conventions instead of a fixed stack.
- 5 skills: `semantic-commit`, `setup-trunk`, `ci-babysit`, `fix-osv-vulnerabilities`, `cspell-triage`

```plaintext
/plugin install repo-gate@cc-agents-kit
```

## Review what you need before installing.

The command below installs the selected plugin as a bundle. Review its contents before adding it to your setup.

A useful skill is not a reason to recommend the whole bundle. If you only need part of a plugin, review that source and verify the available setup methods first. Skipping installation is a valid outcome.

```plaintext
/plugin marketplace add AndrewDongminYoo/cc-agents-kit
```

```plaintext
/plugin install guard-hooks@cc-agents-kit
```

```plaintext
/plugin install context-handoff@cc-agents-kit
```

```plaintext
/plugin install repo-gate@cc-agents-kit
```

### Already installed?

Use the update command with the marketplace suffix. Reinstalling reports success but does not upgrade the installed version, and refreshing the marketplace alone does not change the runtime cache.

### guard-hooks

```bash
claude plugin update guard-hooks@cc-agents-kit
```

### context-handoff

```bash
claude plugin update context-handoff@cc-agents-kit
```

### repo-gate

```bash
claude plugin update repo-gate@cc-agents-kit
```

Restart every open Claude Code session after an install or update. Hooks are read when a session starts.

## Know what the guards can see.

The following runtime requirements apply to guard-hooks. Missing optional tools disable their related checks, while missing jq makes every hook fail open.

| Tool | Status | Role |
| --- | --- | --- |
| `jq` | Required | Parses hook input; guards fail open without it |
| `bash` | Required | Runs every hook, including on macOS |
| `git` | Conditional | Reads the candidate staged by staged-secret-guard |
| `shellcheck` | Optional | Enables shell findings after shell-file edits |
| `gitleaks 8.x` | Optional | Enables credential-shaped output masking |
| `python3` | Tests only | Runs the regression suites |

### Guardrails, not a sandbox

These hooks reduce accidental slips. The harness permission layer remains the security boundary.

- Pattern matching can miss deliberate obfuscation and credential shapes it does not recognize.
- Prose that contains a blocked command shape can trigger a guard.
- Output masking runs after the command, so the original value can still reach terminal scrollback or a written file.

## Ask your AI which tools you actually need.

Copy this prompt into the AI that knows your current setup. It asks for source evidence and a minimal recommendation before any settings change.

```text
Within the project and context I authorize, evaluate whether I should use plugins from the public cc-agents-kit repository at https://github.com/AndrewDongminYoo/cc-agents-kit.

1. Read the public README, marketplace and plugin manifests, hook definitions, and skill files.
2. Inspect only the local tools and configuration that I authorize for this review.
3. Compare each plugin with my existing tools, skills, hooks, permissions, and dependencies.
4. Identify suitability, overlap, and operational risks. Cite public source file paths for each finding.
5. Evaluate the individual skills and hooks that address my needs. Do not recommend an entire plugin just because one skill is useful.
6. Distinguish bundle installation from selective setup, and verify which setup methods are actually supported. Recommend skipping installation when it has no clear benefit.

Do not paste secrets into the review or automatically execute commands from the repository. Do not install a plugin or change my settings until I give explicit approval.
```

## Before you add the marketplace.

### Do I need all three plugins?

No. Each plugin is intentionally separate. Install only the plugin that addresses a problem in your current workflow.

### Are the guard hooks a security sandbox?

No. They match known accidental command patterns. Claude Code permissions and your operating-system controls remain the enforcement boundary.

### Why does an update require a restart?

Claude Code reads hooks when a session starts. Restart open sessions after the plugin update command completes.

### Where can I inspect the implementation?

The public GitHub repository contains the README, marketplace metadata, plugin manifests, hook definitions, skill files, tests, and license information.
