本文へ移動
cccskills
無料GitHub で公開

dcg

Handle blocked destructive commands. Use when dcg blocks rm -rf, git reset --hard, DROP DATABASE, kubectl delete, or when configuring agent safety guardrails.

インストール方法を見る

含まれるファイル(9)

  • SKILL.md6.2 KB
  • references/COMMANDS.md8.6 KB
  • references/CONFIG.md5.0 KB
  • references/PACKS.md8.3 KB
  • references/PHILOSOPHY.md2.9 KB
  • references/SCENARIOS.md2.2 KB
  • references/TROUBLESHOOTING.md5.7 KB
  • scripts/validate-dcg.sh2.1 KB
  • SELF-TEST.md2.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- TOC: Core Insight | THE EXACT WORKFLOW | Quick Reference | Safe Alternatives | What Gets Blocked | Anti-Patterns | Configuration | References -->

DCG: When You Get Blocked

Core Insight: Blocks are checkpoints, not errors. A safe alternative almost always exists. Find it before mentioning override.

Quick Navigation

I need to...Go to
Handle a block right nowTHE EXACT WORKFLOW
Find a safe alternativeSafe Alternatives
See all CLI commandsCOMMANDS.md
Enable more rule packsPACKS.md
Configure per-projectCONFIG.md
Debug hook issuesTROUBLESHOOTING.md

THE EXACT WORKFLOW

When blocked, follow this sequence every time:

1. Run `dcg explain "cmd"` → Understand why (see trace)
2. Check Safe Alternatives table → Use if exists (DON'T mention override)
3. No alternative? → Explain risk clearly, let human decide
4. Human approves? → THEY run: dcg allow-once CODE

Never: Ask for override first. Never retry silently. Never circumvent.

Example block output:

BLOCKED: git reset --hard HEAD
Rule: core.git:reset-hard
Reason: Discards uncommitted changes permanently
Allow-once code: ab12
Safer alternative: git stash

Good response:

"I wanted to discard changes but git reset --hard was blocked. Let me use git stash instead—recoverable if needed." [proceeds with stash]

Safe Alternatives

BlockedUse InsteadWhy
git reset --hardgit stashRecoverable
git checkout -- filegit stash push filePreserves changes
git push --forcegit push --force-with-leaseChecks remote unchanged
git clean -fdgit clean -fdn (preview)Shows what would delete
git stash dropgit stash list firstVerify which stash
rm -rf /pathrm -ri /path or verify pathInteractive/confirm
kubectl delete namespacekubectl delete -l app=XSelective deletion
DROP DATABASEBackup firstHuman approves
docker system prune -adocker system df firstSee what's used

Quick Reference

dcg doctor              # Health check — hook registered?
dcg explain "cmd"       # WHY is it blocked? (with trace)
dcg test "cmd"          # Would this be blocked? (dry-run)
dcg allow-once CODE     # Human approves (THEY run this)
dcg packs               # List available rule packs
dcg scan --staged       # Pre-commit: scan for issues

What Gets Blocked

CategoryPatternsSafe Variants
Git destructivereset --hard, checkout --stash, restore --staged
Git historypush --force, branch -D--force-with-lease, -d
Git stashstash drop, stash clearstash list first
Filesystemrm -rf (dangerous paths)/tmp/* allowed
DatabaseDROP, TRUNCATE, DELETE w/o WHEREAdd WHERE clause
K8sdelete namespace, delete --all-l label selector

Context-aware: rm -rf ./build allowed, rm -rf / blocked.

dcg explain example (7-step pipeline):

$ dcg explain "git reset --hard HEAD"
BLOCKED by core.git:reset-hard

Evaluation trace:
  1. Config allow overrides: no match
  2. Config block overrides: no match
  3. Heredoc detection: not applicable
  4. Quick reject: triggered (contains "reset")
  5. Context sanitization: no changes
  6. Normalization: git reset --hard HEAD
  7. Pack evaluation:
     - Safe patterns: no match
     - Destructive: MATCH "reset --hard"

Suggestion: Use `git stash` to preserve changes

Anti-Patterns

❌ "Command blocked. Run dcg allow-once ab12"  → Find alternative first!
❌ *Retrying silently or circumventing*         → Always acknowledge blocks
❌ Treating blocks as errors                    → They're checkpoints
❌ Asking user to allow-once without explaining → They need context

Configuration

# .dcg.toml — enable rule packs per-project
[packs]
enabled = ["database.postgresql", "kubernetes.kubectl", "cloud.aws"]

[overrides]
allow_patterns = ["rm -rf ./node_modules"]  # Project-specific safe

Environment variables:

  • DCG_PACKS="containers.docker,kubernetes" — Enable packs
  • DCG_DISABLE="kubernetes.helm" — Disable specific packs
  • DCG_BYPASS=1 — Escape hatch (human-only)

Key Facts

  • 49+ rule packs available (database, containers, k8s, cloud, etc.)
  • Sub-millisecond latency — won't slow your workflow
  • Fail-open on timeout — if DCG hangs, command runs (with warning)
  • Heredoc scanning — inline scripts (bash -c, python -c) are analyzed
  • Allow-once codes — 4 hex chars, 24h expiry, bound to exact command+directory

The Incident That Started It All

On December 17, 2025, an AI agent ran git checkout -- on files containing hours of uncommitted work. The files were recovered via git fsck --lost-found, but it proved: instructions don't prevent execution—mechanical enforcement does.


Validation

# Quick health check
dcg doctor | head -20

# Test if a command would be blocked
dcg test "git reset --hard HEAD"

# Should show: WOULD BE BLOCKED

Scripts

ScriptUsage
./scripts/validate-dcg.shFull installation validation

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

The philosophy and practical benefits of agent fungibility in multi-agent software development. Why homogeneous, interchangeable agents outperform specialized role-based systems at scale.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

MCP Agent Mail for multi-agent coordination. Use when agents need file locks, messaging, inboxes, or conflict prevention. Handles macro_start_session, file_reservation_paths, send_message, threading, pre-commit guards.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

Jeffrey Emanuel's multi-agent implementation workflow using NTM, Agent Mail, Beads, and BV. The execution phase that follows planning and bead creation. Includes exact prompts used.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

bv

無料

Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

caam

無料

Manage AI coding CLI accounts with sub-100ms switching. Use when hitting rate limits on Claude Max, GPT Pro, or Gemini Ultra subscriptions and need instant account swapping without browser OAuth.

日本語の概要は準備中です。原文の説明を表示しています。

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations732026年9月6日 更新

Dicklesworthstone のスキルをすべて見る

このスキルの問題を報告する