Files
antigravity-claudekit/skills/ck-context-guard/SKILL.md
2026-02-16 14:02:42 +09:00

3.3 KiB

name, description
name description
ck-context-guard Enforces workflow context rules automatically. Reminds to use ck-cook after planning completes, enforces descriptive file naming conventions. Activates automatically after plan agent completion and before file creation.

ck-context-guard

Automatic guard that enforces workflow context transitions and naming conventions. Two behaviors that fire at specific workflow moments. Never invoked manually.

When Active

  • Cook-After-Plan Reminder: Fires when a planning agent (ck-planning) completes
  • Descriptive Name Guidance: Fires before every file write or creation

Don't Use When

  • This is a background guard — never invoke manually

Cook-After-Plan Reminder

Trigger: When a planning subagent stops (completes or is terminated).

Behavior: Outputs a mandatory reminder to use ck-cook before starting implementation:

MUST invoke /cook --auto skill before implementing the plan.
Best Practice: Run /clear then /cook {full-absolute-path-to-plan.md}

If an active plan path is available in session state, the reminder includes the full absolute path to plan.md. This is critical for worktree and multi-window workflows where a new session (after /clear) needs to locate the plan.

Why absolute path matters: When working in git worktrees or opening a new Claude Code window after planning, relative paths break. The full absolute path ensures the plan is findable regardless of which directory the new session starts in.

Purpose: Enforces the workflow discipline of:

  1. Plan first (with ck-planning)
  2. Clear context to reset window
  3. Implement with ck-cook (not ad-hoc implementation)

This prevents a common anti-pattern: starting to implement directly after planning without clearing the context, which leads to a bloated context window during implementation.


Descriptive Name Guidance

Trigger: Before every file write or creation (PreToolUse on write operations).

Injected guidance:

## File naming guidance:
- Skip this guidance if creating markdown or plain text files
- Prefer kebab-case for JS/TS/Python/shell (.js, .ts, .py, .sh) with descriptive names
- C#/Java/Kotlin/Swift: PascalCase (.cs, .java, .kt, .swift)
- Go/Rust: snake_case (.go, .rs)
- Other languages: follow their ecosystem's standard naming convention
- Goal: self-documenting names for LLM tools (Grep, Glob, Search)

Purpose: Ensures that file names communicate intent at a glance. When LLM tools search the codebase using glob or grep patterns, descriptive kebab-case names like user-authentication-service.ts are immediately understandable without reading file contents.

Note: Guidance is skipped for markdown and plain text files — those already have human-readable names by convention.


Workflow Integration

ck-context-guard enforces the canonical workflow transition:

ck-planning → [plan.md created]
     ↓
[Cook-After-Plan fires]
     ↓
User runs /clear
     ↓
ck-cook path/to/plan.md --auto
     ↓
[Implementation begins with clean context]

This guard prevents the anti-pattern of implementing immediately after planning in the same context window, which bloats the window and reduces implementation quality.


Configuration

// $HOME/.claude/.ck.json
{
  "hooks": {
    "cook-after-plan-reminder": true,
    "descriptive-name": true
  }
}