agentsclimarketplace

Forge setup

Skill krzemienski/validationforge/skills/forge-setup

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.From its SKILL.md

Install
npx -y skills add krzemienski/validationforge --skill forge-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.5 KB, as published. Nobody here has run it

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 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 JSONcat .validationforge/config.json | python3 -m json.toolReview the syntax error reported; fix (common: missing comma, unquoted key); re-run Phase 3
.validationforge/forge-state.json exists and is valid JSONcat .validationforge/forge-state.json | python3 -m json.toolRun bash scripts/forge-init.sh to recreate
e2e-evidence/ directory existstest -d e2e-evidencemkdir -p e2e-evidence && touch e2e-evidence/.gitkeep
All 8 rules installedls .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

{
  "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)

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.