Install
openclaw skills install tcc-quality-gatesImplements six universal, language-agnostic quality gates for APIs, web apps, and CI/CD pipelines using repository-configured checks and detailed reports.
openclaw skills install tcc-quality-gatesThis skill defines and applies 6 universal quality gateways for typical application projects that include:
The gateways are written in LLM-friendly operational language: how to check, calculate, evaluate, and document results consistently.
This skill is language-agnostic and can be used on any repository. It relies on a central configuration file:
.defs/quality-gateway-definition.json (MUST be stored in the repository, not the workspace)REPO_ROOT/.defs/quality-gateway-definition.jsonREPO_ROOT/.tmp/quality-gates/ (do not create or delete other workspace directories)Recommended default output paths (override via JSON config):
docs/quality/quality-gate-report.mddocs/quality/quality-gate-report.jsondocs/quality/evidence/Each gateway produces:
All gateway thresholds and weights come from:
.defs/quality-gateway-definition.jsonEnsure the system can be built and packaged reliably, and dependencies are manageable and safe to ship.
In the report, include:
Prove correctness through automated tests and prevent regression.
= target: 100
Prevent known vulnerabilities, secrets leakage, insecure configs, and supply-chain risks.
Ensure the system meets baseline performance and user experience targets.
API (typical):
Web (typical):
warn: 0–69 (linear), with hard FAIL if beyond “max”
warn: 0–69, FAIL if beyond max
Keep the codebase understandable, changeable, and reviewable over time.
Make sure the system can be operated safely in production.
Mostly “presence + completeness” scoring:
REPO_ROOT/.defs/quality-gateway-definition.jsonFor each gate:
Use the scoring method defined per check:
boolean: pass => 100, fail => 0threshold_range: linear scoring between warn and targetpenalty_by_count: start at 100 and subtract per issuerubric: map {missing/partial/complete} to {0/50/100}blockingOnFail=true, any FAIL blocks releaseWrite:
Use this outline in docs/quality/quality-gate-report.md unless JSON overrides paths:
| Gateway | Score | Status | Key Metrics | Evidence |
|---|
The configuration file is a normal JSON document with:
schemaVersion (string) — version of this config layoutprojectProfile (object) — context used for defaultsscoring (object) — global pass/warn thresholds and aggregation rulesreporting (object) — output paths and evidence foldergates (array) — list of gateway definitions (exactly 6 for this skill)applicationType (string) — e.g. "web_api_and_web"riskLevel (string) — "low"|"medium"|"high"releaseCadence (string) — e.g. "daily"|"weekly"|"monthly"expectedLoad (object, optional)
apiRps (number)concurrency (number)passScore (number 0–100)warnScore (number 0–100)overallAggregation (string) — "weighted_average"blockIfAnyBlockingGateFails (boolean)markdownReportPath (string, repo-relative)jsonReportPath (string, repo-relative)evidenceDir (string, repo-relative)tempDir (string, repo-relative; MUST be inside .tmp/quality-gates/)Each gate:
id (string) — stable identifiername (string)description (string)weight (number) — relative importance in overall scoreblockingOnFail (boolean)checks (array)Each check:
id (string)name (string)description (string)weight (number)metricType (string) — "boolean"|"percentage"|"count"|"duration_ms"|"rubric"scoringMethod (string) — "boolean"|"threshold_range"|"penalty_by_count"|"rubric"thresholds (object) — depends on scoringMethod:
threshold_range:
target (number)warn (number)max (number, optional hard-fail)direction (string) — "higher_is_better"|"lower_is_better"penalty_by_count:
allowed (number)warnAbove (number)failAbove (number)penaltyPerUnit (number)evidenceHints (array of strings) — where to find evidence in a generic repo/CInotes (string, optional)"unknown" in the JSON report and score it using the config’s fallback rule (recommended: treat unknown as WARN with score 70 unless the check is security/secrets, where unknown should be FAIL)..tmp/quality-gates/.templ/quality-gateway-definition-template.json (template settings file. Can be copied to REPO_ROOT/.defs/quality-gateway-definition.json if missing)