<< All versions

Skill v1.0.0

currentAutomated scan96/100
krzemienski/validationforge/forge-setup
──Details
PublishedSeptember 28, 2026 at 06:09 AM
Content Hashsha256:1b9a245fc0b613b6...
Git SHAed1270bc1cbe
──Files
Files (1 file, 6.5 KB)
SKILL.md6.5 KBactive
SKILL.md · 136 lines · 6.5 KB

version: "1.0.0" name: forge-setup description: "Run first on any new project to initialize ValidationForge. Detects which platforms are present (iOS, web, API, CLI, design), picks an enforcement level (strict/standard/permissive), scaffolds .validationforge/ and e2e-evidence/ directories, copies 8 enforcement rules into .claude/rules/ with vf- prefix, and validates that MCP servers for detected platforms are reachable. Reach for it whenever someone says 'set up validation', 'initialize validationforge', 'vf setup', before the first /validate or /forge-execute call on a project, or when a project is missing .validationforge/config.json." triggers:

  • "setup validation"
  • "initialize validationforge"
  • "vf setup"
  • "forge setup"
  • "first-time validation setup"
  • "configure enforcement level"

context_priority: reference


forge-setup

Initialize ValidationForge for a project. Detects platforms, scaffolds directories, installs enforcement hooks, and configures validation posture.

Automated setup: bash skills/forge-setup/scripts/forge-init.sh --project-dir=/path/to/project --enforcement-level=standard runs the install idempotently and logs what it did (config status, rules copied, gitignore update). Re-run safely to repair. Phases below document the full manual flow.

When to use

Run this once per project before any other ValidationForge command. If .validationforge/config.json already exists, this skill becomes a repair / upgrade tool — use it to change enforcement level, reinstall missing rules, or re-scaffold evidence directories.

Process

Phase 1: Platform Detection

Scan the project root for platform indicators:

PlatformSignalsValidation tool(s)
iOS.xcodeproj, .xcworkspace, Package.swift, .swift filesxcrun simctl, Xcode MCP, idb
react-nativepackage.json with react-native dep, metro.config.js, app.jsonExpo CLI, Metro bundler, device/simulator
flutterpubspec.yaml, lib/main.dart, .dart filesflutter run, flutter test, device/simulator
cliCargo.toml [[bin]], go.mod + main.go, package.json "bin"Direct invocation, exit codes
apiBackend routes WITHOUT frontend templates, OpenAPI speccurl, httpie, API snapshots
webFrontend framework (react/next/vue/svelte) WITHOUT backend routesPlaywright, Chrome DevTools
djangorequirements.txt + (manage.py OR wsgi.py OR flask import)python manage.py, pytest, curl
fullstackFrontend AND backend in same projectAll tools, bottom-up (DB → API → UI)
genericNone of the aboveAdaptive entry point discovery

Detection is priority-ordered: first match wins (iOS > react-native > flutter > cli > api > web > django > fullstack > generic). Multiple platforms can coexist — fullstack wins when both frontend and backend are present.

Phase 2: Enforcement Configuration

Select enforcement level based on project maturity:

LevelFileBehavior
strictconfig/strict.jsonAll hooks, block test files, require evidence for every completion
standardconfig/standard.jsonCore hooks, evidence reminders, soft gates
permissiveconfig/permissive.jsonMinimal hooks, no blocking, advisory only

Default: standard

Phase 3: Directory Scaffold

Create the validation infrastructure:

.validationforge/
config.json # Platform detection results + enforcement level
forge-state.json # Execution state (idle initially)
benchmark-history.json # Benchmark trend data
e2e-evidence/
.gitkeep

Run scripts/forge-init.sh to initialize the forge state directory:

bash
bash scripts/forge-init.sh

This creates .validationforge/forge-state.json with status idle if it does not already exist. Output confirms the file path and initial state.

Phase 4: Rules Installation

Copy ValidationForge rules to .claude/rules/vf-*. The vf- prefix avoids conflicts with rules from other plugins.

RuleWhat it enforces
vf-validation-discipline.mdIron Rule — no mocks, real-system validation only
vf-execution-workflow.mdThe 7-phase pipeline order (research → plan → preflight → execute → analyze → verdict → ship)
vf-evidence-management.mdEvidence must be saved, read, and cited; nothing claims PASS without proof
vf-platform-detection.mdDetect platform before validating; wrong platform = wrong approach
vf-team-validation.mdMulti-agent coordination, exclusive evidence directories, wave handoff
vf-forge-execution.mdForge loop semantics (3-strike fix, attempt-N directories, rebuild rule)
vf-forge-team-orchestration.mdWave dispatch and aggregation across forge teams
vf-benchmarking.mdBenchmark scoring and posture tracking

Phase 5: Verification

Confirm setup by checking each item. If any fails, the fix is listed inline — don't proceed past Phase 5 until all pass.

CheckCommandIf it fails
.validationforge/config.json exists and is valid JSON`cat .validationforge/config.json \python3 -m json.tool`Review the syntax error reported; fix (common: missing comma, unquoted key); re-run Phase 3
.validationforge/forge-state.json exists and is valid JSON`cat .validationforge/forge-state.json \python3 -m json.tool`Run bash scripts/forge-init.sh to recreate
e2e-evidence/ directory existstest -d e2e-evidencemkdir -p e2e-evidence && touch e2e-evidence/.gitkeep
All 8 rules installed`ls .claude/rules/vf-*.md \wc -l` should return 8Re-run Phase 4 copy commands; check source rules exist in plugin dir
Hooks loadedhooks.json referenced in plugin manifestRe-check plugin install; may need to restart the agent session
MCP servers available for detected platformsPlatform-specific: Playwright for web, Xcode for iOSInstall/configure the missing MCP server; or drop the platform from config.json.platforms if not needed

Config Schema

json
{
"version": "1.0.0",
"platforms": ["web", "api"],
"enforcement": "standard",
"evidence_dir": "e2e-evidence",
"max_fix_attempts": 3,
"mcp_servers": {
"playwright": true,
"chrome-devtools": false,
"xcode": false,
"stitch": false
},
"created_at": "2026-03-07T20:00:00Z"
}

Output

Print setup summary:

ValidationForge initialized
Platforms: web, api
Enforcement: standard
Evidence: e2e-evidence/
Rules: 8 installed to .claude/rules/
MCP: playwright (available), chrome-devtools (not configured)
All versions