Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Configure agent-tail log aggregation for the current project. Auto-detects framework (Vite, Next.js, plain Node, monorepo) and sets up CLI runner, browser log plugins, and output destinations. Use when setting up agent-tail, configuring dev server logging, or piping logs for AI agent consumption.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 63% | 0% |
<objective> Configure agent-tail for the current project. Agent-tail pipes logs from dev servers and browser consoles into unified log files that AI coding agents can read and grep. This skill auto-detects the project type, proposes a configuration, and sets everything up after user confirmation. </objective>
<quick_start> Run the auto-detect workflow below. The skill will:
</quick_start>
<essential_principles>
tmp/logs/latest/ — this is agent-tail's standard output directorytmp/ directory must be gitignoredagent-tail-core init at root and agent-tail-core wrap in each package</essential_principles>
<process> Step 1: Detect project type
Read these files to determine the project setup:
package.json — check for framework dependencies (vite, next, react, etc.) and existing scriptsvite.config.ts / vite.config.js — Vite project indicatornext.config.ts / next.config.js / next.config.mjs — Next.js project indicatorturbo.json / nx.json / pnpm-workspace.yaml / lerna.json — monorepo indicators.gitignore — check if tmp/ is already ignoredClassify the project as one of:
Step 2: Gather user preferences
Use AskUserQuestion to confirm detection and gather preferences:
Question 1: "I detected a [framework] project. Is this correct?"
- Yes, proceed
- No, it's actually [other options]
Question 2: "Which services should agent-tail manage?"
- Based on detected scripts in package.json (e.g., "dev", "api", "worker")
- Let user add custom service names and commands
Question 3: "Configure output destinations?"
- Default (tmp/logs/latest/) (Recommended)
- Custom directory
- Custom directory with combined.log disabled
Question 4: "Set up browser console log capture?"
- Yes (Recommended) — if Vite or Next.js detected
- No, server logs only
- [Skip this question for node-cli projects]Step 3: Install agent-tail
bash# Detect package manager from lockfile # bun.lock → bun # pnpm-lock.yaml → pnpm # yarn.lock → yarn # package-lock.json → npm <pkg-manager> add -D agent-tail agent-tail-core
Important: The agent-tail umbrella package has a broken bin field that prevents the CLI from being linked. You must also install agent-tail-core explicitly — this is the package that provides the actual agent-tail-core CLI binary. Use agent-tail-core (not agent-tail) as the command name in all scripts.
Step 4: Configure framework plugin
For each detected framework, apply the appropriate configuration. See references/framework-configs.md for exact code.
agentTail() plugin to vite.configwithAgentTail(), add AgentTailScript to layout, create browser log API routeagent-tail init to root dev script, wrap each package with agent-tail wrapStep 5: Configure package.json scripts
Update package.json scripts to use agent-tail-core CLI. Transform existing dev scripts:
json{ "scripts": { "dev": "agent-tail-core run '<service1>: <original-command>' '<service2>: <original-command>'" } }
If user specified excludes or muting, add flags:
json{ "scripts": { "dev": "agent-tail-core run --exclude '[HMR]' --mute worker '<services>'" } }
Step 6: Update .gitignore
Add tmp/ to .gitignore if not already present.
Step 7: Verify setup
After configuration, tell the user:
tmp/logs/latest/combined.log are created</process>
<configuration_options> These options can be presented to the user during setup:
Output directory: Where logs are written (default: tmp/logs/latest/)
Excludes: Filter noisy log lines by substring or regex:
[HMR], [vite], Download the React DevTools[Fast Refresh], compiled successfullyService muting: Hide specific services from terminal output while preserving log files:
Browser log capture: Capture console.*, unhandled errors, and unhandled promise rejections from the browser
Log format: All logs use timestamp + level + message format: [10:30:00.123] [LOG ] Message here
Gitignore warning: Agent-tail warns on startup if tmp/ is not gitignored. Disable with warnOnMissingGitignore: false in plugin options. </configuration_options>
<anti_patterns> <pitfall name="forgetting-browser-setup"> For Vite/Next.js projects, the CLI alone does not capture browser console logs. The framework plugin is required for browser log capture. </pitfall>
<pitfall name="monorepo-without-init"> In monorepos using Turborepo/Nx, you must run agent-tail-core init before turbo dev (or equivalent). Without init, agent-tail-core wrap in child packages has no session to join. </pitfall>
<pitfall name="using-agent-tail-cli-instead-of-agent-tail-core"> The agent-tail umbrella package has a broken bin field — it references a nested path that package managers don't resolve correctly. Always use agent-tail-core as the CLI command in scripts, and always install agent-tail-core as an explicit devDependency alongside agent-tail. </pitfall>
<pitfall name="overwriting-existing-scripts"> When modifying package.json scripts, preserve the original command inside the agent-tail runner. Do not replace the command, wrap it. </pitfall> </anti_patterns>
<success_criteria> Setup is complete when:
tmp/ is in .gitignore</success_criteria>
<reference_guides> Framework-specific configuration code: See references/framework-configs.md </reference_guides>
Other measured skills in the registry, with their headline benchmark lift.