[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CAJ5NDZ95SGP7FA9G2XZDP":3,"skill-same:01M6CAJ5NDZ95SGP7FA9G2XZDP":175},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":72,"commitSha":73,"skillDirectory":74,"forksCount":75,"repositoryHtmlUrl":76,"repositoryHomepageUrl":77,"ownerHtmlUrl":78,"ownerBlogUrl":79,"ownerDescription":80,"updatedAt":81,"install":82,"resources":95},"01M6CAJ5NDZ95SGP7FA9G2XZDP","release-publication-verify",null,"Post-tag release publication verifier — given a tag, verify the published release surfaces (Gitea\u002FGitHub release assets, SHA256SUMS and native package checksums, GHCR container images, installer dry-run from the real release URL) and emit issue-comment-ready evidence, distinguishing missing proof from failed proof, before closing release-completion issues","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsdlc\u002Fskills\u002Frelease-publication-verify\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"Publication","release","verify","release publication verify","write","for","mirror","closing","URL","close","dry","issue","images","ready","issue close","edit","MCP","read","haiku","Bash","issues","git","run","packages","config","orchestration","verify release","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: release-publication-verify\nplatforms: [all]\ndescription: Post-tag release publication verifier — given a tag, verify the published release surfaces (Gitea\u002FGitHub release assets, SHA256SUMS and native package checksums, GHCR container images, installer dry-run from the real release URL) and emit issue-comment-ready evidence, distinguishing missing proof from failed proof, before closing release-completion issues\ntriggers:\n  - \"verify the release publication\"\n  - \"post-tag release asset verifier\"\n  - \"check GHCR images and release assets for a tag\"\n  - \"prove the release published before closing issues\"\n  - \"release publication proof for issue close\"\n  - \"verify release assets checksums installer GHCR packages\"\ncommandHint:\n  argumentHint: '\u003Ctag> [--repo \u003Cowner\u002Fname>] [--mirror \u003Cowner\u002Fname>] [--config \u003Cpath>] [--json]'\n  allowedTools: 'Read, Write, Edit, Bash, Glob, Grep, mcp__git-gitea__*'\n  model: haiku\n  category: sdlc-orchestration\n  orchestration: false\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Release Publication Verifier (post-tag)\n\nYou verify that a release **actually published** — turning a tag into concrete,\nauditable proof across every release surface — so release-completion issues are\nclosed with evidence, not assumption. This runs **after** `flow-release` cuts and\npushes the tag (the `release` gate) and **before** the `post-release` close-outs.\n\nThis is native release-engineering verification (Rust crates, `.deb`\u002F`.rpm`,\ncontainer images, GHCR, release-asset checksums, installer URLs) — not plugin\npackaging. For plugin archives use `package-all-plugins`; for the release\nsequence itself use `flow-release`.\n\n## When to use\n\n- After a tag is pushed and the release workflows (`gitea-release.yml`,\n  `npm-publish.yml`, `github-mirror.yml`, container build) have run.\n- Before closing release-completion issues — paste the emitted evidence summary\n  into the close comment.\n- As the verification step `flow-release` points to after its `release` gate.\n\n## Inputs\n\n- **tag** (required) — e.g. `v2026.6.2`. The verification context.\n- **--repo `\u003Cowner\u002Fname>`** — primary tracker repo (default: `remotes.issue_tracker`\n  resolved from `.aiwg\u002Faiwg.config`).\n- **--mirror `\u003Cowner\u002Fname>`** — public mirror (default: `remotes.secondary[]` with\n  `purpose: public-mirror`, or `project.mirror_url` from `.aiwg\u002Frelease.config`).\n- **--config `\u003Cpath>`** — release config (default `.aiwg\u002Frelease.config`).\n- **--json** — emit the evidence as JSON instead of the markdown summary.\n\n## Repo-local configuration\n\nRead the optional `publication_verify` block from `.aiwg\u002Frelease.config`. It\ndeclares what \"published\" means for THIS project — required asset globs, the\nchecksum manifest, the GHCR image matrix, the installer URL, and platform smoke\njobs. When the block is absent, run the universal checks (release exists +\nassets present + checksums) and record everything else as **MISSING (not\nconfigured)** rather than failing.\n\n```yaml\n# .aiwg\u002Frelease.config  (optional block)\npublication_verify:\n  release_assets:                      # globs that MUST be attached to the release\n    - \"aiwg-{version}.tgz\"\n    - \"*.deb\"\n    - \"*.rpm\"\n    - \"install.sh\"\n  checksums:\n    manifest: \"SHA256SUMS\"             # manifest asset name\n    must_cover: [\"*.tgz\", \"*.deb\", \"*.rpm\", \"install.sh\"]  # globs the manifest must list\n  ghcr_images:                         # container images that MUST exist + run\n    - image: \"ghcr.io\u002F{owner}\u002Faiwg\"\n      tags: [\"{version}\", \"latest\"]\n      smoke: \"--version\"               # documented command that must succeed\n    - image: \"ghcr.io\u002F{owner}\u002Faiwg-agent-client\"\n      tags: [\"{version}\"]\n      smoke: \"--version\"\n  installer:\n    url: \"https:\u002F\u002Fgithub.com\u002F{mirror}\u002Freleases\u002Fdownload\u002F{tag}\u002Finstall.sh\"\n    dry_run: \"sh install.sh --dry-run\"  # must succeed against the real release URL\n  platform_jobs:                       # platform-specific evidence (e.g. host-direct smoke)\n    - name: \"mutsu-apple-silicon-smoke\"\n      evidence: \"ci-run or log path proving the platform job ran green\"\n```\n\n`{version}` is the tag without the `v`; `{tag}` is the full tag; `{owner}` \u002F\n`{mirror}` come from the resolved repos.\n\n## Verification surfaces\n\nRun each surface that applies. Use `mcp__git-gitea__*` for Gitea, `gh` for\nGitHub, `curl`\u002F`oras`\u002F`docker`\u002F`skopeo` for GHCR, `sha256sum -c` for checksums.\nNever print tokens — load from env\u002Ffile per the `token-security` rule.\n\n1. **Gitea release exists + assets** — the release for `tag` exists and every\n   `release_assets` glob matches at least one attached asset.\n2. **GitHub mirror release + assets** — same against the mirror (skip with a\n   recorded MISSING if no mirror is configured, or if the tag is a pre-release\n   that intentionally skips the mirror per `flow-release` policy).\n3. **SHA256SUMS present + covers** — the `checksums.manifest` asset exists and\n   lists an entry for every `must_cover` glob. Download the manifest and the\n   covered assets; `sha256sum -c` must pass for each downloaded file.\n4. **Native package checksums** — for each `.deb`\u002F`.rpm`\u002Finstaller asset, verify\n   its recorded checksum matches the downloaded file (FAILED on mismatch).\n5. **GHCR images exist + smoke** — for each `ghcr_images` entry and tag, confirm\n   the image manifest exists (`docker manifest inspect` \u002F `skopeo inspect` \u002F\n   `oras manifest fetch`), then run the documented `smoke` command and assert\n   exit 0.\n6. **Installer dry-run from the real URL** — fetch `installer.url` for the tag\n   and run `installer.dry_run`; assert exit 0. This proves the published\n   installer is reachable and parses, not just that a file exists.\n7. **Platform jobs** — for each `platform_jobs` entry, confirm the referenced CI\n   run \u002F log evidence shows the platform-specific job ran green (e.g. mutsu\n   Apple-Silicon host-direct smoke).\n\n## Missing vs failed (record them distinctly)\n\nEvery check resolves to exactly one verdict:\n\n| Verdict | Meaning | Example |\n|---------|---------|---------|\n| **PASS** | Proof found and correct | `aiwg-2026.6.2.tgz` attached; checksum matches |\n| **FAIL** | Proof found but wrong | SHA256SUMS lists the tarball but the hash mismatches |\n| **MISSING** | Proof not found | No `.deb` asset attached; or GHCR image tag absent |\n| **N\u002FA (not configured)** | The project didn't declare this surface | No `ghcr_images` block → skip, don't fail |\n\n`FAIL` and `MISSING` are different problems: `FAIL` means the release is corrupt\nand must be re-cut; `MISSING` means a surface didn't publish (workflow didn't run,\nasset not uploaded) — investigate the pipeline. Never collapse the two into a\nsingle \"not green\" bucket; the close comment must show which is which.\n\n## Output schema\n\nDefault output is an **issue-comment-ready** markdown block. With `--json`, emit\nthe same data as `{ tag, repo, mirror, checks: [{ surface, target, verdict,\ndetail }], summary: { pass, fail, missing, na }, publishable: \u003Cbool> }`.\n`publishable` is true only when there are zero `FAIL` and zero unexpected\n`MISSING` (configured-but-absent) checks.\n\nMarkdown template to paste into the release-completion issue:\n\n```markdown\n## Release publication verification — {tag}\n\n| Surface | Target | Verdict | Detail |\n|---------|--------|---------|--------|\n| Gitea release | {repo} | PASS | release present, 4\u002F4 asset globs matched |\n| GitHub mirror | {mirror} | PASS | release present, 4\u002F4 asset globs matched |\n| SHA256SUMS | SHA256SUMS | PASS | covers tgz\u002Fdeb\u002Frpm\u002Finstall.sh; `sha256sum -c` OK |\n| Native pkg checksums | *.deb, *.rpm | PASS | hashes match |\n| GHCR images | aiwg:{version},latest | PASS | manifests exist; `--version` exits 0 |\n| Installer dry-run | install.sh@{tag} | PASS | `--dry-run` exits 0 from release URL |\n| Platform job | mutsu-apple-silicon-smoke | MISSING | no CI evidence found — investigate |\n\n**Summary:** 6 PASS · 0 FAIL · 1 MISSING · 0 N\u002FA → **not fully published**\n(missing: mutsu Apple-Silicon smoke evidence).\n```\n\n## Acceptance criteria\n\n- [ ] Accepts a `tag` and repo target (and optional mirror\u002Fconfig).\n- [ ] Verifies Gitea + GitHub release assets, the checksum manifest, native\n      package checksums, GHCR image existence + smoke, and installer dry-run\n      when configured.\n- [ ] Records **MISSING** distinctly from **FAIL** (and **N\u002FA** for\n      not-configured surfaces).\n- [ ] Emits a concise issue-comment-ready evidence summary (and `--json`).\n- [ ] Discoverable via `aiwg discover \"post tag release asset verifier GHCR packages installer\"`.\n\n## Related\n\n- `flow-release` — the release sequence; points here after its `release` gate,\n  before `post-release` close-outs.\n- Schema: `agentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fschemas\u002Fflows\u002Frelease-config.yaml`\n  (`publication_verify` block).\n- Rules: `token-security`, `ci-green-before-done`, `delivery-policy`,\n  `citation-policy` (evidence must be real, never fabricated).\n- Config: `.aiwg\u002Frelease.config` per project.\n","# Release Publication Verifier (post-tag)\n\nYou verify that a release **actually published** — turning a tag into concrete,\nauditable proof across every release surface — so release-completion issues are\nclosed with evidence, not assumption. This runs **after** `flow-release` cuts and\npushes the tag (the `release` gate) and **before** the `post-release` close-outs.\n\nThis is native release-engineering verification (Rust crates, `.deb`\u002F`.rpm`,\ncontainer images, GHCR, release-asset checksums, installer URLs) — not plugin\npackaging. For plugin archives use `package-all-plugins`; for the release\nsequence itself use `flow-release`.\n\n## When to use\n\n- After a tag is pushed and the release workflows (`gitea-release.yml`,\n  `npm-publish.yml`, `github-mirror.yml`, container build) have run.\n- Before closing release-completion issues — paste the emitted evidence summary\n  into the close comment.\n- As the verification step `flow-release` points to after its `release` gate.\n\n## Inputs\n\n- **tag** (required) — e.g. `v2026.6.2`. The verification context.\n- **--repo `\u003Cowner\u002Fname>`** — primary tracker repo (default: `remotes.issue_tracker`\n  resolved from `.aiwg\u002Faiwg.config`).\n- **--mirror `\u003Cowner\u002Fname>`** — public mirror (default: `remotes.secondary[]` with\n  `purpose: public-mirror`, or `project.mirror_url` from `.aiwg\u002Frelease.config`).\n- **--config `\u003Cpath>`** — release config (default `.aiwg\u002Frelease.config`).\n- **--json** — emit the evidence as JSON instead of the markdown summary.\n\n## Repo-local configuration\n\nRead the optional `publication_verify` block from `.aiwg\u002Frelease.config`. It\ndeclares what \"published\" means for THIS project — required asset globs, the\nchecksum manifest, the GHCR image matrix, the installer URL, and platform smoke\njobs. When the block is absent, run the universal checks (release exists +\nassets present + checksums) and record everything else as **MISSING (not\nconfigured)** rather than failing.\n\n```yaml\n# .aiwg\u002Frelease.config  (optional block)\npublication_verify:\n  release_assets:                      # globs that MUST be attached to the release\n    - \"aiwg-{version}.tgz\"\n    - \"*.deb\"\n    - \"*.rpm\"\n    - \"install.sh\"\n  checksums:\n    manifest: \"SHA256SUMS\"             # manifest asset name\n    must_cover: [\"*.tgz\", \"*.deb\", \"*.rpm\", \"install.sh\"]  # globs the manifest must list\n  ghcr_images:                         # container images that MUST exist + run\n    - image: \"ghcr.io\u002F{owner}\u002Faiwg\"\n      tags: [\"{version}\", \"latest\"]\n      smoke: \"--version\"               # documented command that must succeed\n    - image: \"ghcr.io\u002F{owner}\u002Faiwg-agent-client\"\n      tags: [\"{version}\"]\n      smoke: \"--version\"\n  installer:\n    url: \"https:\u002F\u002Fgithub.com\u002F{mirror}\u002Freleases\u002Fdownload\u002F{tag}\u002Finstall.sh\"\n    dry_run: \"sh install.sh --dry-run\"  # must succeed against the real release URL\n  platform_jobs:                       # platform-specific evidence (e.g. host-direct smoke)\n    - name: \"mutsu-apple-silicon-smoke\"\n      evidence: \"ci-run or log path proving the platform job ran green\"\n```\n\n`{version}` is the tag without the `v`; `{tag}` is the full tag; `{owner}` \u002F\n`{mirror}` come from the resolved repos.\n\n## Verification surfaces\n\nRun each surface that applies. Use `mcp__git-gitea__*` for Gitea, `gh` for\nGitHub, `curl`\u002F`oras`\u002F`docker`\u002F`skopeo` for GHCR, `sha256sum -c` for checksums.\nNever print tokens — load from env\u002Ffile per the `token-security` rule.\n\n1. **Gitea release exists + assets** — the release for `tag` exists and every\n   `release_assets` glob matches at least one attached asset.\n2. **GitHub mirror release + assets** — same against the mirror (skip with a\n   recorded MISSING if no mirror is configured, or if the tag is a pre-release\n   that intentionally skips the mirror per `flow-release` policy).\n3. **SHA256SUMS present + covers** — the `checksums.manifest` asset exists and\n   lists an entry for every `must_cover` glob. Download the manifest and the\n   covered assets; `sha256sum -c` must pass for each downloaded file.\n4. **Native package checksums** — for each `.deb`\u002F`.rpm`\u002Finstaller asset, verify\n   its recorded checksum matches the downloaded file (FAILED on mismatch).\n5. **GHCR images exist + smoke** — for each `ghcr_images` entry and tag, confirm\n   the image manifest exists (`docker manifest inspect` \u002F `skopeo inspect` \u002F\n   `oras manifest fetch`), then run the documented `smoke` command and assert\n   exit 0.\n6. **Installer dry-run from the real URL** — fetch `installer.url` for the tag\n   and run `installer.dry_run`; assert exit 0. This proves the published\n   installer is reachable and parses, not just that a file exists.\n7. **Platform jobs** — for each `platform_jobs` entry, confirm the referenced CI\n   run \u002F log evidence shows the platform-specific job ran green (e.g. mutsu\n   Apple-Silicon host-direct smoke).\n\n## Missing vs failed (record them distinctly)\n\nEvery check resolves to exactly one verdict:\n\n| Verdict | Meaning | Example |\n|---------|---------|---------|\n| **PASS** | Proof found and correct | `aiwg-2026.6.2.tgz` attached; checksum matches |\n| **FAIL** | Proof found but wrong | SHA256SUMS lists the tarball but the hash mismatches |\n| **MISSING** | Proof not found | No `.deb` asset attached; or GHCR image tag absent |\n| **N\u002FA (not configured)** | The project didn't declare this surface | No `ghcr_images` block → skip, don't fail |\n\n`FAIL` and `MISSING` are different problems: `FAIL` means the release is corrupt\nand must be re-cut; `MISSING` means a surface didn't publish (workflow didn't run,\nasset not uploaded) — investigate the pipeline. Never collapse the two into a\nsingle \"not green\" bucket; the close comment must show which is which.\n\n## Output schema\n\nDefault output is an **issue-comment-ready** markdown block. With `--json`, emit\nthe same data as `{ tag, repo, mirror, checks: [{ surface, target, verdict,\ndetail }], summary: { pass, fail, missing, na }, publishable: \u003Cbool> }`.\n`publishable` is true only when there are zero `FAIL` and zero unexpected\n`MISSING` (configured-but-absent) checks.\n\nMarkdown template to paste into the release-completion issue:\n\n```markdown\n## Release publication verification — {tag}\n\n| Surface | Target | Verdict | Detail |\n|---------|--------|---------|--------|\n| Gitea release | {repo} | PASS | release present, 4\u002F4 asset globs matched |\n| GitHub mirror | {mirror} | PASS | release present, 4\u002F4 asset globs matched |\n| SHA256SUMS | SHA256SUMS | PASS | covers tgz\u002Fdeb\u002Frpm\u002Finstall.sh; `sha256sum -c` OK |\n| Native pkg checksums | *.deb, *.rpm | PASS | hashes match |\n| GHCR images | aiwg:{version},latest | PASS | manifests exist; `--version` exits 0 |\n| Installer dry-run | install.sh@{tag} | PASS | `--dry-run` exits 0 from release URL |\n| Platform job | mutsu-apple-silicon-smoke | MISSING | no CI evidence found — investigate |\n\n**Summary:** 6 PASS · 0 FAIL · 1 MISSING · 0 N\u002FA → **not fully published**\n(missing: mutsu Apple-Silicon smoke evidence).\n```\n\n## Acceptance criteria\n\n- [ ] Accepts a `tag` and repo target (and optional mirror\u002Fconfig).\n- [ ] Verifies Gitea + GitHub release assets, the checksum manifest, native\n      package checksums, GHCR image existence + smoke, and installer dry-run\n      when configured.\n- [ ] Records **MISSING** distinctly from **FAIL** (and **N\u002FA** for\n      not-configured surfaces).\n- [ ] Emits a concise issue-comment-ready evidence summary (and `--json`).\n- [ ] Discoverable via `aiwg discover \"post tag release asset verifier GHCR packages installer\"`.\n\n## Related\n\n- `flow-release` — the release sequence; points here after its `release` gate,\n  before `post-release` close-outs.\n- Schema: `agentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fschemas\u002Fflows\u002Frelease-config.yaml`\n  (`publication_verify` block).\n- Rules: `token-security`, `ci-green-before-done`, `delivery-policy`,\n  `citation-policy` (evidence must be real, never fabricated).\n- Config: `.aiwg\u002Frelease.config` per project.\n",{"name":5,"triggers":56,"namespace":63,"platforms":64,"commandHint":66,"description":7},[57,58,59,60,61,62],"verify the release publication","post-tag release asset verifier","check GHCR images and release assets for a tag","prove the release published before closing issues","release publication proof for issue close","verify release assets checksums installer GHCR packages","aiwg",[65],"all",{"model":42,"category":67,"modelRole":68,"modelTier":69,"allowedTools":70,"argumentHint":71,"orchestration":52},"sdlc-orchestration","efficiency","economy","Read, Write, Edit, Bash, Glob, Grep, mcp__git-gitea__*","\u003Ctag> [--repo \u003Cowner\u002Fname>] [--mirror \u003Cowner\u002Fname>] [--config \u003Cpath>] [--json]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Fsdlc\u002Fskills\u002Frelease-publication-verify",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-11 08:11:25",{"source":8,"skillName":5,"commands":83,"prompt":93,"zipAvailable":94},[84,87,90],{"tool":85,"command":86},"npx","npx skills add jmagly\u002Faiwg --skill release-publication-verify",{"tool":88,"command":89},"bunx","bunx skills add jmagly\u002Faiwg --skill release-publication-verify",{"tool":91,"command":92},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill release-publication-verify","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsdlc\u002Fskills\u002Frelease-publication-verify\u002FSKILL.md",true,[96,101,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171],{"path":97,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":99,"sourceHtmlUrl":100},"LICENSE","许可证",1066,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002FLICENSE",{"path":102,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fbnbagent-studio-adding-to-project.md","REFERENCE","参考文档",13939,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-adding-to-project.md",{"path":108,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Fbnbagent-studio-buying-from-bazaar.md",10683,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-buying-from-bazaar.md",{"path":112,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fbnbagent-studio-buying-via-8183.md",12875,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-buying-via-8183.md",{"path":116,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Fbnbagent-studio-buying-via-mpp.md",3274,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-buying-via-mpp.md",{"path":120,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":121,"sourceHtmlUrl":122},"references\u002Fbnbagent-studio-extending-signing.md",12721,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-extending-signing.md",{"path":124,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":125,"sourceHtmlUrl":126},"references\u002Fbnbagent-studio-operating.md",18956,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-operating.md",{"path":128,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":129,"sourceHtmlUrl":130},"references\u002Fbnbagent-studio-scaffolding-agent.md",39249,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-scaffolding-agent.md",{"path":132,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":133,"sourceHtmlUrl":134},"references\u002Fbnbagent-studio-selling-via-8183.md",22141,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-selling-via-8183.md",{"path":136,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":137,"sourceHtmlUrl":138},"references\u002Fbnbagent-studio-selling-via-b402.md",17943,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-selling-via-b402.md",{"path":140,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":141,"sourceHtmlUrl":142},"references\u002Fbnbagent-studio-use-aws-agentcore.md",14307,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-use-aws-agentcore.md",{"path":144,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":145,"sourceHtmlUrl":146},"references\u002Fbnbagent-studio-use-azure-foundry.md",13410,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-use-azure-foundry.md",{"path":148,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":149,"sourceHtmlUrl":150},"references\u002Fbnbagent-studio-use-bnb-trial.md",4751,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-use-bnb-trial.md",{"path":152,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":153,"sourceHtmlUrl":154},"references\u002Fbnbagent-studio-use-createos.md",23471,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-use-createos.md",{"path":156,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":157,"sourceHtmlUrl":158},"references\u002Fbnbagent-studio-using-altana-wallet.md",7727,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-using-altana-wallet.md",{"path":160,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":161,"sourceHtmlUrl":162},"references\u002Fbnbagent-studio-using-twak-wallet.md",13041,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-using-twak-wallet.md",{"path":164,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":165,"sourceHtmlUrl":166},"references\u002Fbnbagent-studio-wiring-llm-tools.md",14640,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002Freferences\u002Fbnbagent-studio-wiring-llm-tools.md",{"path":168,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":169,"sourceHtmlUrl":170},"SOURCE.md",377,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002FSOURCE.md",{"path":172,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":173,"sourceHtmlUrl":174},"TRUST.auto.yaml",2208,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbnb-official-bnbagent-studio\u002FTRUST.auto.yaml",[176,202,225,231,238,252],{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":51},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[182],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[184,185,186,41,187,188,189,190,191,192,43,193,194,195,196,197,198,199,200,201],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":212,"publishedAt":51},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[208,211],{"categoryNo":209,"categoryName":210,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[213,214,215,41,216,191,217,218,43,219,184,220,194,221,222,197,198,223,224,28],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":226,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":230,"publishedAt":51},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[229],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[186,184,185,193,41,201,189,188,196,190,191,192,43,200,194,195,187,197,198,199],{"skillNo":232,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":233,"categories":234,"keywords":237,"publishedAt":51},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[235,236],{"categoryNo":209,"categoryName":210,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[214,213,197,216,191,217,43,215,184,220,194,221,222,41,198,219,218,223,224,28],{"skillNo":239,"name":240,"nameZh":6,"description":241,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":242,"categories":243,"keywords":245,"publishedAt":51},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[244],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[246,247,248,249,250,251],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":253,"name":254,"nameZh":6,"description":255,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":256,"categories":257,"keywords":259,"publishedAt":51},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[258],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[260,261,221,262,247],"pi","pi local","duplicate"]