universal-live-check — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited universal-live-check (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Validate code changes in real-time with domain-adaptive, change-type-aware checks. Every check is incremental (only validates what changed), fast (<2s), and deterministic.
Generic checks miss domain bugs: A TypeScript-only check will miss Docker misconfigurations, missing environment variables, or mobile-specific API level issues. Always detect the domain first.
Blocking on slow checks kills flow: Live checks must be fast. Offload heavy checks (integration tests, full test suites) to async pipelines. Live checks verify immediately-correctable issues.
Change type changes strategy: A hotfix needs minimal validation to unblock deployment. A feat needs full API contract verification. Always determine change type before selecting checks.
Scope creep in libs: Library changes affect downstream consumers. A libs domain check must verify public API surface and semver compliance even for "minor" changes.
Input: Files changed (or files to check), optional change type (feat|fix|hotfix|refactor|migrate|docs)
Output: Structured check report with pass/fail per check category
Workflow:
1. Classify domain(s) affected by the change
2. Determine change type via branch/commit/message analysis
3. Select checks per domain + change type
4. Run incremental checks (file-level first, then module-level)
5. Aggregate results into structured report
6. If failures: provide specific fix actions, not just symptomsLoad this skill when:
Do NOT load this skill for:
Detect affected domains by analyzing file paths, package manager files, and project structure.
1. Scan changed files for domain signals
2. Check for project config files:
- package.json → frontend, libs, or CLI
- pyproject.toml / requirements.txt → backend
- Cargo.toml → embedded or libs
- docker-compose.yml / Dockerfile → backend
- android/ or ios/ directories → mobile
- Makefile / *.c / *.h → embedded
3. Combine signals,权重 domain confidence
4. Return ordered list of domains with confidence scores| Signal | Domain | Examples |
|---|---|---|
package.json + web framework | frontend | React, Vue, Svelte, Next.js |
package.json + CLI tool | CLI | commander, yargs, inquirer |
bin/ or cli/ directory | CLI | Command-line tools |
pyproject.toml / requirements.txt | backend | Django, FastAPI, Flask |
Cargo.toml + no web framework | embedded | Rust bare-metal |
Cargo.toml + web framework | libs | Rust web libraries |
Dockerfile / docker-compose.yml | backend | Container configs |
android/ / ios/ directories | mobile | React Native, Flutter |
Makefile + .c / .h files | embedded | C/C++ firmware |
go.mod | backend | Go services |
.npmignore + README.md at root | libs | npm packages |
For detecting NEW files/features (priority signals):
bin/ directory with executable files → feat (new CLI tool)cli/ path prefix → feat (new CLI tool)api/ → feat (new endpoint)components/ → feat (new UI feature)feat (new module)Most changes affect multiple domains:
api/ + ui/ changes → backend + frontendlib/ + cli/ changes → libs + CLIserver/ + mobile/ changes → backend + mobileAlways run checks for ALL detected domains.
Detect the change type in priority order:
feat, fix, hotfix, refactor, migrate, docs)feat/ → featfix/ → fixhotfix/ → hotfixrefactor/ → refactorchore/ → migratedocs/ → docsfeat:, fix:, etc.)migrate or major featfixhotfixcli/, bin/ → feat (new tool)api/, routes/ + new file → feat (new endpoint)components/ + new file → feat (new component)fix/, bug/ in path → fixhotfix/, patch/ → hotfixmigrate/, upgrade/ → migratefeat (most common, full validation)| Type | Validation Scope | Speed | Blockers |
|---|---|---|---|
feat | Full validation, API contracts, tests | Medium | All errors |
fix | Regression check, affected area, no new issues | Fast | All errors |
hotfix | Minimal: build passes, core logic correct | Fast | Only blockers |
refactor | Behavior preserved, no logic change | Medium | Logic errors only |
migrate | Compatibility, deprecation warnings, data | Slow | Breaking changes |
docs | Links valid, formatting correct | Fast | Broken links |
These checks apply to ALL domains:
- File syntax is valid (parse error check)
- Dependencies are resolvable
- Required env vars are defined (not necessarily set)
- Config files are valid (JSON/YAML/TOML parse)- File naming follows project conventions
- Exported symbols follow naming conventions
- No debug/console logs left in production code
- No TODO/FIXME comments without tracking issue- No hardcoded secrets (API keys, passwords, tokens)
- No SQL/command injection vectors
- Input validation present on boundaries
- Authentication/authorization checks on endpoints- All errors are caught or propagated
- Error messages don't leak internals
- Resource cleanup in finally/defer blocks
- No empty catch blocks swallowing errors- New code has corresponding tests
- Tests are not just stubs (assertions present)
- Test file naming follows conventionWhen multiple domains detected, check for cross-boundary issues:
- Imports between domains (libs → backend → frontend)
- Shared config affecting multiple outputs
- Peer dependencies misaligned with actual usage
- Type mismatches across domain boundariesRead the relevant reference file for domain-specific checks:
Cross-domain detection is a key differentiator. When a libs check finds backend code importing a library function, that's a signal to also run backend checks on that file.
Level 1: File-level (instant, ~10ms per file)
├── Syntax parse check
├── Naming convention check
├── No secrets scan (regex)
└── Import/resolution check
Level 2: Module-level (~100ms per module)
├── Type check (if applicable)
├── Unused export check
├── Dependency graph check
└── API contract check
Level 3: Project-level (~1s total)
├── Build/compilation check
├── Config consistency check
└── Integration surface checkOnly run checks affected by the changed files:
Critical for libs/domain packages: Changes in one domain can break another.
Run these checks when multiple domains are detected:
libs/consumer.ts imports backend/api.ts → Verify api.ts hasn't changed
frontend/page.tsx imports mobile/App.tsx → Flag cross-import
lib/utils.ts used in cli/wordcount.ts → Check lib doesn't break CLISigns of contamination:
When found: validate BOTH the changed file AND its consumers.
{
"domain": "backend",
"change_type": "feat",
"checks_run": 12,
"passed": 10,
"failed": 2,
"results": [
{
"check": "api-contract",
"level": "module",
"status": "pass",
"file": "api/users.rs",
"message": "All endpoints have schema definitions"
},
{
"check": "secrets-scan",
"level": "file",
"status": "fail",
"file": "config/development.env",
"line": 3,
"message": "Potential API key hardcoded",
"fix": "Move to environment variables or .env file"
}
],
"execution_time_ms": 847
}For failed checks with auto-fix capability:
Never skip checks because auto-fix isn't available. Always report findings.
# Live Check Report
**Domain:** backend | **Change Type:** feat
**Files:** 5 changed | **Checks:** 12 run | **Time:** 847ms
## Summary
| Status | Count |
|--------|-------|
| ✅ Passed | 10 |
| ❌ Failed | 2 |
| ⚠️ Warnings | 1 |
## Failed Checks
### 1. secrets-scan (HIGH)
**File:** `config/development.env:3`API_KEY=sk_live_abc123 # ← hardcoded secret
**Fix:** Move to environment variables, use `.env.example` template
### 2. api-contract (MEDIUM)
**File:** `api/users.rs:45`
**Issue:** Response schema missing `email` field for `User` type
**Fix:** Add `email: string` to `UserResponse` schema
## Warnings
- `test_users.rs:12` — Test assertion too broad (consider using exact match)
## Cross-Domain Findings
When contamination detected between domains:
Contamination: libs/utils.ts used by api/users.ts Issue: api/users.ts imports bcrypt but utils doesn't export it Check: Verify all imports are resolvable across domain boundaries
## Next Steps
1. Fix 2 failed checks above
2. Run full test suite: `cargo test`
3. Verify build: `cargo build --release`| Code | Meaning |
|---|---|
| 0 | All checks passed |
| 1 | Checks failed (with fixable issues) |
| 2 | Checks failed (with unfixable issues) |
| 3 | Domain detection failed (unknown project type) |
| Level | Target | Max |
|---|---|---|
| File-level | <50ms | <100ms |
| Module-level | <200ms | <500ms |
| Project-level | <2s | <5s |
| Full run | <5s | <10s |
If checks exceed max time, abort and report partial results with warning.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.