From harness-kit
Jacksen's standardized project structure, Docker configuration templates, and development logging conventions. Use this skill when initializing new projects, setting up development environment, or generating developer logs. Automatically applies when detecting project setup or documentation tasks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-kit:dev-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Automatically apply this skill when:
Automatically apply this skill when:
project-root/
├── README.md
├── docker-compose.yml
├── .env
├── backend/
│ ├── api/
│ ├── config/
│ ├── migrations/
│ ├── models/
│ ├── repositories/
│ ├── scripts/
│ ├── service/
│ ├── .python-version
│ ├── Dockerfile
│ ├── __init__.py
│ ├── alembic.ini
│ └── requirements.txt
├── frontend/
│ └── (generated by npx create-next-app@latest)
└── logs/
├── daily/
│ └── {yyyy-mm-dd}_devlog.md
├── monthly/
│ └── {month_name}_devlog.md
└── changelog.md
| Directory/File | Purpose |
|---|---|
api/ | API endpoints, routers |
config/ | Configuration settings |
migrations/ | Alembic database migrations |
models/ | SQLAlchemy models |
repositories/ | Data access layer |
scripts/ | Utility scripts |
service/ | Business logic layer |
alembic.ini | Alembic configuration |
Initialize with:
npx create-next-app@latest frontend
services:
db:
env_file:
- .env
image: pgvector/pgvector:pg17
container_name: {project_name}
ports:
- "5433:5432"
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: {project_name}-backend
ports:
- "8000:8000"
env_file:
- .env
environment:
DB_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
depends_on:
db:
condition: service_healthy
volumes:
- ./backend/logs:/app/logs
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
NEXT_PUBLIC_API_URL: http://localhost:8000
container_name: {project_name}-frontend
ports:
- "3000:3000"
depends_on:
- backend
volumes:
postgres-data:
# Local Environment
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
DB_URL=postgresql://postgres:postgres@localhost:5432/postgres
Location: backend/Dockerfile
FROM python:3.13-slim
WORKDIR /app
RUN apt-get update && apt-get install -y \
gcc \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000"]
Location: frontend/Dockerfile
FROM node:22-alpine AS base
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm ci
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
ARG NEXT_PUBLIC_API_URL
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
RUN npm run build
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
CMD ["node", "server.js"]
Records version changes in reverse chronological order using Keep a Changelog conventions.
Format:
# Changelog
## [YYYY-MM-DD]
### Added
- New features or capabilities
### Changed
- Modifications to existing functionality
### Fixed
- Bug fixes
### Removed
- Deprecated features removed
Records detailed development activities for each day.
Filename format: 2026-01-23_devlog.md
Aggregates monthly development into a high-level summary.
Filename format: December_devlog.md
Format:
# Monthly Summary - YYYY-MM
## Overview
Brief description of the month's focus and achievements.
## Key Achievements
- Achievement 1
- Achievement 2
## Architecture Changes
- Change 1
- Change 2
## Tech Stack Additions
- Technology 1 (purpose)
- Technology 2 (purpose)
{project_name} with actual project name in docker-compose.ymlnpx create-next-app@latestnpx claudepluginhub jacksen-ng/claude-workflow --plugin harness-kitGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.