[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C115WKHTGWM2BNBA6EFP5S":3,"skill-same:01M6C115WKHTGWM2BNBA6EFP5S":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6C115WKHTGWM2BNBA6EFP5S","ralph-abort",null,"Abort a running agent loop and optionally revert changes","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fagent-loop\u002Fskills\u002Fralph-abort\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"ralph","ralph abort","interactive","revert","running","changes","keep","efficiency","guidance","agent loop","automation","write","read","haiku","text","loop","Bash","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: ralph-abort\nplatforms: [all]\ndescription: Abort a running agent loop and optionally revert changes\ncommandHint:\n  argumentHint: '[--keep-changes] [--revert] [--force --interactive --guidance \"text\"]'\n  allowedTools: \"Read, Write, Bash\"\n  model: haiku\n  category: automation\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Al Abort\n\nAbort a running or paused agent loop.\n\n## HITL authorization checkpoints\n\nBefore any confirmation below, read and apply\n[agent-loop authorization checkpoints](..\u002F..\u002Fdocs\u002Fhitl-authorization.md).\nCall `aiwg config authorization check --action-file \"$ACTION_FILE\" --target \"$TARGET_REPO\"`\nfor host-classified effects. Only `auto-authorized` with a signed receipt skips\nthat workflow prompt; retain existing prompts\u002Frefusals otherwise. Platform\nprompts are never bypassed. Limits, regression and threat overrides still require review.\n\n## Usage\n\n```\n\u002Fralph-abort               # Abort, keep changes\n\u002Fralph-abort --revert      # Abort and revert all changes\n\u002Fralph-abort --force       # Abort even if no active loop\n```\n\n## Parameters\n\n### --keep-changes (default)\nStop the loop but keep all file changes made during iterations.\n\n### --revert\nRevert all changes made during the agent loop using git:\n- Identify commits made during loop (prefix: `ralph: iteration`)\n- Reset to commit before loop started\n- **Warning**: This discards work\n\n### --force\nAbort even if state indicates no active loop (for cleanup).\n\n## Your Actions\n\n### Standard Abort\n\n1. Read `.aiwg\u002Fralph\u002Fcurrent-loop.json`\n2. Verify there's an active loop\n3. Mark loop as aborted\n4. Generate partial completion report\n5. Confirm to user\n\n**Output**:\n```\nAgent Loop: ABORTED\n\nTask: {task}\nIterations completed: {N}\nDuration: {time}\n\nChanges have been kept. To revert:\n  git reset --hard HEAD~{N}\n\nPartial report: .aiwg\u002Fralph\u002Fcompletion-{timestamp}.md\n```\n\n### With --revert\n\n1. Read loop state\n2. Find all `ralph: iteration` commits from this loop\n3. Confirm with user before reverting\n4. Reset git to pre-loop state\n5. Clean up state files\n\n**Confirmation prompt**:\n```\nThis will revert {N} commits:\n- ralph: iteration 1 - initial attempt\n- ralph: iteration 2 - fixed auth\n- ralph: iteration 3 - in progress\n\nFiles to be reverted:\n- src\u002Fauth.ts\n- test\u002Fauth.test.ts\n\nType 'yes' to confirm revert:\n```\n\n**After revert**:\n```\nAgent Loop: ABORTED + REVERTED\n\nReverted {N} commits.\nWorking directory restored to pre-loop state.\n\nState cleaned: .aiwg\u002Fralph\u002Fcurrent-loop.json archived\n```\n\n## Error Handling\n\n**No active loop**:\n```\nNo active agent loop to abort.\n\nUse --force to clean up stale state files if needed.\n```\n\n**Git not available**:\n```\nGit not available for --revert option.\n\nLoop aborted, but changes cannot be reverted automatically.\nManual cleanup may be needed.\n```\n\n**Dirty working directory (for --revert)**:\n```\nCannot revert: uncommitted changes exist.\n\nOptions:\n1. Commit or stash changes first\n2. Use \u002Fralph-abort without --revert to keep current state\n```\n\n## State Changes\n\nAfter abort:\n- `current-loop.json` marked with `status: \"aborted\"`\n- `active: false`\n- Completion report generated with partial results\n- Loop can no longer be resumed\n\n## Related\n\n- `\u002Fralph-status` - Check loop status before aborting\n- `\u002Fralph-resume` - Continue instead of abort\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fagent-loop\u002FREADME.md — Ralph addon overview and loop executor documentation\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fhuman-authorization.md — Authorization rules for irreversible actions like revert\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference for ralph-abort and related commands\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002FREADME.md — SDLC framework context\n","# Al Abort\n\nAbort a running or paused agent loop.\n\n## HITL authorization checkpoints\n\nBefore any confirmation below, read and apply\n[agent-loop authorization checkpoints](..\u002F..\u002Fdocs\u002Fhitl-authorization.md).\nCall `aiwg config authorization check --action-file \"$ACTION_FILE\" --target \"$TARGET_REPO\"`\nfor host-classified effects. Only `auto-authorized` with a signed receipt skips\nthat workflow prompt; retain existing prompts\u002Frefusals otherwise. Platform\nprompts are never bypassed. Limits, regression and threat overrides still require review.\n\n## Usage\n\n```\n\u002Fralph-abort               # Abort, keep changes\n\u002Fralph-abort --revert      # Abort and revert all changes\n\u002Fralph-abort --force       # Abort even if no active loop\n```\n\n## Parameters\n\n### --keep-changes (default)\nStop the loop but keep all file changes made during iterations.\n\n### --revert\nRevert all changes made during the agent loop using git:\n- Identify commits made during loop (prefix: `ralph: iteration`)\n- Reset to commit before loop started\n- **Warning**: This discards work\n\n### --force\nAbort even if state indicates no active loop (for cleanup).\n\n## Your Actions\n\n### Standard Abort\n\n1. Read `.aiwg\u002Fralph\u002Fcurrent-loop.json`\n2. Verify there's an active loop\n3. Mark loop as aborted\n4. Generate partial completion report\n5. Confirm to user\n\n**Output**:\n```\nAgent Loop: ABORTED\n\nTask: {task}\nIterations completed: {N}\nDuration: {time}\n\nChanges have been kept. To revert:\n  git reset --hard HEAD~{N}\n\nPartial report: .aiwg\u002Fralph\u002Fcompletion-{timestamp}.md\n```\n\n### With --revert\n\n1. Read loop state\n2. Find all `ralph: iteration` commits from this loop\n3. Confirm with user before reverting\n4. Reset git to pre-loop state\n5. Clean up state files\n\n**Confirmation prompt**:\n```\nThis will revert {N} commits:\n- ralph: iteration 1 - initial attempt\n- ralph: iteration 2 - fixed auth\n- ralph: iteration 3 - in progress\n\nFiles to be reverted:\n- src\u002Fauth.ts\n- test\u002Fauth.test.ts\n\nType 'yes' to confirm revert:\n```\n\n**After revert**:\n```\nAgent Loop: ABORTED + REVERTED\n\nReverted {N} commits.\nWorking directory restored to pre-loop state.\n\nState cleaned: .aiwg\u002Fralph\u002Fcurrent-loop.json archived\n```\n\n## Error Handling\n\n**No active loop**:\n```\nNo active agent loop to abort.\n\nUse --force to clean up stale state files if needed.\n```\n\n**Git not available**:\n```\nGit not available for --revert option.\n\nLoop aborted, but changes cannot be reverted automatically.\nManual cleanup may be needed.\n```\n\n**Dirty working directory (for --revert)**:\n```\nCannot revert: uncommitted changes exist.\n\nOptions:\n1. Commit or stash changes first\n2. Use \u002Fralph-abort without --revert to keep current state\n```\n\n## State Changes\n\nAfter abort:\n- `current-loop.json` marked with `status: \"aborted\"`\n- `active: false`\n- Completion report generated with partial results\n- Loop can no longer be resumed\n\n## Related\n\n- `\u002Fralph-status` - Check loop status before aborting\n- `\u002Fralph-resume` - Continue instead of abort\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fagent-loop\u002FREADME.md — Ralph addon overview and loop executor documentation\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fhuman-authorization.md — Authorization rules for irreversible actions like revert\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference for ralph-abort and related commands\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002FREADME.md — SDLC framework context\n",{"name":5,"namespace":46,"platforms":47,"commandHint":49,"description":7},"aiwg",[48],"all",{"model":37,"category":34,"modelRole":31,"modelTier":50,"allowedTools":51,"argumentHint":52},"economy","Read, Write, Bash","[--keep-changes] [--revert] [--force --interactive --guidance \"text\"]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Faddons\u002Fagent-loop\u002Fskills\u002Fralph-abort",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-12 00:33:10",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add jmagly\u002Faiwg --skill ralph-abort",{"tool":69,"command":70},"bunx","bunx skills add jmagly\u002Faiwg --skill ralph-abort",{"tool":72,"command":73},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill ralph-abort","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fagent-loop\u002Fskills\u002Fralph-abort\u002FSKILL.md",true,[77],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fdetails.md","REFERENCE","参考文档",2394,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-feature-flags\u002Freferences\u002Fdetails.md",[84,110,133,139,146,160],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":41},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[90],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,94,36,95,96,97,98,99,100,40,101,102,103,104,105,106,107,108,109],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":120,"publishedAt":41},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[116,119],{"categoryNo":117,"categoryName":118,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,122,123,36,124,99,125,126,40,127,92,128,102,129,130,105,106,131,132,35],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":134,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":41},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[137],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[94,92,93,101,36,109,97,96,104,98,99,100,40,108,102,103,95,105,106,107],{"skillNo":140,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":145,"publishedAt":41},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[143,144],{"categoryNo":117,"categoryName":118,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[122,121,105,124,99,125,40,123,92,128,102,129,130,36,106,127,126,131,132,35],{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":41},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[152],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[154,155,156,157,158,159],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":41},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[166],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[168,169,129,170,155],"pi","pi local","duplicate"]