{
  "schemaVersion": 1,
  "source": {
    "repository": "https://github.com/Rosetears520/aili-workflows.git",
    "commit": "a69f3149d8f1db81726128c2819a3ccc954b9ccc",
    "tree": "a3ae306a306ebaddc0c942248b3fab455760272a",
    "contentHash": "cce823fc0cb0b1c4d30a5b7d1a3ba8c899de088dc63ade4712b613663bb22ce5",
    "release": {
      "package": "rose-aili",
      "version": "0.4.7",
      "npmGitHead": "a69f3149d8f1db81726128c2819a3ccc954b9ccc",
      "tarballSha256": "0a72de82e467bcfc386e982c33db5aa153b989a136bbb0c2423156e3c41f07a0",
      "protocols": {
        "agentSelection": {
          "protocol": "aili-agent-selection/v1",
          "path": ".agents/skills/parallel-subagent-dispatch/references/agent-selection-matrix.md",
          "sha256": "db35b7c17ba76984d9ee2d69931dfbce80c6413b90953899a9ae5cc671855224",
          "bytes": 8833
        },
        "formalTaskBoard": {
          "protocol": "aili-task-board/v1",
          "path": ".agents/skills/aili-delivery-flow/references/formal-task-board.md",
          "sha256": "3512a280b8f854da27c74af77c72709a62187be4592d53b2d7717f565975c703",
          "bytes": 10300
        }
      },
      "canonicalSpecialists": [
        "code-scout",
        "doc-researcher",
        "web-researcher",
        "spec-miner",
        "plan-auditor",
        "solution-architect",
        "implementer",
        "test-engineer",
        "test-coverage-reviewer",
        "pr-test-analyzer",
        "code-reviewer",
        "security-auditor",
        "silent-failure-reviewer",
        "convergence-reviewer",
        "browser-qa-runner",
        "e2e-artifact-runner",
        "web-performance-auditor",
        "ai-regression-scout",
        "agent-evaluator",
        "opensource-sanitizer"
      ]
    }
  },
  "allowedStatuses": [
    "native",
    "adapted",
    "optional",
    "blocked"
  ],
  "records": [
    {
      "name": "academic-paper-review",
      "sourcePath": ".agents/skills/academic-paper-review",
      "sourceHash": "9536c0913c9b0d5ed5bb862c921c2f800fdbf735ac0e926e80a1d42f24346f4d",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "6eebd32010b11e4d64537549c313efa6e466fad7801cbf208e7d70a25d6630ca",
          "bytes": 3959
        }
      ],
      "triggers": {
        "description": "Review a single academic paper, preprint, DOI, arXiv link, or user-provided PDF/text with source-grounded critique. Use for paper summaries, methodology review, novelty checks, reproducibility concerns, or \"review this paper\" requests; do not use for multi-paper surveys, systematic literature reviews, citation management, or implementation from a paper.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                83
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "ai-regression-scout",
      "sourcePath": ".agents/skills/ai-regression-scout",
      "sourceHash": "05018edd3bcc23a77bc78b00219bcce0d261014dee6c885545cd8e18d065e529",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "84b3da6f5bc037ac761840fdea159763dad5c8cd15afad4b650f69d703c59627",
          "bytes": 1262
        }
      ],
      "triggers": {
        "description": "AI regression scouting routing. Use when agents, prompts, skills, model/tool routing, harness fixtures, or generated-output expectations change and need regression scenarios; do not use for ordinary product-code regressions.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "aili-delivery-flow",
      "sourcePath": ".agents/skills/aili-delivery-flow",
      "sourceHash": "03b21b6fccabc3e2f18495443a1435c235be2ee74a2374c85adf634228648404",
      "files": [
        {
          "path": "references/artifact-contracts.md",
          "sha256": "d351dfb8d935e763c56b8665ac61cb1edd252f837f4b312e0beb8a32940ae7f3",
          "bytes": 18515
        },
        {
          "path": "references/backend-routing.md",
          "sha256": "882b02d587e2334723ac1e9543947d2af1843badb4c970a87d51e880406e1771",
          "bytes": 9989
        },
        {
          "path": "references/build-execution-loop.md",
          "sha256": "eb4bea2568237cafac40ebd547b256a522eb8a7de9bb34e9dab1a4906c5701a0",
          "bytes": 15373
        },
        {
          "path": "references/build-goal-mode.md",
          "sha256": "8606bd638bfab08a9f6148063b3c992b4c008f0334439173c4ee4221187e688a",
          "bytes": 252
        },
        {
          "path": "references/direct-vs-delegated-work.md",
          "sha256": "d6d85e63087b85cc434cf8fe9cecb30ba0126b2225622f2262c7d865d8b629b4",
          "bytes": 4253
        },
        {
          "path": "references/formal-task-board.md",
          "sha256": "3512a280b8f854da27c74af77c72709a62187be4592d53b2d7717f565975c703",
          "bytes": 10300
        },
        {
          "path": "references/implementation-packages.md",
          "sha256": "605830d5a568b411c0913c0947aff99120f6897a382ecc2239dfd7df7b5c1e99",
          "bytes": 9661
        },
        {
          "path": "references/lifecycle.md",
          "sha256": "016f7c6e38ab8564c5d78d860f2c089fcb53162463728698c67921ceffcd0000",
          "bytes": 26024
        },
        {
          "path": "references/protocols/acceptance-test-plan.md",
          "sha256": "6cadf58ccea4f00ab13bb921c5ca68d202686c54df2aded65af2a0b1f6767a0e",
          "bytes": 443
        },
        {
          "path": "references/protocols/alignment-questionnaire.md",
          "sha256": "950e7ae7dc432ee4fb697904cdd2b2496a91e8bef38261a7f76ed81c6651fb6e",
          "bytes": 186
        },
        {
          "path": "references/protocols/closeout-report.md",
          "sha256": "c668d79d80fd0e24a4d6f78fc18c7ac9fbf8d0c68c70787a9ad7fe28e740f5f9",
          "bytes": 2451
        },
        {
          "path": "references/protocols/compact-evidence-pack.md",
          "sha256": "43b48584ca6742f6bcb7dc0cc58e014d5d554ac375df65c1f94099301386ef32",
          "bytes": 2592
        },
        {
          "path": "references/protocols/idea-brief.md",
          "sha256": "f66d3f64de064a553f197b3f2e68d45157fbf610d8ec665b812fffb12572dd26",
          "bytes": 194
        },
        {
          "path": "references/protocols/implementation-package.md",
          "sha256": "79f4effe1c3fdc0ebf6b54490e784b8aceb8011403b5460385a45d3059554a95",
          "bytes": 4857
        },
        {
          "path": "references/protocols/research-evidence-pack.md",
          "sha256": "7c38b3bfa7bff9d3be39a0b963cada54d1e7f8ba92471eb6089ce6ed827ac192",
          "bytes": 820
        },
        {
          "path": "references/protocols/review-report.md",
          "sha256": "b4703360323807a6b32892ddbaed7023fa17c6137128ffc84b542dc892f1c2f5",
          "bytes": 1744
        },
        {
          "path": "references/protocols/spec-draft.md",
          "sha256": "e000fa4d59d2c6621b9f90b1ec9ac54827c4c7fd51c24d268424de72605f5364",
          "bytes": 196
        },
        {
          "path": "references/protocols/subagent-result.md",
          "sha256": "a0d8c3882c7a1bf56f76df5d287e85a23c15f3d62cd65c24fbc48be0b6773004",
          "bytes": 4036
        },
        {
          "path": "references/protocols/subagent-task-packet.md",
          "sha256": "32e9c009dd9d58f4651d36bc42223be0501d7d32b37d0b57e5ab724e37726881",
          "bytes": 3717
        },
        {
          "path": "references/protocols/worktree-context.md",
          "sha256": "b6bf4a6a4e5392a9bb7c6817c7293760d67865c825588b483a99a4055df62f3b",
          "bytes": 10721
        },
        {
          "path": "references/questionnaire-policy.md",
          "sha256": "e0f753970d91c991e711d720dab195ca28088bab0cfec5516c2a6c96db0da732",
          "bytes": 7482
        },
        {
          "path": "references/review-repair-loop.md",
          "sha256": "106dff35c80a3fe3140475e3911cfca0cb8a65354d562982589d7a82db6a87b0",
          "bytes": 2546
        },
        {
          "path": "references/test-document-policy.md",
          "sha256": "83b02adadbef705a4e6c74704bc74d019bb8e9b07587b819de1778ac4067e311",
          "bytes": 3443
        },
        {
          "path": "SKILL.md",
          "sha256": "4fe6ef6221b78141419b45fd67c3ec424a40146fac11a39ae42a2874f1cede8b",
          "bytes": 16319
        }
      ],
      "triggers": {
        "description": "Run the AILI delivery lifecycle from natural-language IDEATE, DEFINE, BUILD, and SHIP intent or the equivalent slash shortcuts; use for idea shaping, spec/test definition, bounded BUILD package queues, review-repair closeout, or adapter routing without exposing internal stage commands.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "references/backend-routing.md",
              "lines": [
                26,
                30,
                42
              ]
            },
            {
              "path": "references/build-execution-loop.md",
              "lines": [
                11
              ]
            },
            {
              "path": "references/implementation-packages.md",
              "lines": [
                46
              ]
            },
            {
              "path": "references/lifecycle.md",
              "lines": [
                21,
                116
              ]
            },
            {
              "path": "references/protocols/implementation-package.md",
              "lines": [
                62
              ]
            },
            {
              "path": "references/protocols/review-report.md",
              "lines": [
                3
              ]
            },
            {
              "path": "references/protocols/subagent-result.md",
              "lines": [
                64
              ]
            },
            {
              "path": "references/protocols/subagent-task-packet.md",
              "lines": [
                35,
                38
              ]
            },
            {
              "path": "references/protocols/worktree-context.md",
              "lines": [
                48,
                88,
                92
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                54,
                112
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/artifact-contracts.md",
              "lines": [
                18,
                24,
                36,
                44,
                50,
                52,
                68,
                114,
                122,
                124,
                133,
                134,
                135
              ]
            },
            {
              "path": "references/backend-routing.md",
              "lines": [
                8,
                22,
                23,
                24,
                25,
                30,
                31
              ]
            },
            {
              "path": "references/build-execution-loop.md",
              "lines": [
                9,
                19,
                27,
                113
              ]
            },
            {
              "path": "references/direct-vs-delegated-work.md",
              "lines": [
                11,
                17,
                28,
                40
              ]
            },
            {
              "path": "references/formal-task-board.md",
              "lines": [
                1,
                3,
                7,
                11,
                13,
                15,
                25,
                26,
                27,
                44,
                46,
                85,
                87,
                89,
                91,
                99,
                116,
                118,
                147
              ]
            },
            {
              "path": "references/implementation-packages.md",
              "lines": [
                7,
                15,
                19,
                24,
                30,
                31,
                33,
                46,
                48,
                49
              ]
            },
            {
              "path": "references/lifecycle.md",
              "lines": [
                7,
                39,
                41,
                49,
                119,
                123,
                125
              ]
            },
            {
              "path": "references/protocols/acceptance-test-plan.md",
              "lines": [
                8
              ]
            },
            {
              "path": "references/protocols/closeout-report.md",
              "lines": [
                28,
                78,
                79
              ]
            },
            {
              "path": "references/protocols/compact-evidence-pack.md",
              "lines": [
                40
              ]
            },
            {
              "path": "references/protocols/implementation-package.md",
              "lines": [
                5,
                7,
                23,
                41,
                43,
                44,
                47,
                62
              ]
            },
            {
              "path": "references/protocols/review-report.md",
              "lines": [
                3
              ]
            },
            {
              "path": "references/protocols/subagent-result.md",
              "lines": [
                3,
                57,
                64,
                67
              ]
            },
            {
              "path": "references/protocols/subagent-task-packet.md",
              "lines": [
                1,
                34,
                35,
                38
              ]
            },
            {
              "path": "references/protocols/worktree-context.md",
              "lines": [
                5,
                80,
                84,
                88
              ]
            },
            {
              "path": "references/questionnaire-policy.md",
              "lines": [
                14,
                24,
                35
              ]
            },
            {
              "path": "references/review-repair-loop.md",
              "lines": [
                5,
                6
              ]
            },
            {
              "path": "references/test-document-policy.md",
              "lines": [
                8,
                17
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                18,
                52,
                54,
                92,
                94,
                95,
                99,
                121
              ]
            }
          ]
        },
        {
          "id": "tool.symbol-graph",
          "disposition": "mapped through repository graph capabilities or optional",
          "occurrences": [
            {
              "path": "references/artifact-contracts.md",
              "lines": [
                44
              ]
            },
            {
              "path": "references/build-execution-loop.md",
              "lines": [
                99
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                56
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "references/artifact-contracts.md",
              "lines": [
                20,
                56,
                84,
                85,
                91,
                104,
                108,
                113,
                114,
                115,
                133
              ]
            },
            {
              "path": "references/backend-routing.md",
              "lines": [
                7,
                16,
                17,
                20,
                21,
                22,
                26,
                31,
                36,
                40,
                42
              ]
            },
            {
              "path": "references/build-execution-loop.md",
              "lines": [
                113
              ]
            },
            {
              "path": "references/formal-task-board.md",
              "lines": [
                13,
                14
              ]
            },
            {
              "path": "references/implementation-packages.md",
              "lines": [
                49
              ]
            },
            {
              "path": "references/lifecycle.md",
              "lines": [
                11,
                62,
                70,
                73,
                116,
                125
              ]
            },
            {
              "path": "references/protocols/closeout-report.md",
              "lines": [
                7,
                8
              ]
            },
            {
              "path": "references/protocols/compact-evidence-pack.md",
              "lines": [
                40
              ]
            },
            {
              "path": "references/protocols/implementation-package.md",
              "lines": [
                46
              ]
            },
            {
              "path": "references/protocols/review-report.md",
              "lines": [
                7
              ]
            },
            {
              "path": "references/protocols/subagent-result.md",
              "lines": [
                35
              ]
            },
            {
              "path": "references/questionnaire-policy.md",
              "lines": [
                3,
                20,
                32,
                41
              ]
            },
            {
              "path": "references/test-document-policy.md",
              "lines": [
                16
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                110,
                112
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/artifact-contracts.md",
              "lines": [
                52,
                69,
                130
              ]
            },
            {
              "path": "references/backend-routing.md",
              "lines": [
                38
              ]
            },
            {
              "path": "references/build-execution-loop.md",
              "lines": [
                91,
                99
              ]
            },
            {
              "path": "references/direct-vs-delegated-work.md",
              "lines": [
                44
              ]
            },
            {
              "path": "references/formal-task-board.md",
              "lines": [
                145
              ]
            },
            {
              "path": "references/implementation-packages.md",
              "lines": [
                42,
                50
              ]
            },
            {
              "path": "references/lifecycle.md",
              "lines": [
                7,
                34,
                52,
                96,
                110,
                119,
                120,
                121
              ]
            },
            {
              "path": "references/protocols/closeout-report.md",
              "lines": [
                64
              ]
            },
            {
              "path": "references/protocols/subagent-result.md",
              "lines": [
                63
              ]
            },
            {
              "path": "references/protocols/subagent-task-packet.md",
              "lines": [
                39
              ]
            },
            {
              "path": "references/protocols/worktree-context.md",
              "lines": [
                92
              ]
            },
            {
              "path": "references/questionnaire-policy.md",
              "lines": [
                32
              ]
            },
            {
              "path": "references/test-document-policy.md",
              "lines": [
                24
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                72,
                85,
                95,
                99,
                108
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "subagent.dispatch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "src/runtime/persistent-agents/production.ts",
      "verification": [
        "snapshot-hash:verified",
        "npm run verify:roles",
        "vitest run tests/unit/persistent-agent-task.test.ts tests/unit/persistent-agent-hub.test.ts tests/unit/persistent-agent-policy.test.ts",
        "vitest run tests/integration/persistent-agent-runtime.test.ts tests/integration/persistent-agent-production.test.ts tests/integration/persistent-agent-task-collision.test.ts tests/integration/package-runtime.test.ts",
        "vitest run tests/unit/persistent-agent-task-registration.test.ts",
        "npm run test:doctor"
      ],
      "status": "adapted",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: subagent.dispatch.",
      "unverified": []
    },
    {
      "name": "android-native-dev",
      "sourcePath": ".agents/skills/android-native-dev",
      "sourceHash": "925bd1b4c203f7ce78cbeab8c04eafd84c1ad306be622d24260e7e14e22ae8a1",
      "files": [
        {
          "path": "references/accessibility.md",
          "sha256": "80f6f5950883c9ddbfe14facdc7690ef58141acaf9796d19a8f60a7600a1c792",
          "bytes": 5732
        },
        {
          "path": "references/adaptive-screens.md",
          "sha256": "509b0a9fb7c264675b2d78b3505d779bd1a68516ccd51146c8dfcbb50f4c0968",
          "bytes": 6098
        },
        {
          "path": "references/design-style-guide.md",
          "sha256": "bc7cdf92ddb8d745538603f3701de634b3793369d503728ddce7457f60ee37c3",
          "bytes": 10126
        },
        {
          "path": "references/functional-requirements.md",
          "sha256": "732b91d2b7091914358ed8eb752d7203fef302188c104d29bfade32df5659643",
          "bytes": 6175
        },
        {
          "path": "references/motion-system.md",
          "sha256": "781edd94ae6d107719adbd9ae199d358f545fa00a052fd8015842477c4d717bb",
          "bytes": 5443
        },
        {
          "path": "references/performance-stability.md",
          "sha256": "ac3fc3776add17cfb0f40ee57029736c480f70e2672b4bbfcdd8c3896fe2c422",
          "bytes": 6334
        },
        {
          "path": "references/privacy-security.md",
          "sha256": "324d84c3d6c955854cc6095f4c6a86cd4b43fe7d28980f5d453105c625ab8063",
          "bytes": 6667
        },
        {
          "path": "references/testing.md",
          "sha256": "a6d2cead93bc43b22e64fe5208d284fd8931474d0c6d48664f1cd009a7b43baa",
          "bytes": 17568
        },
        {
          "path": "references/visual-design.md",
          "sha256": "39d30ddf2e11c1659b1fd3515cdb3d1fa41ab31268cc615456ce62f407ae3a9f",
          "bytes": 7523
        },
        {
          "path": "SKILL.md",
          "sha256": "1502b921b476bcac55b036634c155c25e0173654d7887ec2873f3a436ccff476",
          "bytes": 25302
        }
      ],
      "triggers": {
        "description": "Android native Kotlin/Compose app development, Material 3 UI, accessibility, and Gradle builds.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/design-style-guide.md",
              "lines": [
                47,
                246
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/functional-requirements.md",
              "lines": [
                57,
                137
              ]
            },
            {
              "path": "references/performance-stability.md",
              "lines": [
                91,
                101,
                113,
                115,
                124,
                131,
                161,
                197,
                210
              ]
            },
            {
              "path": "references/privacy-security.md",
              "lines": [
                69,
                73,
                74,
                77,
                79,
                90,
                92,
                108,
                181,
                186,
                207,
                234,
                235
              ]
            },
            {
              "path": "references/testing.md",
              "lines": [
                158,
                164,
                256
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                127,
                193,
                204,
                317
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "api-and-interface-design",
      "sourcePath": ".agents/skills/api-and-interface-design",
      "sourceHash": "4f75550c0dd4efbe548d84561f120dbb4149d41595341c89f845e593fd7ef602",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "4e88a35fbe47ab36e2c8c03623d88019b66a88eb7cdef74fd341de4a91006607",
          "bytes": 12588
        }
      ],
      "triggers": {
        "description": "Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                65,
                66,
                69,
                71,
                72,
                75,
                121,
                128,
                129,
                183,
                184,
                185,
                186,
                188,
                189,
                263,
                280
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "browser-qa",
      "sourcePath": ".agents/skills/browser-qa",
      "sourceHash": "59715d261ab5ad3c4c70d9c9e276aecbcc094e39714ef658b258ea09707afd4a",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "53dbb34be917a5688c0d170afdef57755d463016287b970f464d2d072144899c",
          "bytes": 2300
        }
      ],
      "triggers": {
        "description": "Route an explicitly requested independent/delegated browser QA assignment or durable E2E evidence need; do not trigger for direct Playwright/DOM/console/network inspection, ordinary UI implementation, backend-only work, or production-mutating flows.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                20
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "browser.qa"
      ],
      "optionalCapabilities": [
        "artifact.store"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:browser-qa",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The browser-qa capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "browser-testing-with-devtools",
      "sourcePath": ".agents/skills/browser-testing-with-devtools",
      "sourceHash": "09640c197772de2458f3eee26a4fc6c2df1f5d817154c85fbdc5e498fe03f3ec",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "3d7672c6ea3d441191fc1538ab7b9e53aa4561239d4333f3cf66e7f9432881e9",
          "bytes": 17394
        }
      ],
      "triggers": {
        "description": "Perform direct, bounded browser inspection through the `browser.qa` capability when the user requests runtime UI evidence or one browser-specific claim needs DOM/accessibility/console/network/visual verification; do not trigger for every UI change, backend work, delegated QA, or durable E2E artifact routing.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                80,
                171,
                179,
                186,
                187,
                192,
                196,
                199,
                205,
                215
              ]
            }
          ]
        },
        {
          "id": "tool.browser",
          "disposition": "mapped through browser.qa or optional",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                10,
                22
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                10,
                14,
                24,
                26,
                35,
                52,
                59,
                65,
                68,
                79,
                81,
                92,
                127,
                131,
                135,
                159,
                163,
                189,
                194,
                198,
                203,
                233,
                236,
                248,
                294,
                300,
                304,
                307,
                316,
                323
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "browser.qa"
      ],
      "optionalCapabilities": [
        "artifact.store"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:browser-qa",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The browser-qa capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "build-failure-repair",
      "sourcePath": ".agents/skills/build-failure-repair",
      "sourceHash": "d8e12d5e385121071d8cb111bdba9ce4193f12ca1c9417a75d37979055a5cd5b",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "a764d32506d4af56bb14b1265257bc78d25436445a54f8e9964c30649bdf4102",
          "bytes": 3595
        }
      ],
      "triggers": {
        "description": "Repair one concrete reproducible build, typecheck, lint, test, packaging, or CI failure with a bounded root-cause-first loop; do not trigger for runtime bugs without a failing gate, broad test strategy, dependency/toolchain migration, or generic implementation.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                8,
                25
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "chart-visualization",
      "sourcePath": ".agents/skills/chart-visualization",
      "sourceHash": "600826882792374109a3374f296a8dbaaeb5a4928a3a33b0c6bcc8e0e60a2fb6",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "9775501cb88fe009b37eb06db3c9a1978e56f7cf45e3c7e93f7194ade2492f96",
          "bytes": 3123
        }
      ],
      "triggers": {
        "description": "Design, critique, or specify honest charts and data visualizations from known data and audience needs. Use for chart selection, misleading-chart audits, accessibility, dashboard visuals, or \"make this data easier to understand\"; do not use for raw data analysis, PPT deck generation, spreadsheet surgery, or fabricated chart data.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                73
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "ci-cd-and-automation",
      "sourcePath": ".agents/skills/ci-cd-and-automation",
      "sourceHash": "9e78f2a70a107f7e2b438e24acb0917fe2ae29578ce33df39c0d379b1b9e4502",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "a0e20eb62f117c43d8023e3107999ee119405e2f05913c66e4f200395d76738a",
          "bytes": 13583
        }
      ],
      "triggers": {
        "description": "Configure or modify concrete CI/CD pipelines, jobs, quality gates, test runners, or deployment automation; do not trigger merely because an existing CI gate failed or ordinary source code needs repair.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                10,
                12,
                327,
                334
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                21,
                66,
                136,
                137,
                142,
                159,
                160,
                166,
                170,
                350
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "code-review-and-quality",
      "sourcePath": ".agents/skills/code-review-and-quality",
      "sourceHash": "2fa0bd0ad416277561b9858d21c1562d5574c79e74d2cedfaf8130d43311a892",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "c3552b8b44dde7c29ee2d40def0c08669130cf28ee9ddd728604e5e43c9c1698",
          "bytes": 17942
        }
      ],
      "triggers": {
        "description": "Conduct one bounded evidence-grounded code review when the user explicitly requests review or ROSE names a concrete unresolved correctness/quality risk; do not trigger automatically after implementation, before every merge, for every bug fix/refactor, or as a completion gate.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                32,
                138,
                238,
                297
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                283
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "code-review-quality-gates",
      "sourcePath": ".agents/skills/code-review-quality-gates",
      "sourceHash": "ee160ab655b8025e2b33efdf3fe337b2fab087865a6b9436efe73fe2d099024a",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "f94c310b07400eeb7520427dc0290a2a2118deb6287aaeeda9a7fba282618454",
          "bytes": 8217
        }
      ],
      "triggers": {
        "description": "Code-review quality gate and test-enhancement rubric. Use when ROSE needs sharper review output contracts, severity and risk prioritization, evidence anchors, negative review cases, fixture or golden-output drift guidance, or a Chinese review report profile; do not use as a duplicate code-review agent or final PASS authority.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                31,
                119,
                121
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                39,
                71
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "code-simplification",
      "sourcePath": ".agents/skills/code-simplification",
      "sourceHash": "a728a45c2fd163fd2c920548fea1e9148987e549397a2e761fe227fbf99a29aa",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "0d54f35654abfde91a177f4efe4e3d4054732aaccbf00b717e96062e36e69064",
          "bytes": 16996
        }
      ],
      "triggers": {
        "description": "Simplify a bounded code area when the user explicitly requests behavior-preserving refactoring or a named complexity/readability problem is the accepted task; do not trigger automatically after implementation, during every review, for adjacent cleanup, or when behavior may change.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                17,
                208,
                358
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "comment-accuracy-review",
      "sourcePath": ".agents/skills/comment-accuracy-review",
      "sourceHash": "10061e20ffae2f0c18079cf6d8f212615e81f4cc2f7e64ddfb85546673070a56",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "5d6cfa27fa3b1a829ca986ef64520978fbd8e851c3336bba18290770d71b042c",
          "bytes": 2434
        }
      ],
      "triggers": {
        "description": "Review comment, JSDoc, TODO, README, and docs-to-code factual consistency, stale or low-value comments, and Chinese comment/variable appropriateness; do not use for general code review, broad documentation rewrites, or auto-editing comments without approval.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                29,
                31
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "consulting-analysis",
      "sourcePath": ".agents/skills/consulting-analysis",
      "sourceHash": "4e726aca82be532302ed2d165ebb5a57973d8f2fb3cd8bd886d9f519fef2b825",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "a09e4bbbf8b65f4a865dc73b5e426ecd409cf49d05eab76037e6a4b85b207ffc",
          "bytes": 2869
        }
      ],
      "triggers": {
        "description": "Structure source-grounded consulting-style analysis for strategy, market, product, operations, or decision memos. Use for MECE problem framing, hypotheses, options, tradeoffs, executive recommendations, or \"consulting analysis\" requests; do not use for legal/financial advice, implementation, data computation, chart rendering, or unsourced business claims.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                71
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "context-engineering",
      "sourcePath": ".agents/skills/context-engineering",
      "sourceHash": "82a548fd89a58545ed811f8f3a2791758047e8d82cd16f489b7e511cbe8eca15",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "42a1534157c38628babd6ba3ebd4b02624e9c757f342ef5a1fe58f3f43ec3f4d",
          "bytes": 16502
        }
      ],
      "triggers": {
        "description": "Configure or diagnose project context, rules files, context packs, or documented context degradation when explicitly requested; do not trigger automatically at session start, task switching, ordinary repository exploration, implementation, or completion.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                15,
                32,
                94,
                117,
                137,
                140,
                168,
                180,
                182,
                189,
                303,
                304,
                309,
                316,
                320,
                343,
                344
              ]
            }
          ]
        },
        {
          "id": "tool.symbol-graph",
          "disposition": "mapped through repository graph capabilities or optional",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                232
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                262
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write",
        "mcp.runtime",
        "memory.provider.mempalace"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "coverage-review",
      "sourcePath": ".agents/skills/coverage-review",
      "sourceHash": "1e0751af318ec454eaeef0a1b972163824d661e14f4aed9bbd621b0ffcd5d9c0",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "e92247cfb7a6db622dda8f86a3a1ee12aa6b267c7744820f284d2a2ba985a1ea",
          "bytes": 1378
        }
      ],
      "triggers": {
        "description": "Coverage review and verification sufficiency routing. Use when test coverage, uncovered paths, coverage reports, or verification adequacy need a read-only QA review; do not use for writing tests or running browser/E2E artifacts.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "data-analysis",
      "sourcePath": ".agents/skills/data-analysis",
      "sourceHash": "6387cb58150aafa540ff7527afc581ded90bb5dcf1075b8405da1927d4eb52b8",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "4f9e99afca7c9d8a83e311904f8c560329b50656cc161fe31fe453503088a9df",
          "bytes": 3015
        }
      ],
      "triggers": {
        "description": "Analyze source data, tables, CSV/XLSX extracts, metrics, or experiment results with explicit data-authenticity checks. Use for profiling, cleaning assumptions, statistical summaries, segmentation, trend analysis, or \"analyze this data\"; do not use for spreadsheet file surgery, chart design only, database migrations, or claims without data provenance.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                76
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "deprecation-and-migration",
      "sourcePath": ".agents/skills/deprecation-and-migration",
      "sourceHash": "52a4bfe21ab4211de75ad04c2eca6eb64556984e3d4332191d353f647735d6be",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "1297ee4492a2bbdb750404c384dfa03d09cc4389217359fe526cfbb3caa4bb9d",
          "bytes": 10525
        }
      ],
      "triggers": {
        "description": "Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                158,
                159,
                170
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "documentation-and-adrs",
      "sourcePath": ".agents/skills/documentation-and-adrs",
      "sourceHash": "781de8838456336bb137e11ad5104bb5092a81696f2a2777c720b82eae931b48",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "6b94f12c91e4e31ad8c6424e7f2f10c27260cdeaf0d98f3b5d032277aa0dbbec",
          "bytes": 13098
        }
      ],
      "triggers": {
        "description": "Create or update source-grounded documentation when the user explicitly asks for docs/ADR/onboarding material, a public contract change requires docs, or an accepted hard-to-reverse decision meets the ADR gate; do not trigger for every feature, architecture discussion, implementation, review, or SHIP request.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                75,
                77,
                78,
                181,
                183,
                184,
                189,
                190,
                192,
                203,
                212,
                216,
                272,
                284,
                285,
                291
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                22,
                29,
                232,
                270
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "e2e-artifact-handling",
      "sourcePath": ".agents/skills/e2e-artifact-handling",
      "sourceHash": "247a594457a87b231b3fcfc5bdb0f0716888620459fb3cee06b2a5d9b1c628fb",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "c92f9070ed8b891df68e3c85c1f37fa3cf3ca4df907dd9e0fe1d8fb472a3ce55",
          "bytes": 1644
        }
      ],
      "triggers": {
        "description": "E2E artifact handling routing. Use when traces, videos, screenshots, reports, or failure bundles need controlled repository-local placement; do not use for simple unit tests or production-mutating E2E flows.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "explain-by-allegory",
      "sourcePath": ".agents/skills/explain-by-allegory",
      "sourceHash": "1d73e12af0d8b215ad8d30ff8b0b00c5b36c7c618692d96f0590279933c75273",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "780438528850392777b07c92320989edc66073baaa04b4e0e9f890fdf6b5b22c",
          "bytes": 4462
        }
      ],
      "triggers": {
        "description": "Explain a complex concept through a short allegory, story, analogy, metaphor, or intuitive teaching example, then map it back to formal concepts and limits; do not use as the primary skill for implementation, specs, source-cited API guidance, or fiction-only writing.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "Unverified"
        ]
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "flutter-dev",
      "sourcePath": ".agents/skills/flutter-dev",
      "sourceHash": "54c244fa5bf865f9b90decf7df99e0e46d07be9fcd73ab6c5f5e79fa29c22c66",
      "files": [
        {
          "path": "references/animations.md",
          "sha256": "83600209588577f9c2005edca10d0cba4255cbe9370f3f297f3158824b809406",
          "bytes": 12863
        },
        {
          "path": "references/bloc-state.md",
          "sha256": "9ea17d693a6a0e8a1e80c55b716b98a12a89972f8ce2c25428925607075cfcca",
          "bytes": 6765
        },
        {
          "path": "references/forms.md",
          "sha256": "11d76fe7be4656221b89778a1c860a3575d3f4b9272b0c54dd0f344493e7c60d",
          "bytes": 17424
        },
        {
          "path": "references/gorouter-navigation.md",
          "sha256": "dc1af29ac077d338fda5e51ff5e53cea7cd934f32a45c862d54b209ef7daabbd",
          "bytes": 6226
        },
        {
          "path": "references/localization.md",
          "sha256": "d711c335b235db35c8e7faed1c2871e66ae65d08e16b40cc404fd231a6adca31",
          "bytes": 11992
        },
        {
          "path": "references/networking.md",
          "sha256": "d6bded9a7b561d859883cf70eb0e64858bde38526be22856487f09ece1de848a",
          "bytes": 13946
        },
        {
          "path": "references/performance.md",
          "sha256": "80471d9ac46371dc8be01fbef5d79d3658edefa3dfb40e1739741fcd16c20378",
          "bytes": 6633
        },
        {
          "path": "references/platform-specific.md",
          "sha256": "9b20b7e6da737acad07f0645cffabf592377e607ddcf54b41400417715d0fe0b",
          "bytes": 11011
        },
        {
          "path": "references/project-structure.md",
          "sha256": "498c7b8031e598b0513faca94c1b4bdaa03b998552e53f70ecae4f693966e67c",
          "bytes": 6694
        },
        {
          "path": "references/riverpod-state.md",
          "sha256": "5d0600119b984da3e60b8054dc97c6bde7e2dc09cb5dcf11ddc8bc4a8467fbad",
          "bytes": 5447
        },
        {
          "path": "references/testing.md",
          "sha256": "a782ec57cc7785b5de3a13bff403af843a12c1e3e3b1b5d0b3263f3753b9efa2",
          "bytes": 8651
        },
        {
          "path": "references/widget-patterns.md",
          "sha256": "03531b22a5f7f3789e29abef3851f437cb2b3cceeaad51a071c5b798bae84f01",
          "bytes": 5262
        },
        {
          "path": "SKILL.md",
          "sha256": "fc2f3e18919ac23a7cdda91380d01f43f05c136052566aaa2cf3c09588c90229",
          "bytes": 8553
        }
      ],
      "triggers": {
        "description": "|",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                20,
                42,
                50,
                54
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/animations.md",
              "lines": [
                261,
                282
              ]
            },
            {
              "path": "references/localization.md",
              "lines": [
                444
              ]
            },
            {
              "path": "references/networking.md",
              "lines": [
                3,
                182
              ]
            },
            {
              "path": "references/performance.md",
              "lines": [
                18,
                19,
                20,
                169,
                179,
                267
              ]
            },
            {
              "path": "references/platform-specific.md",
              "lines": [
                233,
                251,
                327,
                328
              ]
            },
            {
              "path": "references/testing.md",
              "lines": [
                80,
                87,
                179
              ]
            },
            {
              "path": "references/widget-patterns.md",
              "lines": [
                159
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "frontend-dev",
      "sourcePath": ".agents/skills/frontend-dev",
      "sourceHash": "679ff503e5eb5049de00203c2a0e5b0f7dfce676b7efe862daab5bbb10059b97",
      "files": [
        {
          "path": "canvas-fonts/ArsenalSC-OFL.txt",
          "sha256": "3232f0388a0ff2be64611257dca04d8074e62456a1c749bc1ed4ceac4ab90140",
          "bytes": 4372
        },
        {
          "path": "canvas-fonts/ArsenalSC-Regular.ttf",
          "sha256": "65e6f89df58f68fd905b3add34a79dd6106aa3b3044df0dad9676fff53d504b9",
          "bytes": 165848
        },
        {
          "path": "canvas-fonts/BigShoulders-Bold.ttf",
          "sha256": "b43bcd198b9fdf717dd42aa61a34dba32e01aceaeae659d689afd0ca52c37ea2",
          "bytes": 94528
        },
        {
          "path": "canvas-fonts/BigShoulders-OFL.txt",
          "sha256": "3a914b9c36b191af65068ea1ef9d99c7c6e90c838f53c12508463a4ea9330f19",
          "bytes": 4396
        },
        {
          "path": "canvas-fonts/BigShoulders-Regular.ttf",
          "sha256": "18a879fc71978a4447150705caf880a9da3860083c259fd29e6dc03057b6842a",
          "bytes": 94396
        },
        {
          "path": "canvas-fonts/Boldonse-OFL.txt",
          "sha256": "5a131b057341c662f1112d0ed7a26607b69b8496590705f375be715a50430316",
          "bytes": 4389
        },
        {
          "path": "canvas-fonts/Boldonse-Regular.ttf",
          "sha256": "cc2e540604565c0f90a7d8d46194a2f42fc9c45512cd2e39bf03b50eb68c35a4",
          "bytes": 77168
        },
        {
          "path": "canvas-fonts/BricolageGrotesque-Bold.ttf",
          "sha256": "a737b146fe0d77ffe8a86e3cd16700dd431d3b1e420d4fd80e142cd68a1cb50d",
          "bytes": 90952
        },
        {
          "path": "canvas-fonts/BricolageGrotesque-OFL.txt",
          "sha256": "5e05b8660583ceed50e84e9d3290dfb8f2ec8ddaf4116a46e1d74e65175c9110",
          "bytes": 4402
        },
        {
          "path": "canvas-fonts/BricolageGrotesque-Regular.ttf",
          "sha256": "972a6d098c9867ae131d0ea99e221e63976b11a19d4b931c2c7ace525674e4f6",
          "bytes": 90920
        },
        {
          "path": "canvas-fonts/CrimsonPro-Bold.ttf",
          "sha256": "48f191e38355c8db100eb3ce157c20f9302a3b9a37b44a660f77ecfce3986609",
          "bytes": 107352
        },
        {
          "path": "canvas-fonts/CrimsonPro-Italic.ttf",
          "sha256": "52318db3526b644e6efa60be0b3ca5a50e40fbe8bd026c261e0aa206f0772267",
          "bytes": 108828
        },
        {
          "path": "canvas-fonts/CrimsonPro-OFL.txt",
          "sha256": "45bed811e146eb6fdd271294ededa643172106c7bcd68de7f506a05d0213f72b",
          "bytes": 4393
        },
        {
          "path": "canvas-fonts/CrimsonPro-Regular.ttf",
          "sha256": "48fad08cb1917a7b2f2c6fe5135d6c07743a6663cf7631ec4481108aaf081422",
          "bytes": 106696
        },
        {
          "path": "canvas-fonts/DMMono-OFL.txt",
          "sha256": "82255cd601c24750f768b4f5ce7bd1225a30b768c904a60c0127d00171f835f2",
          "bytes": 4391
        },
        {
          "path": "canvas-fonts/DMMono-Regular.ttf",
          "sha256": "f98ada968dc3b6b2c08d3f5caaf266977df0bfe0929372b93df5a06cf2ace450",
          "bytes": 48852
        },
        {
          "path": "canvas-fonts/EricaOne-OFL.txt",
          "sha256": "c26f1e49a63dc886b62586298dd2b8acc521bd36634e354e8e79e9fd3713410a",
          "bytes": 4408
        },
        {
          "path": "canvas-fonts/EricaOne-Regular.ttf",
          "sha256": "db1d89e80e33a8a01beaaac7a85df582857d24a43f1e181461aa7ff5d701476a",
          "bytes": 24872
        },
        {
          "path": "canvas-fonts/GeistMono-Bold.ttf",
          "sha256": "75c0828d5c1ee44b9ef9f4df577bf41595ec362e2ea3f1e558590c9e92c7949d",
          "bytes": 78304
        },
        {
          "path": "canvas-fonts/GeistMono-OFL.txt",
          "sha256": "f12f59163d92084b0473315ae4566cde0c1233d940ae464f5225a69c347cc691",
          "bytes": 4387
        },
        {
          "path": "canvas-fonts/GeistMono-Regular.ttf",
          "sha256": "a55c1b51cda4afeab9e471e7947b85a20f7c8831d7e6b1470c1b7fbdc0f0f15e",
          "bytes": 78232
        },
        {
          "path": "canvas-fonts/Gloock-OFL.txt",
          "sha256": "b4665e31775e1351b882daa2af3b99ccb9c6a6f25ce38033ca683dce240b8c28",
          "bytes": 4380
        },
        {
          "path": "canvas-fonts/Gloock-Regular.ttf",
          "sha256": "e86b4ce66dbd3f1f83eee8db99ec96e0da1128c3f53df0e9b3b7472025dfe960",
          "bytes": 95156
        },
        {
          "path": "canvas-fonts/IBMPlexMono-Bold.ttf",
          "sha256": "dbd2a2fb024579438d6400a84e57579bfd2dbe67c306c8fd9fde92a61e4f2eea",
          "bytes": 136008
        },
        {
          "path": "canvas-fonts/IBMPlexMono-OFL.txt",
          "sha256": "65fc2f0dd4812f7a323b363ec014786a12ef5e56703ce1f677830cde4399408b",
          "bytes": 4362
        },
        {
          "path": "canvas-fonts/IBMPlexMono-Regular.ttf",
          "sha256": "ab08018ccd276b79fb2c636bb95b9c543598f9d50505fe92506fcb4dae7810cd",
          "bytes": 133796
        },
        {
          "path": "canvas-fonts/IBMPlexSerif-Bold.ttf",
          "sha256": "b8d294e9b5c5a0940f167c3ced0f7ef2e3f57082ca3ff096ef30e86e26c1c159",
          "bytes": 161000
        },
        {
          "path": "canvas-fonts/IBMPlexSerif-BoldItalic.ttf",
          "sha256": "da64b75f4284f53e7b5c71fa190a35b8bf3494fe19f1804c81c3a53340bca570",
          "bytes": 169840
        },
        {
          "path": "canvas-fonts/IBMPlexSerif-Italic.ttf",
          "sha256": "b11f1048745e715a55c9d837b3f10226ca3d78867b7db7251ddad8f98dcf0f38",
          "bytes": 170004
        },
        {
          "path": "canvas-fonts/IBMPlexSerif-Regular.ttf",
          "sha256": "77cd233a2af8dc6b1022faea3bb3b01f3c75af68bcf530cb6aeb15982ff3dbb7",
          "bytes": 160380
        },
        {
          "path": "canvas-fonts/InstrumentSans-Bold.ttf",
          "sha256": "444f85bf1c4b0e1ce1ca624f6be54bcd832207714ccaf4ea99ee531341683bdf",
          "bytes": 68084
        },
        {
          "path": "canvas-fonts/InstrumentSans-BoldItalic.ttf",
          "sha256": "3762f6cef95d6039489ad5ba5787d4c30f17a1ad01e9ac3c816ed69692722a68",
          "bytes": 70004
        },
        {
          "path": "canvas-fonts/InstrumentSans-Italic.ttf",
          "sha256": "78e85858e371b2cb4e18f617c10f0f937c0e12a0887ffee98555b24ed305b3a7",
          "bytes": 69900
        },
        {
          "path": "canvas-fonts/InstrumentSans-OFL.txt",
          "sha256": "d772141ef2499f6fbd6780dbb1be06a1bc21817a75d4a060e7cb5262a145e12b",
          "bytes": 4402
        },
        {
          "path": "canvas-fonts/InstrumentSans-Regular.ttf",
          "sha256": "a22cb26e48fd79bcb01bf2fc92d36785474dce36d9c544ab0a8868c2657c4a87",
          "bytes": 68028
        },
        {
          "path": "canvas-fonts/InstrumentSerif-Italic.ttf",
          "sha256": "9c86e4d5a47b50224a2463a9eca8535835257c8e85c470c2c6b454b1af6f046e",
          "bytes": 70868
        },
        {
          "path": "canvas-fonts/InstrumentSerif-Regular.ttf",
          "sha256": "56ac3be03ac3ba283196b3e77850ab2ffcf56cfb6fd3212c5620109a972f8c99",
          "bytes": 69312
        },
        {
          "path": "canvas-fonts/Italiana-OFL.txt",
          "sha256": "320551af9ba7f65d6c3dd51b714dea27fb320ab37dd5fd3837d8ecf3deef67d1",
          "bytes": 4393
        },
        {
          "path": "canvas-fonts/Italiana-Regular.ttf",
          "sha256": "15c4dd6ab8cf4a29ba8826f65edcbe2f6c266c557d34d081f25072dfd5605fd2",
          "bytes": 27184
        },
        {
          "path": "canvas-fonts/JetBrainsMono-Bold.ttf",
          "sha256": "a2349098b9e45419e7bf0e2958d6c4937a049dded37387b08be725be4c7615f3",
          "bytes": 114828
        },
        {
          "path": "canvas-fonts/JetBrainsMono-OFL.txt",
          "sha256": "c1ab7c666206842a02b35b30770dac0d7a10156ed401c9defc3f02a754d89e90",
          "bytes": 4398
        },
        {
          "path": "canvas-fonts/JetBrainsMono-Regular.ttf",
          "sha256": "b6b1ff4ddefe36d7f2a6174e1d001cab374e594519ee9049af028d577b64c5f5",
          "bytes": 114904
        },
        {
          "path": "canvas-fonts/Jura-Light.ttf",
          "sha256": "c891a381df056b2c4dfe85841e911bf45da0890fa21a7b2692cbe5ea1f505e1e",
          "bytes": 154308
        },
        {
          "path": "canvas-fonts/Jura-Medium.ttf",
          "sha256": "c72965cb732a92872643819fd1734128238583cc36b116313859137a51d3368a",
          "bytes": 154488
        },
        {
          "path": "canvas-fonts/Jura-OFL.txt",
          "sha256": "b5421dc3e9f0b1cf592228fed29e8e76939e3502f234ea45e4943905d82339a5",
          "bytes": 4379
        },
        {
          "path": "canvas-fonts/LibreBaskerville-OFL.txt",
          "sha256": "516bf7fbfdbd0f0e4f50ade6a9127ad83ac7a54370bad6cf70794554569e9c4e",
          "bytes": 4448
        },
        {
          "path": "canvas-fonts/LibreBaskerville-Regular.ttf",
          "sha256": "2101302538d9e88adb679031c04623e4578b5745e89566284fd2c508d79acae0",
          "bytes": 147584
        },
        {
          "path": "canvas-fonts/Lora-Bold.ttf",
          "sha256": "7d74015e950c2fb66519c7295b8155621d22200ae2ca2a4c6b43ce3c490cac87",
          "bytes": 133828
        },
        {
          "path": "canvas-fonts/Lora-BoldItalic.ttf",
          "sha256": "152f87e71f5ddb60d5c57ecd9132807c947e65c42977193c9164e7c5a6690081",
          "bytes": 140332
        },
        {
          "path": "canvas-fonts/Lora-Italic.ttf",
          "sha256": "be627e595184e8afe521f08da0607eee613f1997d423bc8dadc5798995581377",
          "bytes": 139328
        },
        {
          "path": "canvas-fonts/Lora-OFL.txt",
          "sha256": "5f8f2366fa290db1fbe9467f16a5a2e8325c7daf9c490a6150c7bc4d4e979632",
          "bytes": 4422
        },
        {
          "path": "canvas-fonts/Lora-Regular.ttf",
          "sha256": "7ed00e7c9cdf16ab7e2fd2361fe45d4f0b61263cd60aae398b27b7ee08108827",
          "bytes": 133888
        },
        {
          "path": "canvas-fonts/NationalPark-Bold.ttf",
          "sha256": "69ac4c301c4a7233c6e602d12a92c54d7967b575f4449951c45ce773f7acff53",
          "bytes": 79208
        },
        {
          "path": "canvas-fonts/NationalPark-OFL.txt",
          "sha256": "74eadc96ad3fd042bb7cf88b8cb92ef87acd085a744c610b9118d282090120a6",
          "bytes": 4398
        },
        {
          "path": "canvas-fonts/NationalPark-Regular.ttf",
          "sha256": "a477338b7e18308d476650dfe31235ef86a883572665e56ffb5fb80f82009b58",
          "bytes": 76424
        },
        {
          "path": "canvas-fonts/NothingYouCouldDo-OFL.txt",
          "sha256": "705fb4d113dea7b8b8a8d9d9d84a2f8a2d750cec7a8fff9bef7a525d2bbebb32",
          "bytes": 4362
        },
        {
          "path": "canvas-fonts/NothingYouCouldDo-Regular.ttf",
          "sha256": "d866f985896d3280f4fce72db7e17302c24a0c1fdb0699b6b5ed3af14f944d57",
          "bytes": 32020
        },
        {
          "path": "canvas-fonts/Outfit-Bold.ttf",
          "sha256": "6654b93d21301ec61887d3cedd6c11d9df1b1dfb63f9cf45ac7995f6e2235ab1",
          "bytes": 55392
        },
        {
          "path": "canvas-fonts/Outfit-OFL.txt",
          "sha256": "034cd69491879339b9a7a26147cdf237be050d3ee86514606c56f46781f87102",
          "bytes": 4388
        },
        {
          "path": "canvas-fonts/Outfit-Regular.ttf",
          "sha256": "f24945365147c9e783e91d8649959b59be6b00c9ee4ecd2f6b33afbb2dd871fe",
          "bytes": 54912
        },
        {
          "path": "canvas-fonts/PixelifySans-Medium.ttf",
          "sha256": "38397504f71c122b03d234ea6f55118e3d5bdbddffd82bedddbd7755d3b3be82",
          "bytes": 51072
        },
        {
          "path": "canvas-fonts/PixelifySans-OFL.txt",
          "sha256": "8c40aa0dd8021aa5e501e6c1328d89f40f88f9fbf63aa1d30f0943701c2dfcda",
          "bytes": 4394
        },
        {
          "path": "canvas-fonts/PoiretOne-OFL.txt",
          "sha256": "e5c84a01dd1baa4e6f3665e3bd70bb71aec9467260b53249afa1ce8f1f4334f0",
          "bytes": 4365
        },
        {
          "path": "canvas-fonts/PoiretOne-Regular.ttf",
          "sha256": "9cf265b139648b36b6c0afdfeb0bf27f7e66db9a16094bc40f644d8da05bc318",
          "bytes": 45244
        },
        {
          "path": "canvas-fonts/RedHatMono-Bold.ttf",
          "sha256": "7ef48353f4be5ddb90f000f6fad48f2b62b3e8c27d9818d8d45ff46c201065e0",
          "bytes": 34420
        },
        {
          "path": "canvas-fonts/RedHatMono-OFL.txt",
          "sha256": "3218991713634d206bd0ad084af34dfbef40e7bb16f04c614ff64eef41179086",
          "bytes": 4393
        },
        {
          "path": "canvas-fonts/RedHatMono-Regular.ttf",
          "sha256": "452fe826871b37539f5212b20c87cf30f82f58dd2741f1c96edd1dcbdc0db6b4",
          "bytes": 34488
        },
        {
          "path": "canvas-fonts/Silkscreen-OFL.txt",
          "sha256": "6bd1ef8dff665f86fd1156d957bf6a26e81995269407418531052eec24b4f9cf",
          "bytes": 4393
        },
        {
          "path": "canvas-fonts/Silkscreen-Regular.ttf",
          "sha256": "49567408600809e25147e9225ac4f37f410e2df45a750696c45027531fb65f1b",
          "bytes": 31960
        },
        {
          "path": "canvas-fonts/SmoochSans-Medium.ttf",
          "sha256": "dd76e6e77cce82f827a8654cd906e9ce58f3aaf78adda63c4a7f655b8ecb41f0",
          "bytes": 59704
        },
        {
          "path": "canvas-fonts/SmoochSans-OFL.txt",
          "sha256": "e05e288e0bf4d479838c261004141510447599a4a15b2ab03ec514af80216055",
          "bytes": 4395
        },
        {
          "path": "canvas-fonts/Tektur-Medium.ttf",
          "sha256": "52bbe8c9b057b3d2da4eeace31a524b1ea26a1375ae34319cf6900ccc57a4c82",
          "bytes": 76248
        },
        {
          "path": "canvas-fonts/Tektur-OFL.txt",
          "sha256": "e2367f69d81741b08799df79606349300d961a15a8b4bb02d875da1bc22645bc",
          "bytes": 4384
        },
        {
          "path": "canvas-fonts/Tektur-Regular.ttf",
          "sha256": "162e1b36c4718c5b051b36c971ad7e50d341944f35618f480422ebbe72988f98",
          "bytes": 75604
        },
        {
          "path": "canvas-fonts/WorkSans-Bold.ttf",
          "sha256": "240d125fc9f8561363dc1ea3f513501253bd70942f41468f48f0b0cafb0c82e2",
          "bytes": 191304
        },
        {
          "path": "canvas-fonts/WorkSans-BoldItalic.ttf",
          "sha256": "a5b2cad813df0aaa7d16621f2e93b5117c25e9bc788bc9a3ad218e9d6348ce34",
          "bytes": 175772
        },
        {
          "path": "canvas-fonts/WorkSans-Italic.ttf",
          "sha256": "6b7f7002e0b0c8b261fe878658ef5551e3e59d9f6b609b04efb90dde1e2c1ada",
          "bytes": 174280
        },
        {
          "path": "canvas-fonts/WorkSans-OFL.txt",
          "sha256": "5b56ddd736b14bf46b4f8b4553c2b1154371db6ced1943bbdd5d66ec474b83b2",
          "bytes": 4396
        },
        {
          "path": "canvas-fonts/WorkSans-Regular.ttf",
          "sha256": "e67985a843df0d3cdee51a3d0f329eb1774a344ad9ff0c9ab923751f1577e2a4",
          "bytes": 188916
        },
        {
          "path": "canvas-fonts/YoungSerif-OFL.txt",
          "sha256": "513f7c27116a55397425fc23c8e823757737f0267fd54db0f237340156a67dfa",
          "bytes": 4397
        },
        {
          "path": "canvas-fonts/YoungSerif-Regular.ttf",
          "sha256": "f8dc08f77abad753a00670af70756a8ace938e5c3f0b770f4f4c2071c4bd8fc6",
          "bytes": 105136
        },
        {
          "path": "references/asset-prompt-guide.md",
          "sha256": "fead1bdd67a43709d3806f7f013e6b24c3821934d6e90344eadfe8c199609529",
          "bytes": 2020
        },
        {
          "path": "references/env-setup.md",
          "sha256": "4b13680a4e130cbf1fbd6574a638c61a618042a4118e1498242e11074acc4c9c",
          "bytes": 649
        },
        {
          "path": "references/minimax-cli-reference.md",
          "sha256": "472932d84016c013b5a2edad67d8c9456928c27a950fffe3482847def29cb316",
          "bytes": 5166
        },
        {
          "path": "references/minimax-image-guide.md",
          "sha256": "cde6283d00befa2706d8bf7789cdc62656af42cda0d75158ddebee8b2e851cf2",
          "bytes": 1913
        },
        {
          "path": "references/minimax-music-guide.md",
          "sha256": "bec88105be3cf43085708f3ac1ccee66f79949f278fbbdbdc3992832a8b63348",
          "bytes": 6644
        },
        {
          "path": "references/minimax-tts-guide.md",
          "sha256": "24df205db8e2d5d9c2a9598247dfa6584260dd6316288ac2a4b7a6c3f1390a7e",
          "bytes": 2192
        },
        {
          "path": "references/minimax-video-guide.md",
          "sha256": "d13a146b9dde00360687850f3f9e1e8dfdebdcbc37f9e335e4ce74c8b1f3e70f",
          "bytes": 2754
        },
        {
          "path": "references/minimax-voice-catalog.md",
          "sha256": "564aa9eda6081fa4798b3b5ff3d4aace76cbc2a2bf452a949dbc53c3591b0e52",
          "bytes": 47493
        },
        {
          "path": "references/motion-recipes.md",
          "sha256": "6a4dea9a775b765ae27f3a1b08781c60e217ff3706081cb33ac72d3236475bc7",
          "bytes": 10302
        },
        {
          "path": "references/troubleshooting.md",
          "sha256": "df47d367b578ba3d18865c210a1fe98f98bc36e8321dbb52d6f5e48754d195e4",
          "bytes": 1789
        },
        {
          "path": "scripts/minimax_image.py",
          "sha256": "d441cbd336277b02c7e4053319b59629bad2250c56a8b00e15f5548316125a81",
          "bytes": 4474
        },
        {
          "path": "scripts/minimax_music.py",
          "sha256": "6ddadd4d2fb253be2093cb7c6360c76a0467c3b294b94d3a29739994cbdb7cd9",
          "bytes": 5451
        },
        {
          "path": "scripts/minimax_tts.py",
          "sha256": "41964d77667fe3f6d91578fbe7406d4a2f2b4b61044d2104d28f7807aeb9e96d",
          "bytes": 3995
        },
        {
          "path": "scripts/minimax_video.py",
          "sha256": "5b6d2e71cc17c8c185b4fbff77bc4fa4f4bf2377cdf55ce291b2a0f3c4ad956c",
          "bytes": 6162
        },
        {
          "path": "SKILL.md",
          "sha256": "2207467fc218c33f6847606e3bdde3d3451fba1a222ce0d7c548142ea421cb37",
          "bytes": 20417
        },
        {
          "path": "templates/generator_template.js",
          "sha256": "b601d56dc95b4749adc1fcbae0ab889f93e83403ce8b07ccf1bd201638437944",
          "bytes": 7822
        },
        {
          "path": "templates/viewer.html",
          "sha256": "d4a0ec55eb07d0c93ff871cb38326428e2cbe3bf78074674b0cb7cc541647618",
          "bytes": 20598
        }
      ],
      "triggers": {
        "description": "|",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                13
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/minimax-video-guide.md",
              "lines": [
                28,
                29,
                70,
                71
              ]
            },
            {
              "path": "scripts/minimax_video.py",
              "lines": [
                53,
                72,
                73,
                74,
                75,
                78,
                79,
                85,
                97,
                107,
                147,
                148,
                152,
                153,
                156
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                33
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/env-setup.md",
              "lines": [
                9,
                12,
                16,
                18
              ]
            },
            {
              "path": "references/minimax-cli-reference.md",
              "lines": [
                46
              ]
            },
            {
              "path": "references/minimax-image-guide.md",
              "lines": [
                21
              ]
            },
            {
              "path": "references/minimax-video-guide.md",
              "lines": [
                73,
                82
              ]
            },
            {
              "path": "references/troubleshooting.md",
              "lines": [
                10,
                29,
                32,
                41
              ]
            },
            {
              "path": "scripts/minimax_image.py",
              "lines": [
                77
              ]
            },
            {
              "path": "scripts/minimax_music.py",
              "lines": [
                145
              ]
            },
            {
              "path": "scripts/minimax_video.py",
              "lines": [
                4,
                111,
                147
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                120,
                269,
                270,
                271,
                272,
                285,
                302,
                304
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "frontend-ui-engineering",
      "sourcePath": ".agents/skills/frontend-ui-engineering",
      "sourceHash": "a4969fbb5a80c6c35d0e29a54b8383d0294a62ed5f363e150543d3322aa17cee",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "53cf6f351f6e1968fa0484ac4315a057cf87c933f4a939ca1fd63c70ccae82be",
          "bytes": 14977
        }
      ],
      "triggers": {
        "description": "Build or modify production UI components, layouts, client state, responsive behavior, accessibility, or UX inside an app when that frontend surface is the primary deliverable; do not trigger for rich campaign/media pages, backend integration, every user-facing text change, delegated browser QA, or review alone.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                57,
                89,
                92,
                93,
                94,
                117,
                120,
                262,
                268,
                269,
                318
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "fullstack-dev",
      "sourcePath": ".agents/skills/fullstack-dev",
      "sourceHash": "406764633607b88700afb2dd41329e4e008d9c5aa8f6175d1cbf775a1bbdf6e9",
      "files": [
        {
          "path": "references/api-design.md",
          "sha256": "6361608bd921de22abc529f3d1b2cb645e50e7ba1d220ef0beb6113d9fc8dcd0",
          "bytes": 13910
        },
        {
          "path": "references/auth-flow.md",
          "sha256": "052212855039010757506cf2e66383eb971c841deb0b254d1122857f8cb021c1",
          "bytes": 4566
        },
        {
          "path": "references/db-schema.md",
          "sha256": "4ae692ef8515c24afc393cf3c43235a48c5c0adebd81d7428e08328440e75859",
          "bytes": 23400
        },
        {
          "path": "references/django-best-practices.md",
          "sha256": "c25cef53e39fa16642a4a8212e409c2d2c62f389a5e5c59a6385d9fdf8d79904",
          "bytes": 13052
        },
        {
          "path": "references/environment-management.md",
          "sha256": "4a5da75bb616ab9b477eadfaeab5f53bd5ba451191fc526786aabefcddb9ba7a",
          "bytes": 2309
        },
        {
          "path": "references/release-checklist.md",
          "sha256": "aca9e883145ca033a23c45dee402a7bb91e0956ae0af98c9bfb322444439323d",
          "bytes": 7841
        },
        {
          "path": "references/technology-selection.md",
          "sha256": "3da55a3594d5dfb003f1c23cfc6d0868609283f68e70127068895bd3625ce646",
          "bytes": 9223
        },
        {
          "path": "references/testing-strategy.md",
          "sha256": "1516a483b8950aa4a4b3ea470a0d520cf3975bbe2beb76781d9addfe0e35d943",
          "bytes": 11818
        },
        {
          "path": "SKILL.md",
          "sha256": "58174d6dad2f4924fc40823675d0b04d2c87130df36e8b3ab040529af517dbc0",
          "bytes": 31846
        }
      ],
      "triggers": {
        "description": "|",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/technology-selection.md",
              "lines": [
                131
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/release-checklist.md",
              "lines": [
                1,
                3,
                5,
                9,
                22,
                24,
                101,
                172,
                177,
                196,
                208,
                227,
                230,
                247,
                257,
                258,
                264
              ]
            },
            {
              "path": "references/technology-selection.md",
              "lines": [
                78
              ]
            },
            {
              "path": "references/testing-strategy.md",
              "lines": [
                311,
                355
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                32,
                77,
                111,
                172,
                576,
                587,
                596,
                782,
                813
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "git-workflow-and-versioning",
      "sourcePath": ".agents/skills/git-workflow-and-versioning",
      "sourceHash": "b95d88aca45e0ba94fc08a9d3fec1f19e82892e2a8d9a81ad9b141e13ec45a00",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "4af29c0e32636750ba39fa4800248f94e0da96026bd8ad166facc5223e4a451b",
          "bytes": 23584
        }
      ],
      "triggers": {
        "description": "Handle an explicit Git intent such as branch/worktree setup, commit organization, history archaeology, conflict resolution, PR preparation, or versioning; do not trigger as a process skill for every code or file change.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                284
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                14,
                22,
                27,
                28,
                29,
                35,
                36,
                49,
                50,
                51,
                54,
                56,
                57,
                58,
                61,
                66,
                68,
                70,
                71,
                73,
                100,
                133,
                136,
                137,
                164,
                183,
                184,
                186,
                190,
                258,
                271,
                299,
                306,
                310,
                348,
                375,
                407
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                72,
                81
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                18,
                95,
                159,
                291,
                366
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "github-evidence-triage",
      "sourcePath": ".agents/skills/github-evidence-triage",
      "sourceHash": "dacf695442c930a1b9fb83d9bf3986177a18496e9515b22f9106dc8665856f04",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "9e664bf69d16c128da4be2d23a57524d464bce20f6ffe05b76213a882bfbdc07",
          "bytes": 4485
        }
      ],
      "triggers": {
        "description": "Performs read-only GitHub issue or PR triage with evidence links. Use when analyzing public or repository GitHub issues/PRs without mutating labels, comments, branches, reviews, merges, or issue state.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                66,
                67
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                61
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "harness-evolution",
      "sourcePath": ".agents/skills/harness-evolution",
      "sourceHash": "396981fab0d4726044a1de0f2ad1acbe965b3ad30e8fb8bf1b35e59eed98a6d2",
      "files": [
        {
          "path": "references/activation-matrix.md",
          "sha256": "34d146ed6b50d19ed3cb4ff06d46be8a0c54f567840dc4e323a5675fe97b9c72",
          "bytes": 982
        },
        {
          "path": "references/approval-policy.md",
          "sha256": "c72d033eec43d235bacc5a29b94043a5e3c9fc0bdc5b2982077a80c42ef2103c",
          "bytes": 756
        },
        {
          "path": "references/change-report-template.md",
          "sha256": "8fa7af6879cd66c04dc5d6cf689cfc9bd2a87fb9581a2cadc1625352e12240cf",
          "bytes": 636
        },
        {
          "path": "references/component-taxonomy.md",
          "sha256": "ada687344cf98d836826f684c71f2285a74c99a8c572133fd2b3e3dd72766a3c",
          "bytes": 1293
        },
        {
          "path": "references/verdict-policy.md",
          "sha256": "60529bef3352372f23878d660747caabf6f2c3c1f22fe0c05c3ed3f0fdd2a98c",
          "bytes": 681
        },
        {
          "path": "SKILL.md",
          "sha256": "b54654788df6b9f6a4273126563c9f5ba63f1f9a8cc3d7e44d14997c81c5433b",
          "bytes": 3750
        }
      ],
      "triggers": {
        "description": "Produce or apply an approved report-first proposal for workflow, ROSE, skill, command, subagent, memory, install, or harness-doc changes; use after harness-issue-triage localizes a harness problem or when the user explicitly requests harness maintenance, and do not edit core harness files without explicit human approval.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "blocked"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "references/component-taxonomy.md",
              "lines": [
                13
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                50
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/approval-policy.md",
              "lines": [
                9
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                52
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "references/activation-matrix.md",
              "lines": [
                5
              ]
            },
            {
              "path": "references/approval-policy.md",
              "lines": [
                9
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                49,
                53
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/activation-matrix.md",
              "lines": [
                11
              ]
            },
            {
              "path": "references/approval-policy.md",
              "lines": [
                13
              ]
            },
            {
              "path": "references/component-taxonomy.md",
              "lines": [
                17
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                3,
                14,
                50
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "harness-issue-triage",
      "sourcePath": ".agents/skills/harness-issue-triage",
      "sourceHash": "f6a9fe56deeb2660ace6983fbb9fae0365734f3ba7dabc583f1a668e3e144b89",
      "files": [
        {
          "path": "references/component-diagnosis.md",
          "sha256": "1586a0bead51589cf951e19eae85c28000319249251415d235c973a14baefccf",
          "bytes": 2828
        },
        {
          "path": "references/triage-report-template.md",
          "sha256": "2d305bb1f749682ac8cd044bcf3b35d0a19b11bf1d7e30a2faf0d0d58767710e",
          "bytes": 749
        },
        {
          "path": "SKILL.md",
          "sha256": "0c4a43b0a1c00a17dbc14492cddbd695dce70548c3996ef921e518cf9aa263f0",
          "bytes": 4105
        }
      ],
      "triggers": {
        "description": "Diagnose user-reported AILI/ROSE harness or workflow behavior problems without editing files; use when the user says a command, skill trigger, subagent packet, memory flow, installer, docs, or agent prompt behavior is wrong and wants to know where the issue lives and how to fix it. Do not use for normal product-code bugs; return any approved modification need to ROSE.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "references/component-diagnosis.md",
              "lines": [
                14,
                15
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                14,
                70
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/component-diagnosis.md",
              "lines": [
                17
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                43
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/component-diagnosis.md",
              "lines": [
                14,
                16
              ]
            },
            {
              "path": "references/triage-report-template.md",
              "lines": [
                34
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                70
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "idea-refine",
      "sourcePath": ".agents/skills/idea-refine",
      "sourceHash": "3df563435168ab8b78e333c1641a59bcbbf33c33fc741310bf2fb8dc55e5f2fb",
      "files": [
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/examples.md",
          "sha256": "563204bfbf2f80a444151695205af4cb759e722b3d1e5460e08f278a69c89ba1",
          "bytes": 20284
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/frameworks.md",
          "sha256": "161ebc18fdf2d996bc62a87a2d747cf1bf53548354f8925de25c732c27f00309",
          "bytes": 5404
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/refinement-criteria.md",
          "sha256": "1ca2973a4d01b5cb37ab7ddb2eff77fa4e792634a33d0ce44961c068fc88d51a",
          "bytes": 5738
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/scripts/idea-refine.upstream.sh",
          "sha256": "f02a52408a4218047c032d221483abfbb48d11f090bb4915965c7419bf2e0e47",
          "bytes": 342
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/SKILL.upstream.md",
          "sha256": "79e773058963adc7646b0115b4f8a4afc974c5ff95843e4ef1cafff3cb51899e",
          "bytes": 8111
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
          "sha256": "6f202f8bd568cd730dbb2b0d1f8e243bc74c2fa1f64dbce9b2c7ea08bd5c9fd7",
          "bytes": 1068
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md",
          "sha256": "fd515f3a482da9898f8e7e76a72e6e1810abf124b18525f074b270d7531b3f03",
          "bytes": 683
        },
        {
          "path": "SKILL.md",
          "sha256": "940cda4bca3d9e75a8a215fdc5d1666ef5ec6a3fe7fa09d1565fbe30d86eb23f",
          "bytes": 9784
        }
      ],
      "triggers": {
        "description": "Refines raw ideas through structured divergent and convergent thinking for ordinary non-command brainstorming, idea shaping, options comparison, and explicit IDEATE deepening routed by `aili-delivery-flow`; do not use as the top-level `/ideate` command owner or for existing-plan stress-test, review, or completion-claim checks.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/frameworks.md",
              "lines": [
                54
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/examples.md",
              "lines": [
                65,
                100
              ]
            },
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
              "lines": [
                8
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "incremental-implementation",
      "sourcePath": ".agents/skills/incremental-implementation",
      "sourceHash": "0401326b4864f25799962c158e5d1c58d9545960ef1e53846d545db88a8363e2",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "fa389bc4573236bcd6b5b58257236967cfb75ddb73cf88ab976c5ac5c5833efd",
          "bytes": 11640
        }
      ],
      "triggers": {
        "description": "Implement an accepted change in bounded dependency-ordered increments when the user requests implementation and the scope benefits from multiple coherent slices; do not trigger merely because work touches multiple files, changes behavior, or is over an arbitrary line count.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                53,
                59,
                62,
                70,
                89,
                105,
                123,
                132,
                136,
                137,
                196,
                221,
                222,
                243
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "ios-application-dev",
      "sourcePath": ".agents/skills/ios-application-dev",
      "sourceHash": "303d4b5a0a3b0243695e9fb10ca3136f1bd9160c0214f79211ec77a83cb67bee",
      "files": [
        {
          "path": "references/accessibility.md",
          "sha256": "d97932c3a0ae42aeecc6867b2c07dd26f66d6f17206fe897fa67ad206d53bf0b",
          "bytes": 6847
        },
        {
          "path": "references/graphics-animation.md",
          "sha256": "94e3d5814dffe852492cc4fbf779eee6ec96eaa52e4d029b7204c14203ef2641",
          "bytes": 9079
        },
        {
          "path": "references/layout-system.md",
          "sha256": "df9f2f592f2744ed1b4d5ab9d17a2c814f515c365e587fd39427aeefa8e633ba",
          "bytes": 6762
        },
        {
          "path": "references/metal-shader.md",
          "sha256": "4124261ba095878e5330801033c5e0a2f92e406cc1010428dcfb1d9beeb78ac6",
          "bytes": 5973
        },
        {
          "path": "references/navigation-patterns.md",
          "sha256": "ee6e4da266f5bc2d49efdd01752b9f05d56c47cfb516af3f677a398bb09bd344",
          "bytes": 4984
        },
        {
          "path": "references/swift-coding-standards.md",
          "sha256": "b68f48865090be3e3073978cf02304919d8a88fcee6b79c5737487ae52f798ce",
          "bytes": 15154
        },
        {
          "path": "references/swiftui-design-guidelines.md",
          "sha256": "5cc75aa54b54a55bb47d9bda065557db6af786b5aafd6c5992b399029fc985ea",
          "bytes": 32861
        },
        {
          "path": "references/system-integration.md",
          "sha256": "2dac6b67907747f372ae0de1059a0079f92d7d90b0672f75e37f028baf5b394d",
          "bytes": 9635
        },
        {
          "path": "references/uikit-components.md",
          "sha256": "da82a17c48a72b4ea9cbc4960374c77be6774a7d1cf3cdd1e093622e7b56bef6",
          "bytes": 8545
        },
        {
          "path": "SKILL.md",
          "sha256": "4048015e588c505d5190bc3ae50e164cd54840a8c4bb485f49e0957a6dd9ffdb",
          "bytes": 10445
        }
      ],
      "triggers": {
        "description": "|",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "blocked"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/swift-coding-standards.md",
              "lines": [
                415,
                503,
                512,
                525,
                742
              ]
            },
            {
              "path": "references/swiftui-design-guidelines.md",
              "lines": [
                117,
                776,
                1002
              ]
            },
            {
              "path": "references/system-integration.md",
              "lines": [
                366,
                367,
                382,
                387,
                392
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                62,
                87
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/accessibility.md",
              "lines": [
                185
              ]
            },
            {
              "path": "references/swiftui-design-guidelines.md",
              "lines": [
                1140,
                1157
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "mature-project-pattern-research",
      "sourcePath": ".agents/skills/mature-project-pattern-research",
      "sourceHash": "b0cd5a4ca55f9bfe718fadcd8271f087f5bd222a71d0324f9f56ee692b80c7c3",
      "files": [
        {
          "path": "references/research-rubric.md",
          "sha256": "a7d3c1ac25b3a501979c83bf434b00e54a81c9c12cf0ed225fff56a1d512b0ca",
          "bytes": 2232
        },
        {
          "path": "SKILL.md",
          "sha256": "5353ce3ebde06392991140c9b81a65bacf1bd8fcf77f8dfe6b8c03e52f8ea4c9",
          "bytes": 9165
        }
      ],
      "triggers": {
        "description": "Research one bounded mature-project/prior-art question when the user explicitly asks how established projects handle it or ROSE names a decision-shaping prior-art gap; do not trigger automatically for IDEATE, DEFINE, BUILD, implementation, local review, or every design choice.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                39
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/research-rubric.md",
              "lines": [
                15,
                34
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                69,
                151
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "minimax-docx",
      "sourcePath": ".agents/skills/minimax-docx",
      "sourceHash": "9105f42187fa7961980fb0300221a2d1ff442bcd88df632170c6d805fcb56a3c",
      "files": [
        {
          "path": "assets/styles/academic_styles.xml",
          "sha256": "367341503b9ff77c8f8809f4a1eb3e351b654cbaea2209b4fe305d734f714d9b",
          "bytes": 7408
        },
        {
          "path": "assets/styles/corporate_styles.xml",
          "sha256": "d6216dce62323e626049172ea9c77447dfca2eb518fdf17c64d4f2239f1ef2b5",
          "bytes": 8524
        },
        {
          "path": "assets/styles/default_styles.xml",
          "sha256": "f77d90d5c9a255a4adc351e655d2248da76c1bc01e1af6b7323e3d0e37fcddfc",
          "bytes": 12324
        },
        {
          "path": "assets/xsd/aesthetic-rules.xsd",
          "sha256": "734888609265c327fd1f5d1a068957676b442ba65dcd79a6b735e0bae3d5e03e",
          "bytes": 25219
        },
        {
          "path": "assets/xsd/business-rules.xsd",
          "sha256": "ebf945da7561e2457ec0a9e2b9cd36f3c88fbd926d0c13c643d61c235bc8b056",
          "bytes": 5593
        },
        {
          "path": "assets/xsd/common-types.xsd",
          "sha256": "2cccc41a42855d6c10471b2e7e085c633c47d8344276b0be4d75d772b18839cd",
          "bytes": 5175
        },
        {
          "path": "assets/xsd/wml-subset.xsd",
          "sha256": "4c23b3cb324b85989f6c1a7bdcaa35c617289e47ccfed043464446dd06d75b7c",
          "bytes": 25751
        },
        {
          "path": "LICENSE",
          "sha256": "8288840186d6d3d6a0b74395e17448c06160b38e796963c7745f579631b47b01",
          "bytes": 1066
        },
        {
          "path": "references/cjk_typography.md",
          "sha256": "ddc0b9e0984d43101da24b67df3d0603236b67fe46c8d0ecbc3c6bea7983afcd",
          "bytes": 11927
        },
        {
          "path": "references/cjk_university_template_guide.md",
          "sha256": "986e44f5cf3ea4aa69b436c73581dca2d31ad130965269a934caf3838c9ff27d",
          "bytes": 7901
        },
        {
          "path": "references/comments_guide.md",
          "sha256": "fe9150b84734844f3010561927436f6bc787fe46c4cf4d621abb330835d1ba38",
          "bytes": 6530
        },
        {
          "path": "references/design_good_bad_examples.md",
          "sha256": "e2c9331ed35b211f1239ed283abbac444c2a15347c710f01a97c33d0e952a079",
          "bytes": 30831
        },
        {
          "path": "references/design_principles.md",
          "sha256": "e9fe196ad16fecce988671cf8a8fc9ec3403e792530ee4c665370ddbc266ed20",
          "bytes": 27641
        },
        {
          "path": "references/openxml_element_order.md",
          "sha256": "d9ab673ca87ffb2fc0586b77702bf339cdb3283edc540c2f450732746afe8ca1",
          "bytes": 10930
        },
        {
          "path": "references/openxml_encyclopedia_part1.md",
          "sha256": "598c5fbf357f536fd9f3bd1a1307be536f533495631981d9f7518751019490c9",
          "bytes": 140456
        },
        {
          "path": "references/openxml_encyclopedia_part2.md",
          "sha256": "c4adc5480fedaeee85e8963d09fd27914f731ce298b323df9133b9745679ecea",
          "bytes": 94465
        },
        {
          "path": "references/openxml_encyclopedia_part3.md",
          "sha256": "9e801e58c53b83f5988a23a533a0a5b0b3a80c6b3dea06b5a1ce902a685b2ba0",
          "bytes": 121826
        },
        {
          "path": "references/openxml_namespaces.md",
          "sha256": "be2ecd2f84e02b2ba492d9c68fb4cf6cac3d016cc583425b73d4105c5464d02d",
          "bytes": 5561
        },
        {
          "path": "references/openxml_units.md",
          "sha256": "ce480ab62cf78c045a04b0c8f9ef6400a5efaa33233ace8eb666f9cbe1f9acde",
          "bytes": 2369
        },
        {
          "path": "references/scenario_a_create.md",
          "sha256": "1e502d1c006b8f9bd96ba72c447da524e5feac242b0286f1ed249936b069aa72",
          "bytes": 8163
        },
        {
          "path": "references/scenario_b_edit_content.md",
          "sha256": "84062e00b32900b1b2049b748572e105b1750e4d1d70a203c5d4f4109efc42ca",
          "bytes": 8401
        },
        {
          "path": "references/scenario_c_apply_template.md",
          "sha256": "d954cf73d58d0bcad4a7ea481c0a5675a92e9f4d8c1f98d891e770fb0c752739",
          "bytes": 18723
        },
        {
          "path": "references/track_changes_guide.md",
          "sha256": "57fa023f4a6db8b9225d56a7d5e17f3eb9fa05ddaac6f891033253f84f94b82f",
          "bytes": 5323
        },
        {
          "path": "references/troubleshooting.md",
          "sha256": "70382108dcd419fd46b7c66cee4dfad7da82d378afe4f3bed74c60ffdb9d1caa",
          "bytes": 18963
        },
        {
          "path": "references/typography_guide.md",
          "sha256": "835f3549972f24b94b89eb08a86df932e5f957f322337fcd75e24cb3b06c0738",
          "bytes": 10097
        },
        {
          "path": "references/xsd_validation_guide.md",
          "sha256": "de6c4285ffec5cbd5c80bbc1eff6afb9c7fc0757d957a1f069cd3eec277036be",
          "bytes": 5068
        },
        {
          "path": "scripts/doc_to_docx.sh",
          "sha256": "9966b21215c82094efdd07cbeb36975307ebc5e15170c4694e9fa2a0f3645e8f",
          "bytes": 872
        },
        {
          "path": "scripts/docx_preview.sh",
          "sha256": "3960b1a02b73aad32efaca316f98239079caf7993307540ed4cf4b8039e70ccd",
          "bytes": 836
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj",
          "sha256": "d5ef8fdb094916f8e6d3cb4eff17069aec91e14683d8755175457bd3d9db000b",
          "bytes": 497
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs",
          "sha256": "daae3bc20cbdc9b77d91cab3a74efb40f5b9af661384a8c87eb726405d13bddc",
          "bytes": 591
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs",
          "sha256": "b1d452ad764f4ea8ea106bb0e837adba53014e612c9166c71fb7aa9d72f0a019",
          "bytes": 6171
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs",
          "sha256": "934bc17f239a9bf478596312447c048b001b459ddd2db70010ca0314aed23675",
          "bytes": 12991
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs",
          "sha256": "74382c607387fbf2036ee202696799f20b6bcf6a52a7670cc2fd0a01c4045449",
          "bytes": 14530
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs",
          "sha256": "218239b9325cde5b1955a6ce0237d1d6ac05ed6a006a340733767e59b575234f",
          "bytes": 6097
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs",
          "sha256": "cc779ef7ddc364310ab942e231eb8cfc8c761beae8ae4e57b6134b8ce1702624",
          "bytes": 19780
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs",
          "sha256": "0bdfd163069211eb17594504f4b61f26773a96c00182cb84a028df0a096b73f0",
          "bytes": 4495
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs",
          "sha256": "2dd5d519aa5e0cf9533448f63d89e6776b5b7019ffb34868a6c715741a389e66",
          "bytes": 4794
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs",
          "sha256": "856697852a5254b977d97f301a759e42a03b893f690fe88ede2c46a30f336480",
          "bytes": 4214
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj",
          "sha256": "6f87fe7e0b6b2e8c7d4a068ebfb7d6709d932e2f11294afc5613f63327377829",
          "bytes": 425
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs",
          "sha256": "a4454a6a493f011857a5d634a918e9e9a398556644d6706e57ac8eb4078de7f0",
          "bytes": 6476
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs",
          "sha256": "01620be46ba0dc6a7ae113c800181367b1da02070f661252d80187b051273c11",
          "bytes": 4155
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs",
          "sha256": "8d8099f70cac3e8976b47ef34fec224b4bc92ee9ff8286483ef7315cfedeb467",
          "bytes": 3584
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs",
          "sha256": "6d90be5f4427c29eabd92a5709bbe7a0b0f6ab8177347575bc5e197a350e13c8",
          "bytes": 2630
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs",
          "sha256": "8d45627608eaef19b7844c1bd8e6d8c8796bc0cbf5f9c50a47d85b45b61f8985",
          "bytes": 2999
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs",
          "sha256": "a95da32c428f58d6fb76090de47679f0dc3ee0b9e9d1821cea7e778e0d3cccb3",
          "bytes": 3032
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs",
          "sha256": "045038a1865d21cb11e32c74b7dc5152e03905e969ca892743c256840f2a1ee7",
          "bytes": 1057
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs",
          "sha256": "e5b478f71abe1892064b5baec9c5d3d91b8e9e14e21a5ee98bdca7f543510cb6",
          "bytes": 38797
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs",
          "sha256": "f984ed0493762c12706e88295504fa2cced700d230a0de030d80e28cbc7e650f",
          "bytes": 43403
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs",
          "sha256": "e2e4ff1ecefcd9e984af4ac2b82c6cfda2b01e842812eb420c377a4921fb6f92",
          "bytes": 45319
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs",
          "sha256": "6c0c370a2dc5b06e6ceb4f09333d15f043bb4314673740bd150d2d34fb13454f",
          "bytes": 48195
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs",
          "sha256": "12e6921d53b8e4b7f71f499c7d06a9c169e16a80b9666bd6a17e27503bc9c651",
          "bytes": 77371
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs",
          "sha256": "95458b9de60a381e14461a6224aa2d660266de4344800870bbc1530511818075",
          "bytes": 47171
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs",
          "sha256": "f6d567f68f624c455549040629c3419fdc0591e5a45ba5b9abe79fb84c7ab425",
          "bytes": 53357
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs",
          "sha256": "138652396d18836cc2252a82fcd2528a949ea32db1c3d74c47d14c3440ccdf8d",
          "bytes": 26933
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs",
          "sha256": "aace21251fd6a4aa5aa7b754d3eab3d291419641c1dad2350278ae64dc5e842c",
          "bytes": 30838
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs",
          "sha256": "12f51f5a2befe41ff299c342eedfa5c0549cfe2fe53df69533009c2f7479cf92",
          "bytes": 36271
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs",
          "sha256": "0fe5bbb7c810b6c99313c11829f72d01cc896d9c6e01909edcd1431b8e7c690e",
          "bytes": 40191
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs",
          "sha256": "2e696c491f4d95cdb1bef4e65898202a87385a76ab4793cd9422ee0452b89287",
          "bytes": 35152
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs",
          "sha256": "2fe44aa4461eafdb6d20f8e6f5480c217bf0bc54284ea025914f315f394c0258",
          "bytes": 56837
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs",
          "sha256": "b8b4cb6ed9a0c67797cf8b0aab00b482c650173ad41d7cdd5d78af3a50b4cbea",
          "bytes": 65581
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs",
          "sha256": "9d8cb65afaef088d8c90ea438fd8155b91e1ca74c5b92a1049698565faa39052",
          "bytes": 51771
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs",
          "sha256": "067ecbc69bf70bece3f26553ddfb2452e166a570d73942dcc60c996b8fc52d6a",
          "bytes": 26780
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs",
          "sha256": "eacdceed0103749ef34de8a32bdc1cc4df8c23dad360dce33e24ba626d733ebc",
          "bytes": 1200
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs",
          "sha256": "91aa2368bad387763f60e4b2156012dc699ed78eaacccc3e1e32dca95e1fc0f4",
          "bytes": 898
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs",
          "sha256": "6e95bb3f99d0b35e93ea55233e58cb1d6b4d947c0ca769ab01d983c9b78aef66",
          "bytes": 979
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs",
          "sha256": "173b07e0c24f4f5b64e145a90a2630a640e22b2afb6e092f75f3a5ec42197791",
          "bytes": 9229
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs",
          "sha256": "6f07ee9a1631d868e119313131b8cfc75a605ac6ba4046ebbae17d164f94d9d7",
          "bytes": 5952
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs",
          "sha256": "e992fec3bf1756869a523dfc22714f02f91639b5051f64567b76f89caa037d0f",
          "bytes": 651
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs",
          "sha256": "d6ca121941dcb906047f2c591eaf80f1e69bd8cd5c687a238c5b6f80f89f6a6d",
          "bytes": 2175
        },
        {
          "path": "scripts/dotnet/MiniMaxAIDocx.slnx",
          "sha256": "145f185521c15cfc13a3cc1bd6ca5494132a88f5c242b1f0994c330faa9b2aeb",
          "bytes": 153
        },
        {
          "path": "scripts/env_check.sh",
          "sha256": "317dd5067710d32699f1bb7819c406ee57f33a496db31944570dd24110cc7342",
          "bytes": 7097
        },
        {
          "path": "scripts/setup.ps1",
          "sha256": "d47aa72db7d0558a67695b88d50127175cfdbec17f03f12e48317a36ab54c121",
          "bytes": 10156
        },
        {
          "path": "scripts/setup.sh",
          "sha256": "9b371d075d4ca29346cd4d2d6889e0200d35c8ea07ce2aa3edbe651749c6bc9b",
          "bytes": 16481
        },
        {
          "path": "SKILL.md",
          "sha256": "24ee010744bdf0c3b0a0f5e100f92d188c058fd359bfa543f20a6a11682b9e3a",
          "bytes": 21377
        }
      ],
      "triggers": {
        "description": ">",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/openxml_encyclopedia_part1.md",
              "lines": [
                212
              ]
            },
            {
              "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs",
              "lines": [
                234,
                259
              ]
            },
            {
              "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs",
              "lines": [
                705
              ]
            },
            {
              "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs",
              "lines": [
                212
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                37,
                49,
                53,
                56,
                57,
                88,
                182,
                210,
                253
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "LICENSE",
              "lines": [
                8
              ]
            },
            {
              "path": "references/openxml_encyclopedia_part1.md",
              "lines": [
                211,
                223
              ]
            },
            {
              "path": "scripts/doc_to_docx.sh",
              "lines": [
                24
              ]
            },
            {
              "path": "scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs",
              "lines": [
                381,
                859,
                885
              ]
            },
            {
              "path": "scripts/env_check.sh",
              "lines": [
                35,
                37,
                39,
                40,
                41,
                42,
                44,
                45,
                81,
                101,
                102,
                103,
                129,
                130,
                131
              ]
            },
            {
              "path": "scripts/setup.ps1",
              "lines": [
                28,
                50,
                70,
                72,
                74,
                76,
                87,
                101,
                102,
                103,
                104,
                111,
                122,
                145,
                146,
                147,
                188,
                190,
                212
              ]
            },
            {
              "path": "scripts/setup.sh",
              "lines": [
                45,
                46,
                101,
                108,
                109,
                110,
                111,
                117,
                123,
                130,
                134,
                135,
                136,
                137,
                138,
                139,
                144,
                153,
                169,
                170,
                171,
                173,
                176,
                197,
                217,
                218,
                219,
                221,
                224,
                232,
                250,
                251,
                252,
                254,
                256,
                273,
                275,
                386,
                389,
                390,
                393,
                399,
                475
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                29,
                36
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "minimax-pdf",
      "sourcePath": ".agents/skills/minimax-pdf",
      "sourceHash": "413f8fbe4fcad0232c5174ed80a06f42663539fded4cba142861ddbc990817a8",
      "files": [
        {
          "path": "design/design.md",
          "sha256": "870932013e86371697d88406273f8796830270a9171ac8065b13078acef6ffe2",
          "bytes": 17208
        },
        {
          "path": "README.md",
          "sha256": "722de92102a3e132612b868924b3bdb47945140ab76dfa8dc7775a7cf3c2cd7e",
          "bytes": 8530
        },
        {
          "path": "scripts/cover.py",
          "sha256": "ad6c6b927805c8d189869cd309e260e7a82a75cb809c92d4ca0627de4a724cfa",
          "bytes": 48008
        },
        {
          "path": "scripts/fill_inspect.py",
          "sha256": "f048e44f5cc094c18790c4e8ff194d3ff6fe4018fa63bed148dd9730fff83467",
          "bytes": 6402
        },
        {
          "path": "scripts/fill_write.py",
          "sha256": "afece596da883cc3bdfe112b9e46798b313312d93a05037b1bc5c3359502f993",
          "bytes": 8451
        },
        {
          "path": "scripts/make.sh",
          "sha256": "c4f5c5a88be4b69f186f3712a357631dbf91be7233942e16144a864a914e25fb",
          "bytes": 19562
        },
        {
          "path": "scripts/merge.py",
          "sha256": "4e194d8fe6a85a6d1981011c6f495be9a2c25c71bac5446c5386f0c3fb3e5660",
          "bytes": 3750
        },
        {
          "path": "scripts/palette.py",
          "sha256": "520a55d4c3134a074fcfa24f1dab6369f489ca0a24b546f283064c3db17e86c1",
          "bytes": 19662
        },
        {
          "path": "scripts/reformat_parse.py",
          "sha256": "1b5618ae2a423e9c0abb8eb7e1bf3c41d97ef24353b4a886432052170942f974",
          "bytes": 13295
        },
        {
          "path": "scripts/render_body.py",
          "sha256": "7cdd0ad4cfd845eefabf641c41265c934639f4a43be2290b25c5e23313667c7e",
          "bytes": 40661
        },
        {
          "path": "scripts/render_cover.js",
          "sha256": "5511c5b72d1e95e5fd8dc424c360d7ccd16fb70bc15235db327c1317cb875ba7",
          "bytes": 3844
        },
        {
          "path": "SKILL.md",
          "sha256": "1ea5472504b42e4fcf2b3346ccd727483864b0ec04c8976b83b248b202435d25",
          "bytes": 10748
        }
      ],
      "triggers": {
        "description": ">",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                43,
                218
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "design/design.md",
              "lines": [
                328
              ]
            },
            {
              "path": "README.md",
              "lines": [
                10,
                135,
                138,
                139,
                141,
                209,
                212,
                213,
                215,
                218
              ]
            },
            {
              "path": "scripts/fill_inspect.py",
              "lines": [
                28
              ]
            },
            {
              "path": "scripts/fill_write.py",
              "lines": [
                37
              ]
            },
            {
              "path": "scripts/make.sh",
              "lines": [
                7,
                109,
                110,
                111,
                117,
                118,
                120,
                122,
                468
              ]
            },
            {
              "path": "scripts/merge.py",
              "lines": [
                22
              ]
            },
            {
              "path": "scripts/reformat_parse.py",
              "lines": [
                43
              ]
            },
            {
              "path": "scripts/render_body.py",
              "lines": [
                45,
                837,
                874
              ]
            },
            {
              "path": "scripts/render_cover.js",
              "lines": [
                47,
                62,
                66,
                67
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                206,
                210,
                213,
                214,
                216
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "minimax-xlsx",
      "sourcePath": ".agents/skills/minimax-xlsx",
      "sourceHash": "30f009b6733ecfe39c752e9d9c9848803ad67a9bcb45c00488417ac26aab1de8",
      "files": [
        {
          "path": "references/create.md",
          "sha256": "4bbf2fe9289da27ee191b48a21e1622413d3a644cccdb44a18ccacb8d1f6eac9",
          "bytes": 24918
        },
        {
          "path": "references/edit.md",
          "sha256": "45ab10fa01136e6661dbb94a2910fdfd935ef8fea824c34bbecc095df2a4abe0",
          "bytes": 24777
        },
        {
          "path": "references/fix.md",
          "sha256": "5d91be6bc928b61741848381e5c82e3ae664b97bfb3064cd7d71ba0592e1a647",
          "bytes": 1265
        },
        {
          "path": "references/format.md",
          "sha256": "60ad868439aaf7b0a255f55ea92eaa629ae1238abf10503faf43727fc47b569c",
          "bytes": 34103
        },
        {
          "path": "references/ooxml-cheatsheet.md",
          "sha256": "cc285ed13d967ed65a7c4e404a724532ab4b57af6a993ceabc93ab65f2924eed",
          "bytes": 6430
        },
        {
          "path": "references/read-analyze.md",
          "sha256": "7f1f9979a72573e0185c44a8870980244910e7bb334c1fc5ee77fd8346ebb99d",
          "bytes": 4408
        },
        {
          "path": "references/validate.md",
          "sha256": "98bb5fcbabac583d95e64312630b25af9036b20c3b32cf17835e99be2d3dd460",
          "bytes": 30369
        },
        {
          "path": "scripts/formula_check.py",
          "sha256": "94661b6ebbfef0450b762392b45477678a7cd641982e0eb9397fef7bcb716e15",
          "bytes": 17540
        },
        {
          "path": "scripts/libreoffice_recalc.py",
          "sha256": "a7967a78aff2f8f74f4975db2f674215a4dce1086c38b5312e353f7bad084f87",
          "bytes": 9415
        },
        {
          "path": "scripts/shared_strings_builder.py",
          "sha256": "18cecc1990a59b6c208173a405de48d6bfb983b4682938bcb1f949ef05cd7c7c",
          "bytes": 5179
        },
        {
          "path": "scripts/style_audit.py",
          "sha256": "4ac17193e5ad306cb89007a7fe8492b9117de0d4b0136a3ffaa65223e60abcb6",
          "bytes": 22424
        },
        {
          "path": "scripts/xlsx_add_column.py",
          "sha256": "8575ecfb6b8863933e36546339202de9d3cc54d4a811ac3f9f5a7754a79f1bd8",
          "bytes": 14737
        },
        {
          "path": "scripts/xlsx_insert_row.py",
          "sha256": "e67f580d55577cd080eabde9455869169dd1c8635a173d16f51bde05fd14c445",
          "bytes": 10046
        },
        {
          "path": "scripts/xlsx_pack.py",
          "sha256": "a267748f5e0265987094380b99e6d7a61bc3af73a82aa55763d5e99c917e22d9",
          "bytes": 2956
        },
        {
          "path": "scripts/xlsx_reader.py",
          "sha256": "585071399f9e5683700081db959812bcce02edb694bb5a7dece94d9b89a5e1f0",
          "bytes": 13545
        },
        {
          "path": "scripts/xlsx_shift_rows.py",
          "sha256": "bcfdafa80414fd74c4dbfd7c11bcc69dae986ffd84b7ffacdd2d000b82911c6d",
          "bytes": 13614
        },
        {
          "path": "scripts/xlsx_unpack.py",
          "sha256": "9169017fde883e6c5685fa6111b22b9027052e4721142785b037ceaf7a60fe18",
          "bytes": 4804
        },
        {
          "path": "SKILL.md",
          "sha256": "0859c1faf68a2e52a0f09cde9a5ee31f6914bff5856cd7f0c1cdc7a3d12b9bc7",
          "bytes": 14626
        },
        {
          "path": "templates/minimal_xlsx/_rels/.rels",
          "sha256": "04fb672e829ec6d5942a95014326ff1a89365346d8593631fe58a067379f79db",
          "bytes": 309
        },
        {
          "path": "templates/minimal_xlsx/[Content_Types].xml",
          "sha256": "af1b5e212ea1c6081649269e2126f0f8c28bea7cc0b8039731f4cdd064eb9a09",
          "bytes": 836
        },
        {
          "path": "templates/minimal_xlsx/xl/_rels/workbook.xml.rels",
          "sha256": "f60ff34ef9eeae7a2c01f2e316180b6771cce3ce96bbef4a6ca4c8c4c60704c9",
          "bytes": 862
        },
        {
          "path": "templates/minimal_xlsx/xl/sharedStrings.xml",
          "sha256": "2f5b6bb2ad8bc9b7d3077555917377404f7c14e0b2736ad7ba936ae5b99fca95",
          "bytes": 1167
        },
        {
          "path": "templates/minimal_xlsx/xl/styles.xml",
          "sha256": "7a83fa48c30277de1f2110a699f18fe6496af31a6f7264a01e3cbdff5313da32",
          "bytes": 8383
        },
        {
          "path": "templates/minimal_xlsx/xl/workbook.xml",
          "sha256": "64a5961f39a8c255ba5d0c49d1e0be86c01d25ca1fd87445759d2d92756380dc",
          "bytes": 1119
        },
        {
          "path": "templates/minimal_xlsx/xl/worksheets/sheet1.xml",
          "sha256": "666bff4e34691adb89a53cecddc3d84a6f1f04b38eba353c188b7d1693e342ac",
          "bytes": 2596
        }
      ],
      "triggers": {
        "description": "\"Create, edit, analyze, format, or validate Excel/XLSX/CSV spreadsheets with managed OfficeCLI first and pandas/XML preservation-aware fallbacks.\"",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/fix.md",
              "lines": [
                3
              ]
            },
            {
              "path": "references/validate.md",
              "lines": [
                618
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                8,
                40,
                42,
                65,
                70,
                75,
                94,
                109,
                120,
                131,
                163,
                183
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/validate.md",
              "lines": [
                281,
                292,
                296,
                301,
                332,
                337
              ]
            },
            {
              "path": "scripts/libreoffice_recalc.py",
              "lines": [
                39,
                90,
                91,
                92,
                211,
                212
              ]
            },
            {
              "path": "scripts/xlsx_reader.py",
              "lines": [
                41
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                28,
                35
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "newsletter-generation",
      "sourcePath": ".agents/skills/newsletter-generation",
      "sourceHash": "e125a107d9d9d490b43f9cbe928b53072f43167b47655cebd8530f32a43a7ba7",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "a8ea7d2c70dec24887d840e76e7ca522b619683c75443b2a84845ad077f7d574",
          "bytes": 2971
        }
      ],
      "triggers": {
        "description": "Generate or edit a source-grounded newsletter issue, digest, or briefing from provided or researched sources. Use for weekly/monthly updates, curated links, executive digests, community newsletters, or \"turn these sources into a newsletter\"; do not use for UI landing pages, marketing campaign design, unsourced news claims, or long-form research reports.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                71
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                17
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "oss-release-readiness",
      "sourcePath": ".agents/skills/oss-release-readiness",
      "sourceHash": "715c59e2ad7339acbf14d6cdd81c2b01b8e979a7b8605cbb41803efd7aaecb79",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "79a52a1b1fd2f78ff3c83acc16bf685e2ba6fa4127926d8e7ede71a8b2d8fe91",
          "bytes": 3495
        }
      ],
      "triggers": {
        "description": "Run a non-destructive open-source, npm, or public release readiness checklist covering package metadata, provenance, license, internal artifact exposure, and dry-run evidence; complements security, shipping, and sanitizer reviews, and must not publish, delete, rewrite history, or mutate release state.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                33
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                2,
                3,
                6,
                8,
                12,
                13,
                14,
                19,
                25,
                33,
                34,
                38,
                40,
                41,
                45,
                46,
                47
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "parallel-subagent-dispatch",
      "sourcePath": ".agents/skills/parallel-subagent-dispatch",
      "sourceHash": "eef484aa6f70ee787b7f032668bae285dffa133dd5157a7fe6dc24ab70dc0f50",
      "files": [
        {
          "path": "references/agent-selection-matrix.md",
          "sha256": "db35b7c17ba76984d9ee2d69931dfbce80c6413b90953899a9ae5cc671855224",
          "bytes": 8833
        },
        {
          "path": "SKILL.md",
          "sha256": "618d7cfb6dff942acc4b0660a9881b6f7f2f0e4e7f832f5d21a9cf0e9a5bcd52",
          "bytes": 5533
        }
      ],
      "triggers": {
        "description": "Prefer a fresh matching specialist for a clear bounded non-trivial package when current capabilities and permissions permit it; use direct ROSE work only for accepted direct-work exceptions or a concrete block.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "blocked"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                38
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/agent-selection-matrix.md",
              "lines": [
                17,
                31
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                28,
                36,
                38,
                44,
                60
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "references/agent-selection-matrix.md",
              "lines": [
                14
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/agent-selection-matrix.md",
              "lines": [
                27,
                32
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "subagent.dispatch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "src/runtime/persistent-agents/production.ts",
      "verification": [
        "snapshot-hash:verified",
        "npm run verify:roles",
        "vitest run tests/unit/persistent-agent-task.test.ts tests/unit/persistent-agent-hub.test.ts tests/unit/persistent-agent-policy.test.ts",
        "vitest run tests/integration/persistent-agent-runtime.test.ts tests/integration/persistent-agent-production.test.ts tests/integration/persistent-agent-task-collision.test.ts tests/integration/package-runtime.test.ts",
        "vitest run tests/unit/persistent-agent-task-registration.test.ts",
        "npm run test:doctor"
      ],
      "status": "adapted",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: subagent.dispatch.",
      "unverified": []
    },
    {
      "name": "performance-optimization",
      "sourcePath": ".agents/skills/performance-optimization",
      "sourceHash": "15f2af27d30f16104816a857703fcecf1309574d31d26a0f40ea3dec83725eb0",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "55e6b57dbd031823a5a9c2ec40a16a22e5a88dbf273f3ce3f4e185225787cfb4",
          "bytes": 13458
        }
      ],
      "triggers": {
        "description": "Optimize a measured performance problem when the user names a latency/load/Core Web Vitals/resource target or current profiling evidence identifies a bottleneck; do not trigger from generic implementation, review, or an unsupported suspicion that code may be slow.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                48,
                54,
                85
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                139,
                141,
                142,
                245
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                85,
                89,
                107,
                108,
                120,
                123,
                132
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "planning-and-task-breakdown",
      "sourcePath": ".agents/skills/planning-and-task-breakdown",
      "sourceHash": "9238e535ec3f6294c8d0f5b806b65851330fdbe1c2656231d6fdf7601311aae7",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "3a7b135be88e6bdbbdee77f544acef1875d8ed66250e39cf3a75df6624fe097c",
          "bytes": 12282
        }
      ],
      "triggers": {
        "description": "Break a clear scope or accepted specification into ordered tasks/packages when the user explicitly asks for a plan, estimate, dependency order, or task breakdown; do not trigger for ordinary implementation, every multi-step task, speculative parallelism, review, or completion.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                2,
                3,
                6,
                14,
                22,
                65,
                66,
                67,
                68,
                73,
                74,
                75,
                76,
                83,
                86,
                88,
                97,
                150,
                168,
                169,
                192,
                196,
                198,
                199,
                201,
                203,
                205,
                219,
                222,
                223,
                226,
                229,
                230,
                236,
                237,
                272,
                274,
                285,
                286,
                287,
                288
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                143,
                177,
                188,
                199
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "pptx-generator",
      "sourcePath": ".agents/skills/pptx-generator",
      "sourceHash": "d3deb80a3f0cf7e1c0509b92ff8d952f31897ad0a15a608021d8e142052d6dd1",
      "files": [
        {
          "path": "references/content-planning.md",
          "sha256": "73120c1d058d82f003397c343bc3834797ba7ef760badc8fab5c6e5099fac726",
          "bytes": 12447
        },
        {
          "path": "references/delivery-readiness.md",
          "sha256": "d9f0631c569a44d3c126a920e705e216bfde4c9f8401c2b8293f7ca5248efa74",
          "bytes": 2486
        },
        {
          "path": "references/design-contract.md",
          "sha256": "9036dd546b9549f798787e42715f007af653adbdd8519b7bc42327539979e767",
          "bytes": 1574
        },
        {
          "path": "references/design-system.md",
          "sha256": "e80263f87b942356420f3c547b07e21c3c0c776fb3d1acd578e9bf3d729e3438",
          "bytes": 17690
        },
        {
          "path": "references/editing.md",
          "sha256": "48882a58b9bc8ab44ce07bf89c8f6d8ea5e98184cf60437ca0c799654ad3eb87",
          "bytes": 7309
        },
        {
          "path": "references/font-policy.md",
          "sha256": "808dbc1cedd2a3d04fc75b5be8dad99aeec0fc3bcd40a3ad280d8ea288c7b0fb",
          "bytes": 2382
        },
        {
          "path": "references/human-design-playbook.md",
          "sha256": "1fa96bd96016ea647d61cef1400fdb56a5b6835866300f7f892fe2fe77527202",
          "bytes": 5263
        },
        {
          "path": "references/intake-and-blockers.md",
          "sha256": "c63f2fddf58899f0abb21d9461d14284261e63379ba05593a883102b0a884139",
          "bytes": 2098
        },
        {
          "path": "references/learning-notes-01-foundations.md",
          "sha256": "595042fcb86702850e56ef006434a873e2eba6b96ea97c52f7b21f9dcf91128e",
          "bytes": 7726
        },
        {
          "path": "references/learning-notes-02-workplace-content-design.md",
          "sha256": "d057da1e3f928e3fce2a2998d3628d5268b2795cdc43f0fb86334fba8eab3204",
          "bytes": 15323
        },
        {
          "path": "references/learning-notes-03-workplace-specialized-slides.md",
          "sha256": "034945d25bb97609216e59c42d8a1c14787ce40679e52572d299befdc379754b",
          "bytes": 12755
        },
        {
          "path": "references/learning-notes-04-layout-formulas.md",
          "sha256": "4bd7affc8d11392376a28d2d32003268aa0d427d90419652460a3eb46e5a4a5b",
          "bytes": 8798
        },
        {
          "path": "references/learning-notes-05-specialized-case-practice.md",
          "sha256": "2fcfe9ec984a4b86b1b52d8dd02ab1551e8d63fb0b06cb971456d675bcbbf99c",
          "bytes": 10031
        },
        {
          "path": "references/learning-notes-06-advanced-design.md",
          "sha256": "cf8e002289023c1fed69a6e8035d4d582eb71e7b637408d8bbd3c54bf2255e02",
          "bytes": 9535
        },
        {
          "path": "references/officecli-adapter.md",
          "sha256": "7ebb9745bfb285eecf11e2f7645fe678d62ef62da814b952db8e9eb50f1b72fa",
          "bytes": 4298
        },
        {
          "path": "references/pitfalls.md",
          "sha256": "1cc41503b20f3cba66a7e26784eca3d58980e0b2b482bebfff006bcf30359933",
          "bytes": 7741
        },
        {
          "path": "references/pptxgenjs.md",
          "sha256": "7e6275a004f546eb592e60505a62bc11a2dd64611b4e48d6d6471ef1c1b8393f",
          "bytes": 13392
        },
        {
          "path": "references/slide-types.md",
          "sha256": "254ad42840e41b6c5eecdd6919ee333840ca693cf6b8989e48edce5c450676b1",
          "bytes": 16642
        },
        {
          "path": "references/visual-review.md",
          "sha256": "3e6323e2fbdd34427d2c5e4ec686d3efb31b5d9abd2716a96f5012a48a3d7733",
          "bytes": 2025
        },
        {
          "path": "references/workspace.md",
          "sha256": "773f363dac3462f697cf547f69c47f8e8c34b95f96d879182108696337496614",
          "bytes": 3853
        },
        {
          "path": "schemas/asset-manifest.schema.json",
          "sha256": "60d20d8d64b2af27f9d3c5ddf2c4687e8d1935a237d2ccc34a8cf7dd81bc24b4",
          "bytes": 968
        },
        {
          "path": "schemas/asset-plan.schema.json",
          "sha256": "04e1167cda870d06a9b20680073c667cf2703f99d07b78cb9338f4e3466870ad",
          "bytes": 886
        },
        {
          "path": "schemas/build-report.schema.json",
          "sha256": "9bb817c3281ab73b9bedb6210083faff70de52b24992376465ae051a607977da",
          "bytes": 3258
        },
        {
          "path": "schemas/design-brief.schema.json",
          "sha256": "054a680f32708a227650e0d62150cef69a72f442ae6eb1cbbb23534c6a1e40b5",
          "bytes": 722
        },
        {
          "path": "schemas/design-contract.schema.json",
          "sha256": "f9cd944768e2096dba9c86c4a632dcf57e9995dce4f9915444921d039f6a8675",
          "bytes": 1682
        },
        {
          "path": "schemas/evidence-manifest.schema.json",
          "sha256": "554f73e527eae14b3467f0f113c99a25cd85e2f26c69b3f33b960e13004357fa",
          "bytes": 806
        },
        {
          "path": "schemas/evidence-plan.schema.json",
          "sha256": "fe12803589e6a009920565abfdfda2496d2b078826ecf3191f41e073f22fe453",
          "bytes": 939
        },
        {
          "path": "schemas/font-audit.schema.json",
          "sha256": "679fb956b53a7783d5bdb24343ce490c20ae64bcc3e0ebaa743115201c7bfe63",
          "bytes": 1736
        },
        {
          "path": "schemas/font-contract.schema.json",
          "sha256": "ed46c6248433f614e27a75b7789a7961ea937172ece5730ec439dc365a5c7f96",
          "bytes": 1282
        },
        {
          "path": "schemas/font-environment.schema.json",
          "sha256": "98e475fa78f3c52385c4a81ae37a76e4dad327ca2600e1aa8b9a876e036067a0",
          "bytes": 2698
        },
        {
          "path": "schemas/intake.schema.json",
          "sha256": "69b289acbe0056f4b9ed352dfacb88a67f0a69d99894b526ad2f87a9e651cdc2",
          "bytes": 2089
        },
        {
          "path": "schemas/layout-preflight.schema.json",
          "sha256": "d55cea5347ce2fe4c6b65a5857492ef01a709b4a0cd1b0238238daf26fb8700d",
          "bytes": 1943
        },
        {
          "path": "schemas/outline.schema.json",
          "sha256": "e19564583d0bf11c45d5353279ad97da60e0159fb7595561aa3b29b2e185b989",
          "bytes": 2125
        },
        {
          "path": "schemas/readiness-report.schema.json",
          "sha256": "43e58b42fdad85e83adeb4ad6f4f81b3595804d49bc944ab6a5699fbc2d98260",
          "bytes": 1291
        },
        {
          "path": "schemas/render-manifest.schema.json",
          "sha256": "8cc4324ae034cd3bf14361f8c73fd6427533b5d7faa2dee3041d50a1b24e3f8c",
          "bytes": 2326
        },
        {
          "path": "schemas/source-manifest.schema.json",
          "sha256": "086c608541909e3e8608acddb1a2a5fb8434383e31c0e026a0530156995aff15",
          "bytes": 1289
        },
        {
          "path": "schemas/style-lock.schema.json",
          "sha256": "d3599fd7ca140622e3db83499eec11074d52ab53ade1aed238196e94772f5731",
          "bytes": 1193
        },
        {
          "path": "schemas/template-profile.schema.json",
          "sha256": "cde455ec289f1a0f811ec473b76e77a720ce811d34d8244713fa90eb4971717f",
          "bytes": 2839
        },
        {
          "path": "schemas/template-style-confirmation.schema.json",
          "sha256": "e087d5dab7560262b43bf7bf96e7bd4b4bf990584b1315b6da98d8873d4fb573",
          "bytes": 2273
        },
        {
          "path": "schemas/visual-review.schema.json",
          "sha256": "cfcc909e3a0ed556527ca902724bae5c88134d3a0df48b6a82378af998d3d8c3",
          "bytes": 4882
        },
        {
          "path": "schemas/workspace.schema.json",
          "sha256": "2f08da894ce146224e372dbc97f8c171528f5c23b490d17dffbba9a42886bd27",
          "bytes": 1657
        },
        {
          "path": "scripts/apply_text_autofit.py",
          "sha256": "8f0182ac799da351a56a8346ff132fdfc2fbbdf7a151091812eb7a21a6156635",
          "bytes": 7018
        },
        {
          "path": "scripts/build_workspace.py",
          "sha256": "918b9c6f615403e235582bd89ff9dd8764f1db2dd698217370697136a4517c69",
          "bytes": 21437
        },
        {
          "path": "scripts/compile_plan.py",
          "sha256": "3fa327d6a05a06bf5acbddcbfbd6c86716ebab5b2b424c81ba3a4eb87492a6b4",
          "bytes": 15675
        },
        {
          "path": "scripts/emit_visual_review_packet.py",
          "sha256": "6419da832c2c57c42c59a5d6d3be0489bb985d837354eb6a75f5a1550e052459",
          "bytes": 8083
        },
        {
          "path": "scripts/init_workspace.py",
          "sha256": "4c98cd3bdcb0bae3d6a8c658b14ae09a4af827659afabef3962b7d01003eff7b",
          "bytes": 4661
        },
        {
          "path": "scripts/inventory_fonts.py",
          "sha256": "da56be0071fac5b470d78232e620a86bc83d805689b774f1a91c93504efc54ec",
          "bytes": 7657
        },
        {
          "path": "scripts/lock_style_proof.py",
          "sha256": "d34b7f1030b0ef373d9ae13ff55c56dae942b5410e76bf3630b37647c73e2dcf",
          "bytes": 1995
        },
        {
          "path": "scripts/officecli_adapter.py",
          "sha256": "0d9fbaaff70059c6a68dfcde8e9654fa4881697271efe13fbc902dfbc5546763",
          "bytes": 12804
        },
        {
          "path": "scripts/probe_officecli.py",
          "sha256": "ad922b047ce13e7ea9fe9b1ba4843c07a48ea10f1f9ef91faf9ed49c25a69f36",
          "bytes": 842
        },
        {
          "path": "scripts/profile_template.py",
          "sha256": "2e469aa6d0856d4cf2c4574ee94f366f4d4ab6e493512dbae1ff9ab66888efdf",
          "bytes": 13619
        },
        {
          "path": "scripts/render_with_officecli.py",
          "sha256": "ea42dcd095dde024ea8150e36fa6a128bb1e9530cc23727af90dd0f91bf29d45",
          "bytes": 15870
        },
        {
          "path": "scripts/report_delivery_readiness.py",
          "sha256": "125dd426763a4957c96a85cda15f96c26fb4b2d99129ea4b3bf7be8623c95fe9",
          "bytes": 16776
        },
        {
          "path": "scripts/report_font_audit.py",
          "sha256": "ef343944541b8c914dbef8cd6261405c38998c9e6fdbb6caf249675c82f274c9",
          "bytes": 6936
        },
        {
          "path": "scripts/report_layout_preflight.py",
          "sha256": "0ff9f43332fd5b850e870e8695a25ed4df6b5d78c7b00158fee6e1b8135c53ca",
          "bytes": 12199
        },
        {
          "path": "scripts/report_workspace_readiness.py",
          "sha256": "a9ecff24262500b84d0f52e66f47fcb60af96b26c167c9c07542203b6b1d2f3c",
          "bytes": 21060
        },
        {
          "path": "scripts/workspace_core.py",
          "sha256": "b83d150bfe2d116108787927245ddd787e3aecd07cef3c762217d34cbbba5854",
          "bytes": 26778
        },
        {
          "path": "SKILL.md",
          "sha256": "a9f482a9b5d35fb1ac4455340b478b426e2162bd689cbddfe9d044de4715fd6e",
          "bytes": 13103
        },
        {
          "path": "templates/workspace/from-scratch/asset-plan.json",
          "sha256": "43c5ceabaec8596bc242f2a9b5a0a7c6b6c063709fdd69cd7c26cb31fd536fc9",
          "bytes": 45
        },
        {
          "path": "templates/workspace/from-scratch/assets/attribution.csv",
          "sha256": "87fd77795a638d9f693ad2ff2aa81c6d6a8dff1bb0029e3eb929f2611598d660",
          "bytes": 37
        },
        {
          "path": "templates/workspace/from-scratch/assets/manifest.json",
          "sha256": "5d7572aea12757f02e262b10a65d217103152bd1e6ffe835a2347c2fceb251a1",
          "bytes": 46
        },
        {
          "path": "templates/workspace/from-scratch/assets/originals/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/assets/prepared/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/build/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/design-brief.json",
          "sha256": "047508dd04bd6448d44c2861b9f4a40dc1594971f793621077ecb6e17733fbf3",
          "bytes": 164
        },
        {
          "path": "templates/workspace/from-scratch/design-contract.json",
          "sha256": "115d3c0c89a75089a42ad166fe86f0216bc7c00c2b927631999a292dfd859b80",
          "bytes": 551
        },
        {
          "path": "templates/workspace/from-scratch/evidence-plan.json",
          "sha256": "43c5ceabaec8596bc242f2a9b5a0a7c6b6c063709fdd69cd7c26cb31fd536fc9",
          "bytes": 45
        },
        {
          "path": "templates/workspace/from-scratch/font-contract.json",
          "sha256": "e1c65f449caa6119bfe537ab366208c6efd76a4cbde65d8f7a6989ce402c0b69",
          "bytes": 115
        },
        {
          "path": "templates/workspace/from-scratch/font-environment.json",
          "sha256": "e2f8f19b69b298a0f79312bba1840ab26f686377dedc7f9cc8e5225cb0cd97f4",
          "bytes": 810
        },
        {
          "path": "templates/workspace/from-scratch/intake.json",
          "sha256": "5b654949599c7dfec2711f913ad23c9897129f4d00761e183089a6312edc9cbd",
          "bytes": 166
        },
        {
          "path": "templates/workspace/from-scratch/notes.md",
          "sha256": "289012585acbf8680604a1c703c53b0303fe56eb2c7bd7fd520a1f347d6f84f1",
          "bytes": 127
        },
        {
          "path": "templates/workspace/from-scratch/patches/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/per-slide-content-plan.md",
          "sha256": "9b76dd29b14dc9bacb6a9bdd08df68d56d35d1b2283a85bb148fcb99e912e2b6",
          "bytes": 379
        },
        {
          "path": "templates/workspace/from-scratch/renders/final/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/renders/r1/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/renders/style-proof/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/reviews/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/scripts/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/sources/manifest.json",
          "sha256": "0a12ec538c8357746dadc64589fb0f9f9fbe9bc012eefac67bd0d29952a5c7f9",
          "bytes": 47
        },
        {
          "path": "templates/workspace/from-scratch/sources/originals/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/src/deck.js",
          "sha256": "5f19dcbe4a43574393421c00cb81ed71a35899753530226d7ae54744415a4fa2",
          "bytes": 943
        },
        {
          "path": "templates/workspace/from-scratch/src/slides/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/from-scratch/src/theme.js",
          "sha256": "b9b240e8ede67d2b32e6365d72e68710530def8f0c8b9aa1c399176c4638d093",
          "bytes": 254
        },
        {
          "path": "templates/workspace/from-scratch/workspace.json",
          "sha256": "6731f27f2fa197afb5ec6a8092a1022581758a9ab9ff2349f066ec465ed330cc",
          "bytes": 1451
        },
        {
          "path": "templates/workspace/inspect/build/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/inspect/renders/final/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/inspect/reviews/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/inspect/sources/manifest.json",
          "sha256": "a9290a48ea230d31ad9295deadce0cf95e280cd88f1d34b46f79c1bfbc13d07a",
          "bytes": 186
        },
        {
          "path": "templates/workspace/inspect/sources/originals/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/inspect/workspace.json",
          "sha256": "ff6d7e5cb7427242fa8ae83d89372af377b065406beb3fb43e4c62d823508486",
          "bytes": 387
        },
        {
          "path": "templates/workspace/template-edit/asset-plan.json",
          "sha256": "43c5ceabaec8596bc242f2a9b5a0a7c6b6c063709fdd69cd7c26cb31fd536fc9",
          "bytes": 45
        },
        {
          "path": "templates/workspace/template-edit/assets/attribution.csv",
          "sha256": "87fd77795a638d9f693ad2ff2aa81c6d6a8dff1bb0029e3eb929f2611598d660",
          "bytes": 37
        },
        {
          "path": "templates/workspace/template-edit/assets/manifest.json",
          "sha256": "5d7572aea12757f02e262b10a65d217103152bd1e6ffe835a2347c2fceb251a1",
          "bytes": 46
        },
        {
          "path": "templates/workspace/template-edit/assets/originals/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/assets/prepared/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/build/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/design-brief.json",
          "sha256": "e47959161f89cf76a60bd812a49a7d63eda575a33b173f6cf6a1e310b7774f81",
          "bytes": 180
        },
        {
          "path": "templates/workspace/template-edit/design-contract.json",
          "sha256": "e51b1abcfc8510311f29738bfb72f5a92888e40d316a14a76151c12487ebf43b",
          "bytes": 565
        },
        {
          "path": "templates/workspace/template-edit/evidence-plan.json",
          "sha256": "43c5ceabaec8596bc242f2a9b5a0a7c6b6c063709fdd69cd7c26cb31fd536fc9",
          "bytes": 45
        },
        {
          "path": "templates/workspace/template-edit/font-contract.json",
          "sha256": "c6ac8106bcf31bebd026b4240e42bc77dccb85dc18be81bc3fcfd7e73b1d5533",
          "bytes": 125
        },
        {
          "path": "templates/workspace/template-edit/font-environment.json",
          "sha256": "4f570062bec18dece3de1afdbeb0032b653591d5602ea2ed929c411da41fab2f",
          "bytes": 805
        },
        {
          "path": "templates/workspace/template-edit/intake.json",
          "sha256": "a6a226204b9b079b710551113ecd69f6a85da23955f68ee4fe67bbdac4404b1b",
          "bytes": 451
        },
        {
          "path": "templates/workspace/template-edit/notes.md",
          "sha256": "b3875aec7d1efcfa95e9e3cee6a31821d132733979137e532662d8bd0e09e0b1",
          "bytes": 129
        },
        {
          "path": "templates/workspace/template-edit/patches/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/per-slide-content-plan.md",
          "sha256": "800289dfa30f916b3dbef7b798ffed179c6527e8ec23cd6f1c32a82d9d695871",
          "bytes": 382
        },
        {
          "path": "templates/workspace/template-edit/renders/final/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/renders/r1/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/renders/style-proof/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/reviews/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/scripts/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/sources/manifest.json",
          "sha256": "61c2362e141d7a7f842c076d7e7bdddc67bb13ced7f3549cdc42d5fd516f3d79",
          "bytes": 356
        },
        {
          "path": "templates/workspace/template-edit/sources/originals/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/src/deck.js",
          "sha256": "d1b873b1a3735e188f380a09bfb53ecb24fc63c84ca45850440ea8c9eef7ebce",
          "bytes": 1085
        },
        {
          "path": "templates/workspace/template-edit/src/slides/.gitkeep",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "bytes": 0
        },
        {
          "path": "templates/workspace/template-edit/src/theme.js",
          "sha256": "b9b240e8ede67d2b32e6365d72e68710530def8f0c8b9aa1c399176c4638d093",
          "bytes": 254
        },
        {
          "path": "templates/workspace/template-edit/template-profile.json",
          "sha256": "109a9aa427039c73e3bb5e7d8d18d18e48dc26b12de9ca46b5a0f3d1d1896cce",
          "bytes": 244
        },
        {
          "path": "templates/workspace/template-edit/workspace.json",
          "sha256": "a869707c8bfd29aced1b1f5a0db059e9b86e1ee9cf14421664e8b885c4cd4bda",
          "bytes": 1860
        }
      ],
      "triggers": {
        "description": "\"Generate, edit, inspect, or verify editable PowerPoint/PPTX decks when a .pptx file is the deliverable; use for template-preserving edits and from-scratch slide production, but not for HTML/SVG mockups, PDF-only reports, or presentation advice that needs no PPTX artifact.\"",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/content-planning.md",
              "lines": [
                11
              ]
            },
            {
              "path": "references/editing.md",
              "lines": [
                22,
                111
              ]
            },
            {
              "path": "references/learning-notes-05-specialized-case-practice.md",
              "lines": [
                248
              ]
            },
            {
              "path": "scripts/build_workspace.py",
              "lines": [
                45
              ]
            },
            {
              "path": "templates/workspace/from-scratch/notes.md",
              "lines": [
                3
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/learning-notes-02-workplace-content-design.md",
              "lines": [
                121
              ]
            },
            {
              "path": "references/officecli-adapter.md",
              "lines": [
                5,
                7,
                26
              ]
            },
            {
              "path": "references/pptxgenjs.md",
              "lines": [
                248
              ]
            },
            {
              "path": "scripts/build_workspace.py",
              "lines": [
                45
              ]
            },
            {
              "path": "scripts/officecli_adapter.py",
              "lines": [
                134,
                155,
                156,
                157,
                160,
                253
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                34,
                86
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "pr-test-analysis",
      "sourcePath": ".agents/skills/pr-test-analysis",
      "sourceHash": "be62fafd9833327091a519beab9d4108c54f3832ea16980a4d7a4f14c953fc3e",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "7de74027e7d268b07f5c14de8bdad31645043ec804fd675fb45f9e43d3401cb6",
          "bytes": 1153
        }
      ],
      "triggers": {
        "description": "PR test analysis routing. Use for pull request or diff test impact, changed-test review, CI failure interpretation, and focused test matrix recommendations; do not use for general code review or editing tests.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "react-native-dev",
      "sourcePath": ".agents/skills/react-native-dev",
      "sourceHash": "4bd98968f5dfeecd1c1261ce54050a51bb1432e221e7f09f180f821c75a95fc2",
      "files": [
        {
          "path": "references/animations.md",
          "sha256": "091b408952852687253552b2738dec02ddab55c928869d8b069f8d43efa11d51",
          "bytes": 6822
        },
        {
          "path": "references/components.md",
          "sha256": "6cdc21a29d9f346c4d157b83373207c64d04346741f91f08b62bdd3366ba4386",
          "bytes": 2739
        },
        {
          "path": "references/engineering.md",
          "sha256": "fe95b4992ce69ab95711508ae1ac3ce0e4348b230fc51115958801eaf11baf23",
          "bytes": 13995
        },
        {
          "path": "references/forms.md",
          "sha256": "d9543142d5083b022344d7d368b028731f3285958bf56311cda3de9cfbd6bb89",
          "bytes": 9048
        },
        {
          "path": "references/native-capabilities.md",
          "sha256": "6f0c22f707f9c8a49b22f04a343783319e898f1d2113fc58f5625d786aa9eacf",
          "bytes": 4561
        },
        {
          "path": "references/navigation.md",
          "sha256": "a933b2c257ef5e978b3fc6d6891aa6d3f08a444faec869162b7353a8784c7e25",
          "bytes": 6779
        },
        {
          "path": "references/networking.md",
          "sha256": "015986c0f66712539b791c49f0edbf2b80e55f6f832392756a72bbb5179c3bac",
          "bytes": 9826
        },
        {
          "path": "references/performance.md",
          "sha256": "ff05c1bff721609f9f9b0fa0df9a2d2a5782ba02535bcb0a926c03eb704167a3",
          "bytes": 7110
        },
        {
          "path": "references/state-management.md",
          "sha256": "7866f029e2b2da1d4b1e974ff6efdd2d304efbc70cf96809358bb12ff0df7948",
          "bytes": 6453
        },
        {
          "path": "references/styling.md",
          "sha256": "32dd5002b29fbffd7ecfdfb944c07d131724372a7c1a90ec899eb05f686f739d",
          "bytes": 2915
        },
        {
          "path": "references/testing.md",
          "sha256": "00c5565a0b5de142c8f02fc9e5f0eb63d8e2a4865782de3c9ff28123de430ada",
          "bytes": 8166
        },
        {
          "path": "SKILL.md",
          "sha256": "fda84545cbd2cbed18fe50523c83da7c6f304cb0dd1cb91abac81c485736906e",
          "bytes": 10269
        }
      ],
      "triggers": {
        "description": "|",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/native-capabilities.md",
              "lines": [
                73,
                103
              ]
            },
            {
              "path": "references/networking.md",
              "lines": [
                27,
                61,
                70,
                96,
                97,
                99,
                100,
                101
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                36
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/animations.md",
              "lines": [
                15
              ]
            },
            {
              "path": "references/engineering.md",
              "lines": [
                97,
                278,
                346,
                352,
                354,
                357,
                430,
                437,
                454,
                455
              ]
            },
            {
              "path": "references/forms.md",
              "lines": [
                8
              ]
            },
            {
              "path": "references/networking.md",
              "lines": [
                20,
                114
              ]
            },
            {
              "path": "references/performance.md",
              "lines": [
                11,
                145,
                174
              ]
            },
            {
              "path": "references/state-management.md",
              "lines": [
                41,
                103
              ]
            },
            {
              "path": "references/styling.md",
              "lines": [
                39
              ]
            },
            {
              "path": "references/testing.md",
              "lines": [
                8,
                280,
                319,
                340
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                4,
                13,
                37,
                58,
                63,
                124,
                125,
                128,
                140
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "requirements-grilling",
      "sourcePath": ".agents/skills/requirements-grilling",
      "sourceHash": "364b5d497a7f1f9571adce621b63a8593a4ea00d6935a1c9e415c414d46e3d41",
      "files": [
        {
          "path": "references/ADR-FORMAT.md",
          "sha256": "d3adbacf6a11730664cc50c3359b8494280ee3b497a33a4020aa240381d44664",
          "bytes": 1312
        },
        {
          "path": "references/CONTEXT-FORMAT.md",
          "sha256": "23e8970a8ba092952c117fc8285be990969bf9b4cc07e3c821ffc4de07e8a976",
          "bytes": 1450
        },
        {
          "path": "references/INTERVIEW-PACKET-FORMAT.md",
          "sha256": "a83522b9eb13714852b323dbdf11baa79933035d5b2d7db06a4a616b3b15910b",
          "bytes": 3618
        },
        {
          "path": "references/MIT-LICENSE-MATT-POCOCK.md",
          "sha256": "6667e7d913af75aa77b815bf8af66f2574ee75e59e18db46e35534cf70021632",
          "bytes": 1231
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/interview-me/SKILL.upstream.md",
          "sha256": "1d94741d10d2c826cd0c191aea3981ee94c8abb27ef2a166f6a372117d06448f",
          "bytes": 14359
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
          "sha256": "6f202f8bd568cd730dbb2b0d1f8e243bc74c2fa1f64dbce9b2c7ea08bd5c9fd7",
          "bytes": 1068
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md",
          "sha256": "7b8d96882a305a696d1d2c46e9b5aa46f96c3812d075cb9b5635ea3d0bf46ce3",
          "bytes": 535
        },
        {
          "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/batch-grill-me/SKILL.upstream.md",
          "sha256": "7ca3ecc5c0214c5084475b453831d4cab81ddadf80180a10635f5d27c3ae3ca2",
          "bytes": 1642
        },
        {
          "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grill-me/SKILL.upstream.md",
          "sha256": "6189dfceb7304a6e5558f75d87e68fa3bc7fcf7ba120e44f21f8a61fe01eba54",
          "bytes": 147
        },
        {
          "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grilling/SKILL.upstream.md",
          "sha256": "44331dda57f461db4fec3f2efb6ddabe7aaaa0a57ae0f88a883bc61aed8a0587",
          "bytes": 843
        },
        {
          "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/LICENSE",
          "sha256": "0e7ac423bf2c6e223b7c5b156f8cf72da49d748e56a1641402c31f22ad07dbb5",
          "bytes": 1068
        },
        {
          "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/NOTICE.md",
          "sha256": "d603ac4834ee1db22930ed79a16e933c1a191a9d9995366425a41788016250ee",
          "bytes": 809
        },
        {
          "path": "SKILL.md",
          "sha256": "a579838da63c9f47524396d9f894520854870a088c0ab01353b9f14d5df34c36",
          "bytes": 44484
        }
      ],
      "triggers": {
        "description": "Clarify a concrete requirements decision, create one bounded static interview packet, or run an explicitly user-invoked frontier batch over a plan, decision, or idea; trigger on explicit grill/interview/refinement intent or a named material ambiguity, not on ordinary planning, implementation, research, test-plan, report-style review, or BUILD work.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                90
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/interview-me/SKILL.upstream.md",
              "lines": [
                136,
                184,
                206
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                96,
                105,
                210,
                264,
                271,
                272,
                396,
                421,
                423,
                434,
                443
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "references/ADR-FORMAT.md",
              "lines": [
                45
              ]
            },
            {
              "path": "references/CONTEXT-FORMAT.md",
              "lines": [
                33,
                39
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                12,
                18,
                41,
                77,
                92,
                104,
                113,
                116,
                130,
                134,
                136,
                140,
                141,
                150,
                152,
                155,
                179,
                186,
                206,
                228,
                238,
                250,
                253,
                260,
                271,
                316,
                317,
                388,
                400,
                425,
                443,
                447
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/MIT-LICENSE-MATT-POCOCK.md",
              "lines": [
                12
              ]
            },
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
              "lines": [
                8
              ]
            },
            {
              "path": "references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/LICENSE",
              "lines": [
                8
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                206
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "review-pipeline",
      "sourcePath": ".agents/skills/review-pipeline",
      "sourceHash": "24d9585b60c3f13bfbb773e0cf22224191a94e0748a2abf8719b84ebba24112f",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "7776f4568ed5c9b7024bab1caa9ce633c2195be4fd306c4f4131d1a743cf509c",
          "bytes": 2686
        }
      ],
      "triggers": {
        "description": "Optional focused post-implementation review routing. Use only when the user requests review or the changed surface has a clear specialist evidence need that direct diff inspection and the smallest relevant check cannot cover. Never creates an automatic review swarm.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                29,
                30
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "subagent.dispatch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "src/runtime/persistent-agents/production.ts",
      "verification": [
        "snapshot-hash:verified",
        "npm run verify:roles",
        "vitest run tests/unit/persistent-agent-task.test.ts tests/unit/persistent-agent-hub.test.ts tests/unit/persistent-agent-policy.test.ts",
        "vitest run tests/integration/persistent-agent-runtime.test.ts tests/integration/persistent-agent-production.test.ts tests/integration/persistent-agent-task-collision.test.ts tests/integration/package-runtime.test.ts",
        "vitest run tests/unit/persistent-agent-task-registration.test.ts",
        "npm run test:doctor"
      ],
      "status": "adapted",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: subagent.dispatch.",
      "unverified": []
    },
    {
      "name": "security-and-hardening",
      "sourcePath": ".agents/skills/security-and-hardening",
      "sourceHash": "0725edf11d8160dbd10bde87d794f8fc791bb2637a22cd4c704d3d59f7f25152",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "f9ce6837bcf16c8c30ddf0b5de3c55c9322e1a3745aa372c1a064f4640ed53c6",
          "bytes": 14157
        }
      ],
      "triggers": {
        "description": "Perform a bounded security design/hardening pass for explicit security or threat-model intent, or a concrete auth/authorization/secret/untrusted-input/file-upload/sensitive-data risk; do not trigger for every input, data store, third-party call, implementation, review, or release.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                126,
                129,
                131,
                207,
                208
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                10,
                18,
                20,
                33,
                41,
                63,
                95,
                212,
                244,
                296,
                336,
                337,
                363
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "shader-dev",
      "sourcePath": ".agents/skills/shader-dev",
      "sourceHash": "c2241413cec830affb9c3cb706f520956e67bebc40d0786ce37d3d7569e71068",
      "files": [
        {
          "path": "reference/ambient-occlusion.md",
          "sha256": "026d1a8cf85799e525964101b523378f3d10dfeaa78c4554c0bcf39f80346d2e",
          "bytes": 14798
        },
        {
          "path": "reference/analytic-ray-tracing.md",
          "sha256": "7b5be6a7949055cbe8a627b246d26176fa0645db2e732b31740489936c4e6fd3",
          "bytes": 24674
        },
        {
          "path": "reference/anti-aliasing.md",
          "sha256": "7ae0fd4969f036bc52f713ee23af325f9a1f6eaa4ebc1ffc1b301ce528748876",
          "bytes": 3003
        },
        {
          "path": "reference/atmospheric-scattering.md",
          "sha256": "699c461a18c3426aeb4137a408378257b3429a49143dabcc4351e6859102d212",
          "bytes": 28185
        },
        {
          "path": "reference/camera-effects.md",
          "sha256": "b9a066ce73f8f08e29f39c6863d22eff75644fd44db1db979b094ec26d32d659",
          "bytes": 3080
        },
        {
          "path": "reference/cellular-automata.md",
          "sha256": "a5741e109dd489af193bfb44560eb1973270495a09ba2e927127766c4a037de9",
          "bytes": 27330
        },
        {
          "path": "reference/color-palette.md",
          "sha256": "19529d6b10f1ad09e29f5453e69377da1f5152e5bd31f1f02f2c55c5c7b570c7",
          "bytes": 20345
        },
        {
          "path": "reference/csg-boolean-operations.md",
          "sha256": "5465eb980c80d8f4869e883cdb7b75f603c44cbd578f926a105eb77e83194ca4",
          "bytes": 17952
        },
        {
          "path": "reference/domain-repetition.md",
          "sha256": "5ca346f470492a1168d0128f1b9f966eee5177218eaba9cfe8136cefacc8acda",
          "bytes": 18161
        },
        {
          "path": "reference/domain-warping.md",
          "sha256": "2cb44b9d46883f2fa26928f878be19fb7fa31cf345212e621454ec462f287dc1",
          "bytes": 17008
        },
        {
          "path": "reference/fluid-simulation.md",
          "sha256": "601da19ad79b438ed09e510cd906b770b1564571482872b4f9eabac4be913048",
          "bytes": 18991
        },
        {
          "path": "reference/fractal-rendering.md",
          "sha256": "381b0379f018ab428a9ed5a7330511da91bf9091b257d6c1c5d6c10b3b2173bd",
          "bytes": 18587
        },
        {
          "path": "reference/lighting-model.md",
          "sha256": "071e8f42c4b79f468b17685c536f72a892f25867492368e37365c4b84eb9c8b1",
          "bytes": 30132
        },
        {
          "path": "reference/matrix-transform.md",
          "sha256": "d69d0ac03abfc2f94cd467d78ffef57f072ee7bf571106ad3745b77409bdc824",
          "bytes": 18933
        },
        {
          "path": "reference/multipass-buffer.md",
          "sha256": "4ec6f91059e6289aa68e1c8bbebd7f323a9ef4d6423e10609922a8b0ed2cca8c",
          "bytes": 25441
        },
        {
          "path": "reference/normal-estimation.md",
          "sha256": "c3ff7482db60f67cf31faa260848722ea44752d07919826b8c8a0e28b0c40aa2",
          "bytes": 17568
        },
        {
          "path": "reference/particle-system.md",
          "sha256": "fc10bbe781ccfcf6df8dffa5e87955b6d10afc7735d86d9c1b0a8269132a7c2b",
          "bytes": 28932
        },
        {
          "path": "reference/path-tracing-gi.md",
          "sha256": "639e9da7586b2c374fcbb5db8aaa6e561feb6ee50db70b8fc733ba36fed2f8d6",
          "bytes": 28193
        },
        {
          "path": "reference/polar-uv-manipulation.md",
          "sha256": "f88ed9571429ecad18e611a5ae891a59301f07e5a03603ae1827833667788a04",
          "bytes": 23190
        },
        {
          "path": "reference/post-processing.md",
          "sha256": "c91a3c254aaf4a2c6b9a4eeace8f7ce7736d63f47ebbaad973056f235abe59ec",
          "bytes": 24425
        },
        {
          "path": "reference/procedural-2d-pattern.md",
          "sha256": "c3b59cc31d98251ae2154e3ef3bfc8f6f9661576f46d4fd8bf63910873016287",
          "bytes": 16688
        },
        {
          "path": "reference/procedural-noise.md",
          "sha256": "b3c1a23cf0c68d7c9341958a87a0fc24ed6886ec7ca54283ea67547ac7cf8523",
          "bytes": 22226
        },
        {
          "path": "reference/ray-marching.md",
          "sha256": "d904a84f3c4acdcc6a9674fe77dc9db0f5139176bb500ac9b0a88a4cb695279e",
          "bytes": 15840
        },
        {
          "path": "reference/sdf-2d.md",
          "sha256": "6609e4b6a58ac085ce316336feb462510a04ae97cc3485fa3264e6edfb04ab06",
          "bytes": 28189
        },
        {
          "path": "reference/sdf-3d.md",
          "sha256": "76fe2536f068b10aa911f5b8f36da53978622595ffdd6077770cb6ae33d4c7c8",
          "bytes": 27475
        },
        {
          "path": "reference/sdf-tricks.md",
          "sha256": "d318fe207f076a70bc3fc6dfef752139ae75e6140dcca74fdc063b1ae500103f",
          "bytes": 2685
        },
        {
          "path": "reference/shadow-techniques.md",
          "sha256": "0a11fa7a1716044b7fb9d450001b6c67299aa1d56b4e9b2ffdf8838621cdfde1",
          "bytes": 21527
        },
        {
          "path": "reference/simulation-physics.md",
          "sha256": "05bd388f759a90d28467c5db6bf298a4ccef208d11fdecedace874dcb1e5ba6e",
          "bytes": 28223
        },
        {
          "path": "reference/sound-synthesis.md",
          "sha256": "994245b4232568b0567cac03fc0154a8a62abf545fee7ea3246e8edfb2957a44",
          "bytes": 24185
        },
        {
          "path": "reference/terrain-rendering.md",
          "sha256": "7a017d1fd230c23682840ec41cd5fb44aeecca905840c06afd76fc75e7b22c43",
          "bytes": 32978
        },
        {
          "path": "reference/texture-mapping-advanced.md",
          "sha256": "6e95500d391ac4df2e55c1dc9792e0ff4857730800b1d72835eace5f1f851050",
          "bytes": 3409
        },
        {
          "path": "reference/texture-sampling.md",
          "sha256": "13eae848d63271419b738611bb0fc63f1f8c4d09153e6bbc16109584c4fb4783",
          "bytes": 26244
        },
        {
          "path": "reference/volumetric-rendering.md",
          "sha256": "b34181665c3e356aac2168eea0a096bc4d6b93341f95eb7ac7edb3cf7cb48243",
          "bytes": 28747
        },
        {
          "path": "reference/voronoi-cellular-noise.md",
          "sha256": "e0ff61e059d56b9d0219ca001ff02e560f34533df3749f0ebc9cba8aea549b7c",
          "bytes": 17974
        },
        {
          "path": "reference/voxel-rendering.md",
          "sha256": "41137bb01b5fa8635dd64b910680f0f818a198a2fff567e0b01854211e2e1c55",
          "bytes": 29912
        },
        {
          "path": "reference/water-ocean.md",
          "sha256": "11a43fa7b9d81dbd1242a9c684dbacfd8c45fd2077e2e13a65b44f881781aaff",
          "bytes": 20634
        },
        {
          "path": "reference/webgl-pitfalls.md",
          "sha256": "a5be3d362ec43d63cc1db2dfc4858b963e2ba2d4d0f118f90b94fb06de6e3184",
          "bytes": 1974
        },
        {
          "path": "SKILL.md",
          "sha256": "94d9e3068b64cd1dcb3f2196905c6bdd5fcf90ff01a104cc6887d00ea1036c1e",
          "bytes": 18878
        },
        {
          "path": "techniques/ambient-occlusion.md",
          "sha256": "ece48ac8bf9d3705ec75b221f6137e383194c6dee542d1ca5391bbb918406f1d",
          "bytes": 11378
        },
        {
          "path": "techniques/analytic-ray-tracing.md",
          "sha256": "d8abf6653cdd0a49dc7d3fbaf4c4c0c1fa098d060bdd452c3a4a0f9ebc773b46",
          "bytes": 19243
        },
        {
          "path": "techniques/anti-aliasing.md",
          "sha256": "a86b6645cae7d0e41d6d13d4332cfbb0d0bf198cae37bd1831dce58469c285e7",
          "bytes": 4605
        },
        {
          "path": "techniques/atmospheric-scattering.md",
          "sha256": "535dcecb25de1ef3bd3087588b82cba09edf20346f6806b812b56abc4df534a8",
          "bytes": 18590
        },
        {
          "path": "techniques/camera-effects.md",
          "sha256": "9c9c2aeee72e11ce8df0bd5bd7940277051d2d58527ad4ae04741b2d604131d6",
          "bytes": 3493
        },
        {
          "path": "techniques/cellular-automata.md",
          "sha256": "7ac24ef6da0e1801ef70dc9400602e3019937ea8942329b2e0c7544c7b23f886",
          "bytes": 19481
        },
        {
          "path": "techniques/color-palette.md",
          "sha256": "96b0b417da68ca96f1aa8a84cb5c2af850c48d0870bf652d6a5cfde40c1f14b4",
          "bytes": 13144
        },
        {
          "path": "techniques/csg-boolean-operations.md",
          "sha256": "2fc7f36823ff5fa75bd60e72a33962b91639416479e4f82a84c11211a42cc549",
          "bytes": 15310
        },
        {
          "path": "techniques/domain-repetition.md",
          "sha256": "8f40caa37e71b6bcd75603cb54fe4883f8d8551d47a39e255008ffffcd82b676",
          "bytes": 9958
        },
        {
          "path": "techniques/domain-warping.md",
          "sha256": "cd0838d6fc8d770f087ae33e56588db0e8ece205a16ee0f6170498ca0666ab17",
          "bytes": 12817
        },
        {
          "path": "techniques/fluid-simulation.md",
          "sha256": "85c6314b4b71ce13d01a713de6f2ff5c8a3870f9eacc4c45b7465a82424426b1",
          "bytes": 47610
        },
        {
          "path": "techniques/fractal-rendering.md",
          "sha256": "694a3e87cd47670e21ef1af294fb18cdf23b9b76a4e6946ff011bfe75428e694",
          "bytes": 13269
        },
        {
          "path": "techniques/lighting-model.md",
          "sha256": "1c85240cf8650d320bbc8996e36333623e4d916b05f4baa2a54a06b1c22f1bcd",
          "bytes": 17481
        },
        {
          "path": "techniques/matrix-transform.md",
          "sha256": "46b5ef46f93c143537627e1d29799657e32bc9f8ca973dc6501b75431d2fc9d3",
          "bytes": 12711
        },
        {
          "path": "techniques/multipass-buffer.md",
          "sha256": "50d54c06a55ae5b75b36eedcd074ad40c6c2b233b675da6cba7738d5f9f50147",
          "bytes": 34333
        },
        {
          "path": "techniques/normal-estimation.md",
          "sha256": "1f07cadacc05ed9cd9acc150796549519efd1419df714714314e40222f5a0891",
          "bytes": 9322
        },
        {
          "path": "techniques/particle-system.md",
          "sha256": "a5d49ac5d828d37fcc8e053e63f00c93c87ca43ff01707af83c140016dcc6b92",
          "bytes": 45637
        },
        {
          "path": "techniques/path-tracing-gi.md",
          "sha256": "8dc0d709e1b6c51aaab79c08d034881764a54873c2a19bc5f4c1ebc2cacaf03f",
          "bytes": 22057
        },
        {
          "path": "techniques/polar-uv-manipulation.md",
          "sha256": "a2f3e7838271d021f7072353f2542c9e41c6b4779823ff03bd9efa3393c6252f",
          "bytes": 13565
        },
        {
          "path": "techniques/post-processing.md",
          "sha256": "617e8608e76af3491d2e79fd7a9f56b9bccc821608d3c61ef1bc05c62e2cbf99",
          "bytes": 30997
        },
        {
          "path": "techniques/procedural-2d-pattern.md",
          "sha256": "3ad1d15fed160066d9b78f46a284a4e444a9965fbf2e7ec8fa4d8d7dbbbeb8e2",
          "bytes": 10932
        },
        {
          "path": "techniques/procedural-noise.md",
          "sha256": "3f3ace3f7f346fb4eb6a7d77e7cb8d8339c3db089f1eeacfaf9a101ff6b3dc25",
          "bytes": 17310
        },
        {
          "path": "techniques/ray-marching.md",
          "sha256": "bc9519c1f8d36d611f48d80decb0155da5d2aa6de25eac2d22713510f05e7819",
          "bytes": 13988
        },
        {
          "path": "techniques/sdf-2d.md",
          "sha256": "e65e1fc945d16531a7f505b68db920cfab9d518226fb0a327b267475743ffd43",
          "bytes": 21719
        },
        {
          "path": "techniques/sdf-3d.md",
          "sha256": "61255ef5f36afec009ee041eab88904730fb57b9d13db0d5435795a7f6fc34e5",
          "bytes": 22163
        },
        {
          "path": "techniques/sdf-tricks.md",
          "sha256": "d6b40ee14035b0da219c68a563da85114a4243b2d32ed8a7dfe2bae8f4247af9",
          "bytes": 3520
        },
        {
          "path": "techniques/shadow-techniques.md",
          "sha256": "d9aa1eb66df922760380fc22079f6b373be854f699702862f7abf079242f4c3f",
          "bytes": 25360
        },
        {
          "path": "techniques/simulation-physics.md",
          "sha256": "29fa7d8535ec39684d30d29b8f7bc561119aec8a576bc75a51acbbc1aea1eab7",
          "bytes": 57526
        },
        {
          "path": "techniques/sound-synthesis.md",
          "sha256": "098b075a08cb816885ddab78da6a39b5dd5ce3839c2ab49edac9204d30c897ed",
          "bytes": 17587
        },
        {
          "path": "techniques/terrain-rendering.md",
          "sha256": "d7525e73245c5f3ed8e0326bcd4024b510fd3197578898a34159041467cd6c78",
          "bytes": 14650
        },
        {
          "path": "techniques/texture-mapping-advanced.md",
          "sha256": "d54da86c06a4fba5843bc100d61e464d0ce5d4e7b42babe4783a349ee9794e0a",
          "bytes": 4378
        },
        {
          "path": "techniques/texture-sampling.md",
          "sha256": "17f890578f622f3417e3a9d3060a6ae28a1147181a8f72bdc48be662a7b165ef",
          "bytes": 13299
        },
        {
          "path": "techniques/volumetric-rendering.md",
          "sha256": "5b35c76ed78930227c38017d34e6af03a91994be125b3fb0b300c3813b711567",
          "bytes": 12634
        },
        {
          "path": "techniques/voronoi-cellular-noise.md",
          "sha256": "3751fe0cd87ad7dc049fe59a247971bed73861eb951acae71a24c89195871a14",
          "bytes": 13277
        },
        {
          "path": "techniques/voxel-rendering.md",
          "sha256": "4ebebd4380c4243c4e704349d5696ea42a17e69ffb98b2a29bb77a7d02313350",
          "bytes": 46256
        },
        {
          "path": "techniques/water-ocean.md",
          "sha256": "52d0a5638561e4a935dbce6d8ac5612aef07ba7e03602f7080a1e39c9c08eda8",
          "bytes": 18197
        },
        {
          "path": "techniques/webgl-pitfalls.md",
          "sha256": "a4639b1286662ee0be49e1acd324591d8a65da97c26f11160ed53744e3da76d7",
          "bytes": 5518
        }
      ],
      "triggers": {
        "description": "Build GLSL/WebGL/ShaderToy shaders and procedural visual effects such as SDF, ray marching, particles, and fluids.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                12
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "reference/fractal-rendering.md",
              "lines": [
                437
              ]
            },
            {
              "path": "reference/procedural-2d-pattern.md",
              "lines": [
                313
              ]
            },
            {
              "path": "techniques/fractal-rendering.md",
              "lines": [
                424
              ]
            },
            {
              "path": "techniques/procedural-2d-pattern.md",
              "lines": [
                283
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "artifact.transform"
      ],
      "optionalCapabilities": [
        "artifact.store",
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:artifact-runtime",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The artifact-runtime capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "shipping-and-launch",
      "sourcePath": ".agents/skills/shipping-and-launch",
      "sourceHash": "4141ccbf250454306b6c52a02e8a6128af1c226a0f01338d9af9d26a0764c2fe",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "98581235f88505c39b1669b91d6a99a2914460dd7444742e5ab4aa49b28c3066",
          "bytes": 12368
        }
      ],
      "triggers": {
        "description": "Prepare an explicit production launch, staged rollout, launch-monitoring, or rollback plan; do not trigger from AILI SHIP, implementation completion, packaging, review, or release wording that lacks a concrete launch/rollout target.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                92,
                93,
                317
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                3,
                18,
                22,
                85,
                166,
                195,
                261,
                264,
                293
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "silent-failure-hunting",
      "sourcePath": ".agents/skills/silent-failure-hunting",
      "sourceHash": "43f265d2754c0fd144c802c041c541d8562dbc907c22fee6aab8d5e1b8712146",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "50e945df3aa1424a1083ea54ab84a65d5bf6b594fddf1f6994e591725bf0fc0c",
          "bytes": 1271
        }
      ],
      "triggers": {
        "description": "Silent failure hunting routing. Use when a change might pass while skipping work, swallowing errors, losing evidence, weakening gates, or reporting false success; do not use for broad code review.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "source-driven-development",
      "sourcePath": ".agents/skills/source-driven-development",
      "sourceHash": "bb8203a92ddee66e2d36039b8a8782549ca21a372401bb2563ff3c51a2fc83df",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "08071a74bc37916cf833a57323290521aa050f13c2a2b2028530efd8aa533a4d",
          "bytes": 12066
        }
      ],
      "triggers": {
        "description": "Resolve one exact official/current documentation gap when the user requests source verification or a version-sensitive API/SDK/provider/framework question can materially change the current decision; do not trigger for every implementation decision, ordinary framework code, local business logic, or broad research.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                70
              ]
            }
          ]
        },
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                22,
                23,
                190
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                78,
                81
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "spec-driven-development",
      "sourcePath": ".agents/skills/spec-driven-development",
      "sourceHash": "5b84a94bea5b042d24a382587611c17c363c8d860a9ac259519625e8d2383db7",
      "files": [
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
          "sha256": "6f202f8bd568cd730dbb2b0d1f8e243bc74c2fa1f64dbce9b2c7ea08bd5c9fd7",
          "bytes": 1068
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md",
          "sha256": "a5285283c9146991c859e483f4d4688a6ca976f5e17477768730b2cea4c2fbc6",
          "bytes": 559
        },
        {
          "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/spec-driven-development/SKILL.upstream.md",
          "sha256": "af5b873414a8b45b96b0d30d5297400f55eb3a56425161a088e470c14260a1e5",
          "bytes": 8527
        },
        {
          "path": "SKILL.md",
          "sha256": "b34eb21b12ab3878ef66fc45da45b2e629ed2db588923d24958594363fcbd44d",
          "bytes": 12490
        }
      ],
      "triggers": {
        "description": "Create or materially revise a durable specification when the user explicitly requests a spec/new feature contract or a named ambiguity requires formal DEFINE; do not trigger for ordinary bounded edits, implementation, task breakdown alone, review, or documentation of already-settled behavior.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/spec-driven-development/SKILL.upstream.md",
              "lines": [
                18,
                141,
                143,
                151,
                152,
                153,
                155,
                157,
                159,
                161,
                194
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                3,
                18,
                26,
                179,
                180,
                181,
                183,
                187,
                189
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE",
              "lines": [
                8
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                91
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "strategy-stress-test",
      "sourcePath": ".agents/skills/strategy-stress-test",
      "sourceHash": "e5830c4b768915cf14cd4dd652426d97fb8b4e8067c76322e8bf0f2f41313b02",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "8ef9dcbca03aa3331d097ba0f430b38c1e38c992e9f89bb95080fc0370f21d27",
          "bytes": 8600
        }
      ],
      "triggers": {
        "description": "Run one bounded adversarial pass when the user explicitly requests a report-style stress test or ROSE identifies a concrete material loophole in an existing strategy, spec, plan, review, or claim; do not trigger for an interactive grill/frontier interview or merely before write-back, implementation, reconciliation, or completion.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                57
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "systematic-literature-review",
      "sourcePath": ".agents/skills/systematic-literature-review",
      "sourceHash": "69b423a189daa1fda5a15ce0d30daa614a5e0f5fd1fbfdacdfa4607ad0afcb40",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "15fdb84e5f5af6474ebc095bf2ea058d69ca10c25d86c2df077f80314a2ada25",
          "bytes": 3546
        }
      ],
      "triggers": {
        "description": "Plan and synthesize a source-grounded multi-paper literature review. Use for systematic literature reviews, survey matrices, inclusion/exclusion criteria, research gaps, or \"review the literature on X\" requests; do not use for reviewing one paper, ordinary web summaries, citation formatting only, or medical/legal conclusions.",
        "nearMissDeclared": true,
        "stopOutcomes": []
      },
      "backendAnchors": [
        {
          "id": "backend.opencode",
          "disposition": "retained as current adapter evidence; Pi must map the capability",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                79
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "web.fetch"
      ],
      "optionalCapabilities": [
        "repo.read"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "optional-pack:web-research",
      "verification": [
        "snapshot-hash:verified",
        "pi-discovery:pending",
        "pi-behavior:pending"
      ],
      "status": "optional",
      "reason": "The web-research capability is not bundled until its optional provider is verified.",
      "unverified": [
        "Pi discovery and behavior evidence are pending later BUILD packages."
      ]
    },
    {
      "name": "test-document-generator",
      "sourcePath": ".agents/skills/test-document-generator",
      "sourceHash": "51332a2ccfd18e9f907ce4c58553ee9bec56b682f4de1bbe192c67cab53e464b",
      "files": [
        {
          "path": "references/test-document-template.md",
          "sha256": "a7c49947de8e8bb1ffb0bd949128d4976b575dd7dbabe53cbe5ae72544c1633b",
          "bytes": 1398
        },
        {
          "path": "SKILL.md",
          "sha256": "0136df98107802438efa90bb7ec2ef7f24d1c6109ac6f01950cb29e178fb7a9e",
          "bytes": 9608
        }
      ],
      "triggers": {
        "description": "Generate or materially revise a repository-local test plan, QA plan, acceptance matrix, or regression checklist on explicit request or when one concrete testability gap blocks formal DEFINE; do not trigger for ordinary implementation, test execution, TDD, review, or completion claims.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                102,
                152
              ]
            }
          ]
        },
        {
          "id": "backend.openspec",
          "disposition": "retained as an artifact backend contract; no completion authority",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                44,
                54,
                56,
                60,
                61,
                79,
                82,
                102
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                111
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "test-driven-development",
      "sourcePath": ".agents/skills/test-driven-development",
      "sourceHash": "5cc9cbb07f2cc980620e50029536c2226915b8bdc45d330b355f06efcd7e22ab",
      "files": [
        {
          "path": "SKILL.md",
          "sha256": "e7456e17cfc4973c7fa54247128474f9080a68ff38c48a9d07c7bc8b172ea526",
          "bytes": 17230
        }
      ],
      "triggers": {
        "description": "Run a bounded red-green-refactor feedback loop only when the user explicitly requests TDD, accepts reproduction-first proof for a bug, or an accepted high-risk behavior specifically requires red/green evidence; do not trigger for every logic, bug, behavior, or implementation change.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                52,
                57,
                69,
                70,
                72,
                73,
                74,
                75,
                88,
                89,
                95,
                96,
                139,
                142,
                143,
                144,
                151,
                241,
                242,
                270,
                276,
                305,
                306,
                307
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "SKILL.md",
              "lines": [
                186,
                337,
                348,
                356
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    },
    {
      "name": "write-skills",
      "sourcePath": ".agents/skills/write-skills",
      "sourceHash": "b3a1f1152fab3e1451ecf4a706265776f4de8c28ac459131a10826899f9483fe",
      "files": [
        {
          "path": "GLOSSARY.md",
          "sha256": "99277d3c93b3e63dbf96a6ae5595133b9d8a5e7d1132e0a89733247a80bc6b2b",
          "bytes": 6026
        },
        {
          "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE",
          "sha256": "0e7ac423bf2c6e223b7c5b156f8cf72da49d748e56a1641402c31f22ad07dbb5",
          "bytes": 1068
        },
        {
          "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md",
          "sha256": "a1ab7b40e43846a64f74651eb965121ce1c53b2698f91fb90c1142b88b9b9d11",
          "bytes": 635
        },
        {
          "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/GLOSSARY.md",
          "sha256": "cccd684c73fb7a06f523497b0121765f92d2b33d6ef9c51602294849233451d6",
          "bytes": 18488
        },
        {
          "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/SKILL.upstream.md",
          "sha256": "4d6ccbc3760b1bd4107c495a79872286ea69494003f3b0a719fc95b147457061",
          "bytes": 9414
        },
        {
          "path": "SKILL.md",
          "sha256": "a1633365ec0c9944dcc4df736f541391e02455b1858e2c307a03ecc7e28a37c1",
          "bytes": 8746
        }
      ],
      "triggers": {
        "description": "Create, revise, or evaluate repository Agent Skills when the user asks to write a SKILL.md, improve triggers or information hierarchy, restructure references/scripts/assets, or diagnose skill predictability; do not use for product code, AGENTS.md initialization, general prompt editing, or automatic repository-wide cleanup.",
        "nearMissDeclared": true,
        "stopOutcomes": [
          "complete",
          "need-user",
          "need-evidence",
          "material-delta",
          "blocked",
          "Unverified"
        ]
      },
      "backendAnchors": [
        {
          "id": "tool.subagent",
          "disposition": "mapped through subagent.dispatch or blocked",
          "occurrences": [
            {
              "path": "GLOSSARY.md",
              "lines": [
                21,
                109
              ]
            },
            {
              "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/GLOSSARY.md",
              "lines": [
                185
              ]
            },
            {
              "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/SKILL.upstream.md",
              "lines": [
                51
              ]
            },
            {
              "path": "SKILL.md",
              "lines": [
                27,
                59,
                118
              ]
            }
          ]
        },
        {
          "id": "external.side-effect",
          "disposition": "retained behind explicit capability and operation gates",
          "occurrences": [
            {
              "path": "references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE",
              "lines": [
                8
              ]
            }
          ]
        }
      ],
      "requiredCapabilities": [
        "repo.read"
      ],
      "optionalCapabilities": [
        "repo.write"
      ],
      "canonicalChange": "none in aili-pi; consume the pinned upstream body without semantic transformation",
      "adapterOwner": "@earendil-works/pi-coding-agent@0.84.1",
      "verification": [
        "snapshot-hash:verified",
        "vitest run tests/integration/extension-load.test.ts",
        "vitest run tests/integration/persistent-agent-host-seams.test.ts"
      ],
      "status": "native",
      "reason": "Required capabilities are covered by verified Pi adapter evidence: repo.read.",
      "unverified": []
    }
  ]
}
