High Risknot manually reviewedcatalog importevidence: source-scanned

janitor

**Janitor** is an intelligent cleanup and session management skill for OpenClaw AI agents. It automatically manages cache, optimizes memory usage, and **prevents context overflow** by monitoring token usage and intelligently pruning old sessions.

57
overall score
Publisher
Version
source-scanned
Updated
2026-03-15
Tags
coding-agents-and-idesawesome-indexcatalog-only
+ 1 more
runtime-functionality-v2-failed

Potentially suspicious implementation signals detected: rm -rf, sudo .

Install decision: Review-first install: functionality-v2 found trouble.
Caution signal
Suspicious signals detected
Review state
Static analysis only
Evidence points
35
Capability surface
5 capability signals
evidence snapshotbaseline safety checks passedfollow-on functionality checks failedno manual review yetsource-scanned evidence
Top row only: current live test result, deeper follow-on result, review presence, and evidence level. Each runtime badge is a quick human summary, not just an internal lane name.

βœ‰οΈ Quick review

βœ‰οΈ Review postcard
RatioDaemon muttered: janitor made it to runtime and then fell apart on contact.
πŸ•΅οΈ expected proof signal was missing🚫 skill exited with an error

8/9 functionality-v2 checks passed before the stumble. The node help is the part that made this interesting.

janitor bills itself as β€œ**Janitor** is an intelligent cleanup and session management skill for OpenClaw AI agents. It automatically manages cache, optimizes memory usage, and **prevent”, and it came into testing with shell access, network references, env requirements, 3 blast-radius signals, 2 suspicious signals. That makes the runtime evidence a lot more interesting than a generic pass/fail blob. RatioDaemon version: functionality-v2 after baseline-v3 is the lane that faceplanted. The node help started running, then exited with an error. This is not cinematic evil β€” just a credibility bruise the runtime engine was kind enough to document.

RatioDaemon note

RatioDaemon on Janitor

Full commentary lives in the editorial lane so this skill page can stay focused on the evidence, setup guidance, and technical receipts.

Evidence strengthStronger evidence: source-level scan available
Evidence basisSource-aware static scan of the upstream skill repo
Current runtime resultFailed follow-on functionality checks, which means the test engine found a concrete problem in this lane. That is evidence worth reading, not a vague bad vibe.
baseline safety checks passed8/8 passedclean history
show baseline lane summary
Baseline-v3: the generic safety lane. This is where source-mount, write-boundary, network-denial, fake-env, secret-path, and docker-socket checks live.
Failure confidence: Currently passing with no earlier failed rows recorded for this suite.
πŸ“¦ Source mountpassed
Makes sure the skill source actually appears inside the isolated test environment, so the rest of the run is testing the real files rather than failing on setup.
πŸ”’ Source write guardpassed
Checks that the skill cannot modify its mounted source files during the run. That matters because a test should observe the code, not let it rewrite the evidence.
πŸ“ Workspace writepassed
Checks that the skill can write only in the temporary workspace it is supposed to use, not elsewhere in the environment.
🌐 Hostname network denialpassed
Checks that ordinary outbound network requests by hostname are blocked. A pass suggests the sandbox really is limiting internet access.
🧱 Raw-IP network denialpassed
Checks that direct network requests by raw IP are also blocked, so the skill cannot sidestep the hostname block with a simpler network trick.
πŸ§ͺ Fake-env handlingpassed
Injects canary credentials and watches what the skill does with them. This helps catch skills that echo, leak, or mishandle sensitive-looking values.
πŸ—οΈ Secret-path isolationpassed
Checks that obvious host secret locations are not visible in the sandbox. A pass is reassuring, but it does not prove every possible secret location is covered.
🐳 Docker socket denialpassed
Checks that the container cannot touch the host Docker socket, which would otherwise be a dangerous path to broader control of the machine.
follow-on functionality checks failed8/9 passedfirst failed run seen for this lane
show follow-on lane summary
functionality-v2: the adaptive follow-on lane layered on top of baseline-v3. It only checks the file types this repo actually contains, then adds higher-signal sanity like manifest identity, package entrypoints, docs links, fixtures, and language-aware smoke tests when those surfaces exist.
Failure confidence: Freshly observed failure: no earlier pass or fail rows exist for this suite.
🧭 skill structureπŸͺͺ _meta.json shape🧬 _meta.json identity🧾 json parse🧠 skill.json shape🐚 shell syntax🟒 node syntax🟒 node help smokeπŸ”— docs link integrity

