chris-peterson/shipshape — 2 hooks
Pinned source listing — machine-checked
What declarations and files are present in this pinned source?
Pinned source declarations and file hashes were listed.
Review
Machine-checked ·
- Run UTC
- Reviewed
- Published
- Updated
Observations · Limitations · Evidence
What we ran
Git blob acquisition followed by static source inspection.
What we saw
Listed 2 hook declarations. Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.
Limits
Scope: acquisition and static inspection. Command results: commands.json.
developer-tools · hooks · Upstream source · Upstream documentation
Pinned source inspection only; no runtime platform was exercised. UTC 2026-10-22T12:15:47Z, tree b446489b5d827a1a7c779e4009aaf8683878a5a1ab708ac698a3532bbf17ec9a.
No browser or computer-use tools. Pin this exact version; the stamp does not follow updates.
Full record
- name
- chris-peterson/shipshape — 2 hooks
- slug
- source-hooks-e97d486203fa22384c454aa2
- type
- hooks
- 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 2 hook declarations. 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 hook names (listing.json): SessionStart; SessionStart"]
- 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-checked
- 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
- []
- 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
- {"applicationCategory":"DeveloperApplication","name":"chris-peterson/shipshape — 2 hooks","operatingSystem":"Not exercised","softwareVersion":"af47e046ec49ad528f5dc4dc1a53eda1801fdf76"}
- review input
- {"claims":[{"field":"summary","id":"acquired","sources":["LOCK.json","listing.json","commands.json"],"text":"Pinned source declarations and file hashes were listed."},{"field":"outcome","id":"listed","sources":["LOCK.json","listing.json","commands.json"],"text":"Listed 2 hook declarations. Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."},{"field":"rule_results.0","id":"tree","sources":["LOCK.json","listing.json","commands.json"],"text":"The retained source tree matches its acquisition manifest."},{"field":"rule_results.1","id":"declared","sources":["LOCK.json","listing.json","commands.json"],"text":"Declared hook names (listing.json): SessionStart; SessionStart"}],"evidence_sha256":{"LOCK.json":"dde21e7efc48228a8d64546ee21db475a7af6369343146969f44977c011f38c1","commands.json":"9f6062414649a8e877e94f85fdb45fa5cbcf4bf1b6b51b803f539d3dc263ebe6","complete.json":"91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f","identity.json":"ae0ff685c091f917304096e976ad00fadf78686d9bc2840ae51ef84c7357eb72","listing.json":"c2803726e674b91a4e1c309040d163781bf525c9b1c283940953963cb2252d79","selection.json":"41766fd4a9c6175d70545cb5ea218f02b12fe89c6528308986313c43799abc62"},"identity_artifact":"identity.json"}
- review
- {"codex":"e0ddb168bb8bcb309ba44a5f67f1a1dc3eb0137e76c7a9bc65f79dfd29aa2ff6","date":"2026-10-22","gates":"5fc9fa68feb71701be523107c86b5cbe00e94a245bbd6f7dd32eba223465fe40","grok":"8a2050c0246d1ab3c4101d1ef4d8e722b1a83b43d71d7e2d50eec88cbfbf314f","kind":"machine-checked","reviewed_sha256":"6603be52f5809c5e621346ffd902b2d03ed77428b760270d3c22fa2c3ad84025","summary":"Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."}
Downloadable evidence
transcript
Ran 60 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.
sinkhole log
Download complete sinkhole log
Not applicable: static source inspection (commands.json).
canary log
Not applicable: static source inspection (commands.json).
scanner output
Download complete scanner output
Not applicable: static source inspection (commands.json).
normalized text
Download complete normalized text
{
"listing": {
"skills": [
{
"path": "skills/maintain-harness/SKILL.md",
"name": "maintain-harness",
"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.",
"files": {
"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"
}
}
],
"hooks": [
{
"path": "hooks/hooks.json",
"sha256": "05c0b68bd8c480db93ff3fb4b10ecc79aea69c97cc74fabfd84b64cf1ba12e09",
"event": "SessionStart",
"matcher": "*",
"declaration": {
"type": "command",
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/Excerpt shown; complete evidence is in the download.
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.
Template placeholders refer to the snapshot metadata above.
Get new snapshots
Follow the machine-checked snapshot feed for published evidence updates.