Full development environment setup from scratch — prerequisites, dependencies, .env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server.

MITAuto-check: notesDatabases

Install Setup

skills CLI
$ npx skills add linuxfoundation/insights --skill setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install linuxfoundation/insights setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/linuxfoundation/insights.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/setup .claude/skills/setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
setup
GitHub stars
280
Token cost
~1.9k tokens
SKILL.md length
703 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Full development environment setup from scratch — prerequisites, dependencies, .env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server.

  • Works in 5 steps: Prerequisites → Install dependencies → Environment variables → …
  • First-time setup
  • SKILL.md covers Step 1: Prerequisites, Step 2: Install dependencies, Step 3: Environment variables and Step 4: Start the local…, plus 4 more sections
  • Calls docker, pnpm and node; needs NUXT_TINYBIRD_TOKEN and NUXT_AUTH0_CLIENT_SECRET

What it does

Setup is an agent skill from linuxfoundation/insights. Full development environment setup from scratch — prerequisites, dependencies, .env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server. Use for first-time setup, broken environments, missing env vars, or when the app won't start.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases. It works with PostgreSQL, Nuxt and pnpm. The repository describes itself as: Insights into the world's most critical open source software. The licence is MIT.

When your agent uses it

  • First-time setup
  • Broken environments
  • Missing env vars
  • The app wont start

Example prompts

  • “/setup”

Requirements

  • Node.js
  • Docker
  • A credential in NUXT_AUTH0_CLIENT_SECRET
  • A credential in NUXT_JWT_SECRET
  • Pre-approved tools (allowed-tools): Bash, AskUserQuestion

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Prerequisites
  2. Install dependencies
  3. Environment variables
  4. Start the local database (optional)
  5. Start the dev server

What it can do on your machine

Read from SKILL.md and the folder at commit 3df53b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • pnpm
    • node
    • bash
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • nodejs.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NUXT_TINYBIRD_TOKEN
    • NUXT_AUTH0_CLIENT_SECRET
    • NUXT_JWT_SECRET
    • NUXT_INSIGHTS_DB_PASSWORD
    • POSTGRES_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Setup loads about 1.9k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 703 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:5
    .env file, optional local PostgreSQL database (for auth/collections/chat work),
  • NoteMentions a .env fileSKILL.md:45
    Create `frontend/.env` and populate it with the values below. Ask a team member for the secret values — they are shared
  • NoteMentions a .env fileSKILL.md:75
    ell the user to let you know when their `.env` is ready, then continue to Step 4.
  • NoteMentions a .env fileSKILL.md:99
    ate `NUXT_INSIGHTS_DB_PORT` in `frontend/.env` to match.
  • NoteMentions a .env fileSKILL.md:199
    ) and update `NUXT_INSIGHTS_DB_PORT` in `.env`               |
  • NoteMentions a .env fileSKILL.md:202
    | Check Auth0 env vars in `frontend/.env`                                                           |
  • NoteMentions a .env fileSKILL.md:203
    INYBIRD_TOKEN` is populated in `frontend/.env`                                       |
  • NoteMentions a .env fileSKILL.md:204
    true` and CM DB credentials to `frontend/.env`                            |
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from linuxfoundation/insights at commit 3df53b5, republished under its MIT licence (© linuxfoundation). 703 words, ~1,886 tokens.

