[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FZC02CSHYPKC3QB8M4XT0T":3,"skill-same:01M6FZC02CSHYPKC3QB8M4XT0T":71},{"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":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6FZC02CSHYPKC3QB8M4XT0T","session-triage",null,"Investigate one immediate session, correction, repo incident, or skill failure and recommend a verified fix","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fsession-analytics\u002Fclaude\u002Fsession-triage\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"triage","session","session triage","file","analysis","investigate","skill name","text","repo","fix","v0","issue","incident","id","name","2026-11-10 10:12:30",false,"---\nname: session-triage\ndescription: Investigate one immediate session, correction, repo incident, or skill failure and recommend a verified fix\ntype: analysis\nversion: v0.11\nargument-hint: \"[session id\u002Ffile, repo path, skill name\u002Fpath, correction text, or issue description]\"\n---\n\n# Session Triage\n\nUse this skill when the user wants a focused investigation of one immediate issue: a current conversation problem, one correction, one session, one repo incident, one failed run, or one suspected skill failure. This skill verifies what happened before recommending a durable fix.\n\nUse `\u002Fanalyze-sessions` instead for informational history questions — single or trend — such as broad cross-session breakdowns, recurring frustration analysis, performance over time, repeated prompt patterns, automation opportunities, finding a past conversation, or checking one run's token spend. This skill owns live incidents that need a verified fix.\n\n## Inputs\n\n- Active conversation context.\n- Optional session ID, session file, or exported log.\n- Optional repository path or current working directory.\n- Optional skill name or `SKILL.md` path.\n- Optional user correction text, error output, test failure, log excerpt, file path, commit, or issue description.\n- Optional `benchmark regression` mode: invoked as `\u002Fsession-triage \u003Cskill> benchmark regression` by `\u002Fbenchmark-test-skill` when `agentic-skills-benchmarks\u002Fscripts\u002Fbenchmark-regression-check.mjs` reports a `regression` verdict. The prior-vs-new delta block (passRate, Wilson lower bound, output-quality, status badge, prior and new grade dates) is carried in as evidence; the appended grade rows live in `agentic-skills-benchmarks\u002Fbenchmark\u002Fgrade-history.json`.\n\n## Process\n\n1. Define the investigation scope:\n   - Treat the current conversation and current working directory as the default scope.\n   - Prefer user-provided session IDs, files, repo paths, skill names, exact correction phrases, errors, logs, and test failures over broad history searches.\n   - Resolve named skills from `base\u002Fcodex`, `base\u002Fclaude`, `packs`, project-local `.agents`, `.codex`, `.claude`, and installed `~\u002F.codex\u002Fskills` or `~\u002F.claude\u002Fskills` as read-only fallback evidence.\n   - Do not create an `\u002Fanalyze-session` alias or route; use this distinct command name to avoid singular\u002Fplural confusion.\n\n2. Gather narrow evidence first:\n   - Read the target skill contract when a skill is named.\n   - Read directly relevant project instructions such as `AGENTS.md`, `CLAUDE.md`, task docs, pack docs, logs, or test output.\n   - Search only the scoped repo\u002Fsession\u002Fhistory for the issue text, skill name, invocation command, relevant file paths, user correction, and nearby agent actions.\n   - **Resolve cited file locations before drawing conclusions.** When a cited target file is not found under the current cwd, a file absent from the current directory is **not** evidence that the artifact is broken or missing — the file may live in a different repository than the one you are running in. Search likely sibling project directories (e.g. under `~\u002Fprojects`) to resolve its real location, and record the resolved absolute path. A `verified` verdict on a file defect requires the report to name the resolved absolute path that was actually inspected; never confirm a file defect against a path that could not be opened.\n   - Include the active conversation as evidence when the correction is happening now.\n   - Broaden to `\u002Fanalyze-sessions` only when recurrence, frequency, or trend evidence is needed.\n\n3. Verify the issue before diagnosing:\n   - Separate the **user-identified issue** from the **agent-verified issue**.\n   - Classify the verification verdict as `verified`, `partially verified`, `not verified`, or `inconclusive`.\n   - A verified issue requires evidence for what the agent did, what the skill\u002Frepo\u002Fuser contract required, and why the outcome was wrong or risky.\n   - If evidence shows the skill contract was adequate and the agent ignored it, say that directly.\n\n4. Build a concise timeline:\n   - User request or trigger.\n   - Skill or instruction that should have applied.\n   - Agent action or omission.\n   - Failure, correction, or observed impact.\n   - Relevant repo\u002Fsession state.\n\n5. Diagnose root cause:\n   - Identify whether the cause is a missing trigger, ambiguous trigger, missing evidence gate, insufficient scope resolution, weak output contract, bad next-step routing, missing validation, missing safety constraint, stale mirrored contract, repo instruction conflict, or agent noncompliance with an adequate contract.\n   - Compare Claude and Codex skill versions when both exist and flag mirrored drift.\n   - Check `tasks\u002Flessons.md` when working in `agentic-skills`; reuse existing lessons or recommend a new lesson when the pattern is novel.\n   - For benchmark failures, check recent same-skill `agentic-skills-benchmarks\u002Fbenchmark\u002Ftriage-\u003Cskill>-*.md` reports and `tasks\u002Flessons.md` before recommending a narrow tolerance patch. If two or more recent reports classify the same family of valid outputs as benchmark false negatives, stop patching individual phrasings and route to a generalized rubric, semantic evaluator, fixture-family, or infrastructure-classifier fix that covers the family.\n   - For a `benchmark regression` invocation, the absolute thresholds may still pass — the issue is a *drop relative to the prior grade*. Use the carried delta and `agentic-skills-benchmarks\u002Fbenchmark\u002Fgrade-history.json` to confirm the regression is real (not a one-run sampling artifact: small evaluated-run counts and wide Wilson intervals can move >=10pp by chance — say so and recommend a confirming re-run when the sample is thin). Then classify the cause:\n     - **Real behavioral regression** — the skill contract or a dependency changed and the agent now produces worse output. This is a managing-layer skill defect: emit the managing-layer handoff payload (step 6) naming the contract section that drifted. To confirm the loop closes, apply the Pack Availability Guard first; if `agentic-skills-bench` is unavailable, recommend `npx skillpacks install agentic-skills-bench` before re-running `\u002Fbenchmark-test-skill \u003Cskill>` to verify the grade recovers in `grade-history.json`.\n     - **Harness \u002F rubric drift** — the skill behavior is unchanged but a setup, fixture, evaluator, or pricing\u002Fthreshold change moved the score. Reuse the false-negative-family logic above (steps 5-6): name the owning harness\u002Fsetup file and the family-level behavior to recognize, rather than patching one phrasing.\n\n6. Recommend the smallest durable fix. First classify **where the defect lives** — this decides the handoff:\n\n   - **Managing-layer defect** — the fault is in a shared **skill** contract, a **convention page** (`docs\u002F*-convention.md`, `CLAUDE.md`, shared process\u002Frouting docs), or **workflow routing\u002Fprocess**. The fix belongs in the managing `agentic-skills` repo and must reach every install. Produce a **managing-layer handoff payload** (YAML, below) for an agent running *in the agentic-skills directory* to implement, publish, and refresh. There is no separate skill-builder skill to route to.\n   - **Invoking-directory defect** (rare) — the fault is in the current\u002Fconsuming project itself (its own code, local config, or project instructions), not in a shared skill\u002Fconvention\u002Fprocess. The fix belongs in that directory. Produce a plain **in-place patch report**: exact files in the current directory, the concrete change, and local verification. Do not route to the managing repo or emit the YAML payload.\n\n   For either branch:\n   - Name exact file(s), section(s), and proposed wording or behavior change.\n   - Provide concrete rule text or workflow-step wording when a contract change is justified.\n   - Include validation checks that prove the revised behavior prevents the issue, such as targeted `rg` checks, mirrored contract checks, version checks, replay of the decision path, or the failing test\u002Flog command.\n   - For repeated benchmark false-negative families, the recommended fix must name the owning harness or setup file, the family-level behavior to recognize or reject, positive and negative fixture shapes to add, and a validation command such as focused layer1 setup tests plus `pnpm --dir tests verify --skill \u003Cskill>`.\n\n   **Canonical Fix Target (managing-layer branch — mandatory):**\n   - The fix **target** is the canonical source-of-truth in the managing `agentic-skills` repo. For a skill: `packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` (resolve `\u003Cpack>` with `scripts\u002Fpack.sh which \u003Cskill>`; fall back to legacy `base\u002F{claude,codex}\u002F\u003Cskill>` only if the skill has not migrated to `packs\u002F`). For a convention or process rule: the authoring source under `docs\u002F` (e.g. `docs\u002F*-convention.md`) or `CLAUDE.md`, **never** a generated per-skill convention bundle.\n   - Update **both** the claude and codex canonical variants together when both exist (same mirrored-drift rule as step 5 — a fix landing on only one variant leaves the mirror stale).\n   - **Never** name a managed mirror or installed copy as the fix target: `.claude\u002Fskills\u002F…`, `.codex\u002Fskills\u002F…`, `~\u002F.claude\u002Fskills\u002F…`, `~\u002F.codex\u002Fskills\u002F…`, `~\u002F.npm\u002F**\u002Fskillpacks\u002F…`, `packages\u002Fskillpacks\u002Fbuild\u002F…`, or a consuming repo's local `.claude\u002Fskills`. These are read-only *evidence* only (see step 1). A patch that lands on one of these is a non-fix: it does not propagate to the shared skill or any other install.\n   - **Cross-directory rule:** when this skill runs from a consuming or other directory (cwd is not the managing `agentic-skills` repo), the managing-layer fix still routes back to the managing repo's canonical source via the payload. Do **not** edit the local installed copy in the current directory as the fix. If the managing repo is not checked out locally, say so and stop rather than patching a mirror.\n\n   **Managing-layer handoff payload (the fix routes to an agent, not a builder skill):**\n   - Emit a self-contained YAML payload that any agent running in the agentic-skills repo can execute directly, following `docs\u002Fsession-triage-handoff-contract.md`. Shape:\n\n     ```yaml\n     # Invoke with: run this in the agentic-skills repo to implement + publish the fix\n     command: \"implement-skill-fix\"        # descriptive; not a skill command\n     defect_class: skill | convention | routing-process\n     target:                               # canonical source-of-truth only\n       - packs\u002F\u003Cpack>\u002Fclaude\u002F\u003Cskill>\u002FSKILL.md\n       - packs\u002F\u003Cpack>\u002Fcodex\u002F\u003Cskill>\u002FSKILL.md\n     fix: |\n       \u003Cexact rule text \u002F section change>\n     publish_refresh:\n       - scripts\u002Fskill-archive.sh \u003Cskill-dir>; bump version; update CHANGELOG\n       - git add \u003Cedits>; npm run skillpacks:build; git add manifest; commit together; push\n       - scripts\u002Fpack.sh refresh\n     verify:\n       - \u003Crg checks \u002F mirror version check \u002F failing test or log cmd>\n     ```\n   - The payload must carry the canonical target path(s), the exact fix, the full **publish + refresh loop** (archive\u002Fversion bump → update both variants + CHANGELOG → `git add` edits → `npm run skillpacks:build` → `git add` regenerated manifest → commit source+manifest **together** → push → `scripts\u002Fpack.sh refresh`; consumers run `npx skillpacks install\u002Frefresh` + `\u002Freload-skills`, `\u002Fclear` or restart if still invisible), and the verification checks. A managing-layer fix is not complete until published and refreshed. The managed mirrors are gitignored and regenerated by refresh — never hand-edit them.\n\n7. Optionally enrich the persistent insights memory (secondary writer):\n   - When the triaged incident is a verified, generalizable pattern (not a pure one-off), append it to the machine-local `.session-insights\u002Finsights.md` store that `\u002Fanalyze-sessions` accumulates, so live incidents and cross-session trends share one memory.\n   - The store is gitignored and may not exist yet; create it with the standard keyed table header (`| Insight | Category | First Seen | Last Seen | Occurrences | Status |`) if absent. If a semantically matching row already exists, increment its Occurrences and advance Last Seen instead of adding a duplicate; otherwise add a row with Occurrences `1` and Status `confirmed` (triage incidents are verified).\n   - This is additive memory only — `tasks\u002Flessons.md` remains the authoritative correction log; do not move lessons content into the insights store.\n\n## Pack Availability Guard\n\nBefore recommending another skill, verify the target skill itself is available before relying on pack availability:\n\n- Treat `.agents\u002Fproject.json` `enabled_skills.\u003Cskill-name>` as direct availability, even when the provider pack is not listed in `enabled_packs`.\n- Treat `.agents\u002Fproject.json` `enabled_packs` as availability only when the enabled pack provides the target skill; use `scripts\u002Fpack.sh which \u003Cskill-name>` when available to identify the provider.\n- Treat local or global skill files as direct availability evidence, including `.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, `.codex\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, `~\u002F.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, and `~\u002F.codex\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`.\n\nIf the target skill is unavailable, recommend `npx skillpacks install \u003Cpack-or-skill>` from the project shell before the skill invocation. Prefer the provider pack when it is known; otherwise recommend installing the target skill by name. Tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if the skill remains invisible after install.\n\nFor benchmark regression loop-closing, treat `\u002Fbenchmark-test-skill` as owned by `agentic-skills-bench`: check whether `.agents\u002Fproject.json` `enabled_packs` includes `agentic-skills-bench` before recommending or relying on `\u002Fbenchmark-test-skill \u003Cskill>`. If `agentic-skills-bench` is not enabled, recommend `npx skillpacks install agentic-skills-bench` from the project shell first, then tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if the skill remains invisible after install.\n\n## Output\n\nProduce a structured report with:\n\n- Target: session\u002Frepo\u002Fskill scope and evidence sources. Emit every file and evidence reference — Target, verification evidence, fix targets, and validation citations — in a **locatable** form so an agent running in any directory can find and open it: an absolute path, or a reference qualified by its repository \u002F working directory (which repo + repo-relative path) plus the repo root when it differs from the triage cwd. A bare cwd-relative path that only resolves from the originating project is prohibited as the sole reference, especially when the evidence lives outside the managing repo.\n- User-identified issue: the user's claim in concise terms.\n- Verification verdict: `verified`, `partially verified`, `not verified`, or `inconclusive`, with supporting evidence.\n- Timeline: short sequence from trigger to correction or impact.\n- Root cause: the specific contract gap, repo conflict, or agent noncompliance pattern.\n- Responsible contract gap: skill, project instruction, task doc, or none.\n- Defect location: `managing-layer` (skill \u002F convention \u002F routing-process) or `invoking-directory`.\n- Recommended fix:\n  - **Managing-layer:** the managing-layer handoff payload (YAML per `docs\u002Fsession-triage-handoff-contract.md`) with canonical `packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` (both variants when both exist) or `docs\u002F*-convention.md`\u002F`CLAUDE.md` target(s) — never a managed mirror or installed copy — the exact change, the publish\u002Frefresh loop, and verification.\n  - **Invoking-directory:** exact file(s) in the current directory, the concrete change, and local verification. No YAML payload, no managing-repo route.\n- Validation plan: commands or checks to prove the fix. For a managing-layer fix, include the publish step (`git add` edits → `npm run skillpacks:build` → `git add` and commit the regenerated manifest with the source) and the refresh step (`scripts\u002Fpack.sh refresh` in-repo, or consumer `npx skillpacks refresh` + `\u002Freload-skills`), plus a check that the refreshed mirror shows the new version.\n- Confidence and evidence gaps: what is known, what could not be verified, and whether `\u002Fanalyze-sessions` is needed for recurrence analysis.\n- Recommended next skill: `\u002Fanalyze-sessions` for recurrence analysis, or `none` when no follow-up is justified. A managing-layer fix does not route to a skill — its next action is the handoff payload run in the agentic-skills repo. For a confirmed real `benchmark regression`, emit the managing-layer payload naming the drifted contract section, and, after applying the Pack Availability Guard for `agentic-skills-bench`, name `npx skillpacks install agentic-skills-bench` first when unavailable, then re-running `\u002Fbenchmark-test-skill \u003Cskill>` as the loop-closing verification (see `docs\u002Fbenchmark-improvement-loop.md`).\n\n## Constraints\n\n- Start narrow and evidence-bound; do not scan all local history by default.\n- Do not claim a user-identified issue is agent-verified without independent evidence.\n- Do not modify the target skill during analysis unless the user also asked for implementation and the active workflow permits edits.\n- Do not recommend a skill change when the evidence points only to one-off agent noncompliance and the contract is already clear.\n- Do not create or suggest `\u002Fanalyze-session`; use `\u002Fsession-triage`.\n- Classify every recommended fix as `managing-layer` (shared skill, convention page, or workflow routing\u002Fprocess) or `invoking-directory` before writing the handoff. A managing-layer fix targets the canonical source in the managing repo (`packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` or `docs\u002F*-convention.md`\u002F`CLAUDE.md`), never a managed mirror or installed copy, and is emitted as the YAML handoff payload; a patch to a mirror\u002Finstalled copy is not a durable fix. When invoked outside the managing repo, route a managing-layer fix back to it via the payload rather than editing the local copy. Only an invoking-directory defect is patched in the current directory.\n- Do not route a verified fix to a skill-builder skill. `targeted-skill-builder` and `create-agentic-skill` are archived; the managing-layer handoff payload is the implementation route.\n- Do not create or modify GitHub Actions workflows.\n- If a source is missing or unreadable, report that clearly and continue with available evidence instead of guessing.\n- When recommending another skill, apply the Pack Availability Guard: check `enabled_skills`, enabled provider packs, and local\u002Fglobal skill files before recommending the skill directly; if unavailable, prepend `npx skillpacks install \u003Cpack-or-skill>` to the recommendation.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n","# Session Triage\n\nUse this skill when the user wants a focused investigation of one immediate issue: a current conversation problem, one correction, one session, one repo incident, one failed run, or one suspected skill failure. This skill verifies what happened before recommending a durable fix.\n\nUse `\u002Fanalyze-sessions` instead for informational history questions — single or trend — such as broad cross-session breakdowns, recurring frustration analysis, performance over time, repeated prompt patterns, automation opportunities, finding a past conversation, or checking one run's token spend. This skill owns live incidents that need a verified fix.\n\n## Inputs\n\n- Active conversation context.\n- Optional session ID, session file, or exported log.\n- Optional repository path or current working directory.\n- Optional skill name or `SKILL.md` path.\n- Optional user correction text, error output, test failure, log excerpt, file path, commit, or issue description.\n- Optional `benchmark regression` mode: invoked as `\u002Fsession-triage \u003Cskill> benchmark regression` by `\u002Fbenchmark-test-skill` when `agentic-skills-benchmarks\u002Fscripts\u002Fbenchmark-regression-check.mjs` reports a `regression` verdict. The prior-vs-new delta block (passRate, Wilson lower bound, output-quality, status badge, prior and new grade dates) is carried in as evidence; the appended grade rows live in `agentic-skills-benchmarks\u002Fbenchmark\u002Fgrade-history.json`.\n\n## Process\n\n1. Define the investigation scope:\n   - Treat the current conversation and current working directory as the default scope.\n   - Prefer user-provided session IDs, files, repo paths, skill names, exact correction phrases, errors, logs, and test failures over broad history searches.\n   - Resolve named skills from `base\u002Fcodex`, `base\u002Fclaude`, `packs`, project-local `.agents`, `.codex`, `.claude`, and installed `~\u002F.codex\u002Fskills` or `~\u002F.claude\u002Fskills` as read-only fallback evidence.\n   - Do not create an `\u002Fanalyze-session` alias or route; use this distinct command name to avoid singular\u002Fplural confusion.\n\n2. Gather narrow evidence first:\n   - Read the target skill contract when a skill is named.\n   - Read directly relevant project instructions such as `AGENTS.md`, `CLAUDE.md`, task docs, pack docs, logs, or test output.\n   - Search only the scoped repo\u002Fsession\u002Fhistory for the issue text, skill name, invocation command, relevant file paths, user correction, and nearby agent actions.\n   - **Resolve cited file locations before drawing conclusions.** When a cited target file is not found under the current cwd, a file absent from the current directory is **not** evidence that the artifact is broken or missing — the file may live in a different repository than the one you are running in. Search likely sibling project directories (e.g. under `~\u002Fprojects`) to resolve its real location, and record the resolved absolute path. A `verified` verdict on a file defect requires the report to name the resolved absolute path that was actually inspected; never confirm a file defect against a path that could not be opened.\n   - Include the active conversation as evidence when the correction is happening now.\n   - Broaden to `\u002Fanalyze-sessions` only when recurrence, frequency, or trend evidence is needed.\n\n3. Verify the issue before diagnosing:\n   - Separate the **user-identified issue** from the **agent-verified issue**.\n   - Classify the verification verdict as `verified`, `partially verified`, `not verified`, or `inconclusive`.\n   - A verified issue requires evidence for what the agent did, what the skill\u002Frepo\u002Fuser contract required, and why the outcome was wrong or risky.\n   - If evidence shows the skill contract was adequate and the agent ignored it, say that directly.\n\n4. Build a concise timeline:\n   - User request or trigger.\n   - Skill or instruction that should have applied.\n   - Agent action or omission.\n   - Failure, correction, or observed impact.\n   - Relevant repo\u002Fsession state.\n\n5. Diagnose root cause:\n   - Identify whether the cause is a missing trigger, ambiguous trigger, missing evidence gate, insufficient scope resolution, weak output contract, bad next-step routing, missing validation, missing safety constraint, stale mirrored contract, repo instruction conflict, or agent noncompliance with an adequate contract.\n   - Compare Claude and Codex skill versions when both exist and flag mirrored drift.\n   - Check `tasks\u002Flessons.md` when working in `agentic-skills`; reuse existing lessons or recommend a new lesson when the pattern is novel.\n   - For benchmark failures, check recent same-skill `agentic-skills-benchmarks\u002Fbenchmark\u002Ftriage-\u003Cskill>-*.md` reports and `tasks\u002Flessons.md` before recommending a narrow tolerance patch. If two or more recent reports classify the same family of valid outputs as benchmark false negatives, stop patching individual phrasings and route to a generalized rubric, semantic evaluator, fixture-family, or infrastructure-classifier fix that covers the family.\n   - For a `benchmark regression` invocation, the absolute thresholds may still pass — the issue is a *drop relative to the prior grade*. Use the carried delta and `agentic-skills-benchmarks\u002Fbenchmark\u002Fgrade-history.json` to confirm the regression is real (not a one-run sampling artifact: small evaluated-run counts and wide Wilson intervals can move >=10pp by chance — say so and recommend a confirming re-run when the sample is thin). Then classify the cause:\n     - **Real behavioral regression** — the skill contract or a dependency changed and the agent now produces worse output. This is a managing-layer skill defect: emit the managing-layer handoff payload (step 6) naming the contract section that drifted. To confirm the loop closes, apply the Pack Availability Guard first; if `agentic-skills-bench` is unavailable, recommend `npx skillpacks install agentic-skills-bench` before re-running `\u002Fbenchmark-test-skill \u003Cskill>` to verify the grade recovers in `grade-history.json`.\n     - **Harness \u002F rubric drift** — the skill behavior is unchanged but a setup, fixture, evaluator, or pricing\u002Fthreshold change moved the score. Reuse the false-negative-family logic above (steps 5-6): name the owning harness\u002Fsetup file and the family-level behavior to recognize, rather than patching one phrasing.\n\n6. Recommend the smallest durable fix. First classify **where the defect lives** — this decides the handoff:\n\n   - **Managing-layer defect** — the fault is in a shared **skill** contract, a **convention page** (`docs\u002F*-convention.md`, `CLAUDE.md`, shared process\u002Frouting docs), or **workflow routing\u002Fprocess**. The fix belongs in the managing `agentic-skills` repo and must reach every install. Produce a **managing-layer handoff payload** (YAML, below) for an agent running *in the agentic-skills directory* to implement, publish, and refresh. There is no separate skill-builder skill to route to.\n   - **Invoking-directory defect** (rare) — the fault is in the current\u002Fconsuming project itself (its own code, local config, or project instructions), not in a shared skill\u002Fconvention\u002Fprocess. The fix belongs in that directory. Produce a plain **in-place patch report**: exact files in the current directory, the concrete change, and local verification. Do not route to the managing repo or emit the YAML payload.\n\n   For either branch:\n   - Name exact file(s), section(s), and proposed wording or behavior change.\n   - Provide concrete rule text or workflow-step wording when a contract change is justified.\n   - Include validation checks that prove the revised behavior prevents the issue, such as targeted `rg` checks, mirrored contract checks, version checks, replay of the decision path, or the failing test\u002Flog command.\n   - For repeated benchmark false-negative families, the recommended fix must name the owning harness or setup file, the family-level behavior to recognize or reject, positive and negative fixture shapes to add, and a validation command such as focused layer1 setup tests plus `pnpm --dir tests verify --skill \u003Cskill>`.\n\n   **Canonical Fix Target (managing-layer branch — mandatory):**\n   - The fix **target** is the canonical source-of-truth in the managing `agentic-skills` repo. For a skill: `packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` (resolve `\u003Cpack>` with `scripts\u002Fpack.sh which \u003Cskill>`; fall back to legacy `base\u002F{claude,codex}\u002F\u003Cskill>` only if the skill has not migrated to `packs\u002F`). For a convention or process rule: the authoring source under `docs\u002F` (e.g. `docs\u002F*-convention.md`) or `CLAUDE.md`, **never** a generated per-skill convention bundle.\n   - Update **both** the claude and codex canonical variants together when both exist (same mirrored-drift rule as step 5 — a fix landing on only one variant leaves the mirror stale).\n   - **Never** name a managed mirror or installed copy as the fix target: `.claude\u002Fskills\u002F…`, `.codex\u002Fskills\u002F…`, `~\u002F.claude\u002Fskills\u002F…`, `~\u002F.codex\u002Fskills\u002F…`, `~\u002F.npm\u002F**\u002Fskillpacks\u002F…`, `packages\u002Fskillpacks\u002Fbuild\u002F…`, or a consuming repo's local `.claude\u002Fskills`. These are read-only *evidence* only (see step 1). A patch that lands on one of these is a non-fix: it does not propagate to the shared skill or any other install.\n   - **Cross-directory rule:** when this skill runs from a consuming or other directory (cwd is not the managing `agentic-skills` repo), the managing-layer fix still routes back to the managing repo's canonical source via the payload. Do **not** edit the local installed copy in the current directory as the fix. If the managing repo is not checked out locally, say so and stop rather than patching a mirror.\n\n   **Managing-layer handoff payload (the fix routes to an agent, not a builder skill):**\n   - Emit a self-contained YAML payload that any agent running in the agentic-skills repo can execute directly, following `docs\u002Fsession-triage-handoff-contract.md`. Shape:\n\n     ```yaml\n     # Invoke with: run this in the agentic-skills repo to implement + publish the fix\n     command: \"implement-skill-fix\"        # descriptive; not a skill command\n     defect_class: skill | convention | routing-process\n     target:                               # canonical source-of-truth only\n       - packs\u002F\u003Cpack>\u002Fclaude\u002F\u003Cskill>\u002FSKILL.md\n       - packs\u002F\u003Cpack>\u002Fcodex\u002F\u003Cskill>\u002FSKILL.md\n     fix: |\n       \u003Cexact rule text \u002F section change>\n     publish_refresh:\n       - scripts\u002Fskill-archive.sh \u003Cskill-dir>; bump version; update CHANGELOG\n       - git add \u003Cedits>; npm run skillpacks:build; git add manifest; commit together; push\n       - scripts\u002Fpack.sh refresh\n     verify:\n       - \u003Crg checks \u002F mirror version check \u002F failing test or log cmd>\n     ```\n   - The payload must carry the canonical target path(s), the exact fix, the full **publish + refresh loop** (archive\u002Fversion bump → update both variants + CHANGELOG → `git add` edits → `npm run skillpacks:build` → `git add` regenerated manifest → commit source+manifest **together** → push → `scripts\u002Fpack.sh refresh`; consumers run `npx skillpacks install\u002Frefresh` + `\u002Freload-skills`, `\u002Fclear` or restart if still invisible), and the verification checks. A managing-layer fix is not complete until published and refreshed. The managed mirrors are gitignored and regenerated by refresh — never hand-edit them.\n\n7. Optionally enrich the persistent insights memory (secondary writer):\n   - When the triaged incident is a verified, generalizable pattern (not a pure one-off), append it to the machine-local `.session-insights\u002Finsights.md` store that `\u002Fanalyze-sessions` accumulates, so live incidents and cross-session trends share one memory.\n   - The store is gitignored and may not exist yet; create it with the standard keyed table header (`| Insight | Category | First Seen | Last Seen | Occurrences | Status |`) if absent. If a semantically matching row already exists, increment its Occurrences and advance Last Seen instead of adding a duplicate; otherwise add a row with Occurrences `1` and Status `confirmed` (triage incidents are verified).\n   - This is additive memory only — `tasks\u002Flessons.md` remains the authoritative correction log; do not move lessons content into the insights store.\n\n## Pack Availability Guard\n\nBefore recommending another skill, verify the target skill itself is available before relying on pack availability:\n\n- Treat `.agents\u002Fproject.json` `enabled_skills.\u003Cskill-name>` as direct availability, even when the provider pack is not listed in `enabled_packs`.\n- Treat `.agents\u002Fproject.json` `enabled_packs` as availability only when the enabled pack provides the target skill; use `scripts\u002Fpack.sh which \u003Cskill-name>` when available to identify the provider.\n- Treat local or global skill files as direct availability evidence, including `.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, `.codex\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, `~\u002F.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`, and `~\u002F.codex\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md`.\n\nIf the target skill is unavailable, recommend `npx skillpacks install \u003Cpack-or-skill>` from the project shell before the skill invocation. Prefer the provider pack when it is known; otherwise recommend installing the target skill by name. Tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if the skill remains invisible after install.\n\nFor benchmark regression loop-closing, treat `\u002Fbenchmark-test-skill` as owned by `agentic-skills-bench`: check whether `.agents\u002Fproject.json` `enabled_packs` includes `agentic-skills-bench` before recommending or relying on `\u002Fbenchmark-test-skill \u003Cskill>`. If `agentic-skills-bench` is not enabled, recommend `npx skillpacks install agentic-skills-bench` from the project shell first, then tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if the skill remains invisible after install.\n\n## Output\n\nProduce a structured report with:\n\n- Target: session\u002Frepo\u002Fskill scope and evidence sources. Emit every file and evidence reference — Target, verification evidence, fix targets, and validation citations — in a **locatable** form so an agent running in any directory can find and open it: an absolute path, or a reference qualified by its repository \u002F working directory (which repo + repo-relative path) plus the repo root when it differs from the triage cwd. A bare cwd-relative path that only resolves from the originating project is prohibited as the sole reference, especially when the evidence lives outside the managing repo.\n- User-identified issue: the user's claim in concise terms.\n- Verification verdict: `verified`, `partially verified`, `not verified`, or `inconclusive`, with supporting evidence.\n- Timeline: short sequence from trigger to correction or impact.\n- Root cause: the specific contract gap, repo conflict, or agent noncompliance pattern.\n- Responsible contract gap: skill, project instruction, task doc, or none.\n- Defect location: `managing-layer` (skill \u002F convention \u002F routing-process) or `invoking-directory`.\n- Recommended fix:\n  - **Managing-layer:** the managing-layer handoff payload (YAML per `docs\u002Fsession-triage-handoff-contract.md`) with canonical `packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` (both variants when both exist) or `docs\u002F*-convention.md`\u002F`CLAUDE.md` target(s) — never a managed mirror or installed copy — the exact change, the publish\u002Frefresh loop, and verification.\n  - **Invoking-directory:** exact file(s) in the current directory, the concrete change, and local verification. No YAML payload, no managing-repo route.\n- Validation plan: commands or checks to prove the fix. For a managing-layer fix, include the publish step (`git add` edits → `npm run skillpacks:build` → `git add` and commit the regenerated manifest with the source) and the refresh step (`scripts\u002Fpack.sh refresh` in-repo, or consumer `npx skillpacks refresh` + `\u002Freload-skills`), plus a check that the refreshed mirror shows the new version.\n- Confidence and evidence gaps: what is known, what could not be verified, and whether `\u002Fanalyze-sessions` is needed for recurrence analysis.\n- Recommended next skill: `\u002Fanalyze-sessions` for recurrence analysis, or `none` when no follow-up is justified. A managing-layer fix does not route to a skill — its next action is the handoff payload run in the agentic-skills repo. For a confirmed real `benchmark regression`, emit the managing-layer payload naming the drifted contract section, and, after applying the Pack Availability Guard for `agentic-skills-bench`, name `npx skillpacks install agentic-skills-bench` first when unavailable, then re-running `\u002Fbenchmark-test-skill \u003Cskill>` as the loop-closing verification (see `docs\u002Fbenchmark-improvement-loop.md`).\n\n## Constraints\n\n- Start narrow and evidence-bound; do not scan all local history by default.\n- Do not claim a user-identified issue is agent-verified without independent evidence.\n- Do not modify the target skill during analysis unless the user also asked for implementation and the active workflow permits edits.\n- Do not recommend a skill change when the evidence points only to one-off agent noncompliance and the contract is already clear.\n- Do not create or suggest `\u002Fanalyze-session`; use `\u002Fsession-triage`.\n- Classify every recommended fix as `managing-layer` (shared skill, convention page, or workflow routing\u002Fprocess) or `invoking-directory` before writing the handoff. A managing-layer fix targets the canonical source in the managing repo (`packs\u002F\u003Cpack>\u002F{claude,codex}\u002F\u003Cskill>\u002FSKILL.md` or `docs\u002F*-convention.md`\u002F`CLAUDE.md`), never a managed mirror or installed copy, and is emitted as the YAML handoff payload; a patch to a mirror\u002Finstalled copy is not a durable fix. When invoked outside the managing repo, route a managing-layer fix back to it via the payload rather than editing the local copy. Only an invoking-directory defect is patched in the current directory.\n- Do not route a verified fix to a skill-builder skill. `targeted-skill-builder` and `create-agentic-skill` are archived; the managing-layer handoff payload is the implementation route.\n- Do not create or modify GitHub Actions workflows.\n- If a source is missing or unreadable, report that clearly and continue with available evidence instead of guessing.\n- When recommending another skill, apply the Pack Availability Guard: check `enabled_skills`, enabled provider packs, and local\u002Fglobal skill files before recommending the skill directly; if unavailable, prepend `npx skillpacks install \u003Cpack-or-skill>` to the recommendation.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n",{"name":5,"type":23,"version":39,"description":7,"argument-hint":40},"v0.11","[session id\u002Ffile, repo path, skill name\u002Fpath, correction text, or issue description]","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fsession-analytics\u002Fclaude\u002Fsession-triage",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill session-triage",{"tool":57,"command":58},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill session-triage",{"tool":60,"command":61},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill session-triage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fsession-analytics\u002Fclaude\u002Fsession-triage\u002FSKILL.md",true,[65],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"CHANGELOG.md","REFERENCE","参考文档",5368,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fsession-analytics\u002Fclaude\u002Fsession-triage\u002FCHANGELOG.md",[72,84,94,106,121,132],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":34},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[79,80,81,82,29,83],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":34},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[91,92,93,83,81,29],"deck install valid","deck","install",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":34},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[101,102,103,83,104,105,81,29],"codex pack guard valid","pack","guard","codex","availability",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":34},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[118,119,83,104,29,120,81],"codex missing skill valid","missing","fallback",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":34},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[127],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},[83,104,120,129,130,131,29,81],"base skill","codex base skill fallback valid","base",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":34},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[83,103,102,139,105,29,81],"claude pack guard valid"]