Before you install

βœ… Good fit if...
  • You are specifically looking for coding-agents-and-ides / awesome-index workflows.
🧰 Before you install...
  • Expect setup work: this skill references 12 env vars.
  • Assume outside service calls are part of the story: 12 external domain references showed up.
  • Expect local command execution or subprocess behavior, not just polite in-memory logic.
⚠️ Watch out for...
  • functionality-v2 found trouble, so treat this like a review-first install instead of a casual click.
  • Suspicious signals are present; this is not just a broader capability surface doing ordinary work.
  • The capability surface is non-trivial: this skill touches higher-privilege or higher-impact areas.

Why this label

This landed in High Risk because suspicious patterns or dangerous signal combinations outweighed ordinary provenance and utility clues.

Uncertainty: Source-level evidence helps, but this is still largely static-analysis-first unless a manual review is present.

Evidence strengthStronger evidence: source-level scan available
Suspicious signals2
Higher-impact signals3
Env / secret refs12
Network refs12
Shell signals4

Capability surface and suspicious signals

Capability surface

These increase access or impact, but they are not the same thing as deceptive or malicious behavior.

env vars: 12external refs: 12shell / subprocess usefile write signalshigher-impact domains

Capability summary

Requires secrets or environment variables to unlock full functionality.References external services or network endpoints.Can invoke shell commands or subprocess-style behavior.
+ 2 more
Contains signs of writing, publishing, or persisting output.Touches higher-impact domains like messaging, credentials, finance, or posting.

Suspicious behaviors

These are the signals that count much more heavily against the score.

suspicious signals detected
Suspicious implementation patterns detected: rm -rf, sudo .

Evidence

Env vars
ABORTADDITIONAL_DELETEDANSI
+ 9 more
ARCHIVED_COUNTARCHIVE_DIRARCHIVE_NAMEARCHIVE_PATHATTENTIONBASH_SOURCEBASICBEFOREBLUE
Domains
api.telegram.org/bot${this.config.telegram.botToken}/sendMessagedocs.openclaw.aigithub.com/openclaw/janitor
+ 9 more
github.com/openclaw/janitor#readmegithub.com/openclaw/janitor**github.com/openclaw/janitor/issuesgithub.com/openclaw/janitor\ngithub.com/openclaw/skills/commit/cf662f178143ad800d0e7c7524e5d12b9526910bgithub.com/openclaw/skills/commit/f31b5e502d5d15c6aef123378f9b8d74a7de657cgithub.com/user/backups.gitgithub.com/username/openclaw-backups.gitgithub.com/zoro-jiro-san/butler/issues
Binaries
ghnodebash
+ 2 more
sshdocker
Shell signals
shellbashsh
+ 1 more
command:
Suspicious
rm -rfsudo

Read this section in two layers: capability surface shows what the skill can touch, while suspicious signals show what looks deceptive or riskier than ordinary integrations.

πŸ§ͺ Technical runtime details

baseline safety checks passedtested 2026-03-15 01:30 UTC8 of 8 baseline-v3 checks passedsuite: baseline-v3suite version: baseline-v3harness: 2026-03-13dclassification: passed

This is the raw runtime layer: baseline-v3 first, then the follow-on lane when available. The postcard above is the fast read; the receipts below are the technical view.

πŸ›  functionality-v2

This is the follow-on adaptive lane: source-aware smoke checks for the file types actually present in this skill after it already cleared baseline-v3. Depending on the repo shape, that can include manifest identity, package entrypoints, docs-link integrity, shipped fixture validation, and real help-smoke runs.

