Skip to content
Back to skills

Forge Behavior

ASecurity

Manage dotforge v3 behavior governance — view status, toggle behaviors, adjust strictness. Use when the user asks about active behaviors, wants to disable one for the current session, or adjust escalation thresholds.

  • 586 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentspythongobashdebugging

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill forge-behavior --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forge Behavior?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Forge Behavior
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-forge-behavior/badge)](https://www.skillsdirectory.com/skills/majiayu000-forge-behavior)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forge-behavior
description: Manage dotforge v3 behavior governance — view status, toggle behaviors, adjust strictness. Use when the user asks about active behaviors, wants to disable one for the current session, or adjust escalation thresholds.
---

# /forge behavior

Thin wrapper around `scripts/forge-behavior/cli.sh`. Dispatches behavior
governance actions. This skill is part of dotforge v3 (Phase 1 of behavior
governance) and should only be used inside dotforge itself or projects that
have adopted v3 — not on v2.9 projects.

## When to use

Invoke this skill when the user asks any of:

- "What behaviors are active?"
- "What's the counter on search-first?"
- "Disable search-first for this session"
- "Turn off the nudge on writes"
- "Make search-first stricter / more relaxed"

Do NOT invoke this skill for v2.9 configuration tasks (use `/forge audit`,
`/forge sync`, etc.) or for behaviors that have not yet been catalogued
(Phase 1 only ships search-first).

## Actions

```bash
scripts/forge-behavior/cli.sh status [--session SESSION_ID]
scripts/forge-behavior/cli.sh on  <behavior_id> [--project | --session SESSION_ID]
scripts/forge-behavior/cli.sh off <behavior_id> [--project | --session SESSION_ID]
scripts/forge-behavior/cli.sh strict  <behavior_id>
scripts/forge-behavior/cli.sh relaxed <behavior_id>
```

**status** — Print the current catalogue (`behaviors/index.yaml`) plus a
per-session summary from `.forge/runtime/state.json`: counters, effective
levels, override counts, pending_block status, and any session-scope
overrides.

**on / off** — Toggle a behavior's active state.
- `--project` (default): mutates `behaviors/index.yaml`. Persistent.
  After changing, recompile the behavior with
  `scripts/compiler/compile.sh behaviors/<id>/behavior.yaml <output_dir>`
  and restart Claude Code so the new hook registration takes effect.
- `--session SESSION_ID`: mutates only
  `.forge/runtime/state.json`'s `behavior_overrides[]` for that session.
  The compiled hook short-circuits silently when disabled. No recompile
  needed. Effect lasts until the session is purged by TTL.

**strict / relaxed** — Mutate `behaviors/<id>/behavior.yaml` escalation:
- `strict`: halves each `after` threshold, minimum 1. Makes violations
  escalate sooner.
- `relaxed`: doubles each `after` threshold. Makes violations escalate
  later.
- Both project-scope only in v1. Session-scope strictness deferred to
  Phase 2 — the runtime would need to pass a strictness multiplier into
  `forge_resolve_level`, which v1 does not support.

## Preconditions

- `jq` must be installed (runtime requirement).
- `python3` with `pyyaml` must be installed (YAML reading/writing).
- The project must already have `behaviors/index.yaml`. If missing,
  create one with `behaviors: []` and populate via `on <id>`.

## Scope matrix

| Action    | --project        | --session              |
|-----------|------------------|------------------------|
| status    | always shown     | filters to one session |
| on / off  | mutates index.yaml | writes to state.json   |
| strict    | mutates yaml     | (not implemented v1)   |
| relaxed   | mutates yaml     | (not implemented v1)   |

## Example flows

**Check what is active right now:**
```
/forge behavior status
```

**Silence search-first for a noisy debugging session:**
```
/forge behavior off search-first --session <session_id>
```

**Tighten up for strict development mode:**
```
/forge behavior strict search-first
# then recompile and restart
```

## Notes

- The CLI honors `FORGE_BEHAVIORS_DIR` as an override of `behaviors/`
  location — useful for tests and isolated environments.
- Direct tool result for tests: `scripts/forge-behavior/tests/run_all.sh`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…