[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2HS4NWWSWGMMF0VKRHFWE":3,"skill-same:01M6C2HS4NWWSWGMMF0VKRHFWE":90},{"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":28,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":66,"commitSha":67,"skillDirectory":68,"forksCount":69,"repositoryHtmlUrl":70,"repositoryHomepageUrl":71,"ownerHtmlUrl":72,"ownerBlogUrl":73,"ownerDescription":74,"updatedAt":75,"install":76,"resources":89},"01M6C2HS4NWWSWGMMF0VKRHFWE","ralph-config",null,"View and configure agent loop settings — show, set, reset, and apply named presets","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\u002Fplugins\u002Fagent-loop\u002Fskills\u002Fralph-config\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"config","ralph config","ralph","read","apply","value","reset","efficiency","configure agent","show","agent loop","settings","view","write","openclaw","haiku","hermes","configure","loop","SET","code","preset","automation","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: ralph-config\nplatforms: [all]\ndescription: View and configure agent loop settings — show, set, reset, and apply named presets\ncommandHint:\n  argumentHint: \"\u003Cshow|set|reset|preset> [key] [value]\"\n  allowedTools: Read, Write\n  model: haiku\n  category: automation\n  platforms: [claude-code, hermes, openclaw]\n  modelRole: efficiency\n  modelTier: economy\n---\n\n\u003C!-- AIWG-SKILL-CALLOUT -->\n> **Skill access pattern (post-kernel-pivot, 2026.5+)**\n>\n> Skill names referenced in this document are AIWG skills, **not slash commands**. Most are not kernel-listed and cannot be invoked as `\u002Fskill-name` by the platform. Reach them via:\n>\n> ```bash\n> aiwg discover \"\u003Ccapability>\"\n> aiwg show skill \u003Cname> --body\n> ```\n>\n> Only kernel-listed skills (`aiwg-doctor`, `aiwg-refresh`, `aiwg-status`, `aiwg-help`, `use`, `steward`) are directly invokable as slash commands. See [skill-discovery rule](https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fskill-discovery.md).\n\n\n# Al Config\n\nView and modify Al's runtime configuration. Settings control loop behavior defaults such as iteration limits, timeouts, provider selection, and commit behavior. Changes persist to `.aiwg\u002Fralph\u002Fconfig.json` and apply to all subsequent loops unless overridden per-invocation.\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## Natural Language Triggers\n\nUsers may say:\n- \"ralph config\"\n- \"configure ralph\"\n- \"ralph settings\"\n- \"show ralph config\"\n- \"set ralph max iterations\"\n- \"reset ralph config\"\n- \"apply ralph ci preset\"\n\n## Parameters\n\n### Subcommand (required)\nOne of `show`, `set`, `reset`, or `preset`.\n\n### key (required for `set`)\nThe configuration key to change. See the configuration reference below.\n\n### value (required for `set`)\nThe new value to assign to the key.\n\n### Preset name (required for `preset`)\nOne of the built-in preset names: `ci`, `thorough`, or `quick`.\n\n## Configuration Reference\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `maxIterations` | `10` | Maximum iterations before the loop halts |\n| `timeout` | `60` | Maximum wall-clock time per loop (minutes) |\n| `provider` | `claude` | AI provider for loop iterations (`claude`, `codex`, `factory`, `opencode`) |\n| `model` | (provider default) | Model override for the provider |\n| `autoCommit` | `true` | Commit after each successful iteration |\n| `branch` | `null` | Default branch name (null = work on current branch) |\n| `quiet` | `false` | Suppress verbose iteration output |\n| `memory` | `true` | Enable semantic memory accumulation |\n| `crossTask` | `false` | Pull relevant memories from other completed loops |\n| `analytics` | `false` | Enable iteration analytics logging |\n\n## Built-in Presets\n\n| Preset | maxIterations | timeout | quiet | Description |\n|--------|--------------|---------|-------|-------------|\n| `ci` | `5` | `30` | `true` | Conservative limits for CI\u002FCD pipelines |\n| `thorough` | `20` | `120` | `false` | Extended limits for complex tasks |\n| `quick` | `3` | `15` | `false` | Fast exploration, fail-fast on difficulty |\n\n## Behavior\n\n### `show` Subcommand\n\n1. Read `.aiwg\u002Fralph\u002Fconfig.json`; if absent, show built-in defaults\n2. Display the current configuration in a readable table\n\n**Output (active config)**:\n```\nAl Configuration\nSource: .aiwg\u002Fralph\u002Fconfig.json\n\nKey              Value        Default    Modified\n───────────────  ───────────  ─────────  ────────\nmaxIterations    5            10         yes\ntimeout          30           60         yes\nprovider         claude       claude     no\nmodel            (default)    (default)  no\nautoCommit       true         true       no\nbranch           null         null       no\nquiet            true         false      yes\nmemory           true         true       no\ncrossTask        false        false      no\nanalytics        false        false      no\n\nActive preset: ci (applied 2026-04-01)\n\nTo change a value:  \u002Fralph-config set \u003Ckey> \u003Cvalue>\nTo reset defaults:  \u002Fralph-config reset\n```\n\n**Output (no config file — using defaults)**:\n```\nAl Configuration\nSource: built-in defaults (no .aiwg\u002Fralph\u002Fconfig.json found)\n\nKey              Value\n───────────────  ─────────\nmaxIterations    10\ntimeout          60\nprovider         claude\nmodel            (default)\nautoCommit       true\nbranch           null\nquiet            false\nmemory           true\ncrossTask        false\nanalytics        false\n\nTo customize: \u002Fralph-config set \u003Ckey> \u003Cvalue>\nTo apply a preset: \u002Fralph-config preset \u003Cci|thorough|quick>\n```\n\n### `set` Subcommand\n\n1. Validate the key is a recognized configuration key\n2. Validate the value type matches the key's expected type\n3. Read existing config (or start from defaults)\n4. Apply the change\n5. Write updated config to `.aiwg\u002Fralph\u002Fconfig.json`\n6. Confirm the change\n\n**Output**:\n```\nAl config updated.\n\n  maxIterations: 10  →  15\n\nSaved to: .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Validation error — unknown key**:\n```\nUnknown configuration key: 'maxIter'\n\nDid you mean 'maxIterations'?\n\nRun \u002Fralph-config show to see all valid keys.\n```\n\n**Validation error — wrong type**:\n```\nInvalid value for 'maxIterations': 'lots'\n\nExpected: integer >= 1\nGot: 'lots'\n\nExample: \u002Fralph-config set maxIterations 15\n```\n\n### `reset` Subcommand\n\n1. Confirm with the user before proceeding\n2. Delete or overwrite `.aiwg\u002Fralph\u002Fconfig.json` with built-in defaults\n3. Confirm the reset\n\n**Confirmation prompt**:\n```\nThis will reset all Al configuration to defaults.\n\nCurrent non-default values:\n  maxIterations: 5 (default: 10)\n  timeout: 30 (default: 60)\n  quiet: true (default: false)\n\nType 'yes' to confirm reset:\n```\n\n**After reset**:\n```\nAl configuration reset to defaults.\n\n.aiwg\u002Fralph\u002Fconfig.json has been cleared.\nAll future loops will use built-in default values.\n```\n\n### `preset` Subcommand\n\n1. Validate the preset name is one of `ci`, `thorough`, or `quick`\n2. Confirm which keys will be overwritten\n3. Apply the preset values on top of current config\n4. Save and confirm\n\n**Preview before applying**:\n```\nApplying preset: ci\n\nChanges:\n  maxIterations: 10  →  5\n  timeout: 60  →  30\n  quiet: false  →  true\n\nOther keys are unchanged.\n\nApply? (yes\u002Fno):\n```\n\n**After applying**:\n```\nPreset 'ci' applied.\n\nAl will now use:\n  maxIterations: 5\n  timeout: 30 minutes\n  quiet: true\n\nThese values persist until changed or reset.\nSaved to: .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Unknown preset**:\n```\nUnknown preset: 'aggressive'\n\nAvailable presets:\n  ci        — max 5 iterations, 30m timeout, quiet (for pipelines)\n  thorough  — max 20 iterations, 120m timeout (for complex tasks)\n  quick     — max 3 iterations, 15m timeout (for exploration)\n\nUsage: \u002Fralph-config preset \u003Cname>\n```\n\n## Config File Location\n\n| Context | Path |\n|---------|------|\n| In-session loops (`ralph`) | `.aiwg\u002Fralph\u002Fconfig.json` |\n| External loops (`ralph-external`) | `.aiwg\u002Fralph-external\u002Fconfig.json` |\n\nEach context has its own config file. `show`, `set`, `reset`, and `preset` operate on the in-session config by default. Use `\u002Fralph-config --external show` to inspect external loop config (if the `--external` flag is available in your install).\n\n## Error Handling\n\n**Config file unreadable**:\n```\nCannot read Al config: .aiwg\u002Fralph\u002Fconfig.json\n\nPermission error or corrupted JSON. Options:\n1. Delete the file to reset to defaults: rm .aiwg\u002Fralph\u002Fconfig.json\n2. Inspect manually: cat .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Read-only directory**:\n```\nCannot write to .aiwg\u002Fralph\u002Fconfig.json.\n\nCheck that the .aiwg\u002Fralph\u002F directory is writable:\n  chmod 755 .aiwg\u002Fralph\u002F\n```\n\n## Examples\n\n### Example 1: Show current config\n```\n\u002Fralph-config show\n```\n**Response**: Table of all current values with defaults and modified markers.\n\n### Example 2: Set a single value\n```\n\u002Fralph-config set maxIterations 15\n```\n**Response**: Confirms `maxIterations: 10 → 15`, writes file.\n\n### Example 3: Apply the CI preset\n```\n\u002Fralph-config preset ci\n```\n**Response**: Previews 3 changes, prompts confirmation, applies and saves.\n\n### Example 4: Apply the thorough preset for a complex refactor\n```\n\u002Fralph-config preset thorough\n```\n**Response**: Sets max 20 iterations and 120-minute timeout.\n\n### Example 5: Disable auto-commit\n```\n\u002Fralph-config set autoCommit false\n```\n**Response**: Loop iterations will no longer create git commits.\n\n### Example 6: Reset everything\n```\n\u002Fralph-config reset\n```\n**Response**: Confirms which values will revert, then clears the config file.\n\n## Related\n\n- `ralph` — Start an in-session loop (uses this config as defaults)\n- `ralph-external` — Start a crash-resilient external loop\n- `ralph-status` — Check active loop state\n- `ralph-memory` — Manage accumulated loop memory\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Fralph.ts — Al CLI handler (config parsing)\n- @$AIWG_ROOT\u002Ftools\u002Fralph-external\u002FREADME.md — External loop architecture\n- @$AIWG_ROOT\u002F${CLAUDE_PLUGIN_ROOT}\u002FREADME.md — Al documentation\n","\u003C!-- AIWG-SKILL-CALLOUT -->\n> **Skill access pattern (post-kernel-pivot, 2026.5+)**\n>\n> Skill names referenced in this document are AIWG skills, **not slash commands**. Most are not kernel-listed and cannot be invoked as `\u002Fskill-name` by the platform. Reach them via:\n>\n> ```bash\n> aiwg discover \"\u003Ccapability>\"\n> aiwg show skill \u003Cname> --body\n> ```\n>\n> Only kernel-listed skills (`aiwg-doctor`, `aiwg-refresh`, `aiwg-status`, `aiwg-help`, `use`, `steward`) are directly invokable as slash commands. See [skill-discovery rule](https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fskill-discovery.md).\n\n\n# Al Config\n\nView and modify Al's runtime configuration. Settings control loop behavior defaults such as iteration limits, timeouts, provider selection, and commit behavior. Changes persist to `.aiwg\u002Fralph\u002Fconfig.json` and apply to all subsequent loops unless overridden per-invocation.\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## Natural Language Triggers\n\nUsers may say:\n- \"ralph config\"\n- \"configure ralph\"\n- \"ralph settings\"\n- \"show ralph config\"\n- \"set ralph max iterations\"\n- \"reset ralph config\"\n- \"apply ralph ci preset\"\n\n## Parameters\n\n### Subcommand (required)\nOne of `show`, `set`, `reset`, or `preset`.\n\n### key (required for `set`)\nThe configuration key to change. See the configuration reference below.\n\n### value (required for `set`)\nThe new value to assign to the key.\n\n### Preset name (required for `preset`)\nOne of the built-in preset names: `ci`, `thorough`, or `quick`.\n\n## Configuration Reference\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `maxIterations` | `10` | Maximum iterations before the loop halts |\n| `timeout` | `60` | Maximum wall-clock time per loop (minutes) |\n| `provider` | `claude` | AI provider for loop iterations (`claude`, `codex`, `factory`, `opencode`) |\n| `model` | (provider default) | Model override for the provider |\n| `autoCommit` | `true` | Commit after each successful iteration |\n| `branch` | `null` | Default branch name (null = work on current branch) |\n| `quiet` | `false` | Suppress verbose iteration output |\n| `memory` | `true` | Enable semantic memory accumulation |\n| `crossTask` | `false` | Pull relevant memories from other completed loops |\n| `analytics` | `false` | Enable iteration analytics logging |\n\n## Built-in Presets\n\n| Preset | maxIterations | timeout | quiet | Description |\n|--------|--------------|---------|-------|-------------|\n| `ci` | `5` | `30` | `true` | Conservative limits for CI\u002FCD pipelines |\n| `thorough` | `20` | `120` | `false` | Extended limits for complex tasks |\n| `quick` | `3` | `15` | `false` | Fast exploration, fail-fast on difficulty |\n\n## Behavior\n\n### `show` Subcommand\n\n1. Read `.aiwg\u002Fralph\u002Fconfig.json`; if absent, show built-in defaults\n2. Display the current configuration in a readable table\n\n**Output (active config)**:\n```\nAl Configuration\nSource: .aiwg\u002Fralph\u002Fconfig.json\n\nKey              Value        Default    Modified\n───────────────  ───────────  ─────────  ────────\nmaxIterations    5            10         yes\ntimeout          30           60         yes\nprovider         claude       claude     no\nmodel            (default)    (default)  no\nautoCommit       true         true       no\nbranch           null         null       no\nquiet            true         false      yes\nmemory           true         true       no\ncrossTask        false        false      no\nanalytics        false        false      no\n\nActive preset: ci (applied 2026-04-01)\n\nTo change a value:  \u002Fralph-config set \u003Ckey> \u003Cvalue>\nTo reset defaults:  \u002Fralph-config reset\n```\n\n**Output (no config file — using defaults)**:\n```\nAl Configuration\nSource: built-in defaults (no .aiwg\u002Fralph\u002Fconfig.json found)\n\nKey              Value\n───────────────  ─────────\nmaxIterations    10\ntimeout          60\nprovider         claude\nmodel            (default)\nautoCommit       true\nbranch           null\nquiet            false\nmemory           true\ncrossTask        false\nanalytics        false\n\nTo customize: \u002Fralph-config set \u003Ckey> \u003Cvalue>\nTo apply a preset: \u002Fralph-config preset \u003Cci|thorough|quick>\n```\n\n### `set` Subcommand\n\n1. Validate the key is a recognized configuration key\n2. Validate the value type matches the key's expected type\n3. Read existing config (or start from defaults)\n4. Apply the change\n5. Write updated config to `.aiwg\u002Fralph\u002Fconfig.json`\n6. Confirm the change\n\n**Output**:\n```\nAl config updated.\n\n  maxIterations: 10  →  15\n\nSaved to: .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Validation error — unknown key**:\n```\nUnknown configuration key: 'maxIter'\n\nDid you mean 'maxIterations'?\n\nRun \u002Fralph-config show to see all valid keys.\n```\n\n**Validation error — wrong type**:\n```\nInvalid value for 'maxIterations': 'lots'\n\nExpected: integer >= 1\nGot: 'lots'\n\nExample: \u002Fralph-config set maxIterations 15\n```\n\n### `reset` Subcommand\n\n1. Confirm with the user before proceeding\n2. Delete or overwrite `.aiwg\u002Fralph\u002Fconfig.json` with built-in defaults\n3. Confirm the reset\n\n**Confirmation prompt**:\n```\nThis will reset all Al configuration to defaults.\n\nCurrent non-default values:\n  maxIterations: 5 (default: 10)\n  timeout: 30 (default: 60)\n  quiet: true (default: false)\n\nType 'yes' to confirm reset:\n```\n\n**After reset**:\n```\nAl configuration reset to defaults.\n\n.aiwg\u002Fralph\u002Fconfig.json has been cleared.\nAll future loops will use built-in default values.\n```\n\n### `preset` Subcommand\n\n1. Validate the preset name is one of `ci`, `thorough`, or `quick`\n2. Confirm which keys will be overwritten\n3. Apply the preset values on top of current config\n4. Save and confirm\n\n**Preview before applying**:\n```\nApplying preset: ci\n\nChanges:\n  maxIterations: 10  →  5\n  timeout: 60  →  30\n  quiet: false  →  true\n\nOther keys are unchanged.\n\nApply? (yes\u002Fno):\n```\n\n**After applying**:\n```\nPreset 'ci' applied.\n\nAl will now use:\n  maxIterations: 5\n  timeout: 30 minutes\n  quiet: true\n\nThese values persist until changed or reset.\nSaved to: .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Unknown preset**:\n```\nUnknown preset: 'aggressive'\n\nAvailable presets:\n  ci        — max 5 iterations, 30m timeout, quiet (for pipelines)\n  thorough  — max 20 iterations, 120m timeout (for complex tasks)\n  quick     — max 3 iterations, 15m timeout (for exploration)\n\nUsage: \u002Fralph-config preset \u003Cname>\n```\n\n## Config File Location\n\n| Context | Path |\n|---------|------|\n| In-session loops (`ralph`) | `.aiwg\u002Fralph\u002Fconfig.json` |\n| External loops (`ralph-external`) | `.aiwg\u002Fralph-external\u002Fconfig.json` |\n\nEach context has its own config file. `show`, `set`, `reset`, and `preset` operate on the in-session config by default. Use `\u002Fralph-config --external show` to inspect external loop config (if the `--external` flag is available in your install).\n\n## Error Handling\n\n**Config file unreadable**:\n```\nCannot read Al config: .aiwg\u002Fralph\u002Fconfig.json\n\nPermission error or corrupted JSON. Options:\n1. Delete the file to reset to defaults: rm .aiwg\u002Fralph\u002Fconfig.json\n2. Inspect manually: cat .aiwg\u002Fralph\u002Fconfig.json\n```\n\n**Read-only directory**:\n```\nCannot write to .aiwg\u002Fralph\u002Fconfig.json.\n\nCheck that the .aiwg\u002Fralph\u002F directory is writable:\n  chmod 755 .aiwg\u002Fralph\u002F\n```\n\n## Examples\n\n### Example 1: Show current config\n```\n\u002Fralph-config show\n```\n**Response**: Table of all current values with defaults and modified markers.\n\n### Example 2: Set a single value\n```\n\u002Fralph-config set maxIterations 15\n```\n**Response**: Confirms `maxIterations: 10 → 15`, writes file.\n\n### Example 3: Apply the CI preset\n```\n\u002Fralph-config preset ci\n```\n**Response**: Previews 3 changes, prompts confirmation, applies and saves.\n\n### Example 4: Apply the thorough preset for a complex refactor\n```\n\u002Fralph-config preset thorough\n```\n**Response**: Sets max 20 iterations and 120-minute timeout.\n\n### Example 5: Disable auto-commit\n```\n\u002Fralph-config set autoCommit false\n```\n**Response**: Loop iterations will no longer create git commits.\n\n### Example 6: Reset everything\n```\n\u002Fralph-config reset\n```\n**Response**: Confirms which values will revert, then clears the config file.\n\n## Related\n\n- `ralph` — Start an in-session loop (uses this config as defaults)\n- `ralph-external` — Start a crash-resilient external loop\n- `ralph-status` — Check active loop state\n- `ralph-memory` — Manage accumulated loop memory\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Fralph.ts — Al CLI handler (config parsing)\n- @$AIWG_ROOT\u002Ftools\u002Fralph-external\u002FREADME.md — External loop architecture\n- @$AIWG_ROOT\u002F${CLAUDE_PLUGIN_ROOT}\u002FREADME.md — Al documentation\n",{"name":5,"namespace":57,"platforms":58,"commandHint":60,"description":7},"aiwg",[59],"all",{"model":44,"category":51,"modelRole":36,"modelTier":61,"platforms":62,"allowedTools":64,"argumentHint":65},"economy",[63,45,43],"claude-code","Read, Write","\u003Cshow|set|reset|preset> [key] [value]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Fagent-loop\u002Fskills\u002Fralph-config",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-11 08:11:25",{"source":8,"skillName":5,"commands":77,"prompt":87,"zipAvailable":88},[78,81,84],{"tool":79,"command":80},"npx","npx skills add jmagly\u002Faiwg --skill ralph-config",{"tool":82,"command":83},"bunx","bunx skills add jmagly\u002Faiwg --skill ralph-config",{"tool":85,"command":86},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill ralph-config","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fagent-loop\u002Fskills\u002Fralph-config\u002FSKILL.md",true,[],[91,118,141,147,154,168],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":98,"publishedAt":52},"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",[97],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[99,100,101,32,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","Bash","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":128,"publishedAt":52},"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",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[129,130,131,32,132,106,133,134,108,135,99,136,110,137,138,113,114,139,140,42],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":142,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":52},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[145],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[101,99,100,109,32,117,104,103,112,105,106,107,108,116,110,111,102,113,114,115],{"skillNo":148,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":153,"publishedAt":52},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[151,152],{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[130,129,113,132,106,133,108,131,99,136,110,137,138,32,114,135,134,139,140,42],{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":161,"publishedAt":52},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[160],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[162,163,164,165,166,167],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":175,"publishedAt":52},"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",[174],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[176,177,137,178,163],"pi","pi local","duplicate"]