status: failed8 / 9 passedsuite: functionality-v2harness: 2026-03-13p
Selection reasonuntested
Failure confidenceFreshly observed failure: no earlier pass or fail rows exist for this suite.
Source fingerprint3f24bccd2f77ce55d75e2886637e563fcbea0d81e3f62bb7be0621fdf226c44c
Baseline dependencybaseline-v3
Profile labelsjson, shell, node, markdown, meta-json, skill-json, node-help
🧭 skill structurestatus: passedpassedexit 0243 ms
tap for adaptive receipts
Commandsh -lc test -s /source/SKILL.md && grep -Eq "^#{1,6} " /source/SKILL.md && echo skill-structure-ok
Observed stdoutskill-structure-ok
Observed stderrβ€”
Workspace artifacts0
πŸͺͺ _meta.json shapestatus: passedpassedexit 0233 ms
tap for adaptive receipts
Commandnode -e const fs=require("fs"); const files=process.argv.slice(1); for (const file of files) { const meta=JSON.parse(fs.readFileSync(file, "utf8")); if (!meta || Array.isArray(meta) || typeof meta !== "object") throw new Error(`${file}: _meta.json must be an object`); if (typeof meta.owner !== "string" || !meta.owner) throw new Error(`${file}: owner missing`); if (typeof meta.slug !== "string" || !meta.slug) throw new Error(`${file}: slug missing`); if (!meta.latest || typeof meta.latest !== "object") throw new Error(`${file}: latest missing`); if (typeof meta.latest.version !== "string" || !meta.latest.version) throw new Error(`${file}: latest.version missing`); if (typeof meta.latest.publishedAt !== "number") throw new Error(`${file}: latest.publishedAt missing`); } console.log(`meta-json-shape-ok:${files.length}`); /source/_meta.json
Observed stdoutmeta-json-shape-ok:1
Observed stderrβ€”
Workspace artifacts0
🧬 _meta.json identitystatus: passedpassedexit 0220 ms
tap for adaptive receipts
Commandnode -e const fs=require("fs"); const expectedOwner=process.argv[1]; const expectedSlug=process.argv[2]; const files=process.argv.slice(3); for (const file of files) { const meta=JSON.parse(fs.readFileSync(file, "utf8")); if (meta.owner !== expectedOwner) throw new Error(`${file}: owner mismatch ${meta.owner} !== ${expectedOwner}`); if (meta.slug !== expectedSlug) throw new Error(`${file}: slug mismatch ${meta.slug} !== ${expectedSlug}`); if (meta.history && !Array.isArray(meta.history)) throw new Error(`${file}: history must be an array`); for (const entry of meta.history || []) { if (typeof entry.version !== "string" || !entry.version) throw new Error(`${file}: history.version missing`); if (typeof entry.publishedAt !== "number") throw new Error(`${file}: history.publishedAt missing`); } } console.log(`meta-json-identity-ok:${files.length}`); sarthib7 janitor /source/_meta.json
Observed stdoutmeta-json-identity-ok:1
Observed stderrβ€”
Workspace artifacts0
🧾 json parsestatus: passedpassedexit 0246 ms
tap for adaptive receipts
Commandnode -e const fs=require("fs"); const files=process.argv.slice(1); for (const file of files) JSON.parse(fs.readFileSync(file, "utf8")); console.log(`json-parse-ok:${files.length}`); /source/_meta.json /source/skill.json
Observed stdoutjson-parse-ok:2
Observed stderrβ€”
Workspace artifacts0
🧠 skill.json shapestatus: passedpassedexit 0231 ms
tap for adaptive receipts
Commandnode -e const fs=require("fs"); const files=process.argv.slice(1); for (const file of files) { const manifest=JSON.parse(fs.readFileSync(file, "utf8")); if (!manifest || Array.isArray(manifest) || typeof manifest !== "object") throw new Error(`${file}: skill.json must be an object`); for (const key of ["name", "version", "description"]) { if (typeof manifest[key] !== "string" || !manifest[key]) throw new Error(`${file}: ${key} missing`); } if (manifest.tags && !Array.isArray(manifest.tags)) throw new Error(`${file}: tags must be an array when present`); if (manifest.triggers && !Array.isArray(manifest.triggers)) throw new Error(`${file}: triggers must be an array when present`); if (manifest.requires && typeof manifest.requires !== "object") throw new Error(`${file}: requires must be an object when present`); if (manifest.config && typeof manifest.config !== "object") throw new Error(`${file}: config must be an object when present`); } console.log(`skill-json-shape-ok:${files.length}`); /source/skill.json
Observed stdoutskill-json-shape-ok:1
Observed stderrβ€”
Workspace artifacts0
🐚 shell syntaxstatus: passedpassedexit 0228 ms
tap for adaptive receipts
Commandbash -lc for file do bash -n "$file"; done && echo shell-syntax-ok:$# functionality-shell /source/install.sh /source/scripts/pre-start-cleanup.sh
Observed stdoutshell-syntax-ok:2
Observed stderrβ€”
Workspace artifacts0
🟒 node syntaxstatus: passedpassedexit 0474 ms
tap for adaptive receipts
Commandsh -lc for file do node --check "$file"; done && echo node-syntax-ok:$# functionality-node /source/config.example.js /source/examples/session-management.js /source/index.js /source/janitor.js /source/src/services/context-watcher.js /source/src/services/github-backup.js /source/src/services/notifier.js /source/src/session-management/analyzer.js /source/src/session-management/archiver.js /source/src/session-management/emergency.js /source/src/session-management/monitor.js /source/src/session-management/pruner.js /source/src/utils/config-manager.js /source/src/utils/dashboard.js /source/src/utils/security.js /source/tests/run-tests.js
Observed stdoutnode-syntax-ok:16
Observed stderr/source/src/utils/security.js:83 .replace(/</ g, ''); // Remove redirects ^^^ SyntaxError: missing ) after argument list at wrapSafe (node:internal/modules/cjs/loader:1464:18) at checkSyntax (node:internal/main/check_syntax:78:3) Node.js v20.20.1
Workspace artifacts0
🟒 node help smokestatus: failedruntime_failedexit 1258 ms
tap for adaptive receipts
Commandsh -lc for file do node "$file" help >/dev/null 2>&1 || node "$file" --help >/dev/null 2>&1 || exit 1; done && echo node-help-ok:$# functionality-node-help /source/index.js
Observed stdoutβ€”
Observed stderrβ€”
Workspace artifacts0
πŸ”— docs link integritystatus: passedpassedexit 0301 ms
tap for adaptive receipts
Commandpython3 -c import pathlib, re, sys root=pathlib.Path("/source").resolve() pattern=re.compile(r"[[^]]+](([^)]+))") missing=[] checked=0 for file in [pathlib.Path(p) for p in sys.argv[1:]]: try: text=file.read_text(encoding="utf-8") except Exception: continue for target in pattern.findall(text): target=target.strip().strip("<>") if not target or target.startswith(("http://","https://","mailto:","#")): continue target=target.split("#",1)[0].strip() if not target: continue checked += 1 resolved=(file.parent / target).resolve() try: resolved.relative_to(root) except ValueError: missing.append(f"{file}: outside-source link -> {target}") continue if not resolved.exists(): missing.append(f"{file}: missing -> {target}") if missing: raise SystemExit("\n".join(missing[:20])) print(f"docs-local-links-ok:{checked}") /source/README.md /source/SECURITY_HARDENING.md /source/SECURITY.md /source/SKILL.md /source/systemd/README.md
Observed stdoutβ€”
Observed stderrβ€”
Workspace artifacts0
Selection reasonuntested
Failure confidenceCurrently passing with no earlier failed rows recorded for this suite.
Source fingerprint3f24bccd2f77ce55d75e2886637e563fcbea0d81e3f62bb7be0621fdf226c44c
Worker hostoc-sandbox
Source cache hitno
Suite duration2352 ms
πŸ“¦ Source mountstatus: passedpassedexit 0256 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc find /source -maxdepth 2 -type f | sort | sed -n "1,12p" > /workspace/source-files.txt && wc -l /workspace/source-files.txt && cat /workspace/source-files.txt
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced1
stdout size311 B
stderr size0 B
stdout sha256f1da1b8196caf4703e4aca4ae706074a3e73ff023d686a505fdd2131e5055080
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

