Skip to content

perf: cut the bodies of the most-invoked skills through progressive disclosure #12240

Closed
2 of 2 issues completed
Closed

Description

@kyle-sexton

Refs: #12229

Problem

A skill's body enters the orchestrating session's context each time it is invoked, and the most-invoked skills carry long bodies.

Measured on 2026-11-01:

  • Method: SKILL.md body bytes with frontmatter stripped, at origin/main b1439e9809, across 382 plugin skills.
  • Results: median 11,298 bytes, p90 30,878, and 79 skills over 20 KB.
  • Invocation counts come from Skill tool calls in this repository's local transcripts for the last 2 days: 935 transcript files, 86 main sessions.
Skill Invocations (2 days) Body bytes Body bytes loaded
/source-control:pull-request 161 32,568 5.24 MB
/session-flow:handoff 53 36,786 1.95 MB
/source-control:worktree 36 31,533 1.14 MB
/discovery:research 17 43,880 0.75 MB
/evals:plugin-eval 18 41,142 0.74 MB
/source-control:commit 15 28,968 0.43 MB

Before figure: these six skills loaded about 10.3 MB of body text in 2 days. At about 4 characters per token that is roughly 2.5M tokens, an estimate that was not tokenized.

Done when

  • Each of the six skills has its body cut through progressive disclosure: action-specific detail moves to reference files read on demand, and the hub keeps routing and gates. Each cut ships with eval evidence of no loss, as the skill criteria require.
  • The after figure is measured the same way: body bytes, weighted by invocations over a comparable window.

Description text is out of scope (#6476, #6846).

This was generated by AI.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  2. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Large
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    I understand this as a perf task. It cuts the bodies of six heavily used skills (pull-request, handoff, worktree, research, plugin-eval, commit) by moving action-specific detail into reference files read on demand. Each cut needs eval evidence of no loss. The after figure is then re-measured the same way as the before figure.

    The scope and done-when are clear. Six skills across several plugins is large, so it likely needs splitting into one change per skill. This is the sub-issue of #12229, which tracks the wider orchestrator-context cost work. I found no duplicate among the open issues.

    Automated triage, applied by the lanes App.

  3. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 2, 2026
  5. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: sub-issue #12244 is open.

  6. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    Split at intake (owner Q93). This issue is Size Large, so its done-when is split into 2 sub-issues, each holding its task-list lines as written.

    Automated split by the lanes App. Admission waits on this issue while a sub-issue is open; work-unblock closes it as completed once every sub-issue is closed as completed by a merge or a listed human and its done-when is covered.

  7. melodic-automation-lanes commented on Nov 4, 2026

    @melodic-automation-lanes
    Contributor

    Every sub-issue of this split is closed as completed by a listed human or a merge (#12243, #12244), so the lanes App closes it as completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    Work status

    ready

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions