{
  "schemaVersion": "1.0",
  "item": {
    "slug": "self-discipline",
    "name": "Self Discipline",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/ivangdavila/self-discipline",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/self-discipline",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/self-discipline",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=self-discipline",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "EXTRA_FILES.txt",
      "SKILL.md",
      "flow-verification.md",
      "memory-template.md",
      "root-cause.md",
      "setup.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/self-discipline"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/self-discipline",
    "agentPageUrl": "https://openagent3.xyz/skills/self-discipline/agent",
    "manifestUrl": "https://openagent3.xyz/skills/self-discipline/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/self-discipline/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "When to Use",
        "body": "User is frustrated that the agent ignored instructions. Something critical happened that cannot repeat. User explicitly says \"this can never happen again\" or \"I told you not to...\" User explicitly invokes /discipline to ensure compliance on a rule."
      },
      {
        "title": "How It Works",
        "body": "┌──────────────────────────────────────────────┐\n         │              DISCIPLINE TRIGGER              │\n         └──────────────────────────────────────────────┘\n                              │\n         ┌────────────────────┼────────────────────┐\n         ▼                    ▼                    ▼\n    ┌─────────┐         ┌──────────┐         ┌─────────┐\n    │  USER   │         │ CRITICAL │         │ COMMAND │\n    │  UPSET  │         │ FAILURE  │         │  USED   │\n    └────┬────┘         └────┬─────┘         └────┬────┘\n         │                   │                    │\n         │ \"I told you...\"   │  Security breach,  │  /discipline\n         │ \"Why did you...\"  │  data loss...      │\n         │                   │                    │\n         └───────────────────┴────────────────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │    SEVERITY     │\n                    │  🔴 🟡 🟢       │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │  ROOT CAUSE     │\n                    │  5 Whys: Why    │\n                    │  wasn't it      │\n                    │  followed?      │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │ FLOW VERIFY     │\n                    │ Will next agent │\n                    │ see the fix?    │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │  VALIDATOR      │\n                    │  Script that    │\n                    │  blocks action  │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │    COMPLETE     │\n                    │ Logged+Enforced │\n                    └─────────────────┘"
      },
      {
        "title": "Setup",
        "body": "On first use, read setup.md for integration guidelines. Creates ~/self-discipline/ for rules, validators, and enforcement logs."
      },
      {
        "title": "Architecture",
        "body": "Memory lives in ~/self-discipline/. See memory-template.md for structure.\n\n~/self-discipline/\n├── memory.md              # Status + severity thresholds + stats\n├── rules.md               # Active discipline rules (ALWAYS loaded)\n├── incidents.md           # Incident log with root cause analysis\n├── validators/            # Executable validators\n│   ├── pre-commit/        # Run before git commits\n│   ├── pre-send/          # Run before sending messages\n│   └── custom/            # Domain-specific validators\n├── flow-analysis/         # Instruction flow traces\n└── archive/               # Resolved incidents"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileSetup processsetup.mdMemory templatememory-template.mdSeverity assessmentseverity.mdRoot cause protocolroot-cause.mdFlow verificationflow-verification.mdValidator patternsvalidators.md"
      },
      {
        "title": "1. Detect Severity Immediately",
        "body": "When triggered, assess severity FIRST:\n\nLevelIndicatorsResponse🔴 CRITICALUser angry, security risk, data loss, broken prod, financial impactFull analysis + MANDATORY validator🟡 MEDIUMUser frustrated, wasted time, incorrect outputFull analysis + instruction fix🟢 LOWUser annoyed, preference violatedLog + monitor\n\nDefault to one level higher if uncertain."
      },
      {
        "title": "2. Root Cause Before Solution",
        "body": "Never jump to \"I'll remember that.\" Instead:\n\nWhat exactly failed? — Be specific\nWhat was the instruction? — Quote it verbatim\nWhere was the instruction? — Path + line number\nWhy wasn't it followed? — 5 Whys:\n\nWhy? → Not loaded in context\nWhy? → File not in session's read path\nWhy? → No reference in AGENTS.md / system prompt\nWhy? → Setup assumed it would be read\nWhy? → No verification mechanism"
      },
      {
        "title": "3. Verify Flow Reachability (CRITICAL)",
        "body": "After identifying where the instruction SHOULD be, trace the actual agent flow:\n\nSTART: New session begins\n  ↓\nREAD: System prompt loaded\n  ↓\nREAD: AGENTS.md (if exists)\n  ↓\nREAD: MEMORY.md (if referenced)\n  ↓\nREAD: Other files (if referenced)\n  ↓\nQUESTION: Is the instruction in ANY of these?\n\nIf instruction is NOT in the flow:\n\nThe fix is NOT to \"write it somewhere\"\nThe fix IS to add it to a file ALREADY in the flow\nOR add a reference to its location in a file ALREADY in the flow"
      },
      {
        "title": "4. User Consent Required",
        "body": "NEVER modify files outside ~/self-discipline/ without explicit user permission.\n\nWhen suggesting changes to AGENTS.md, HEARTBEAT.md, or other files:\n\nActionRequirementCreate ~/self-discipline/Ask permission firstEdit AGENTS.mdShow exact changes, wait for approvalAdd to HEARTBEAT.mdShow exact changes, wait for approvalCreate validator scriptShow script content, wait for approvalEdit any existing fileBackup first + user confirmation\n\nFlow for external file changes:\n\nExplain WHY the change is needed\nShow EXACTLY what will be added/changed\nWait for explicit \"yes\" / approval\nOnly then make the change"
      },
      {
        "title": "5. Generate Validators for Critical Issues",
        "body": "For 🔴 CRITICAL issues, create automated validators:\n\n# Example: ~/self-discipline/validators/pre-send/no-secrets.sh\n#!/usr/bin/env bash\nset -euo pipefail\n\n# SECURITY MANIFEST:\n# Environment variables accessed: none\n# External endpoints called: none\n# Local files read: message content (stdin)\n# Local files written: none\n\n# Check for secrets before sending messages\nif echo \"$1\" | grep -qE '(password|token|key)='; then\n  echo \"❌ BLOCKED: Message contains potential secret\"\n  echo \"Rule: no-secrets-in-messages (from incident 2024-02-15)\"\n  exit 1\nfi\n\nValidators must:\n\nExit 0 = pass, exit 1 = block\nInclude the rule origin (incident reference)\nNever modify data, only check"
      },
      {
        "title": "6. Track Enforcement",
        "body": "In ~/self-discipline/memory.md, maintain:\n\nMetricPurposeActive rulesRules currently being enforcedIncidents by severityPattern detectionValidator triggersHow often rules catch violationsStreakDays since last repeat violation"
      },
      {
        "title": "7. Escalation Path",
        "body": "If the same rule is violated twice:\n\nFirst violation: Full analysis + fix\nSecond violation: Promote to CRITICAL + mandatory validator\nThird violation: STOP and ask user for intervention"
      },
      {
        "title": "Severity Assessment Protocol",
        "body": "See severity.md for detailed criteria."
      },
      {
        "title": "Quick Assessment",
        "body": "QuestionIf YES →Is the user visibly upset?+1 severityCould this cause data loss?Automatic CRITICALCould this cause security breach?Automatic CRITICALCould this affect production?Automatic CRITICALHas this happened before?+1 severityDid user use \"never\" or \"always\"?+1 severity"
      },
      {
        "title": "The Flow Verification Process",
        "body": "See flow-verification.md for complete protocol."
      },
      {
        "title": "Why Instructions Get Ignored",
        "body": "CauseFrequencySolutionWritten in file not in load path60%Move or add referenceBuried in long file, not seen20%Move to top or separate fileContradicted by other instruction10%Resolve conflict explicitlyContext window overflow5%Shorten, prioritizeModel genuinely forgot5%Add validator"
      },
      {
        "title": "Verification Steps",
        "body": "Identify all files in agent's load path (system prompt, AGENTS.md, etc.)\nCheck if instruction location is in that path\nIf not in path: Find where to add reference\nIf in path but buried: Move to more prominent location\nIf contradicted: Resolve with explicit priority"
      },
      {
        "title": "Validator Patterns",
        "body": "See validators.md for complete reference."
      },
      {
        "title": "Types",
        "body": "TypeWhen RunExamplespre-commitBefore git commitNo secrets, no WIPpre-sendBefore message sendNo secrets, format checkspre-actionBefore specific actionConfirm before deleteperiodicOn heartbeatState verification"
      },
      {
        "title": "Validator Template",
        "body": "#!/usr/bin/env bash\nset -euo pipefail\n\n# SECURITY MANIFEST:\n# Environment variables accessed: [list]\n# External endpoints called: [list or \"none\"]\n# Local files read: [list]\n# Local files written: [list or \"none\"]\n\n# Validator: [rule-name]\n# Created: YYYY-MM-DD\n# Incident: [reference]\n# Severity: CRITICAL\n\n# [description of what this validates]\n\n[validation logic]\n\nif [condition that should fail]; then\n  echo \"❌ BLOCKED: [reason]\"\n  echo \"Rule: [rule-name] (from incident [date])\"\n  exit 1\nfi\n\nexit 0"
      },
      {
        "title": "Common Traps",
        "body": "TrapConsequenceSolutionWriting rule in memory.md onlyFuture agent won't see itAdd to rules.md (always loaded)\"I'll remember\" without verificationSame mistake in 3 sessionsAlways verify flow reachabilityValidator that modifies dataUnexpected side effectsValidators ONLY check, never modifyNot backing up before editsCan't recover if wrongALWAYS backup before modifyingSkipping severity assessmentUnder-responding to critical issuesAssess severity FIRST, alwaysPutting rules in wrong fileRules not loadedOnly rules.md is guaranteed loaded"
      },
      {
        "title": "Commands",
        "body": "CommandAction/disciplineStart discipline process for last issue/discipline statusShow active rules and stats/discipline verify [rule]Run flow verification for rule/discipline test [validator]Dry-run a validator/discipline historyShow incident log"
      },
      {
        "title": "Security & Privacy",
        "body": "Data that stays local:\n\nAll rules, incidents, and validators in ~/self-discipline/\nNo data sent to external services\nNo telemetry or analytics\n\nThis skill does NOT:\n\nMake network requests\nAccess credentials or secrets\nModify files without explicit user permission\nRun validators without user approval\nAccess files outside ~/self-discipline/ without asking\n\nFile modifications outside ~/self-discipline/:\n\nOnly suggested when needed for rule visibility (e.g., AGENTS.md reference)\nAlways shown to user first\nRequire explicit approval before execution\nInclude backup before any edit"
      },
      {
        "title": "Related Skills",
        "body": "Install with clawhub install <slug> if user confirms:\n\nreflection — structured self-evaluation\nmemory — persistent memory patterns\ndecide — decision-making patterns\nescalate — know when to ask vs act\nlearning — adaptive learning system"
      },
      {
        "title": "Feedback",
        "body": "If useful: clawhub star self-discipline\nStay updated: clawhub sync"
      }
    ],
    "body": "Instructions written but never followed. Lessons logged but never read. The same mistakes repeated across sessions. This skill breaks that cycle permanently.\n\nWhen something goes wrong — and the user makes it clear it cannot happen again — this skill doesn't just log it. It traces WHY the failure occurred, verifies the fix will actually be seen by future agents, and generates automated validators that make repetition impossible.\n\nWhen to Use\n\nUser is frustrated that the agent ignored instructions. Something critical happened that cannot repeat. User explicitly says \"this can never happen again\" or \"I told you not to...\" User explicitly invokes /discipline to ensure compliance on a rule.\n\nHow It Works\n         ┌──────────────────────────────────────────────┐\n         │              DISCIPLINE TRIGGER              │\n         └──────────────────────────────────────────────┘\n                              │\n         ┌────────────────────┼────────────────────┐\n         ▼                    ▼                    ▼\n    ┌─────────┐         ┌──────────┐         ┌─────────┐\n    │  USER   │         │ CRITICAL │         │ COMMAND │\n    │  UPSET  │         │ FAILURE  │         │  USED   │\n    └────┬────┘         └────┬─────┘         └────┬────┘\n         │                   │                    │\n         │ \"I told you...\"   │  Security breach,  │  /discipline\n         │ \"Why did you...\"  │  data loss...      │\n         │                   │                    │\n         └───────────────────┴────────────────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │    SEVERITY     │\n                    │  🔴 🟡 🟢       │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │  ROOT CAUSE     │\n                    │  5 Whys: Why    │\n                    │  wasn't it      │\n                    │  followed?      │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │ FLOW VERIFY     │\n                    │ Will next agent │\n                    │ see the fix?    │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │  VALIDATOR      │\n                    │  Script that    │\n                    │  blocks action  │\n                    └────────┬────────┘\n                              │\n                              ▼\n                    ┌─────────────────┐\n                    │    COMPLETE     │\n                    │ Logged+Enforced │\n                    └─────────────────┘\n\nSetup\n\nOn first use, read setup.md for integration guidelines. Creates ~/self-discipline/ for rules, validators, and enforcement logs.\n\nArchitecture\n\nMemory lives in ~/self-discipline/. See memory-template.md for structure.\n\n~/self-discipline/\n├── memory.md              # Status + severity thresholds + stats\n├── rules.md               # Active discipline rules (ALWAYS loaded)\n├── incidents.md           # Incident log with root cause analysis\n├── validators/            # Executable validators\n│   ├── pre-commit/        # Run before git commits\n│   ├── pre-send/          # Run before sending messages\n│   └── custom/            # Domain-specific validators\n├── flow-analysis/         # Instruction flow traces\n└── archive/               # Resolved incidents\n\nQuick Reference\nTopic\tFile\nSetup process\tsetup.md\nMemory template\tmemory-template.md\nSeverity assessment\tseverity.md\nRoot cause protocol\troot-cause.md\nFlow verification\tflow-verification.md\nValidator patterns\tvalidators.md\nCore Rules\n1. Detect Severity Immediately\n\nWhen triggered, assess severity FIRST:\n\nLevel\tIndicators\tResponse\n🔴 CRITICAL\tUser angry, security risk, data loss, broken prod, financial impact\tFull analysis + MANDATORY validator\n🟡 MEDIUM\tUser frustrated, wasted time, incorrect output\tFull analysis + instruction fix\n🟢 LOW\tUser annoyed, preference violated\tLog + monitor\n\nDefault to one level higher if uncertain.\n\n2. Root Cause Before Solution\n\nNever jump to \"I'll remember that.\" Instead:\n\nWhat exactly failed? — Be specific\nWhat was the instruction? — Quote it verbatim\nWhere was the instruction? — Path + line number\nWhy wasn't it followed? — 5 Whys:\nWhy? → Not loaded in context\nWhy? → File not in session's read path\nWhy? → No reference in AGENTS.md / system prompt\nWhy? → Setup assumed it would be read\nWhy? → No verification mechanism\n3. Verify Flow Reachability (CRITICAL)\n\nAfter identifying where the instruction SHOULD be, trace the actual agent flow:\n\nSTART: New session begins\n  ↓\nREAD: System prompt loaded\n  ↓\nREAD: AGENTS.md (if exists)\n  ↓\nREAD: MEMORY.md (if referenced)\n  ↓\nREAD: Other files (if referenced)\n  ↓\nQUESTION: Is the instruction in ANY of these?\n\n\nIf instruction is NOT in the flow:\n\nThe fix is NOT to \"write it somewhere\"\nThe fix IS to add it to a file ALREADY in the flow\nOR add a reference to its location in a file ALREADY in the flow\n4. User Consent Required\n\nNEVER modify files outside ~/self-discipline/ without explicit user permission.\n\nWhen suggesting changes to AGENTS.md, HEARTBEAT.md, or other files:\n\nAction\tRequirement\nCreate ~/self-discipline/\tAsk permission first\nEdit AGENTS.md\tShow exact changes, wait for approval\nAdd to HEARTBEAT.md\tShow exact changes, wait for approval\nCreate validator script\tShow script content, wait for approval\nEdit any existing file\tBackup first + user confirmation\n\nFlow for external file changes:\n\nExplain WHY the change is needed\nShow EXACTLY what will be added/changed\nWait for explicit \"yes\" / approval\nOnly then make the change\n5. Generate Validators for Critical Issues\n\nFor 🔴 CRITICAL issues, create automated validators:\n\n# Example: ~/self-discipline/validators/pre-send/no-secrets.sh\n#!/usr/bin/env bash\nset -euo pipefail\n\n# SECURITY MANIFEST:\n# Environment variables accessed: none\n# External endpoints called: none\n# Local files read: message content (stdin)\n# Local files written: none\n\n# Check for secrets before sending messages\nif echo \"$1\" | grep -qE '(password|token|key)='; then\n  echo \"❌ BLOCKED: Message contains potential secret\"\n  echo \"Rule: no-secrets-in-messages (from incident 2024-02-15)\"\n  exit 1\nfi\n\n\nValidators must:\n\nExit 0 = pass, exit 1 = block\nInclude the rule origin (incident reference)\nNever modify data, only check\n6. Track Enforcement\n\nIn ~/self-discipline/memory.md, maintain:\n\nMetric\tPurpose\nActive rules\tRules currently being enforced\nIncidents by severity\tPattern detection\nValidator triggers\tHow often rules catch violations\nStreak\tDays since last repeat violation\n7. Escalation Path\n\nIf the same rule is violated twice:\n\nFirst violation: Full analysis + fix\nSecond violation: Promote to CRITICAL + mandatory validator\nThird violation: STOP and ask user for intervention\nSeverity Assessment Protocol\n\nSee severity.md for detailed criteria.\n\nQuick Assessment\nQuestion\tIf YES →\nIs the user visibly upset?\t+1 severity\nCould this cause data loss?\tAutomatic CRITICAL\nCould this cause security breach?\tAutomatic CRITICAL\nCould this affect production?\tAutomatic CRITICAL\nHas this happened before?\t+1 severity\nDid user use \"never\" or \"always\"?\t+1 severity\nThe Flow Verification Process\n\nSee flow-verification.md for complete protocol.\n\nWhy Instructions Get Ignored\nCause\tFrequency\tSolution\nWritten in file not in load path\t60%\tMove or add reference\nBuried in long file, not seen\t20%\tMove to top or separate file\nContradicted by other instruction\t10%\tResolve conflict explicitly\nContext window overflow\t5%\tShorten, prioritize\nModel genuinely forgot\t5%\tAdd validator\nVerification Steps\nIdentify all files in agent's load path (system prompt, AGENTS.md, etc.)\nCheck if instruction location is in that path\nIf not in path: Find where to add reference\nIf in path but buried: Move to more prominent location\nIf contradicted: Resolve with explicit priority\nValidator Patterns\n\nSee validators.md for complete reference.\n\nTypes\nType\tWhen Run\tExamples\npre-commit\tBefore git commit\tNo secrets, no WIP\npre-send\tBefore message send\tNo secrets, format checks\npre-action\tBefore specific action\tConfirm before delete\nperiodic\tOn heartbeat\tState verification\nValidator Template\n#!/usr/bin/env bash\nset -euo pipefail\n\n# SECURITY MANIFEST:\n# Environment variables accessed: [list]\n# External endpoints called: [list or \"none\"]\n# Local files read: [list]\n# Local files written: [list or \"none\"]\n\n# Validator: [rule-name]\n# Created: YYYY-MM-DD\n# Incident: [reference]\n# Severity: CRITICAL\n\n# [description of what this validates]\n\n[validation logic]\n\nif [condition that should fail]; then\n  echo \"❌ BLOCKED: [reason]\"\n  echo \"Rule: [rule-name] (from incident [date])\"\n  exit 1\nfi\n\nexit 0\n\nCommon Traps\nTrap\tConsequence\tSolution\nWriting rule in memory.md only\tFuture agent won't see it\tAdd to rules.md (always loaded)\n\"I'll remember\" without verification\tSame mistake in 3 sessions\tAlways verify flow reachability\nValidator that modifies data\tUnexpected side effects\tValidators ONLY check, never modify\nNot backing up before edits\tCan't recover if wrong\tALWAYS backup before modifying\nSkipping severity assessment\tUnder-responding to critical issues\tAssess severity FIRST, always\nPutting rules in wrong file\tRules not loaded\tOnly rules.md is guaranteed loaded\nCommands\nCommand\tAction\n/discipline\tStart discipline process for last issue\n/discipline status\tShow active rules and stats\n/discipline verify [rule]\tRun flow verification for rule\n/discipline test [validator]\tDry-run a validator\n/discipline history\tShow incident log\nSecurity & Privacy\n\nData that stays local:\n\nAll rules, incidents, and validators in ~/self-discipline/\nNo data sent to external services\nNo telemetry or analytics\n\nThis skill does NOT:\n\nMake network requests\nAccess credentials or secrets\nModify files without explicit user permission\nRun validators without user approval\nAccess files outside ~/self-discipline/ without asking\n\nFile modifications outside ~/self-discipline/:\n\nOnly suggested when needed for rule visibility (e.g., AGENTS.md reference)\nAlways shown to user first\nRequire explicit approval before execution\nInclude backup before any edit\nRelated Skills\n\nInstall with clawhub install <slug> if user confirms:\n\nreflection — structured self-evaluation\nmemory — persistent memory patterns\ndecide — decision-making patterns\nescalate — know when to ask vs act\nlearning — adaptive learning system\nFeedback\nIf useful: clawhub star self-discipline\nStay updated: clawhub sync"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/self-discipline",
    "publisherUrl": "https://clawhub.ai/ivangdavila/self-discipline",
    "owner": "ivangdavila",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/self-discipline",
    "downloadUrl": "https://openagent3.xyz/downloads/self-discipline",
    "agentUrl": "https://openagent3.xyz/skills/self-discipline/agent",
    "manifestUrl": "https://openagent3.xyz/skills/self-discipline/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/self-discipline/agent.md"
  }
}