← Back to Skills Marketplace
susiloandreas

IronClaw AI

by susiloandreas · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
155
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install ironclaw-ai
Description
Military Discipline & Performance Operating System. Tracks missions, habits, goals, tennis training, sleep, and discipline scores. Use this skill for all pro...
README (SKILL.md)

IronClaw AI — Skill Instructions

Overview

IronClaw AI is a military-inspired performance operating system. It tracks:

  • Missions — focused work blocks with optional ETA timers
  • Habits — recurring activities linked to categories and goals
  • Goals — one active goal per category, with milestones and a final exam
  • Tennis — training session logging by type
  • Sleep — duration, quality, and readiness scoring
  • Discipline score — composite daily performance rating

All commands are dispatched via POST ${IRONCLAW_SERVICE_URL}/commands with body { "command": "\x3Cslash command>" }.


Layer 1: Structured Command Reference

Mission Commands

Command Description
/mission start \x3Ctitle> [--eta \x3Cduration>] [--category \x3Cname>] Start a new mission. ETA triggers expiry alert. Category links to goal.
/mission complete [--duration \x3Cactual>] [--notes \x3Ctext>] Complete active mission. Auto-advances linked goal.
/mission abort Abandon the active mission (marks as failed).
/mission extend \x3Cduration> Add time to the ETA (resets expiry timer).
/mission status Show active mission with elapsed time and ETA.

Duration format: 2h, 45m, 1h30m

Habit Commands

Command Description
/habit category add \x3Cname> [--desc \x3Ctext>] Create a habit category.
/habit category list List all categories.
/habit log \x3Ccategory> \x3Ctype> \x3Cduration> [--note \x3Ctext>] Retroactive log (use when no mission was started).
/habit summary 7-day summary per category.

Tennis Commands

Command Description
/tennis start \x3Ctype> [--eta \x3Cduration>] Start a tennis mission. Types: serve, footwork, rally, endurance, match, other
/tennis log \x3Ctype> \x3Cduration> [--notes \x3Ctext>] Log a completed session (no active mission needed).
/tennis summary Weekly breakdown by session type.

Sleep Commands

Command Description
/sleep log \x3Cduration> [--quality poor|fair|good|excellent] [--wake HH:MM] [--notes \x3Ctext>] Log last night's sleep.
/sleep status Current sleep debt and readiness level.

Status Commands

Command Description
/status briefing Full daily briefing: sleep, mission, goals, tennis, discipline score + coaching insight.
/status goals All active goal progress with milestone breakdown.
/status mission Active mission details (alias for /mission status).
/status score Current discipline score with full sub-score breakdown.
/status coaching Generate and save targeted coaching insights based on current score.

Layer 2: Natural Language Interpretation

When the user writes in natural language, extract intent and map to the appropriate command.

Mission Start (Intent / Commitment)

Phrases like:

  • "I commit to do bug fixing for linear number 123"
  • "Starting work on LINEAR-456"
  • "About to work on ticket 789 — auth service refactor"
  • "Going to fix the login bug now"
  • "I'm taking on the database migration task"
  • "Working on issue #321 for the next 2 hours"

Extract: task title (include ticket/issue reference if present), optional ETA, optional category hint. Ticket references: if user mentions Linear, Jira, GitHub issue, ticket, or number — append it to the title (e.g., Bug fixing [LINEAR-123]). Default ETA: if no duration is mentioned, always use --eta 15m. Action: POST /commands with /mission start \x3Ctitle> --eta \x3Cduration> [--category \x3Ccat>] Do NOT complete the mission — user is declaring intent to start, not reporting completion.

Follow-up: When the ETA expires (or after 15 minutes if default), send a check-in:

"Mission ETA reached. Did you complete \x3Ctitle>? Reply: ✅ done / ⏱ extend \x3Cduration> / ❌ abort"

  • "done" → /mission complete
  • "extend \x3Cduration>" → /mission extend \x3Cduration>
  • "abort" → /mission abort

Activity / Mission Logging (Completed)

Phrases like:

  • "I just finished 90 minutes of tennis serves"
  • "Done with an hour of footwork drills"
  • "Spent 3 hours on the API project"
  • "Completed my morning workout — 45 min"
  • "Baru selesai latihan tenis 90 menit"
  • "Udah kelar ngerjain API 3 jam"
  • "Habis olahraga 45 menit"

Extract: activity description, duration, optional category hint. Default duration: if no duration is mentioned, assume 15m. Action: POST /commands with /mission start \x3Ctitle> --category \x3Ccat> + immediately /mission complete --duration \x3Cdur> if already done. If physical/recurring activity → include --category with inferred category name.

Rest / Nap (Istirahat / Tidur Siang)

Phrases like:

  • "mau merem sebentar", "tidur siang dulu", "istirahat bentar"
  • "nap dulu", "mau rehat", "break dulu ya"
  • "mau tidur 20 menit", "merem 15 menit"

Extract: duration (default 15m if not mentioned). Action: POST /commands with /mission start "Istirahat" --eta \x3Cduration> After ETA expires, send check-in: "Udah bangun? Lanjut kerja atau butuh lebih lama?"

  • "udah" / "bangun" → /mission complete
  • "extend \x3Cdurasi>" → /mission extend \x3Cduration>

Mission Control (abort / extend / status)

Phrases like:

  • "Stop the current mission", "abort mission", "cancel what I'm doing"
  • "batalkan misi", "stop sekarang", "hentikan"

Action: POST /commands with /mission abort

Phrases like:

  • "Give me 30 more minutes", "extend by 1 hour", "need more time on this"
  • "tambahin 30 menit lagi", "perpanjang 1 jam", "belum selesai nih"

Extract: additional duration. Action: POST /commands with /mission extend \x3Cduration>

Phrases like:

  • "What am I working on?", "how long have I been going?", "mission status"

Action: POST /commands with /mission status

Habit Tracking

Phrases like:

  • "Log 45 minutes of strength training under exercise"
  • "Add a habit log: 1 hour reading under learning"
  • "I did 30 min meditation (no mission was running)"

Extract: category name, activity type, duration, optional note. Action: POST /commands with /habit log \x3Ccategory> \x3Ctype> \x3Cduration>

Phrases like:

  • "Show my habit summary", "how consistent have I been?", "7-day habit report"

Action: POST /commands with /habit summary

Phrases like:

  • "Create a new habit category called reading"
  • "Add category: mindfulness"

Extract: category name, optional description. Action: POST /commands with /habit category add \x3Cname>

Phrases like:

  • "What habit categories do I have?", "list my categories"

Action: POST /commands with /habit category list

Tennis Sessions

Phrases like:

  • "Start a tennis serve session", "begin footwork drill", "starting tennis now"
  • "Tennis rally practice — 1 hour ETA"

Extract: session type (serve, footwork, rally, endurance, match, other), optional ETA. Action: POST /commands with /tennis start \x3Ctype> [--eta \x3Cduration>]

Phrases like:

  • "Log 45 min tennis serves", "just finished a match", "done with footwork"

Extract: session type, duration, optional notes. Action: POST /commands with /tennis log \x3Ctype> \x3Cduration>

Phrases like:

  • "Tennis summary", "how much tennis this week?", "show my training breakdown"

Action: POST /commands with /tennis summary

Status / Coaching Queries

Phrases like:

  • "How am I doing with my tennis goal?"
  • "Am I on track?"
  • "What's my discipline score?"
  • "Show me my progress"
  • "Give me a performance review"
  • "What should I focus on this week?"
  • "Any coaching insights?"

Action: POST /commands with /status briefing, /status score, or /status coaching. Narrate the JSON response in military tone. Lead with the most urgent flag. Do not invent numbers — only use what the response contains.

Phrases like:

  • "Show my goals", "goal progress", "how close am I to my milestones?"

Action: POST /commands with /status goals

Sleep Logging

Phrases like:

  • "I slept 7 hours last night, woke at 6:30, quality was good"
  • "Slept poorly, only 5h"
  • "Tadi malam tidur 7 jam, bangun jam 6:30, lumayan"
  • "Tidurnya jelek, cuma 5 jam"
  • "Semalam tidur jam 11, bangun jam 6"

Extract: duration, optional wake time, optional quality word. Action: POST /commands with /sleep log \x3Cduration> [--quality \x3Cq>] [--wake HH:MM]

Phrases like:

  • "What's my sleep debt?", "am I rested?", "sleep status", "readiness level"

Action: POST /commands with /sleep status

Ambiguous Input

If intent is unclear (e.g., "log something", "mau catat sesuatu"), ask one clarifying question before calling any endpoint. Example: "Was this a tennis session or another activity?" / "Ini sesi tenis atau aktivitas lain?"


Coaching Tone Guidelines

Semua respons menggunakan Bahasa Indonesia dengan gaya militer — tegas, singkat, tanpa basa-basi.

Aturan nada:

  • Gunakan "kamu" untuk menyebut user
  • Header section dalam ALL CAPS
  • Status: OPTIMAL / CUKUP / BURUK / KRITIS
  • Sampaikan fakta dulu, baru rekomendasi
  • Satu rekomendasi per respons — langsung ke intinya
  • Jangan memperlunak peringatan — laporkan apa adanya

Contoh narasi coaching:

LATIHAN TENIS — LAPORAN STATUS

Progress: 53j 30m / target 50j — MILESTONE TERCAPAI
Tempo: ON TRACK (+4 hari lebih cepat dari jadwal)

PERINGATAN:
Sesi footwork: 0 kali dalam 14 hari terakhir.
Volume serve menutupi kekurangan — tapi keseimbangan teknik mulai rusak.

TINDAKAN WAJIB:
Jalankan satu sesi footwork sebelum akhir minggu.
Kesiapan ujian final: 70%.

Contoh idle alert:

HEY, KAMU LAGI NGAPAIN?

Sudah 15 menit tidak ada misi aktif. Tidak ada aktivitas yang tercatat.
Kamu istirahat atau memang tidak ngapa-ngapain?