Download SKILL.mdSave it as .claude/skills/setup/SKILL.md (or your agent's skills folder).
name
setup
description
Full development environment setup from scratch — prerequisites, dependencies, .env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server. Use for first-time setup, broken environments, missing env vars, or when the app won't start.
allowed-tools
Bash, AskUserQuestion

Development Environment Setup

Walk through each step in order, verifying success before moving on.


Step 1: Prerequisites

Check that the following are installed:

bash
node --version    # must be 20+
pnpm --version    # must be 9+
docker info       # Docker must be running

If Node is missing or wrong version: install via nvm or nodejs.org. If pnpm is missing: npm install -g pnpm or corepack enable && corepack prepare pnpm@latest --activate. If Docker is not running: start Docker Desktop before continuing.


Step 2: Install dependencies

Run from the repo root:

bash
pnpm install --filter frontend

Step 3: Environment variables

Create frontend/.env and populate it with the values below. Ask a team member for the secret values — they are shared via the team's secrets manager.

Required secrets (get from team):

  • NUXT_PUBLIC_AUTH0_CLIENT_ID
  • NUXT_AUTH0_CLIENT_SECRET
  • NUXT_JWT_SECRET
  • NUXT_TINYBIRD_TOKEN — data won't load without this

Database — only needed if you will run Step 4 (Postgres). Use these exact values:

NUXT_INSIGHTS_DB_WRITE_HOST=localhost
NUXT_INSIGHTS_DB_READ_HOST=localhost
NUXT_INSIGHTS_DB_PORT=5450
NUXT_INSIGHTS_DB_USERNAME=postgres
NUXT_INSIGHTS_DB_PASSWORD=example
NUXT_INSIGHTS_DB_DATABASE=insights

Database, auth, and other runtime config vars must use the NUXT_ prefix so Nuxt's runtime config picks them up automatically. A few server-only vars (e.g. APP_ENV) are read directly via process.env and do not need the prefix — check frontend/setup/runtime-config.ts for the full list.

Collections feature — only needed if working on collections endpoints:

NUXT_CM_DB_ENABLED=true

This also requires crowd.dev (crowd-web) DB credentials — ask the team for them.

Tell the user to let you know when their .env is ready, then continue to Step 4.


Step 4: Start the local database (optional)

Ask the user: Do you need to work on any of the following features locally?

  • Auth / login flow
  • Collections pages (/collection/*, "add to collection" buttons)
  • Copilot / chat

Use AskUserQuestion to confirm before proceeding. If the answer is no, skip to Step 5 — the dev server runs fine without Postgres, and any route that needs the DB will return an error only when hit directly.

If the answer is yes, continue with the steps below.


4a. Check for port conflicts
bash
lsof -i :5450 | grep LISTEN

Use port 5450 (the port used throughout this guide — the Nuxt runtime default is 5432, but we use 5450 here to avoid colliding with any local Postgres instance). If it's already occupied, pick a free port, use it in the docker run -p flag below, and update NUXT_INSIGHTS_DB_PORT in frontend/.env to match.

4b. Start Postgres

If the insights-postgres container already exists, just start it:

bash
docker start insights-postgres

Otherwise create it:

bash
docker run -d \
  --name insights-postgres \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=example \
  -e POSTGRES_DB=insights \
  -p 5450:5432 \
  postgres:15-alpine \
  postgres -c wal_level=logical

wal_level=logical is required — one migration creates a logical replication slot for Sequin and will fail without it.

Wait for Postgres to be ready:

bash
until docker exec insights-postgres pg_isready -U postgres; do sleep 1; done
4c. Run migrations
bash
cd database && \
  PGHOST=host.docker.internal \
  PGPORT=5450 \
  PGDATABASE=insights \
  PGUSER=postgres \
  PGPASSWORD=example \
  bash migrate.sh

Linux: host.docker.internal may not resolve. Use PGHOST=localhost with --host-network instead:

bash
cd database && PGHOST=localhost PGPORT=5450 PGDATABASE=insights PGUSER=postgres PGPASSWORD=example bash migrate.sh --host-network
4d. Verify
bash
docker exec insights-postgres psql -U postgres -d insights -c "\dt"

Expected: tables including chat_responses, project_costs, vulnerabilities, etc.


Step 5: Start the dev server

Show full SKILL.md (281 more words)Show less
5a. Check for port :3000 conflicts
bash
lsof -nP -iTCP:3000 -sTCP:LISTEN

If a process is listed, do not switch ports — the Auth0 redirect URI and appUrl are hardcoded to localhost:3000 in frontend/setup/runtime-config.ts. Switching the port will break login. Kill the existing listener instead:

bash
lsof -ti tcp:3000 | xargs kill        # graceful (SIGTERM)
lsof -ti tcp:3000 | xargs kill -9     # force, if the above doesn't clear it
5b. Start the server
bash
cd frontend && pnpm dev

The app will be available at http://localhost:3000.


Verification

  1. Open http://localhost:3000 — the app should load
  2. Auth0 login should work if the Auth0 env vars are set
  3. Data should appear on project pages if the Tinybird token is set
  4. If you skipped Step 4: analytics, leaderboards, reports, badges, and search work. Auth, collections, and chat will return errors — that's expected.
  5. If you ran Step 4: check the container is running: docker ps | grep insights-postgres

Troubleshooting

SymptomFix
Port 3000 already in useRun lsof -ti tcp:3000 | xargs kill — do not switch ports, Auth0 callback is hardcoded to :3000
DB errors but I skipped Step 4Expected for auth/collections/chat routes — run Step 4 if you need those features
Port 5450 already in usePick a free port (e.g. -p 5455:5432) and update NUXT_INSIGHTS_DB_PORT in .env
host.docker.internal not resolving (Linux)Use PGHOST=localhost with --host-network
Migration checksum mismatchNever edit an applied migration — create a new one with /db-migrate new <name>
Auth errors in browserCheck Auth0 env vars in frontend/.env
No data showingCheck NUXT_TINYBIRD_TOKEN is populated in frontend/.env
503 on collections endpointsAdd NUXT_CM_DB_ENABLED=true and CM DB credentials to frontend/.env
DB env vars not picked upEnsure all vars have the NUXT_ prefix — e.g. NUXT_INSIGHTS_DB_PORT, not INSIGHTS_DB_PORT
Container exists but wrong settingsdocker rm -f insights-postgres then re-run the docker run command

Teardown

bash
docker stop insights-postgres && docker rm insights-postgres

For running docs or blog locally, use /setup-docs. For applying new migrations, use /db-migrate.

© linuxfoundation, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/setup of linuxfoundation/insights.

Open the folder on GitHubat commit 3df53b5

Compare with similar skills

Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup this skilllinuxfoundation/insights280—~1.9kAutomated safety check: NotesMIT
Veloxdb Scalable Performanceveloxbase/veloxdb646—~1.7kAutomated safety check: PassMIT
Devinggo Project Inithuagelong/devinggo122—~1.1kAutomated safety check: NotesApache-2.0
Drizzle DatabaseChatbotXIO/ChatbotX878—~2.1kAutomated safety check: PassCustom licence
Enterprise Testingopenclaw/openclaw-enterprise359—~1.6kAutomated safety check: PassMIT
AspireifyCommunityToolkit/Aspire629—~5.3kAutomated safety check: NotesMIT

Similar skills

  • Guides scalability and performance work for VeloxDB's Tauri + Rust PostgreSQL backend and React + TanStack frontend.

    646 GitHub stars~1.7k tokensUpdated 7 days ago
    DatabasesAuto-check passed
  • Devinggo Project Init

    huagelong/devinggo

    DevingGo 项目初始化与本地开发环境配置流程。用于用户询问项目初始化、开发环境搭建、依赖检查、配置文件生成、数据库迁移、本地启动后端/前端/Worker 服务、或希望 AI 大模型一步步把 DevingGo 跑起来时。适用于基于本项目 CLI、Makefile、manifest/config、hack/config、admin-ui 前端工作区的初始化排障与启动验证。

    122 GitHub stars~1.1k tokensUpdated 3 mo ago
    DatabasesAuto-check: notes
  • Drizzle Database

    ChatbotXIO/ChatbotX

    Work with Drizzle ORM database schema, migrations, relations, and queries in PostgreSQL.

    878 GitHub stars~2.1k tokensUpdated today
    DatabasesAuto-check passed
  • Enterprise Testing

    openclaw/openclaw-enterprise

    Select proportional Enterprise validation and diagnose exact CI runs, distinguishing product, harness, infrastructure, and credential failures.

    359 GitHub stars~1.6k tokensUpdated today
    DatabasesAuto-check passed
  • Aspireify

    CommunityToolkit/Aspire

    WORKFLOW SKILL - Wire Aspire AppHosts or repair TypeScript AppHost toolchains.

    629 GitHub stars~5.3k tokensUpdated today
    DatabasesAuto-check: notes
  • Database

    theopenco/llmgateway

    Query and change the LLM Gateway Postgres schema with Drizzle — reads, raw SQL, analytics and usage queries, the log table versus the hourly aggregation tables, usedmodel ids, cost sums, cached…

    1.7k GitHub stars~973 tokensUpdated today
    DatabasesAuto-check passed

More from linuxfoundation/insights

All 9 skills in this repo
  • Event Tracking

    linuxfoundation/insights

    Add event tracking calls to Vue/Nuxt components in the Insights app using the useTrackEvent composable.

    280 GitHub stars~1.9k tokensUpdated 6 days ago
    Auto-check passed
  • Review PR

    linuxfoundation/insights

    Review a pull request against Insights architecture standards — fetches PR diff, verifies previous comments are addressed, validates PR metadata (title, branch, JIRA, size), runs a code-standards…

    280 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check: notes
  • Adr

    linuxfoundation/insights

    Record an architecture decision as an ADR in api/docs/arch/adr/.

    280 GitHub stars~1k tokensUpdated 6 days ago
    Auto-check passed
  • Dco

    linuxfoundation/insights

    Recover from missing DCO sign-off on commits. An agent skill from linuxfoundation/insights.

    280 GitHub stars~696 tokensUpdated 6 days ago
    Auto-check: notes
  • Fix Vulns

    linuxfoundation/insights

    Automated triage and fixing of Dependabot security vulnerabilities (IN-1189).

    280 GitHub stars~3.8k tokensUpdated 6 days ago
    Auto-check: notes
  • Setup Docs

    linuxfoundation/insights

    Run the docs site, blog, or Storybook locally. An agent skill from linuxfoundation/insights.

    280 GitHub stars~383 tokensUpdated 6 days ago
    Auto-check: notes

Categories

Questions about Setup

What does Setup do?

Full development environment setup from scratch — prerequisites, dependencies, .env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server. Setup is an agent skill from linuxfoundation/insights.env file, optional local PostgreSQL database (for auth/collections/chat work), and dev server.

When should I use Setup?

Setup fits situations like: first-time setup; broken environments; missing env vars; the app wont start.

How do I install Setup in Claude Code?

Run `npx skills add linuxfoundation/insights --skill setup -a claude-code`. Or copy the skill folder (.claude/skills/setup in linuxfoundation/insights) into .claude/skills/setup in your project. Claude Code loads it when a task matches its description.

How do I install Setup in Codex?

Run `npx skills add linuxfoundation/insights --skill setup -a codex`. Or copy the skill folder (.claude/skills/setup in linuxfoundation/insights) into .agents/skills/setup in your project. Codex loads it when a task matches its description.

Can I use Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add linuxfoundation/insights --skill setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup, .gemini/skills/setup, .github/skills/setup and .opencode/skills/setup in your project.

What does Setup need to run?

Going by SKILL.md and its folder, Setup needs the command-line tools its instructions call (docker, pnpm, node, bash and npm) and credentials named NUXT_TINYBIRD_TOKEN, NUXT_AUTH0_CLIENT_SECRET, NUXT_JWT_SECRET and NUXT_INSIGHTS_DB_PASSWORD. Our summary lists: Node.js; Docker; A credential in NUXT_AUTH0_CLIENT_SECRET; A credential in NUXT_JWT_SECRET. Its frontmatter pre-approves these tools: Bash, AskUserQuestion.

Does Setup access the network?

SKILL.md names 2 domains. As links in the text: github.com and nodejs.org. This is read from the text; nothing was executed.

Is Setup safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Setup use?

Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Setup use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Setup?

Skills that share tags, products or a category with Setup: Veloxdb Scalable Performance (veloxbase/veloxdb, 646 stars), Devinggo Project Init (huagelong/devinggo, 122 stars), Drizzle Database (ChatbotXIO/ChatbotX, 878 stars) and Enterprise Testing (openclaw/openclaw-enterprise, 359 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Setup?

linuxfoundation (a GitHub organization) maintains it in linuxfoundation/insights, which has 280 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 1, 2026.

Source: linuxfoundation/insights on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.