{
  "name": "chris-peterson/shipshape — 1 skill",
  "slug": "source-skills-e97d486203fa22384c454aa2",
  "type": "skills",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 1 skill declaration. Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared skill names (listing.json): maintain-harness"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/chris-peterson/shipshape",
  "documentation_url": "https://github.com/chris-peterson/shipshape",
  "commit": "af47e046ec49ad528f5dc4dc1a53eda1801fdf76",
  "tree_sha256": "b446489b5d827a1a7c779e4009aaf8683878a5a1ab708ac698a3532bbf17ec9a",
  "file_sha256": {
    ".claude-plugin/plugin.json": "b6eef6e53a1fffe1e1bf7c7a27094481ca43609e8df75f4ffd07ff2ffe0bb7ac",
    ".github/workflows/deploy-docs.yml": "924d77150946b0ba6b6caa443fa23fe55dd0308c800715560d1ebe6a3a5775f7",
    ".github/workflows/project.yml": "a19fdae4d7311ee2d81a32f4f691dd4f39da444b9bc0084f274fbfc5a5b72917",
    ".github/workflows/release.yml": "f6d88f1cdc50cc1498c0d25c9f6b9968023beb27344c14fc5bf421271e0e513a",
    ".github/workflows/test.yml": "a5f525d0e971e96053cfdcf477fa42a7949a4cb35d3acfdd0adff9404add211a",
    ".gitignore": "f32ee837e2a91cdfb13c03011633edd3037d987e2863102199fb2b9b96337fb2",
    "AGENTS.md": "ca485e7a2b57ca0362b6a6ff0ffb5ba1e60390434665f605face91717cd995b1",
    "CHANGELOG.md": "37bf597fbb90e1f0c06d3369c74773bd27ca0aee8121c88a46352758d96ffa64",
    "CLAUDE.md": "442dae8e1066c181c2e105b7d42a824725169c28f5712e275090444e5cfc485e",
    "LICENSE": "8e909d09374b4e0a15c65a9fef2715fb5f8ca1e625786387ab4aa4f73ae8439e",
    "README.md": "02b8b67b032866b257e63c7a59b2fc8829cabb2191fe10172f7db2f0a824c4c4",
    "SPEC.md": "77f3548de85c76604f2edaab7b18f6695283ded19e7cb323df934d9e49bb03b5",
    "STATUS.md": "e992eb0c87caad0072a37bc1ae32f874d343ee279e7e1920c36d906be595bcd4",
    "docs/README.md": "2b0397a23c2e8b8559e0a041b4f66127d5705a6c078d6167e92bf1b6746efcea",
    "docs/_sidebar.md": "f1c208a5c736662d31f1d974b07d35b5fbbbecb406f072e6cc591c5a60e3322a",
    "docs/favicon.svg": "fff8f01d2df07e765f1e541dc4f0658f7fbe43a42954e0085e130e6dcc2c53d8",
    "hooks/check-claude-code-version.sh": "e690fec2c54f746ce855366505255b0ceaa8e9334241d4a147df132b7a1b1eff",
    "hooks/enforce-autoupdate.sh": "0b7a3b0af12b35751b72bcea4e7ab8d3f6a566c409f364bb77a65cafeacdb541",
    "hooks/hooks.json": "05c0b68bd8c480db93ff3fb4b10ecc79aea69c97cc74fabfd84b64cf1ba12e09",
    "hooks/hooks.yml": "d2205a4d5cd6523548bbac5dd3a696a5912fd98c8acb09de9c76497e0fde262c",
    "justfile": "77e8d3e9ea39a4f829aed0a7e8f8fcd409400cf117c51cd6fda5ff7aa02848f6",
    "plugin.yml": "6dab4262cec70d7bc1e6a3e0cd82836beac2259f89d0bce2f1108fccf496cb1f",
    "scripts/guide-content.sh": "b4289608e3c910bd2f7c6e41bbc5f80abc3af06c062fd297bf75dedf72ed73dc",
    "scripts/harness-guide.sh": "b78a6865c85b025c395526c69b17ddca3f343d22747895635d5a5b7017c35bdf",
    "scripts/maintenance-lock.sh": "0ae80e0815c5698160e72f81d6e2552e4e39171207a0b4f9141e653d147a1352",
    "scripts/offer-guard.sh": "71c676172f042bd4205a6e96b66dff490e68938a955d0d3a527241e1da8e4c89",
    "scripts/offer-phrases.txt": "946d1cf0835628da387940c91499126459d61391563e47b324b7ab275e93d5d8",
    "scripts/platform.sh": "9c2000cd756a3e72d0a2764f0ad5243756a64895704c8287d0aae3a737fe308f",
    "scripts/plugin-cache-in-use.sh": "3fda4a715e3b4c6ed2e12e84af3ffb4aff7de1e6cf7869fde55764ccc157d79d",
    "scripts/plugin-cache-prune.sh": "c651ddfd619af09c0290e3f2cdf9cbe9c4728662a2625cbc1d91b82648d9229f",
    "scripts/plugin-cache-scan.sh": "fff79b3596d067bb487717f8067b74959e77a791dccc5592bc557fd73ca58de7",
    "scripts/plugin-data-dir.sh": "27df4201d896d69f25525cce2976cfa694c090d1719124e32f6299859158a006",
    "scripts/plugin-unmanaged.sh": "99a0bbf231bb3b6100c5f8c98f14e8114b7e6b2c8abce061d0fff3383889216c",
    "scripts/tests/check-claude-code-version.test.sh": "8be9030fd72cde2a6cd47e7aafdea8457957e7d73281eb95cc7237e457cd69a2",
    "scripts/tests/enforce-autoupdate.test.sh": "82842c49ab31aa189e2ce963790fc67f625d057b0354a86c18af38baddd25045",
    "scripts/tests/first-run.test.sh": "b6842398390170818426b7a1024dd191184d228818b421a588e6e156bceb7b63",
    "scripts/tests/harness-guide.test.sh": "db26bcc489eabe07695ba2ccee68f85b705819c509f32fdc62312b553a460331",
    "scripts/tests/live-lease.sh": "e0b49fa23f95e020175c01bbe2ff2630a72425d724080c656c6b38f76e7df73a",
    "scripts/tests/maintenance-lock.test.sh": "75dc5ecfb017b743f62f8bb304f982621176e1ebf31b7989b53930e5d3e2c118",
    "scripts/tests/offer-guard.test.sh": "8d266f040c5af6ba296e21865be851b08d5d2cd4603818a5e3ccbd734a23cf20",
    "scripts/tests/plugin-cache-in-use.test.sh": "7f974900053062300fe402ed13e6a6488a1d0bd129879eef0f106e3a49c88552",
    "scripts/tests/plugin-cache-prune.test.sh": "2db1368eabba866ecb897211441db3ca557373dea322c22a98de44c7bd9a837e",
    "scripts/tests/plugin-cache-scan.test.sh": "4d7ca15b9436640cc5b11cf31fcaa5de078e4b458245a3fe97b2a1f41013b7d4",
    "scripts/tests/plugin-data-dir.test.sh": "19537793952885e4400cf6ba01d3ad2da7542d8472c8de39d3d990af6ee0ad62",
    "scripts/tests/plugin-unmanaged.test.sh": "7049f2dd0aaef6ea40618b5b159904e6b84002a500eebffd8f8f7f510bb0e1a7",
    "scripts/tests/version-scan-targets.test.sh": "ebfa3d8cc16f4b97c2d55d9868aa383a0d75becc8c2aec35e69667d19f79adba",
    "scripts/version-scan-targets.sh": "0bf6b23673f6f9648fb6cdb76286718e6ef4a1d0d85a55d1adaaa1d1d2d0723f",
    "skills/maintain-harness/SKILL.md": "be9ee48fe0eea86a74d56d579820a10c405f84a60d58084529702d9d991851d6",
    "skills/maintain-harness/references/claude-code.md": "444ce99d6cfe46a766e8601cf72a8858393da55df2f562178126d71f5c54cac4",
    "skills/maintain-harness/references/deep-scan-set.md": "60d79b4b521d0a8b23db6a70761645b552807a29e18c5e37d611a048d1a8ba49",
    "skills/maintain-harness/references/default-guide.md": "e78ee3b599dc60a8dca809e9ab107849a5d4d04095d58a31089f7b462dc6ab1f",
    "skills/maintain-harness/references/first-run.md": "b3bdcf02f32b27088f5ea86af73b92781b96a40c840307a9e3ac6cb481820830",
    "skills/maintain-harness/references/guide.md": "64a1a1358873a760d30e0d246ac0a032c57b2fae63873a1acb1d5d5e70b2126f",
    "skills/maintain-harness/references/output-format.md": "4d8d9f8d0a42f039a0c24a1ea7434ec541773ff987a96831e4b79cc1c01e5975",
    "skills/maintain-harness/references/plugins.md": "d5e57001527044d93bc6980badc84bcb21d07bdc6ccc85a2949b066b3fff4406"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T12:15:47Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-22",
  "reviewed_date": "2026-10-22",
  "published_date": "2026-10-22",
  "modified_date": "2026-10-22",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit 4b91f622fc862623dc2b1347f87cac9fa4b08bf9",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-22T12:15:47Z: pinned source inspection"
  ],
  "application": {
    "name": "chris-peterson/shipshape — 1 skill",
    "softwareVersion": "af47e046ec49ad528f5dc4dc1a53eda1801fdf76",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [\n      {\n        \"path\": \"skills/maintain-harness/SKILL.md\",\n        \"name\": \"maintain-harness\",\n        \"description\": \"Bring your Claude Code harness current: handle a Claude Code version change (what's new, the instructions you wrote for an upgrade, and acknowledging it, which clears shipshape's banner), then reconcile installed plugins against enabledPlugins (update, install/uninstall to match, prune stale caches and orphan data dirs). Use when Claude Code upgraded, when updating, reconciling, or cleaning up plugins, or to see or set the guide of steps that runs after each.\",\n        \"files\": {\n          \"skills/maintain-harness/SKILL.md\": \"be9ee48fe0eea86a74d56d579820a10c405f84a60d58084529702d9d991851d6\",\n          \"skills/maintain-harness/references/claude-code.md\": \"444ce99d6cfe46a766e8601cf72a8858393da55df2f562178126d71f5c54cac4\",\n          \"skills/maintain-harness/references/deep-scan-set.md\": \"60d79b4b521d0a8b23db6a70761645b552807a29e18c5e37d611a048d1a8ba49\",\n          \"skills/maintain-harness/references/default-guide.md\": \"e78ee3b599dc60a8dca809e9ab107849a5d4d04095d58a31089f7b462dc6ab1f\",\n          \"skills/maintain-harness/references/first-run.md\": \"b3bdcf02f32b27088f5ea86af73b92781b96a40c840307a9e3ac6cb481820830\",\n          \"skills/maintain-harness/references/guide.md\": \"64a1a1358873a760d30e0d246ac0a032c57b2fae63873a1acb1d5d5e70b2126f\",\n          \"skills/maintain-harness/references/output-format.md\": \"4d8d9f8d0a42f039a0c24a1ea7434ec541773ff987a96831e4b79cc1c01e5975\",\n          \"skills/maintain-harness/references/plugins.md\": \"d5e57001527044d93bc6980badc84bcb21d07bdc6ccc85a2949b066b3fff4406\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"05c0b68bd8c480db93ff3fb4b10ecc79aea69c97cc74fabfd84b64cf1ba12e09\",\n        \"event\": \"SessionStart\",\n        \"matcher\": \"*\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash \\\"${CLAUDE_PLUGIN_ROOT}/hooks/enforce-autoupdate.sh\\\"\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"05c0b68bd8c480db93ff3fb4b10ecc79aea69c97cc74fabfd84b64cf1ba12e09\",\n        \"event\": \"SessionStart\",\n        \"matcher\": \"*\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash \\\"${CLAUDE_PLUGIN_ROOT}/hooks/check-claude-code-version.sh\\\"\"\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "dde21e7efc48228a8d64546ee21db475a7af6369343146969f44977c011f38c1",
      "commands.json": "9f6062414649a8e877e94f85fdb45fa5cbcf4bf1b6b51b803f539d3dc263ebe6",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "a6e1dfbbb2a22c5328651fcbeaf92e97a53d593e89e488cd7e40bc288dac9771",
      "listing.json": "c2803726e674b91a4e1c309040d163781bf525c9b1c283940953963cb2252d79",
      "selection.json": "0ee6cf5e2f4ac80ffc4bfc9e72e290a9fb8ed9071f6f87aa9ccbfb1f0280b786"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 1 skill declaration. Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared skill names (listing.json): maintain-harness",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "79d9cea3290c8378929cbefc5c9c8c1e534ff806b683c0108bdc0a77ee206139",
    "gates": "41e29a4833f572f8e3d61cb82f1d4f8f8a5a599c9d400875f15ecf9cf19a6ecf",
    "codex": "0df85e5651773e0d5c69166f4d067f639a4d9282d160b575b8d5a660427c8e14",
    "grok": "cf2d08cffe33dc20aa4baee6c5dc16d4b7185a2e14666dbec50826cf148a5bc0",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
