DocsAgenC Core

Core: getting started

Install the AgenC coding agent, run it in the terminal or headless, sign in with X for Grok, pick providers, and embed it with the SDK.

AgenC Core is a powerful and extensible coding agent. Use it through the interactive TUI, headlessly in scripts and bots, or embedded in your own apps over the daemon protocol. One local daemon owns sessions, permissions, provider calls, and command execution.

Install

macOS / Linux:

curl -fsSL https://get.agenc.ag/install.sh | sh

No curl? The npm launcher installs the same runtime:

npm install -g @tetsuo-ai/agenc

Standalone installs carry a private, verified Node.js runtime, so no host Node is required.

Start an interactive session

cd your-project
agenc

On first launch, agenc onboard walks provider setup: sign in with X or xAI to use Grok on your subscription, no API key required, or paste provider keys. Inside the TUI the same rail is one command away:

/grok-login

In non-browser environments, use a key instead:

export XAI_API_KEY="xai-..."
agenc

Useful first prompts:

Explain this repo.
Create a todo checklist and fix the failing test.

Skills

A skill is reusable expertise you hand the agent: a directory with a SKILL.md file inside it. The frontmatter says when the skill applies, the markdown body says what to do. Skills are how a session learns your deploy steps, your review checklist, or a site-specific workflow, without you re-explaining it every time.

Scaffold one inside a session:

/skills new deploy-web Ship the web app to staging and verify it

That writes .agenc/skills/deploy-web/SKILL.md in the project. Fill in the body and the skill is live in the same session:

---
name: deploy-web
description: Ship the web app to staging and verify the deploy
when_to_use: The user asks to deploy, ship, or release the web app
allowed-tools: Bash, Read, Grep
---
 
## Steps
 
1. Run `npm run build` and stop if it fails.
2. Deploy with `npm run deploy:staging`.
3. Curl the health endpoint and report the status code.

Two ways to run it. You call it by name with /deploy-web, or the agent invokes it on its own when the request matches when_to_use. Either way the body is loaded only at invoke time, so a large skill library costs almost no context: the listing the model sees is capped at about 1% of the context window and carries the frontmatter only.

Browse and search what is loaded:

/skills
/skills all
/skills find marketplace

Skills are discovered from several roots at once, so they compose:

ScopeWhere they live
Project.agenc/skills/ and .agents/skills/, walking from the working directory up to your home directory
User~/.agenc/skills/ and ~/.agents/skills/, plus existing ~/.claude/skills and ~/.codex/skills directories
PluginAny skill roots an enabled plugin exposes
BundledShips with Core: browser-automation and agenc-marketplace-kit-installer

The frontmatter can do more than describe the skill. allowed-tools limits which tools the run may touch, context: fork runs it in its own context so a long skill does not pollute the main thread, model and effort override the model for that run, argument-hint documents the arguments a caller passes, and disable-model-invocation keeps a skill user-only when it should never fire automatically.

Run headlessly

agenc -p "Explain this codebase"
agenc --no-tui "Summarize open TODOs"

Headless mode is built for scripts, CI, and bots. The same daemon owns sessions either way, so runs stay durable and resumable.

Providers and models

16 built-in providers, with grok-4.5 as the fresh-config default (500k context). Check readiness and switch:

agenc providers
agenc config set model grok-4.5

Or switch inside the TUI with /model <name>.

Embed with the SDK

@tetsuo-ai/agenc-sdk speaks the daemon protocol from your own app:

import { connect } from "@tetsuo-ai/agenc-sdk";
 
const client = await connect({ autostart: true });
const session = await client.createSession();
const run = session.prompt("Summarize this repo.");
 
for await (const event of run) {
  if (event.type === "text") process.stdout.write(event.delta);
}

Next