evals-init
Initialize evals/{system}/ directory structure for evaluation system following EDD principles (Standalone). Choose PromptFoo or DeepEval based on tech stack, generate security baseline.
Install
npx skills add https://github.com/tikalk/adlc-team-skills/tree/main/skills/evals/evals-init
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tikalk-adlc-team-skills@llmmart
git clone https://github.com/tikalk/adlc-team-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tikalk/adlc-team-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
evals-init
What this skill does
Initialize the project-level evaluation directory structure following EDD (Eval-Driven Development) principles to prepare for systematic evaluation development. This is completely standalone with zero spec-kit dependencies.
Output:
- Directory Structure -
evals/{system}/with proper organization (promptfoo | deepeval) - Security Baseline - Auto-created graders for PII leakage, prompt injection, hallucination detection, misinformation detection
- Configuration Files - Standalone config.yml and goldset templates under
.adlc/evals/ - Auto-handoff to
/evals-specifyto begin error analysis
Key EDD Principles Applied:
- Principle I: Spec-Driven Contracts - Evals validate spec compliance
- Principle II: Binary Pass/Fail - No Likert scales in grader templates
- Principle IV: Evaluation Pyramid - Tier 1 (fast) + Tier 2 (goldset) structure
- Principle IX: Test Data as Code - Version control setup for datasets
When to use
- Starting systematic evaluation: Set up the initial evaluation harness for your application
- EDD Adoption: Converting from traditional testing to evaluation-driven development
- Security-first evaluation: Auto-generate baseline security checks from the start
When NOT to use
- Evals directory already exists: Use
/evals-validateto run tests, or/evals-specifyto add criteria - Evaluating team directives: This is for project-level application behavior testing, not directives compliance
Process
User Input
$ARGUMENTS
Parse flags from the arguments first, then treat remaining text as focus areas:
--system SYSTEM— Choosepromptfooordeepeval. If omitted, choose interactively based on tech stack.- Remaining text — System description (focus setup)
Execution Steps
Phase 1: Tech Stack Detection
- Scan project manifests (
package.json,requirements.txt,Cargo.toml,go.mod, etc.) - Recommends PromptFoo for mixed/JS stacks; DeepEval for Python-native stacks
Phase 2: Create Directory Structure
Creates:
evals/
├── {system}/ # promptfoo | deepeval
│ ├── goldset.md # Published goldset
│ ├── goldset.json # Auto-generated for system consumption
│ ├── config.yml # System-specific configuration
│ ├── config.{js,py} # Generated system config (.js for promptfoo, .py for deepeval)
│ └── graders/ # Binary pass/fail graders
│ ├── check_pii_leakage.py # Security baseline
│ ├── check_prompt_injection.py # Security baseline
│ ├── check_hallucination.py # Security baseline
│ └── check_misinformation.py # Security baseline
├── results/ # Git-ignored run outputs
└── .adlc/
└── drafts/evals/ # Draft eval records (Markdown + YAML)
Phase 3: Configuration Copy
- Create
.adlc/evals/if missing. - Copy
skills/evals/evals-templates/evals-config-template.ymlto.adlc/evals/evals-config.yml.
Phase 4: Auto-Handoff
Trigger /evals-specify to begin error analysis.
Verification
evals/{system}/goldset.mdexists (initially empty).adlc/evals/evals-config.ymlexists- Graders directory populated with 4 security baseline python scripts
- Results directory contains
.gitignoreto prevent versioning traces - Handover report generated with recommended framework and next steps
Files (adlc-team-skills)
-
scripts
-
bash
-
setup-evals-init.sh 1.2 KB
#!/usr/bin/env bash # setup-evals-init.sh — Setup for evals-init (self-contained) set -euo pipefail resolve_project_root() { local dir dir="$(pwd)" while [[ "$dir" != "/" ]]; do if [[ -d "${dir}/.adlc" ]]; then echo "$dir" return fi dir="$(dirname "$dir")" done git rev-parse --show-toplevel 2>/dev/null || pwd } resolve_team_ai_directives() { local project_root="$1" local td="${TEAM_AI_DIRECTIVES:-}" [[ -n "$td" ]] && { echo "$td"; return; } if [[ -f "${project_root}/.adlc/init-options.json" ]]; then td=$(python3 -c " import json try: with open('${project_root}/.adlc/init-options.json') as f: print(json.load(f).get('team_ai_directives', '')) except Exception: print('') " 2>/dev/null || true) [[ -n "$td" ]] && { echo "$td"; return; } fi echo "${project_root}/team-ai-directives" } resolve_branch() { git branch --show-current 2>/dev/null || echo "unknown" } PROJECT_ROOT=$(resolve_project_root) TEAM_AI_DIRECTIVES=$(resolve_team_ai_directives "$PROJECT_ROOT") BRANCH=$(resolve_branch) python3 - "$PROJECT_ROOT" "$TEAM_AI_DIRECTIVES" "$BRANCH" << 'PY' import json, sys print(json.dumps({ "REPO_ROOT": sys.argv[1], "TEAM_AI_DIRECTIVES": sys.argv[2], "BRANCH": sys.argv[3] })) PY
-
-
powershell
-
setup-evals-init.ps1 1.3 KB · in bundle
-
-
-
SKILL.md 3.7 KB
--- name: evals-init description: Use when standing up evals/{system}/ for the first time — scaffolds the EDD directory structure, picks PromptFoo or DeepEval by tech stack, and generates a security baseline. disable-model-invocation: true --- # evals-init ## What this skill does Initialize the **project-level evaluation directory structure** following EDD (Eval-Driven Development) principles to prepare for systematic evaluation development. This is completely standalone with zero spec-kit dependencies. **Output**: 1. **Directory Structure** - `evals/{system}/` with proper organization (promptfoo | deepeval) 2. **Security Baseline** - Auto-created graders for PII leakage, prompt injection, hallucination detection, misinformation detection 3. **Configuration Files** - Standalone config.yml and goldset templates under `.adlc/evals/` 4. **Auto-handoff** to `/evals-specify` to begin error analysis **Key EDD Principles Applied**: - **Principle I**: Spec-Driven Contracts - Evals validate spec compliance - **Principle II**: Binary Pass/Fail - No Likert scales in grader templates - **Principle IV**: Evaluation Pyramid - Tier 1 (fast) + Tier 2 (goldset) structure - **Principle IX**: Test Data as Code - Version control setup for datasets ## When to use - **Starting systematic evaluation**: Set up the initial evaluation harness for your application - **EDD Adoption**: Converting from traditional testing to evaluation-driven development - **Security-first evaluation**: Auto-generate baseline security checks from the start ## When NOT to use - **Evals directory already exists**: Use `/evals-validate` to run tests, or `/evals-specify` to add criteria - **Evaluating team directives**: This is for project-level application behavior testing, not directives compliance ## Process ### User Input ```text $ARGUMENTS ``` Parse flags from the arguments first, then treat remaining text as focus areas: - `--system SYSTEM` — Choose `promptfoo` or `deepeval`. If omitted, choose interactively based on tech stack. - Remaining text — System description (focus setup) ### Execution Steps #### Phase 1: Tech Stack Detection - Scan project manifests (`package.json`, `requirements.txt`, `Cargo.toml`, `go.mod`, etc.) - Recommends PromptFoo for mixed/JS stacks; DeepEval for Python-native stacks #### Phase 2: Create Directory Structure Creates: ``` evals/ ├── {system}/ # promptfoo | deepeval │ ├── goldset.md # Published goldset │ ├── goldset.json # Auto-generated for system consumption │ ├── config.yml # System-specific configuration │ ├── config.{js,py} # Generated system config (.js for promptfoo, .py for deepeval) │ └── graders/ # Binary pass/fail graders │ ├── check_pii_leakage.py # Security baseline │ ├── check_prompt_injection.py # Security baseline │ ├── check_hallucination.py # Security baseline │ └── check_misinformation.py # Security baseline ├── results/ # Git-ignored run outputs └── .adlc/ └── drafts/evals/ # Draft eval records (Markdown + YAML) ``` #### Phase 3: Configuration Copy - Create `.adlc/evals/` if missing. - Copy `skills/evals/evals-templates/evals-config-template.yml` to `.adlc/evals/evals-config.yml`. #### Phase 4: Auto-Handoff Trigger `/evals-specify` to begin error analysis. ## Verification - `evals/{system}/goldset.md` exists (initially empty) - `.adlc/evals/evals-config.yml` exists - Graders directory populated with 4 security baseline python scripts - Results directory contains `.gitignore` to prevent versioning traces - Handover report generated with recommended framework and next steps
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.