setup-agent-tail
<quick_start> Run the auto-detect workflow below. The skill will:
- Detect project framework and structure
- Propose a configuration
- Install agent-tail after user confirms
- Configure framework plugins, CLI scripts, and gitignore </quick_start>
<essential_principles>
- Logs are written to
tmp/logs/latest/— this is agent-tail's standard output directory - The
tmp/directory must be gitignored - Browser log capture requires a framework plugin (Vite or Next.js) in addition to the CLI
- For monorepos, use
agent-tail-core initat root andagent-tail-core wrapin each package - Always confirm the proposed configuration with the user before making changes </essential_principles>
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 iftmp/is already ignored
Classify the project as one of:
- vite — Vite-based project (React, Vue, Svelte, etc.)
- nextjs — Next.js project
- monorepo — Turborepo, Nx, pnpm workspaces, or Lerna
- node-cli — Plain Node.js / any other project (CLI-only setup)
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
# 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.
- Vite: Add
agentTail()plugin to vite.config - Next.js: Wrap config with
withAgentTail(), addAgentTailScriptto layout, create browser log API route - Monorepo: Add
agent-tail initto root dev script, wrap each package withagent-tail wrap - Node CLI: No plugin needed, just CLI configuration
Step 5: Configure package.json scripts
Update package.json scripts to use agent-tail-core CLI. Transform existing dev scripts:
{
"scripts": {
"dev": "agent-tail-core run '<service1>: <original-command>' '<service2>: <original-command>'"
}
}
If user specified excludes or muting, add flags:
{
"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:
- Run their dev script to verify logs appear in
tmp/logs/latest/ - Check that individual service logs and
combined.logare created - If browser logging was enabled, verify console output appears in the browser log file
<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:
- Common Vite excludes:
[HMR],[vite],Download the React DevTools - Common Next.js excludes:
[Fast Refresh],compiled successfully
Service muting: Hide specific services from terminal output while preserving log files:
- Useful for noisy frontend dev servers when focused on backend work
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> For Vite/Next.js projects, the CLI alone does not capture browser console logs. The framework plugin is required for browser log capture.
<success_criteria> Setup is complete when:
- agent-tail is installed as a dev dependency
- Framework plugin configured (if Vite or Next.js)
- package.json dev script wraps services with agent-tail
tmp/is in .gitignore- User has been told how to verify the setup works </success_criteria>
<reference_guides> Framework-specific configuration code: See references/framework-configs.md </reference_guides>
More from qdhenry/claude-command-suite
cloudflare manager
Comprehensive Cloudflare account management for deploying Workers, KV Storage, R2, Pages, DNS, and Routes. Use when deploying cloudflare services, managing worker containers, configuring KV/R2 storage, or setting up DNS/routing. Requires CLOUDFLARE_API_KEY in .env and Bun runtime with dependencies installed.
21linear todo sync
This skill fetches open tasks assigned to the user from the Linear API and generates a markdown todo list file in the project root. This skill should be used when the user asks about their work items, wants to see what they need to work on, or requests to load/sync their Linear tasks. Requires Python 3.7+, requests, mdutils, and python-dotenv packages. Requires LINEAR_API_KEY in .env file.
18remove-dead-code
Safely identifies and removes dead code in TypeScript/JavaScript projects using multi-agent analysis with automatic backup branches. Use when cleaning up unused exports, orphaned files, dead imports, unreachable functions, or unused dependencies.
17webmcp
Implement WebMCP in web projects — add browser-native structured tools for AI agents using imperative JS or declarative HTML APIs. Full lifecycle from setup through testing and optimization.
13audit-env-variables
Analyze environment variables in JavaScript/TypeScript projects. Identifies unused variables, infers permission scopes, detects specific services (Stripe, AWS, Supabase), and documents code paths. Includes optional cleanup of unused variables with regression detection. Use when auditing .env files, reviewing security, or documenting project configuration.
13