by 0xNyk
Local-first policy, evidence, memory, and recovery controls for Claude, Codex, Hermes, and other CLI coding agents.
# Add to your Claude Code skills
git clone https://github.com/0xNyk/lacpLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:15:45.014Z",
"npmAuditRan": true,
"pipAuditRan": true
}lacp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by 0xNyk. Local-first policy, evidence, memory, and recovery controls for Claude, Codex, Hermes, and other CLI coding agents. It has 293 GitHub stars.
Yes. lacp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/0xNyk/lacp" and add it to your Claude Code skills directory (see the Installation section above).
lacp is primarily written in Shell. It is open-source under 0xNyk on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh lacp against similar tools.
No comments yet. Be the first to share your thoughts!
Local policy, evidence, and recovery controls for coding agents.
LACP wraps Claude, Codex, Hermes, and other CLI agents with deterministic routing, approval gates, execution records, memory controls, and rollback paths. It runs on your machine and keeps remote execution opt-in.

Development status:
mainreports version 0.10.0. The latest published GitHub and Homebrew release is v0.6.0. Main includes unreleased changes and may alter commands or configuration before the next release. Use the Homebrew package when you need the published release; use--HEADonly when you want current development code.
LACP is a local execution wrapper and control plane. The coding-agent host still owns its model, tools, session, and interface. LACP owns the contract around a run: where it may execute, which risk tier applies, when approval is required, what evidence must be kept, and how a failed change is recovered.

# Homebrew (recommended)
brew tap 0xNyk/lacp && brew install lacp
# or inspect and run the bootstrap at a published tag
curl -fsSLo /tmp/lacp-install.sh \
https://raw.githubusercontent.com/0xNyk/lacp/v0.6.0/install.sh
LACP_REF=v0.6.0 bash /tmp/lacp-install.sh
lacp bootstrap-system --profile starter --with-verify
lacp doctor --json | jq '.ok,.summary'
After bootstrap: .env is created, dependencies installed, directories scaffolded, Obsidian vault wired, and verification artifacts produced.
For the full setup and daily operator flow, start with the Runbook and Local Dev Loop.
# Route a task through LACP policy gates
lacp run --task "hello world" --repo-trust trusted -- echo "LACP is working"
# Make claude/codex/hermes default to LACP routing (reversible)
lacp adopt-local --json | jq

lacp bootstrap-system --profile starter --with-verify
lacp adopt-local --json | jq
lacp posture --strict
lacp run \
--task "dependency update with tests" \
--repo-trust trusted \
--context-profile default \
-- pnpm up && pnpm test
lacp e2e smoke --workdir . --init-template --command "npx playwright test --grep @smoke"
lacp api-e2e smoke --workdir . --init-template --command "npx schemathesis run --checks all"
lacp pr-preflight --changed-files ./changed-files.txt --checks-json ./checks.json
lacp worktree create --repo-root . --name feature-a --base HEAD
lacp up --session feature-a --instances 3 --command "claude"
lacp swarm launch --manifest ./swarm.json
| Guide | What You'll Learn |
|---|---|
| Runbook | Daily operator workflow, command map, troubleshooting entry points |
| Local Dev Loop | Fast build/test/verify loop for contributors |
| Framework Scope | What LACP is, what it is not, and design boundaries |
| Implementation Path | Step-by-step rollout plan for full control-plane adoption |
| Memory Quality Workflow | How memory ingestion, expansion, and validation are run safely |
| Incident Response | Triage and recovery flow when policy gates fail |
| Release Checklist | Pre-release, release, and post-release controls |
| Troubleshooting | Common errors, doctor diagnostics, fix hints |
lacp/
├── bin/ # CLI commands (lacp <command>)
│ ├── lacp # Top-level dispatcher
│ ├── lacp-bootstrap-system
│ ├── lacp-doctor # Diagnostics (--json, --fix-hints)
│ ├── lacp-route # Policy-driven tier/provider routing
│ ├── lacp-sandbox-run # Gated execution with artifact logging
│ ├── lacp-brain-* # Memory stack (ingest, expand, doctor, stack)
│ ├── lacp-obsidian # Vault config management
│ ├── lacp-up # Multi-instance agent sessions
│ ├── lacp-swarm # Batch orchestration
│ └── lacp-claude-hooks # Hook profile management
├── config/
│ ├── sandbox-policy.json # Routing + cost ceilings
│ ├── risk-policy-contract.json
│ ├── obsidian/ # Vault manifest + optimization profiles
│ └── harness/ # Task schemas, sandbox profiles, verification policies
├── hooks/ # Python hook pipeline for Claude Code
├── scripts/
│ ├── ci/ # Test suites
│ └── runners/ # Daytona/E2B execution adapters
└── docs/ # Guides and reference docs
Agent invocation
→ lacp route (risk tier + provider selection)
→ context contract validation
→ budget gate check
→ session fingerprint verification
→ sandbox-run (dispatch + artifact logging)
Every command routes through risk tiers (safe → review → critical), budget ceilings per tier, and context contracts that validate host, working directory, git branch, and remote targets before execution.

| Layer | Purpose |
|---|---|
| Session memory | Per-project scaffolding under ~/.claude/projects/ |
| Knowledge graph | Obsidian vault with MCP wiring (smart-connections, QMD, ori-mnemos) |
| Ingestion pipeline | brain-ingest converts text/audio/video/URLs into structured notes |
| Code intelligence | GitNexus AST-level knowledge graph via MCP (optional) |
| Agent identity | Persistent IDs per (hostname, project) + SHA-256 hash-chained provenance |
lacp brain-stack init --json | jq # Bootstrap all layers
lacp brain-ingest --url "https://..." --apply --json | jq
lacp brain-expand --apply --json | jq # Full expansion loop
Modular Python hooks enforcing quality at every session stage:
| Hook | Event | Purpose |
|---|---|---|
session_start.py |
SessionStart | Git context injection, test command caching |
pretool_guard.py |
PreToolUse | Block dangerous operations (publish, chmod 777, fork bombs, secrets) |
write_validate.py |
PostToolUse | YAML frontmatter schema validation |
stop_quality_gate.py |
Stop | 3-tier eval: heuristics, test verification, local LLM rationalization detection |
Profiles: minimal-stop, balanced, hardened-exec, quality-gate-v2. Apply with lacp claude-hooks apply-profile <profile>.
Biologically-inspired memory consolidation modeled on fungal networks:
| Mechanism | Description |
|---|---|
| Adaptive path reinforcement | Frequently-traversed edges strengthen (like mycelium hyphae) |
| Self-healing | Pruned nodes trigger reconnection of orphaned neighbors |
| Exploratory tendrils | Frontier nodes in active categories shielded from pruning |
| Flow scoring | Betweenness centrality identifies critical knowledge hubs |
| Tem |