Claude Code is more than a terminal tool. Here is how to run it non-interactively in CI pipelines, GitHub Actions, and automated workflows — safely, with the right permission model and reusable skills.
Adding context: fork to a skill runs it in an isolated subagent instead of inline. The skill body becomes the subagent's task, the noisy work stays contained, and your main conversation gets back only the useful result.
Background subagents run concurrently, but they can't stop to ask you questions or negotiate permissions mid-run. Here is when concurrency saves time and when it just fails more quietly.
Most skill failures are not caused by bad instructions in the body — they are caused by a weak description. That is the line Claude uses to decide whether a skill is relevant enough to load. Here is how to fix it.
The description field is how Claude decides whether to delegate a task to a subagent. If it is vague, delegation misses or misfires. Here is how to write descriptions that work.