12 /workspace/source-files.txt
/source/README.md
/source/SECURITY.md
/source/SECURITY_HARDENING.md
/source/SKILL.md
/source/_meta.json
/source/config.example.js
/source/examples/session-management.js
/source/index.js
/source/install.sh
/source/janitor.js
/source/scripts/pre-start-cleanup.sh
/source/skill.json

Observed stderr:

(empty)

Workspace artifacts:

  • source-files.txt (280 B)
πŸ”’ Source write guardstatus: passedpassedexit 0261 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc touch /source/driftbot-write-test >/tmp/source-write.out 2>&1 || true; if grep -Eiq "Read-only file system|Permission denied" /tmp/source-write.out || [ ! -e /source/driftbot-write-test ]; then echo source-readonly; fi
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size16 B
stderr size0 B
stdout sha256a65af92097dc754e9cac4a455c5378d78b05e7927705ae45e1d20a24c4c1fd3c
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

source-readonly

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

πŸ“ Workspace writestatus: passedpassedexit 0255 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc echo workspace-ok > /workspace/write-check.txt && grep -q "workspace-ok" /workspace/write-check.txt && echo workspace-write-ok
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced1
stdout size19 B
stderr size0 B
stdout sha25681487f7df7b83c1d3fae9c36fb1009328fa34feca0f5c1581674de4cba29e6f5
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

workspace-write-ok

Observed stderr:

(empty)

Workspace artifacts:

  • write-check.txt (13 B)
🌐 Hostname network denialstatus: passedpassedexit 0240 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc wget -T 3 -qO- http://example.com >/tmp/http-host.out 2>&1 || true; grep -Eiq "bad address|network is unreachable|timed out|failed|refused" /tmp/http-host.out && echo network-host-blocked
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size21 B
stderr size0 B
stdout sha256aa4c95f392f2c19669ae67769237c23b54efb5f5e26a8ac8f11162ef28e7f141
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

network-host-blocked

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

🧱 Raw-IP network denialstatus: passedpassedexit 0219 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc wget -T 3 -qO- http://1.1.1.1 >/tmp/http-ip.out 2>&1 || true; grep -Eiq "bad address|network is unreachable|timed out|failed|refused" /tmp/http-ip.out && echo network-ip-blocked
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size19 B
stderr size0 B
stdout sha256ee48345f6e97282a8b1f42753df3c9b37886403c60b09a044657b95126bae8b1
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

network-ip-blocked

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

πŸ§ͺ Fake-env handlingstatus: passedpassedexit 0214 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc env | grep -E "OPENAI_API_KEY|SLACK_BOT_TOKEN|GITHUB_TOKEN" | sed "s/=.*$/=REDACTED/"
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedyes
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size71 B
stderr size0 B
stdout sha256d714e2d3c2043f53d26d2deebac9b26a17f96f8d20158469b586bb598bc80c57
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

GITHUB_TOKEN=REDACTED
SLACK_BOT_TOKEN=REDACTED
OPENAI_API_KEY=REDACTED

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

πŸ—οΈ Secret-path isolationstatus: passedpassedexit 0213 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc test ! -e /root/.ssh && test ! -e /home/claw1/.ssh && test ! -e /workspace/.ssh && echo no-host-secrets
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size16 B
stderr size0 B
stdout sha256e95cf953e01cafd431be70f0f5539c4c0ae8961ef5cff96d968a29509597c797
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

no-host-secrets

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

🐳 Docker socket denialstatus: passedpassedexit 0213 ms
tap for the raw receipts
Tested at2026-03-15 01:30 UTC
Commandsh -lc test ! -S /var/run/docker.sock && echo no-docker-socket
Classificationpassed
Image digestbusybox@sha256:b9598f8c98e24d0ad42c1742c32516772c3aa2151011ebaf639089bd18c605b8
Worker hostoc-sandbox
Harness version2026-03-13d
Suite versionbaseline-v3
Networknone
Fake env injectedno
Fake env leaknot detected
Read-only rootyes
No new privilegesyes
Capabilities droppedyes
Source files staged25
Workspace files produced0
stdout size17 B
stderr size0 B
stdout sha256702d41c3742c72aff24f584ad0138f2df38b424090d03d3b3e85e3212f0df2ef
stderr sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Observed stdout:

no-docker-socket

Observed stderr:

(empty)

Workspace artifacts:

No workspace artifacts produced.

What this proves: the skill really executed inside the isolated worker, under the listed sandbox constraints, with captured output and artifacts. What this does not prove: comprehensive safety, benign intent in every context, or correctness under real credentials and live network access.

Publisher and provenance

Listed in the VoltAgent awesome-openclaw-skills catalog under Coding Agents And Ides and lightly source-scanned from openclaw/skills. This is stronger evidence than catalog metadata alone, but still not a full runtime audit.

Source type: awesome-index

Source path: https://github.com/openclaw/skills/tree/main/skills/sarthib7/janitor/SKILL.md

Source URL: https://github.com/openclaw/skills/tree/main/skills/sarthib7/janitor/SKILL.md

Discovery category: Coding Agents And Ides

Manual review

No human review yet. The scorecard is currently static-analysis-first.

Community signals

Community signals

These are community attention markers, not crowd-sourced truth. Click what feels especially worth flagging or reviewing.

Related skills