← ClaudeAtlas

claude-code-extension-engineeringlisted

Building, debugging, or reasoning about the limits of a Claude Code extension: CLAUDE.md, rules, skills, hooks and hook events incl. Stop and Notification, subagents, dynamic workflows, agent teams, MCP servers, output styles, themes, status lines, monitors, channels, plugins, the Agent SDK, permission rules, the OS sandbox, settings files and environment variables, auto memory, and what survives a session ending (transcripts, resume, /rewind). Use when choosing between these mechanisms, writing one, or diagnosing one that will not load, fire, or behave. ALSO capability and scope: whether an event can block or refuse, whether a key is honored at project scope or only user/managed/CLI scope, which tools a path rule is consulted for, what a subagent receives, whether it exists on an older build. ALSO for IMPERATIVE build requests, not only questions: "wire up a hook that...", "make it stop when X", "put our sandbox config in settings.json". They presuppose it can, and often it cannot. ALSO for a BARE SYMPTOM or
TranDenyDFW/claude-code-extension-engineering · ★ 0 · AI & Automation · score 68
Install: claude install-skill TranDenyDFW/claude-code-extension-engineering
# Claude Code extension engineering ## Before you wire anything up: check the request is possible **An imperative is not a licence.** "Wire that up", "make it stop when X", "put the sandbox config in settings.json" all presuppose the mechanism can do what is being asked, and that presupposition is wrong often enough to check every time. The costly failures in this domain are not syntax errors, they are configurations that parse, load, and do nothing: - an event that reports but **cannot block**, wired to block - a key that is **inert in project scope**, written into the repo settings file - a path rule for a tool it is **never consulted for** - a matcher naming a tool that **does not exist** All four look correct in the file and all four fail silently, so nobody finds out until the thing they were guarding against happens. So before writing config: name the mechanism the request needs, open its reference, and confirm it can do the thing **at the scope being asked for**. If it cannot, say so and give the nearest thing that can, rather than delivering config that will never fire. Say which half is deliverable when only half is. ## Before answering: open a reference **If the question is diagnostic, capability, or scope shaped, open [INDEX.md](references/INDEX.md) and read the reference it names before you answer.** That covers every "can X block", "will this setting take effect here", "does this work on that provider or version", "it is installed but never fires", and "is