WAJIB:
Sebutkan misi kamu sekarang.

Contoh skor buruk:

SKOR DISIPLIN KAMU — KRITIS

Skor: 50/100 — BURUK
Konsistensi misi: 0% — kamu tidak melakukan apa-apa minggu ini.
Kebiasaan: 0% — semua rencana tidak dijalankan.

FOKUS KE SINI:
Mulai misi, selesaikan, ulangi. Sesederhana itu.

Environment

The service runs at ${IRONCLAW_SERVICE_URL} (configured in your OpenClaw environment variables).

Health check: GET ${IRONCLAW_SERVICE_URL}/health


Automations

The following automations are active and configured for OpenClaw scheduling:

automations:
  - name: discipline-window
    schedule: "*/15 * * * *"
    action: GET ${IRONCLAW_SERVICE_URL}/notifications/discipline-check
    condition: response.message != null
    deliver: response.message

  - name: morning-briefing
    schedule: "0 6 * * *"
    action: GET ${IRONCLAW_SERVICE_URL}/notifications/briefing
    deliver: response.message

  - name: evening-debrief
    schedule: "0 22 * * *"
    action: GET ${IRONCLAW_SERVICE_URL}/notifications/debrief
    deliver: response.message

Coaching on Demand

For targeted coaching by activity category:

GET ${IRONCLAW_SERVICE_URL}/coaching/insights?category=tennis

Returns the top 3 coaching insights for the requested category based on the current discipline score.

Usage Guidance
Before installing, confirm that IRONCLAW_SERVICE_URL points to a service you trust, understand that your personal tracking and sleep-related data may be stored there, and be aware that natural-language tracking phrases can create or update records automatically. No artifact-backed evidence of malicious behavior, credential theft, local file access, or code execution was found.
Capability Analysis
Type: OpenClaw Skill Name: ironclaw-ai Version: 1.0.2 The ironclaw-ai skill is a military-themed productivity and habit tracker that manages missions, sleep, and training data via a backend service. It uses a configurable environment variable (IRONCLAW_SERVICE_URL) for API calls and provides structured instructions for natural language mapping and automated notifications. No evidence of malicious intent, data exfiltration, or unauthorized command execution was found.
Capability Assessment
Purpose & Capability
The stated purpose and visible instructions align: the skill tracks missions, habits, goals, tennis training, sleep, and discipline scores through structured commands.
Instruction Scope
The skill maps natural language into record-changing commands and applies defaults such as a 15-minute ETA or duration; this is disclosed and purpose-aligned, but users should know entries may be created from casual tracking language.
Install Mechanism
There is no code or install step, but the SKILL.md depends on an IRONCLAW_SERVICE_URL endpoint that is not declared in the registry requirements.
Credentials
External POST command dispatch is proportional to a service-backed tracker, but the destination and service provenance should be configured knowingly.
Persistence & Privilege
The skill's core function is persistent personal tracking and saved coaching insights; no local credential, session, filesystem, or privileged system access is shown.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ironclaw-ai
  3. After installation, invoke the skill by name or use /ironclaw-ai
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
**Changelog for ironclaw-ai v1.0.2** - Added support for Indonesian (Bahasa) natural language phrases in mission logging, rest/napping, and mission control scenarios. - Recognizes Bahasa phrases for activity completion, starting rest/naps ("istirahat", "tidur siang"), and mission actions (abort/extend). - Automatically maps Indonesian input to the correct commands, using appropriate defaults as needed. - No structural or functional changes to commands; update expands natural language coverage.
v1.0.1
ironclaw-ai v1.0.1 - Added support for logging intent to start a mission from natural language, including ticket/issue references and default ETA. - Implemented check-in prompts when ETA expires, allowing users to confirm completion, extend, or abort missions. - Improved natural language mapping: distinguishes between starting and completing activities, with default durations if not specified. - Expanded habit, tennis, and sleep command examples and auto-extractions from user input. - Clarified ambiguous input handling and streamlined command mapping guidelines.
v1.0.0
- Initial release of ironclaw-ai skill. - Introduces a military-inspired productivity and performance tracking system. - Supports commands for logging missions, habits, goals, tennis training, sleep, and discipline scores. - Enables natural language input mapping to structured commands. - Provides automated briefings, discipline checks, and debriefs on daily schedule. - Coaching responses deliver actionable, military-style feedback based on tracked data.
Metadata
Slug ironclaw-ai
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is IronClaw AI?

Military Discipline & Performance Operating System. Tracks missions, habits, goals, tennis training, sleep, and discipline scores. Use this skill for all pro... It is an AI Agent Skill for Claude Code / OpenClaw, with 155 downloads so far.

How do I install IronClaw AI?

Run "/install ironclaw-ai" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is IronClaw AI free?

Yes, IronClaw AI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does IronClaw AI support?

IronClaw AI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created IronClaw AI?

It is built and maintained by susiloandreas (@susiloandreas); the current version is v1.0.2.

💬 Comments