Skip to content

skill-quality: skill authoring, quality and catalog #7582

Open
1 of 1 issue completed
Open

Description

@kyle-sexton

Parent

Refs #7555. Source: PLAN Phase 14, topic poteto-review. Thread: Skill authoring, quality and
catalog.

Depends on

Outcome

Skills follow Anthropic's authoring guidance as measured rules: a SKILL.md router with actions,
evals on all skills, a description standard with probe-proven triggers, consolidated *:check
skills, and catalog files generated in the release PR.

Decisions

  • Skills follow Anthropic's authoring guidance: SKILL.md a router under 5k tokens, actions/ per
    action, evals on all skills, split only by exception, rollout across every skill (D107, Q203).
    Origin: ours (owner reworked the size options).
  • Description standard: one what-sentence, "Use when" with one trigger per branch, at most three
    probe-proven hook terms, target 250, warn above 419, fail at 1,024; check 12 drops the single-quote
    rule (D82, Q183, Q184). Settings: description target 250; warn 419 (1,024 fixed). Check 3's
    unquoted-trigger tracking lands first, in the same PR, with a red-then-green test; two attempts
    ranked on the session-flow trim-pilot diff (B2).
  • Consolidate the *:check skills (recount first: 29), then architecture:map-* and
    code-metrics:audit-*; fix the Cursor /check collision by consolidation plus distinct first
    clauses (D82, Q179, Q186; owner observed the collision).
  • Stack-specific tools: detect, research live, interview, write setup into the project; use an
    existing tool without an interview (D66, Q96).
  • Bare invocation: infer the action; read-only proceeds and names what it inferred (setting
    proceed); state changes propose and wait (fixed floor); unattended state changes stop and report
    (D79, Q93).
  • Invocation convention: any automation starter means model-invocable, safety in body gates and
    scripts; user-invoked only for starved skills no automation starts (D53, Q138).
  • Skill criteria gain "choose leading words on purpose" with --baseline; write-for-agents gains a
    leading-words section, a sentence-level no-op test, the context-boundary line (D4, Q525).
  • Don't wrap skill-creator; add a tested route for cutting text (D7).
  • Files, not registry entries; catalog, cheat-sheet and marketplace manifest generated in the release
    PR; problem-first section above the generated cheat-sheet block (Q143, Q144, Q146, Q546;
    Lauren's files-not-registry rule).
  • Shared copies stay copies; one shared-copies record (D83, Q180). Plugin READMEs use one install form
    or point to the root README (Q526). Re-audit shipped skills on each model release (D6; measured gap:
    median 1,477 words versus Matt 506 and pstack 364).
  • Probes on this thread's slices: four invocation probes, routine first (D53); picker label
    re-observation before leaf-name registry removal (Q179); skill-visibility measurement gates
    Q183-Q187 (Q137, Q182); trim pilot on session-flow, non-inferiority with a 5-point margin (Q185);
    each consolidation merge probed and the recount (Q186); hook terms probe-proven (Q183); hand-off
    phrasing eval, 12 cases, 3 arms, 3 runs (D85, Q125, Q188); steering words with --baseline (D4);
    each cut tested with and without removed text (D6, D107); skillListingBudgetFraction stays 0.07
    until the pilot ships (Q187).
  • Sub-topic promotion: this thread gets its own plan at phase start (B7).

Key interfaces

From the design's module layout: "skill-quality: check 12 drops the single-quote rule; description
standard (target 250, warn 419, fail 1,024). *:check skills consolidate after a recount, then
architecture:map-* and code-metrics:audit-*." Settings: "Description target 250, warn 419 (1,024
fixed). ... Bare run read-only proceed."

Done when

  • The check-skill test suite exits 0 and includes a case asserting check 3 warns on a dropped
    unquoted trigger (no such case on main).
  • rg -c "not single-quoted" plugins/skill-quality/scripts/check-skill.sh returns 0 (nonzero on
    main), and bash plugins/skill-quality/scripts/check-skill.sh plugins/session-flow/skills exits 0.
  • Every slice sub-issue is closed by a merged PR, each with its probe or eval result.

Out of scope

  • Setting the fleet listing budget (housekeeping thread, after the pilot).

Related

Activity

  1. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 16, 2026
  2. added theissue type on Oct 16, 2026
  3. github-actions commented on Oct 16, 2026

    @github-actions
    Contributor

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

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

    Understood: this is a thread-level umbrella for skill authoring quality. It covers the router-style SKILL.md, the description standard (check 12, check 3), consolidating the *:check skills, and generating the catalog in the release PR. The decisions are recorded in the body and the done-when items are checkable. The work is too big for one change, so it needs splitting into slice sub-issues. The body says each slice is to be closed by its own PR. #7571 is listed as a dependency. I couldn't find it among the newest open issues, so it may already be closed. I found no likely duplicates.

    Automated triage, applied by the lanes App.

  4. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 24, 2026
  5. kyle-sexton commented on Oct 24, 2026

    @kyle-sexton
    MemberAuthor

    Released for re-triage under the owner's 2026-10-24 rule: an issue stops for a person only for an intent or vision question, a security call, a host or attended run, or spend outside prepaid credit. The hold label came off and intake triage runs again now; it re-applies a hold, with a numbered question, when one of those applies.

    To hold this issue again, add needs-human (or status: needs-decision) and say why in a comment.

  6. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    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 Oct 24, 2026
  7. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.
    on Oct 24, 2026
  8. melodic-automation-lanes commented on Oct 24, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: Size large: the split into sub-issues at intake is pending (owner Q93).

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

    needs-specNeeds a Brief or plan before anyone can build it.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Fields

    Work status

    needs-spec

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions