{
  "spec": "tgpski-skills/1",
  "site": "https://skills.TGP.SKI",
  "generated_at": "2026-07-12T08:36:36Z",
  "signing_key_fingerprint": "EBD5FFAD597EAEAFD2C69B421257CF12D9C93483",
  "signing_key_url": "https://TGP.SKI/keys/tgpski.asc",
  "skills": [
    {
      "name": "abductive-triage",
      "description": "Structured diagnostic reasoning for AI agents investigating incidents, failures, and unexpected behavior. Teaches agents to resolve coordinate mismatches first (majority of incidents), then build timelines, generate competing hypotheses, identify discriminating evidence, and produce portable investigation artifacts. Use when asked to create a triage workflow, investigate an incident, debug a failure, or encode a diagnostic process.",
      "source_repo": "TGPSKI/abductive-triage",
      "source_path": "SKILL.md",
      "source_url": "https://github.com/TGPSKI/abductive-triage/blob/762e2accab4641e7d749077182e06d4e3a4e7c59/SKILL.md",
      "commit": "762e2accab4641e7d749077182e06d4e3a4e7c59",
      "sha256": "28270e706643760ed21b2a373a36687fccd7b243558102d9e000ccd7c0f1ef9c",
      "url": "/skills/abductive-triage/abductive-triage/SKILL.md",
      "dir": "/skills/abductive-triage/abductive-triage/",
      "files": [
        {
          "path": "AGENTS.md",
          "url": "/skills/abductive-triage/abductive-triage/AGENTS.md",
          "sha256": "08fd6a8485afd49099a0bf489076726512b5a1846f82a9e64759621ebb5af361",
          "bytes": 279
        },
        {
          "path": "LANDSCAPE.md",
          "url": "/skills/abductive-triage/abductive-triage/LANDSCAPE.md",
          "sha256": "4d37cd7fa118e7f0d82bdf13ac98a43efebbdef690714bfa7201033d074a34a1",
          "bytes": 8718
        },
        {
          "path": "SKILL.md",
          "url": "/skills/abductive-triage/abductive-triage/SKILL.md",
          "sha256": "28270e706643760ed21b2a373a36687fccd7b243558102d9e000ccd7c0f1ef9c",
          "bytes": 14298
        },
        {
          "path": "THE_METHODOLOGY.md",
          "url": "/skills/abductive-triage/abductive-triage/THE_METHODOLOGY.md",
          "sha256": "d3141cfd7b88320ae953545afce03175fb48683307fb76c6ecc232d6c7b601f4",
          "bytes": 14750
        },
        {
          "path": "templates/multi-phase-investigation/SKILL.md",
          "url": "/skills/abductive-triage/abductive-triage/templates/multi-phase-investigation/SKILL.md",
          "sha256": "b69657fd7ff5e4add29e59ad9ff8a73f5895a43ab3517dbf9c40069c8c0a174a",
          "bytes": 3274
        },
        {
          "path": "templates/multi-phase-investigation/references/phase-01-intake-coordinates.md",
          "url": "/skills/abductive-triage/abductive-triage/templates/multi-phase-investigation/references/phase-01-intake-coordinates.md",
          "sha256": "01daef2d70fe7a342952018ae8da4fe9018e2cb18d195d81ac920a34618a7aaa",
          "bytes": 8593
        },
        {
          "path": "templates/multi-phase-investigation/references/phase-02-investigate.md",
          "url": "/skills/abductive-triage/abductive-triage/templates/multi-phase-investigation/references/phase-02-investigate.md",
          "sha256": "653c11bad1f0e9b944c243b0b07e587de6972ad1005b1d7c2570cee54c4edd7f",
          "bytes": 2825
        },
        {
          "path": "templates/multi-phase-investigation/references/phase-03-remediate-doc.md",
          "url": "/skills/abductive-triage/abductive-triage/templates/multi-phase-investigation/references/phase-03-remediate-doc.md",
          "sha256": "e7b1dc66aab282f7885f949ca132d53efc609f5411eab0fe9c944468b7ff4295",
          "bytes": 3450
        },
        {
          "path": "templates/single-incident.md",
          "url": "/skills/abductive-triage/abductive-triage/templates/single-incident.md",
          "sha256": "e7b6c51b3a14df2b931b66073705ef1e1bc7b3a97a4d227979e513a42c9b645a",
          "bytes": 6580
        }
      ]
    },
    {
      "name": "generate-directed-contexts",
      "description": "Generate bounded codebase ownership contexts that agents can load inline or spawn in isolation. Analyzes a repository, proposes ownership boundaries, and produces a root AGENTS.md router plus .subagents/ context modules with executable validation. Use when asked to create directed contexts, split a large AGENTS.md, set up subagent contexts, add an agent routing table, or audit an existing context set.",
      "source_repo": "TGPSKI/directed-contexts",
      "source_path": "SKILL.md",
      "source_url": "https://github.com/TGPSKI/directed-contexts/blob/f221b73e64f6c5b63d23823654d400a5445d5013/SKILL.md",
      "commit": "f221b73e64f6c5b63d23823654d400a5445d5013",
      "sha256": "8cef8e1ac125141c80c40661c05af26b792c268dc32555a22c561ad7d96fe024",
      "url": "/skills/directed-contexts/generate-directed-contexts/SKILL.md",
      "dir": "/skills/directed-contexts/generate-directed-contexts/",
      "files": [
        {
          "path": "AGENTS.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/AGENTS.md",
          "sha256": "93a8028eee6f575e75edc055709e481b73ef6b4cf76755f0d0524aa77045f5a4",
          "bytes": 1958
        },
        {
          "path": "LINEAGE.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/LINEAGE.md",
          "sha256": "9f3e499d3890ac24213c4e0c4197a12dd3048ea7e845df60169921f98d05e4a5",
          "bytes": 3802
        },
        {
          "path": "PATTERN.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/PATTERN.md",
          "sha256": "397c1f9a551a829886bd38ca0fdb9ebfa2f89da0241408bd2ee7ae77a6c59f36",
          "bytes": 11810
        },
        {
          "path": "SKILL.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/SKILL.md",
          "sha256": "8cef8e1ac125141c80c40661c05af26b792c268dc32555a22c561ad7d96fe024",
          "bytes": 9128
        },
        {
          "path": "scripts/contextctl.go",
          "url": "/skills/directed-contexts/generate-directed-contexts/scripts/contextctl.go",
          "sha256": "335aabdfa44fadc51ee4dab94b3e3a1f2cd50bf75440abff510cdfefa619755e",
          "bytes": 39443
        },
        {
          "path": "scripts/go.mod",
          "url": "/skills/directed-contexts/generate-directed-contexts/scripts/go.mod",
          "sha256": "3c959d9981adc059deac4e7045fde8ac74a225f4ec4bd49a42e3e59ade0c932a",
          "bytes": 60
        },
        {
          "path": "references/adoption-existing-agents.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/adoption-existing-agents.md",
          "sha256": "61f9d101920e4dfa31fad74e8ee7bf6d18dfbca5f82c079a64fe0d301f485171",
          "bytes": 5265
        },
        {
          "path": "references/lifecycle.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/lifecycle.md",
          "sha256": "0998812ecc65ff77a113152a6c43f94ce5fd1322a77e8769152cf566d3705bd8",
          "bytes": 3881
        },
        {
          "path": "references/phase-01-coordinate-check.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/phase-01-coordinate-check.md",
          "sha256": "e107fc8fdd22b900581c554a9fd9b311b66e4fbdebd942c5bd1941ae387b3fb9",
          "bytes": 5153
        },
        {
          "path": "references/phase-02-boundary-model.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/phase-02-boundary-model.md",
          "sha256": "492a0da42beb9c13d01b8cebdd7b75f37a46ed1671a57c90a41f6795b4c30fc8",
          "bytes": 5909
        },
        {
          "path": "references/phase-03-generate.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/phase-03-generate.md",
          "sha256": "ab85b2407c0637d6bbd74fd9850ed01a7e324ec8d46009337be482ccf02cfdd1",
          "bytes": 5558
        },
        {
          "path": "references/phase-04-validate.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/references/phase-04-validate.md",
          "sha256": "9f706ba5b3d95cdaf520b5880bbbe2e0a8587920d255635ab71c6c464f1e515e",
          "bytes": 3850
        },
        {
          "path": "assets/templates/AGENTS.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/assets/templates/AGENTS.md",
          "sha256": "9827d5855403b77531695ba39cbcf72a03aeffbbd627b3d36ef7909c4ae64c3e",
          "bytes": 2499
        },
        {
          "path": "assets/templates/domain-context.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/assets/templates/domain-context.md",
          "sha256": "e1ec896ed65e8907793c1325678ef0879bcb6522dd30501f8fde450f49cb2ef8",
          "bytes": 1937
        },
        {
          "path": "assets/templates/maintain-directed-contexts/SKILL.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/assets/templates/maintain-directed-contexts/SKILL.md",
          "sha256": "808c69bc8e0fea9c3694966b8b11d673abcaea81197912f2cf37f2db3d4c1cc5",
          "bytes": 2764
        },
        {
          "path": "assets/templates/policy-context.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/assets/templates/policy-context.md",
          "sha256": "296013a3cd1a6456d77186fd29efd5dd89689b3fdaa0e72c399f93d8cccb9a13",
          "bytes": 990
        },
        {
          "path": "assets/templates/subagents-README.md",
          "url": "/skills/directed-contexts/generate-directed-contexts/assets/templates/subagents-README.md",
          "sha256": "09769c0c2dfe8b0433b7bbe41ecfa2bf4d997c49559eb424f98a6f9087aa6076",
          "bytes": 930
        }
      ]
    },
    {
      "name": "directed-workflows",
      "description": "Creates directed workflow files for any repository. Generates structured markdown that AI agents execute interactively to guide users through multi-step configuration processes like service onboarding, environment setup, and infrastructure provisioning. Use when asked to create a directed workflow, encode a process, or build an agent-guided configuration flow.",
      "source_repo": "TGPSKI/directed-workflows",
      "source_path": "SKILL.md",
      "source_url": "https://github.com/TGPSKI/directed-workflows/blob/379dfd7e280602e4d52f8b6003d2635d54478c73/SKILL.md",
      "commit": "379dfd7e280602e4d52f8b6003d2635d54478c73",
      "sha256": "bf42fbf12b717b10baa7b2a8e17782b16363f133d5f5a80b643fdfba4e6840a8",
      "url": "/skills/directed-workflows/directed-workflows/SKILL.md",
      "dir": "/skills/directed-workflows/directed-workflows/",
      "files": [
        {
          "path": "AGENTS.md",
          "url": "/skills/directed-workflows/directed-workflows/AGENTS.md",
          "sha256": "3be0033fa583edec00da625ebdbba8fb4431359ea8ef2ec1b91bae3d37919336",
          "bytes": 274
        },
        {
          "path": "ROUTER_PATTERN.md",
          "url": "/skills/directed-workflows/directed-workflows/ROUTER_PATTERN.md",
          "sha256": "168d3bcdf845a91e8313be9cc54d5b2eef87c9cab6e417d35d66d54d921edfbe",
          "bytes": 9997
        },
        {
          "path": "SKILL.md",
          "url": "/skills/directed-workflows/directed-workflows/SKILL.md",
          "sha256": "bf42fbf12b717b10baa7b2a8e17782b16363f133d5f5a80b643fdfba4e6840a8",
          "bytes": 8926
        },
        {
          "path": "templates/multi-phase-router/phase-template.md",
          "url": "/skills/directed-workflows/directed-workflows/templates/multi-phase-router/phase-template.md",
          "sha256": "eac5d37ec19072e3870776cd2d4dd3f4feeef5a5a78fcd2c36359aebfa8a29bb",
          "bytes": 2584
        },
        {
          "path": "templates/multi-phase-router/router.md",
          "url": "/skills/directed-workflows/directed-workflows/templates/multi-phase-router/router.md",
          "sha256": "e5d060786730c287881329abeef83fad093b13efe501ca2fecb215e6314bf5a7",
          "bytes": 4079
        },
        {
          "path": "templates/single-file-workflow.md",
          "url": "/skills/directed-workflows/directed-workflows/templates/single-file-workflow.md",
          "sha256": "1c0d7d830729fd493fe73865cc5d9ec2b940c047068a597dab19f6111c55a17c",
          "bytes": 1666
        }
      ]
    },
    {
      "name": "agents-doc-lifecycle",
      "description": "Manage AGENTS.md and .subagents/*.md across the leather subagent guide set (currently 17 guides spanning core, runtime, worker, serve, tannery, quality, performance, security, operations, shell-mcp, ui, replay, agent-definition, tools/skills/toolsets semantics, integrations, examples, and observability). USE FOR: auditing every guide against the codebase; adding routing-table rows for new packages or features; splitting an overloaded guide; merging thin guides; updating flag/type/subcommand tables; validating cross-references and ownership uniqueness; enforcing the per-guide `last reviewed` footer; running the full ownership/footer/cross-ref health check. DO NOT USE FOR: writing implementation code; debugging runtime errors; running tests.",
      "source_repo": "TGPSKI/leather",
      "source_path": ".agents/skills/agents-doc-lifecycle/SKILL.md",
      "source_url": "https://github.com/TGPSKI/leather/blob/c2d4da6d5022b42be5ff9818dd0f6d8900314769/.agents/skills/agents-doc-lifecycle/SKILL.md",
      "commit": "c2d4da6d5022b42be5ff9818dd0f6d8900314769",
      "sha256": "4392db3d5c58b961f1ff27323759b7d462c5644bb675c64a375c2e0ed0ae56c9",
      "url": "/skills/leather/agents-doc-lifecycle/SKILL.md",
      "dir": "/skills/leather/agents-doc-lifecycle/",
      "files": [
        {
          "path": "SKILL.md",
          "url": "/skills/leather/agents-doc-lifecycle/SKILL.md",
          "sha256": "4392db3d5c58b961f1ff27323759b7d462c5644bb675c64a375c2e0ed0ae56c9",
          "bytes": 18584
        },
        {
          "path": "scripts/go.mod",
          "url": "/skills/leather/agents-doc-lifecycle/scripts/go.mod",
          "sha256": "c34ef7c873bba0003889d360d6864d52fc2dc2807257fc0bbcaaaf0ef981d5b4",
          "bytes": 39
        },
        {
          "path": "scripts/main.go",
          "url": "/skills/leather/agents-doc-lifecycle/scripts/main.go",
          "sha256": "4d1d22d08e65e0c764b072563a8ec0456b00655893e39e72f5c038f6c8ee3a05",
          "bytes": 10670
        },
        {
          "path": "scripts/run.sh",
          "url": "/skills/leather/agents-doc-lifecycle/scripts/run.sh",
          "sha256": "f50cbe2e174f04e4ae4f99888a86d3ffce1e3d15b2822c7e20cabd310c806ce7",
          "bytes": 686
        }
      ]
    },
    {
      "name": "code-quality-lifecycle",
      "description": "Audit and improve test coverage, formatting, linting, and test organization for the leather codebase. USE FOR: finding untested exported functions; identifying test files that should be split; checking and fixing gofmt/golangci-lint issues; producing a coverage gap report; catching benchmark regressions; full quality gate pre-PR. DO NOT USE FOR: writing business logic; documentation (use documentation-lifecycle); agents doc sync (use agents-doc-lifecycle).",
      "source_repo": "TGPSKI/leather",
      "source_path": ".agents/skills/code-quality-lifecycle/SKILL.md",
      "source_url": "https://github.com/TGPSKI/leather/blob/c2d4da6d5022b42be5ff9818dd0f6d8900314769/.agents/skills/code-quality-lifecycle/SKILL.md",
      "commit": "c2d4da6d5022b42be5ff9818dd0f6d8900314769",
      "sha256": "7581cb66d2ce40bff17e3213b794727b6195731ed4ce4f79774b151f863dfe45",
      "url": "/skills/leather/code-quality-lifecycle/SKILL.md",
      "dir": "/skills/leather/code-quality-lifecycle/",
      "files": [
        {
          "path": "SKILL.md",
          "url": "/skills/leather/code-quality-lifecycle/SKILL.md",
          "sha256": "7581cb66d2ce40bff17e3213b794727b6195731ed4ce4f79774b151f863dfe45",
          "bytes": 11512
        },
        {
          "path": "scripts/run.sh",
          "url": "/skills/leather/code-quality-lifecycle/scripts/run.sh",
          "sha256": "76b64814fb0ff33ac84fcdc12b1a3afeb83917590fb9fcf85528935b579285e1",
          "bytes": 6597
        }
      ]
    },
    {
      "name": "documentation-lifecycle",
      "description": "Generate, update, and maintain per-module documentation under docs/modules/, keep docs/ARCHITECTURE.md and README.md current, and produce Mermaid diagrams for data-flow, block, and dependency views. USE FOR: documenting a package; updating architecture docs after structural changes; generating diagrams; auditing documentation freshness; first-time doc generation for the project. DO NOT USE FOR: writing implementation code; debugging runtime errors; updating AGENTS.md or .subagents/ guides (use agents-doc-lifecycle instead).",
      "source_repo": "TGPSKI/leather",
      "source_path": ".agents/skills/documentation-lifecycle/SKILL.md",
      "source_url": "https://github.com/TGPSKI/leather/blob/c2d4da6d5022b42be5ff9818dd0f6d8900314769/.agents/skills/documentation-lifecycle/SKILL.md",
      "commit": "c2d4da6d5022b42be5ff9818dd0f6d8900314769",
      "sha256": "c4a3cccfa920c82212dc10ac281ff3d202df96e1c6d423dae804bc827dce891c",
      "url": "/skills/leather/documentation-lifecycle/SKILL.md",
      "dir": "/skills/leather/documentation-lifecycle/",
      "files": [
        {
          "path": "SKILL.md",
          "url": "/skills/leather/documentation-lifecycle/SKILL.md",
          "sha256": "c4a3cccfa920c82212dc10ac281ff3d202df96e1c6d423dae804bc827dce891c",
          "bytes": 10088
        }
      ]
    },
    {
      "name": "release-prep",
      "description": "Prepare a leather release: auto-detect next version from git history, insert CHANGELOG section, update docs, commit and push. USE FOR: cutting a new release; bumping version after feature or fix work. DO NOT USE FOR: tagging the release (use release-tag after this skill completes).",
      "source_repo": "TGPSKI/leather",
      "source_path": ".agents/skills/release-prep/SKILL.md",
      "source_url": "https://github.com/TGPSKI/leather/blob/c2d4da6d5022b42be5ff9818dd0f6d8900314769/.agents/skills/release-prep/SKILL.md",
      "commit": "c2d4da6d5022b42be5ff9818dd0f6d8900314769",
      "sha256": "e2dd41d5e2564b5a387d7e7600ea141b535f593138a532e1720cbb50a2771a49",
      "url": "/skills/leather/release-prep/SKILL.md",
      "dir": "/skills/leather/release-prep/",
      "files": [
        {
          "path": "SKILL.md",
          "url": "/skills/leather/release-prep/SKILL.md",
          "sha256": "e2dd41d5e2564b5a387d7e7600ea141b535f593138a532e1720cbb50a2771a49",
          "bytes": 4886
        },
        {
          "path": "references/version-examples.md",
          "url": "/skills/leather/release-prep/references/version-examples.md",
          "sha256": "33ec83314c72de8cbefedc1535c509acbb959e312cc55980049643bd8ca16f0d",
          "bytes": 1240
        }
      ]
    },
    {
      "name": "release-tag",
      "description": "Tag a prepared leather release and push the tag to origin. Triggers the automated release pipeline. USE FOR: after release-prep has committed and pushed. DO NOT USE FOR: preparing the CHANGELOG or docs (use release-prep first); creating GitHub releases directly (the pipeline handles that).",
      "source_repo": "TGPSKI/leather",
      "source_path": ".agents/skills/release-tag/SKILL.md",
      "source_url": "https://github.com/TGPSKI/leather/blob/c2d4da6d5022b42be5ff9818dd0f6d8900314769/.agents/skills/release-tag/SKILL.md",
      "commit": "c2d4da6d5022b42be5ff9818dd0f6d8900314769",
      "sha256": "bdcddfc6e720af0a215c6932bc078df053dfed7ac98a65c1c5d46bb4bf6548ed",
      "url": "/skills/leather/release-tag/SKILL.md",
      "dir": "/skills/leather/release-tag/",
      "files": [
        {
          "path": "SKILL.md",
          "url": "/skills/leather/release-tag/SKILL.md",
          "sha256": "bdcddfc6e720af0a215c6932bc078df053dfed7ac98a65c1c5d46bb4bf6548ed",
          "bytes": 2817
        }
      ]
    },
    {
      "name": "redline",
      "description": "Finds the maximum safe --max-model-len and --max-num-batched-tokens for a vLLM-served model on a fixed GPU, by climbing a doubling ladder one clean reboot at a time and recording the real KV-cache/concurrency signal from each boot rather than guessing. Use when asked to find max context, tune context length, or push a model to its context ceiling.",
      "source_repo": "TGPSKI/redline",
      "source_path": "SKILL.md",
      "source_url": "https://github.com/TGPSKI/redline/blob/673957879d34af98495666809d984adf8e09b60b/SKILL.md",
      "commit": "673957879d34af98495666809d984adf8e09b60b",
      "sha256": "619089112d39da45685bb326195f86bcde1fb9c2675e468dca66a264b2c5de98",
      "url": "/skills/redline/redline/SKILL.md",
      "dir": "/skills/redline/redline/",
      "files": [
        {
          "path": "AGENTS.md",
          "url": "/skills/redline/redline/AGENTS.md",
          "sha256": "caebd9462f6871b079553a35a48c2c767a5432d7b9a3e0c005110eae6560c839",
          "bytes": 1896
        },
        {
          "path": "SKILL.md",
          "url": "/skills/redline/redline/SKILL.md",
          "sha256": "619089112d39da45685bb326195f86bcde1fb9c2675e468dca66a264b2c5de98",
          "bytes": 6831
        },
        {
          "path": "references/01-run-rung.md",
          "url": "/skills/redline/redline/references/01-run-rung.md",
          "sha256": "97c5add8e82430f1718b9985804a4b6597289b62884ad056eb368c3bfad5198a",
          "bytes": 6181
        },
        {
          "path": "references/02-record-ceiling.md",
          "url": "/skills/redline/redline/references/02-record-ceiling.md",
          "sha256": "6ff2c87940fe5ab6ac1d9373b5f574da6f86f0e5fec196c578475594a06f3290",
          "bytes": 4807
        },
        {
          "path": "references/03-smoke-test.md",
          "url": "/skills/redline/redline/references/03-smoke-test.md",
          "sha256": "213ac7f9c32e7f8d4a18eeb39bd1cf98e5d579a66975e44ece5809906b0e9067",
          "bytes": 4480
        },
        {
          "path": "assets/example-ladder.yml",
          "url": "/skills/redline/redline/assets/example-ladder.yml",
          "sha256": "b863bcd48e7a3c27366fb11a4869d86b2f4466a244cfab1e83db31dabb8ce876",
          "bytes": 10175
        },
        {
          "path": "assets/rung-result.schema.yml",
          "url": "/skills/redline/redline/assets/rung-result.schema.yml",
          "sha256": "a85235b438c4de4ccce62fb81d9512ccee1d4c060d8437ab863dfb098a650d93",
          "bytes": 3574
        }
      ]
    }
  ]
}
