Improve developer workflows using AI-assisted tooling
Improve how a team works with AI-assisted tooling: package repeatable prompts as skills, use plan mode for large changes, isolate exploration and verbose work in subagents, automate review and other tasks in CI, keep CLAUDE.md lean, and measure adoption, contribution and cost per developer.
Key points
- 1
Skills are
SKILL.mdfiles with YAML frontmatter in.claude/skills/<name>/(project, committed) or~/.claude/skills/<name>/(personal); plugins and managed settings can distribute them organization-wide. They are invoked as/namewith$ARGUMENTS(or namedarguments), load only when invoked or judged relevant, and supersede the older.claude/commands/custom-command format. Frontmatter controls invocation:disable-model-invocation: truefor side-effecting actions only a person should trigger,user-invocable: falsefor background knowledge,allowed-toolsto pre-approve tools,context: forkto run in a subagent. - 2
Keep
CLAUDE.mdshort (target under 200 lines) and limited to facts Claude needs in every session: build and test commands, conventions, layout, always-do rules. Move multi-step procedures into skills and area-specific conventions into path-scoped.claude/rules/files. Adherence drops when instructions are vague, conflicting or buried in a long file; capital letters and "MUST" do not fix that.@pathimports still load at launch, so they organize text without saving tokens. - 3
Plan mode (Shift+Tab,
/planprefix, orclaude --permission-mode plan) lets Claude research and propose without editing; edits stay blocked until the plan is approved. Use it for large or risky changes to avoid expensive re-work, then approve into manual edit review, accept-edits or auto mode. Course-correct early with Escape and/rewind. - 4
Permission modes set the baseline:
defaultasks before edits, commands and network;acceptEditsauto-approves edits and common filesystem commands in the working directories;planis read-only;dontAskdenies anything that would prompt (for locked-down CI);bypassPermissionsskips all checks and is for isolated containers or VMs only. Layer allow, ask and deny rules on top; deny rules apply in every mode. - 5
Subagents are Markdown files with frontmatter in
.claude/agents/(project, shared) or~/.claude/agents/(personal), withname,description,tools(allow-list),model,permissionModeandmaxTurns. Each runs in its own context window and returns a summary, so use them to isolate verbose operations (test runs, log parsing, documentation fetching), to enforce read-only or tool-restricted exploration, and for parallel independent investigation. Prefer the main conversation for tightly iterative work or when phases share a lot of context. Subagent requests still cost tokens; give simple subagents a smaller model. - 6
Hooks make workflow steps deterministic: a
PostToolUsehook onEdit|Writecan run a formatter, aPreToolUsehook can rewrite a test command to show only failures (reducing context),PreCompactcan archive a transcript,SessionEndcan run cleanup. Configure them under thehookskey of a settings file, with a single-string matcher that uses|to combine tool names. - 7
Headless mode (
claude -p) runs Claude Code in scripts and CI:--output-format jsonreturns the result, session ID, usage,total_cost_usdand anypermission_denials;--json-schemagives structured output;--allowedToolsand--permission-modepre-approve exactly what the job needs;--max-turnsbounds iterations;--bareskips auto-discovery of hooks, skills, MCP servers and CLAUDE.md for reproducible CI runs;--continue/--resume <id>chain follow-ups. - 8
GitHub Actions:
anthropics/claude-code-actionresponds to@claudementions (interactive mode) or runs apromptautomatically on any event, including a schedule or every pull request (automation mode). Set it up with/install-github-appor manually by installing the Claude GitHub App and adding a secret. Never commit keys; storeANTHROPIC_API_KEY(orCLAUDE_CODE_OAUTH_TOKEN) as a GitHub secret, or use OIDC workload identity federation so no static key is stored. For an organization, install the app once at org level, use an org-level secret with a Console API key rather than a personal OAuth token, and share a reusable workflow. Cap cost with--max-turnsinclaude_args, workflow timeouts and concurrency limits; define review criteria in CLAUDE.md. Bedrock, Vertex and Foundry are supported through OIDC (use_bedrock,use_vertex,use_foundry). - 9
Cost habits to teach:
/clearbetween unrelated tasks;/compactwith focus instructions; specific prompts instead of "improve this codebase"; match the model to the job (Sonnet for most coding, Opus for hard reasoning, Haiku for simple subagents); adjust effort or thinking for simple tasks; prefer CLI tools over MCP servers when both exist and disable unused servers; check/contextand/usage. - 10
Measuring adoption and impact: the Teams and Enterprise dashboard at claude.ai/analytics/claude-code shows daily active users, sessions, lines accepted, suggestion accept rate and, with the GitHub integration, PRs and lines shipped with Claude Code plus a leaderboard and CSV export. Console customers get usage, spend and per-member insights at platform.claude.com/claude-code and via the Claude Code Analytics API. Enterprise organizations can also use the Enterprise Analytics API. Cloud-provider usage is not included; for that, and for near-real-time per-developer cost anywhere, use OpenTelemetry with team attributes or an LLM gateway.
- 11
Use the data well: track adoption dips as a friction signal, find power users who can coach others, compare PRs per user before and after rollout alongside DORA or sprint metrics, and pilot with a small group to set a cost baseline before wider rollout.
- 12
Traps: pasting procedures into CLAUDE.md; personal skills or notes instead of a committed skill; bypass permissions as a speed-up for large refactors; using a personal OAuth token as a shared CI credential; parsing transcript files for metrics (internal format, privacy); and enabling prompt logging to measure productivity.
Read the source
Test yourself on Improve developer workflows using AI-assisted tooling
Ten questions, with the answer and explanation after each one.