Skip to content

Deep split of the security skill family #1672

Closed

Description

@potiuk

Part of #1342: the deep split of the security family, the same pattern as pr-management (#1570–#1585) and release-management (#1604–#1625).

The first pass (#1344) was a wording pass. The family is still the largest: 15 skills, 98,884 body tokens in total, 11 over the body budget and 7 over the 500-line cap.

skill body tokens (budget ≈ 5,850 incl. pre-flight) lines (cap 500)
security-issue-import 9,864 ⚠ 561 ⚠
security-issue-import-from-pr 8,447 ⚠ 659 ⚠
security-issue-invalidate 7,582 ⚠ 519 ⚠
security-cve-allocate 7,366 ⚠ 529 ⚠
security-issue-fix 7,163 ⚠ 494
security-issue-triage 7,130 ⚠ 534 ⚠
security-issue-import-from-md 7,095 ⚠ 523 ⚠
security-issue-sync 6,734 ⚠ 483
security-issue-import-via-forwarder 6,213 ⚠ 350
security-issue-deduplicate 5,989 ⚠ 472
security-issue-import-from-scan 5,964 ⚠ 401
security-model-verify 5,611 422
security-model-update 4,821 348
security-model-prepare 4,673 374
security-tracker-stats-dashboard 4,232 325

Body tokens are the measured_tokens: stamps, which include the frontmatter and the generated pre-flight block (~850 tokens together), so the 5,000-token body budget corresponds to about 5,850.

Approach

  • A new tools/security-management package holds the deterministic rules: classification, field extraction, tracker-body and comment rendering, and the scrub checks. The skills call it and keep only judgement and the confirmation gates.
  • SKILL.md becomes a router; rules that serve one sub-action move into one sibling file per backend or outcome.
  • Renderers are print-only. Nothing in the package posts, sends, labels or commits: every state change stays a proposal the user confirms.
  • External content stays data: anything the package reads from a report, thread or PR is passed through as quoted values, never as instructions.

Stack (one native stacked PR per layer)

  1. Package + the five import skills (issue-import, -from-pr, -from-md, -from-scan, -via-forwarder)
  2. issue-triage + issue-invalidate
  3. cve-allocate
  4. issue-sync + issue-deduplicate
  5. issue-fix

The model-* skills and tracker-stats-dashboard are under budget and stay out of scope.

Invariants

Same as #1342: headings and golden-rule headlines byte-identical, eval-extracted sections tightened only, every suite run before and after (outside the sandbox), skill-token-count, skill-surface-hash, the validator, prek run --all-files and lychee green.

Activity

  1. added
    enhancementNew feature or request
    kind:perfToken / latency / API-call budget
    capability:triageSweep + classify + propose disposition
    capability:fixImplement code change to resolve an issue
    capability:intakeImport external signal + sync tracker state
    capability:resolveClose-out: invalidate, dedupe, CVE allocate, announcement
    on Oct 16, 2026
  2. added
    family:docsDocs, MISSION.md, READMEs
    family:ci.github workflows, prek, validators
    contract:trackerTool capability: issue / board / label backend
    contract:source-controlTool capability: branch / commit / diff / push (VCS)
    contract:change-requestTool capability: proposed-change review + merge gate (PR / MR / Gerrit change)
    contract:cve-authorityTool capability: CVE allocation / record management / publication
    on Oct 17, 2026
  3. 51 remaining items

  4. added
    contract:mail-archiveTool capability: mailing-list / forum archive reads
    contract:mail-sourceTool capability: inbound-mail ingestion (mbox / IMAP / ...)
    contract:mail-createTool capability: outbound mail composition (editable draft; sending is a separate human step)
    on Oct 19, 2026
  5. potiuk commented on Oct 19, 2026

    @potiuk
    MemberAuthor

    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

    capability:fixImplement code change to resolve an issuecapability:intakeImport external signal + sync tracker statecapability:resolveClose-out: invalidate, dedupe, CVE allocate, announcementcapability:triageSweep + classify + propose dispositioncontract:change-requestTool capability: proposed-change review + merge gate (PR / MR / Gerrit change)contract:cve-authorityTool capability: CVE allocation / record management / publicationcontract:mail-archiveTool capability: mailing-list / forum archive readscontract:mail-createTool capability: outbound mail composition (editable draft; sending is a separate human step)contract:mail-sourceTool capability: inbound-mail ingestion (mbox / IMAP / ...)contract:peoplecontract:security-trackerTool capability: security-tracker backend for embargoed reports (GitHub / files / Jira)contract:source-controlTool capability: branch / commit / diff / push (VCS)contract:trackerTool capability: issue / board / label backendenhancementNew feature or requestfamily:ci.github workflows, prek, validatorsfamily:docsDocs, MISSION.md, READMEsfamily:securitysecurity-* skillsfamily:setupsetup-* skillsfamily:toolstools/*kind:perfToken / latency / API-call budgetsubstrate:analyticsTool substrate: read-only metrics / dashboards / rendererssubstrate:framework-devTool substrate: build / validate / eval the framework itselfsubstrate:sandboxTool substrate: agent isolation, egress control, settings audit

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions