CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/nanoclaw-core

Core behavioral rules and skills for NanoClaw personal assistant agents. Always-on rules for communication, verification, memory, and formatting.

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

SKILL.mdskills/status/

name:
status
description:
Quick read-only health check — session context, workspace mounts, tool availability, and task snapshot. Use when the user asks for system status, health check, diagnostics, system info, check environment, what tools are available, or runs /status.

/status — System Status Check

Generate a quick read-only status report of the current agent environment.

No access restrictions. This skill works in any group.

How to gather the information

Run the checks below and compile results into the report format.

1. Session context

echo "Timestamp: $(date)"
echo "Working dir: $(pwd)"
echo "Channel: main"

2. Container uptime

Run the container-uptime.py script (scripts/container-uptime.py relative to this skill, mounted into the agent at /home/node/.claude/skills/tessl__status/scripts/container-uptime.py — the absolute path matches every other tessl__* skill in this tile and is what the agent must literally invoke):

python3 /home/node/.claude/skills/tessl__status/scripts/container-uptime.py | python3 -c 'import json,sys; print(json.load(sys.stdin)["uptime_text"])'

The script outputs single-line JSON {"uptime_text": "<Nd Hh (since ISO8601)>", "started": "<ISO8601>"}. The pipe extracts uptime_text for direct rendering. On a non-container host (no /.dockerenv), uptime_text is "unknown" and started is null.

Reads /.dockerenv mtime, which Docker creates at container spawn time. Cross-tier safe — the file exists in every container regardless of trust level, so this works on untrusted, trusted, and main alike with no external state file.

3. Workspace and mount visibility

echo "=== Workspace ==="
ls /workspace/ 2>/dev/null
echo "=== Group folder ==="
ls /workspace/group/ 2>/dev/null | head -20
echo "=== Extra mounts ==="
ls /workspace/extra/ 2>/dev/null || echo "none"
echo "=== IPC ==="
ls /workspace/ipc/ 2>/dev/null

4. Tool availability and container utilities

which agent-browser 2>/dev/null && echo "Web (agent-browser): available" || echo "Web (agent-browser): unavailable"
ls /workspace/ipc/ 2>/dev/null && echo "Orchestration (IPC): available" || echo "Orchestration (IPC): unavailable"
node --version 2>/dev/null
claude --version 2>/dev/null

Then call mcp__nanoclaw__list_tasks — if it succeeds, report MCP: available and use the result for step 5; if it errors, report MCP: unavailable.

5. Task snapshot

Use the result from mcp__nanoclaw__list_tasks. If no tasks exist, report "No scheduled tasks."

Report format

Present using Telegram HTML, adapting each section to what you actually found:

🔍 <b>NanoClaw Status</b>

<b>Session:</b>
• Channel: main
• Time: 2026-03-14 09:30 UTC
• Working dir: /workspace/group

<b>Container:</b>
• Uptime: Nd Hh (started YYYY-MM-DDTHH:MM:SSZ)
• agent-browser: ✓ / not installed
• Node: vXX.X.X
• Claude Code: vX.X.X

<b>Workspace:</b>
• Group folder: ✓ (N files)
• Extra mounts: none / N directories
• IPC: ✓ (messages, tasks, input)

<b>Tools:</b>
• Core: ✓  Web: ✓  Orchestration: ✓  MCP: ✓

<b>Scheduled Tasks:</b>
• N active tasks / No scheduled tasks

Keep it concise — this is a quick health check, not a deep diagnostic.

See also: /capabilities for a full list of installed skills and tools.

README.md

tile.json