[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CB0T87KP88EP97T286M34T":3,"skill-same:01M6CB0T87KP88EP97T286M34T":85},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6CB0T87KP88EP97T286M34T","snapshot",null,"Capture, list, show, or replay point-in-time workflow snapshots so execution state can be preserved and reproduced","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\u002Futils\u002Fskills\u002Fsnapshot\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34],"workflow","state","execution","capture","list","snapshots","replay","show","time","can","point","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: snapshot\nplatforms: [all]\ndescription: Capture, list, show, or replay point-in-time workflow snapshots so execution state can be preserved and reproduced\n---\n\n# Snapshot\n\nYou capture, list, show, or replay point-in-time workflow snapshots so that any execution state can be preserved and reproduced exactly.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"freeze this state\" → capture a snapshot\n- \"show me all snapshots\" → list snapshots\n- \"what's in snapshot X\" → show snapshot details\n- \"run from that snapshot\" → replay a snapshot\n- \"save current state\" → capture a snapshot\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Capture (named) | \"snapshot this as baseline-v1\" | Run `aiwg snapshot capture --name baseline-v1` |\n| Capture (anonymous) | \"take a snapshot\" | Run `aiwg snapshot capture` |\n| List | \"what snapshots exist?\" | Run `aiwg snapshot list` |\n| Show details | \"show snapshot abc123\" | Run `aiwg snapshot show abc123` |\n| Replay | \"replay snapshot baseline-v1\" | Run `aiwg snapshot replay baseline-v1` |\n\n## Behavior\n\nWhen triggered:\n\n1. **Extract intent**:\n   - Which subcommand: `capture`, `list`, `show`, or `replay`?\n   - Is a name or snapshot ID provided?\n   - For replay, does the user want to preview first or go directly?\n\n2. **Run the appropriate subcommand**:\n\n   ```bash\n   # Capture — anonymous\n   aiwg snapshot capture\n\n   # Capture — named\n   aiwg snapshot capture --name \u003Cname>\n\n   # List all snapshots\n   aiwg snapshot list\n\n   # Show details of a specific snapshot\n   aiwg snapshot show \u003Cid>\n\n   # Replay from a snapshot\n   aiwg snapshot replay \u003Cid>\n   ```\n\n3. **Snapshot contents**: Each snapshot records:\n   - AIWG version at capture time\n   - Installed frameworks and their versions\n   - Active execution mode and seed\n   - Artifact checksums (`.aiwg\u002F` directory)\n   - Timestamp and optional name\n\n4. **Storage**: Snapshots are stored in `.aiwg\u002Fsnapshots\u002F` as JSON files with a short content-addressed ID.\n\n5. **Report the result** — on capture, confirm the snapshot ID and name; on list, summarize available snapshots; on replay, confirm what is being restored.\n\n## Examples\n\n### Example 1: Capture a named snapshot\n\n**User**: \"Take a snapshot before we start the architecture phase — call it pre-arch\"\n\n**Extraction**: Capture subcommand, name `pre-arch`\n\n**Action**:\n```bash\naiwg snapshot capture --name pre-arch\n```\n\n**Response**: \"Snapshot `pre-arch` captured (ID: `snap_a3f92d`). Recorded AIWG v2026.3.15, 2 frameworks, execution mode `strict`, seed 42, and checksums for 14 artifacts. Stored at `.aiwg\u002Fsnapshots\u002Fsnap_a3f92d.json`.\"\n\n### Example 2: List available snapshots\n\n**User**: \"What snapshots do we have?\"\n\n**Extraction**: List subcommand\n\n**Action**:\n```bash\naiwg snapshot list\n```\n\n**Response**:\n```\nID            Name           Date                  AIWG Version\nsnap_a3f92d   pre-arch       2026-03-28 14:22:05   2026.3.15\nsnap_c71b4e   post-sad       2026-03-29 09:11:42   2026.3.15\nsnap_00f813   (unnamed)      2026-03-30 16:05:17   2026.3.15\n```\n\n### Example 3: Show snapshot details\n\n**User**: \"What's in snapshot post-sad?\"\n\n**Extraction**: Show subcommand, ID\u002Fname `post-sad`\n\n**Action**:\n```bash\naiwg snapshot show post-sad\n```\n\n**Response**: \"Snapshot `post-sad` (ID: `snap_c71b4e`) captured 2026-03-29 09:11:42. AIWG v2026.3.15, frameworks: sdlc-complete v2026.3.15, ring-methodology v2026.3.10. Execution mode: `strict`, seed: 42. 18 artifacts checksummed.\"\n\n### Example 4: Replay a snapshot\n\n**User**: \"Replay from pre-arch\"\n\n**Extraction**: Replay subcommand, name `pre-arch`\n\n**Action**:\n```bash\naiwg snapshot replay pre-arch\n```\n\n**Response**: \"Restoring from snapshot `pre-arch` (snap_a3f92d). AIWG v2026.3.15 verified. Execution mode reset to `strict`, seed 42. Artifact state restored. Ready to re-run the workflow from this point.\"\n\n## Clarification Prompts\n\nIf the user's intent is ambiguous:\n\n- \"Should I capture a new snapshot, list existing ones, or replay a specific one?\"\n- \"Which snapshot would you like to replay? Run `aiwg snapshot list` to see what's available.\"\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Fsubcommands.ts — Snapshot command handler\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fcheckpoint\u002FSKILL.md — Lightweight mid-workflow checkpoints (compare to snapshots)\n","# Snapshot\n\nYou capture, list, show, or replay point-in-time workflow snapshots so that any execution state can be preserved and reproduced exactly.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"freeze this state\" → capture a snapshot\n- \"show me all snapshots\" → list snapshots\n- \"what's in snapshot X\" → show snapshot details\n- \"run from that snapshot\" → replay a snapshot\n- \"save current state\" → capture a snapshot\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Capture (named) | \"snapshot this as baseline-v1\" | Run `aiwg snapshot capture --name baseline-v1` |\n| Capture (anonymous) | \"take a snapshot\" | Run `aiwg snapshot capture` |\n| List | \"what snapshots exist?\" | Run `aiwg snapshot list` |\n| Show details | \"show snapshot abc123\" | Run `aiwg snapshot show abc123` |\n| Replay | \"replay snapshot baseline-v1\" | Run `aiwg snapshot replay baseline-v1` |\n\n## Behavior\n\nWhen triggered:\n\n1. **Extract intent**:\n   - Which subcommand: `capture`, `list`, `show`, or `replay`?\n   - Is a name or snapshot ID provided?\n   - For replay, does the user want to preview first or go directly?\n\n2. **Run the appropriate subcommand**:\n\n   ```bash\n   # Capture — anonymous\n   aiwg snapshot capture\n\n   # Capture — named\n   aiwg snapshot capture --name \u003Cname>\n\n   # List all snapshots\n   aiwg snapshot list\n\n   # Show details of a specific snapshot\n   aiwg snapshot show \u003Cid>\n\n   # Replay from a snapshot\n   aiwg snapshot replay \u003Cid>\n   ```\n\n3. **Snapshot contents**: Each snapshot records:\n   - AIWG version at capture time\n   - Installed frameworks and their versions\n   - Active execution mode and seed\n   - Artifact checksums (`.aiwg\u002F` directory)\n   - Timestamp and optional name\n\n4. **Storage**: Snapshots are stored in `.aiwg\u002Fsnapshots\u002F` as JSON files with a short content-addressed ID.\n\n5. **Report the result** — on capture, confirm the snapshot ID and name; on list, summarize available snapshots; on replay, confirm what is being restored.\n\n## Examples\n\n### Example 1: Capture a named snapshot\n\n**User**: \"Take a snapshot before we start the architecture phase — call it pre-arch\"\n\n**Extraction**: Capture subcommand, name `pre-arch`\n\n**Action**:\n```bash\naiwg snapshot capture --name pre-arch\n```\n\n**Response**: \"Snapshot `pre-arch` captured (ID: `snap_a3f92d`). Recorded AIWG v2026.3.15, 2 frameworks, execution mode `strict`, seed 42, and checksums for 14 artifacts. Stored at `.aiwg\u002Fsnapshots\u002Fsnap_a3f92d.json`.\"\n\n### Example 2: List available snapshots\n\n**User**: \"What snapshots do we have?\"\n\n**Extraction**: List subcommand\n\n**Action**:\n```bash\naiwg snapshot list\n```\n\n**Response**:\n```\nID            Name           Date                  AIWG Version\nsnap_a3f92d   pre-arch       2026-03-28 14:22:05   2026.3.15\nsnap_c71b4e   post-sad       2026-03-29 09:11:42   2026.3.15\nsnap_00f813   (unnamed)      2026-03-30 16:05:17   2026.3.15\n```\n\n### Example 3: Show snapshot details\n\n**User**: \"What's in snapshot post-sad?\"\n\n**Extraction**: Show subcommand, ID\u002Fname `post-sad`\n\n**Action**:\n```bash\naiwg snapshot show post-sad\n```\n\n**Response**: \"Snapshot `post-sad` (ID: `snap_c71b4e`) captured 2026-03-29 09:11:42. AIWG v2026.3.15, frameworks: sdlc-complete v2026.3.15, ring-methodology v2026.3.10. Execution mode: `strict`, seed: 42. 18 artifacts checksummed.\"\n\n### Example 4: Replay a snapshot\n\n**User**: \"Replay from pre-arch\"\n\n**Extraction**: Replay subcommand, name `pre-arch`\n\n**Action**:\n```bash\naiwg snapshot replay pre-arch\n```\n\n**Response**: \"Restoring from snapshot `pre-arch` (snap_a3f92d). AIWG v2026.3.15 verified. Execution mode reset to `strict`, seed 42. Artifact state restored. Ready to re-run the workflow from this point.\"\n\n## Clarification Prompts\n\nIf the user's intent is ambiguous:\n\n- \"Should I capture a new snapshot, list existing ones, or replay a specific one?\"\n- \"Which snapshot would you like to replay? Run `aiwg snapshot list` to see what's available.\"\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Fsubcommands.ts — Snapshot command handler\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fcheckpoint\u002FSKILL.md — Lightweight mid-workflow checkpoints (compare to snapshots)\n",{"name":5,"namespace":40,"platforms":41,"description":7},"aiwg",[42],"all","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Fsnapshot",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-14 02:10:01",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add jmagly\u002Faiwg --skill snapshot",{"tool":59,"command":60},"bunx","bunx skills add jmagly\u002Faiwg --skill snapshot",{"tool":62,"command":63},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill snapshot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Fsnapshot\u002FSKILL.md",true,[67,73,77,81],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"github.md","REFERENCE","参考文档",4222,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fcode-review-toolkit\u002F.pi\u002Fskills\u002Fautofix\u002Fgithub.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"github.md.AGENTS.md",315,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fcode-review-toolkit\u002F.pi\u002Fskills\u002Fautofix\u002Fgithub.md.AGENTS.md",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"SKILL.agent.md",4178,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fcode-review-toolkit\u002F.pi\u002Fskills\u002Fautofix\u002FSKILL.agent.md",{"path":82,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":83,"sourceHtmlUrl":84},"SKILL.md.AGENTS.md",385,"https:\u002F\u002Fgithub.com\u002FBlackBeltTechnology\u002Fpi-agent-dashboard\u002Fblob\u002Fdevelop\u002Fpackages\u002Fcode-review-toolkit\u002F.pi\u002Fskills\u002Fautofix\u002FSKILL.md.AGENTS.md",[86,114,138,144,151,165],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":93,"publishedAt":35},"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",[92],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"host","host hardening","hardening","read","re","recommendations","remediation","plan","port","verification","Bash","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":124,"publishedAt":35},"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",[120,123],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[125,126,127,97,128,102,129,130,104,131,94,132,106,133,134,109,110,135,136,137],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":139,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":35},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[142],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[96,94,95,105,97,113,100,99,108,101,102,103,104,112,106,107,98,109,110,111],{"skillNo":145,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":150,"publishedAt":35},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[148,149],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[126,125,109,128,102,129,104,127,94,132,106,133,134,97,110,131,130,135,136,137],{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":158,"publishedAt":35},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[157],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[159,160,161,162,163,164],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":172,"publishedAt":35},"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",[171],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[173,174,133,175,160],"pi","pi local","duplicate"]