Skip to content

feat(skills): package 18 Sentry skills - #498

Merged
JAORMX merged 1 commit into
mainfrom
skills/getsentry
Apr 20, 2026
Merged

feat(skills): package 18 Sentry skills#498
JAORMX merged 1 commit into
mainfrom
skills/getsentry

Conversation

@JAORMX

@JAORMX JAORMX commented Apr 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Packages 18 agent skills from getsentry/skills (Apache-2.0) into Dockyard. All skills pinned to upstream commit 94ea2a2 (main as of 2026-04-20).

Second vendor in the per-vendor skills sweep following #466 (Trail of Bits). Sentry is an Anthropic skills launch partner and maintains a security-oriented dev skills pack with strong overlap with Dockyard's existing security catalog.

Tracks #478.

Skills added

Security / review (strong fit)

  • security-review — OWASP-style vulnerability review with confidence scoring, framework-aware FP filtering
  • gha-security-review — GitHub Actions pwn-request, expression-injection, config-poisoning audits
  • skill-scanner — scans other skills for prompt injection, malicious code, excessive permissions
  • find-bugs — diff-scoped bug/security/quality review with security checklist
  • code-review — Sentry engineering-practice code review
  • claude-settings-audit — settings.json permission generator from detected stack/build tools
  • django-access-review — Django access-control and IDOR investigation
  • django-perf-review — validated Django performance review (N+1, unbounded querysets, missing indexes)

Skill authoring and workflow

  • skill-writer — create/improve agent skills per the Agent Skills specification
  • prompt-optimizer — eval-driven prompt optimization with model-family adapters
  • agents-md — minimal AGENTS.md / CLAUDE.md maintenance
  • doc-coauthoring — three-stage doc co-authoring workflow (context, refinement, reader-testing)
  • code-simplifier — clarity-first refactoring without behavior change

Git and PR workflow

  • commit — Sentry conventional-commit format with issue references
  • create-branch — Sentry naming-convention branch creation
  • pr-writer — Sentry-style PR titles and why-focused descriptions
  • iterate-pr — CI-passing loop with LOGAF-ranked feedback handling
  • gh-review-requests — team-filtered review-request notifications

Skills intentionally excluded

Sentry-internal or narrow-audience: brand-guidelines, blog-writing-guide, sred-project-organizer, sred-work-summary, typing-exclusion-worker, presentation-creator.

Security allowlists

All 18 skills carry one allowlist entry for MANIFEST_MISSING_LICENSE (INFO) — upstream is licensed Apache-2.0 at the repo root rather than via SPDX identifier in SKILL.md frontmatter.

Three security-oriented skills carry additional per-skill entries for scanner false positives where the skill teaches attack patterns it is designed to detect:

  • gha-security-reviewPIPELINE_TAINT_FLOW (curl | bash examples in reference docs; the scanner itself notes them as "instructional rather than executable")
  • iterate-prRESOURCE_ABUSE_INFINITE_LOOP (bounded-retry poll loop in scripts/monitor_pr_checks.py with timeout and exit conditions)
  • skill-scannerOBFUSCATION_BASE64_LARGE, PROMPT_INJECTION_UNRESTRICTED_MODE, YARA_prompt_injection_unicode_steganography (the skill documents each detection pattern it teaches other scanners to catch)

Test plan

  • task validate-skill against all 18 specs — all VALID
  • Cisco AI Defense skill-scanner 2.0.9 against all 18 sources — all pass after allowlist
  • CI: Build Skill Artifacts workflow succeeds on this PR
  • CI: skill-scan-report surfaces only allowlisted findings
  • Post-merge: 18 OCI artifacts published under ghcr.io/stacklok/dockyard/skills/<name>:0.1.0

Closes #478

Packages 18 agent skills from getsentry/skills (Apache-2.0) into Dockyard,
all pinned to upstream commit 94ea2a2 (main as of 2026-04-20).

Second vendor in the per-vendor skills sweep after #466 (Trail of Bits).

Security / review (strong fit with Dockyard's existing security catalog):
- security-review — OWASP-style vulnerability review with confidence scoring
- gha-security-review — GitHub Actions pwn-request/expression-injection audits
- skill-scanner — scans other skills for injection, malicious code, overreach
- find-bugs — diff-scoped bug/security/quality review with checklist
- code-review — Sentry engineering-practice code review
- claude-settings-audit — settings.json permission audit from detected stack
- django-access-review — Django access-control and IDOR investigation
- django-perf-review — validated Django performance review

Skill authoring and workflow:
- skill-writer — create/improve agent skills per the Agent Skills spec
- prompt-optimizer — eval-driven prompt optimization with family adapters
- agents-md — minimal AGENTS.md / CLAUDE.md maintenance
- doc-coauthoring — structured three-stage doc co-authoring workflow
- code-simplifier — clarity-first refactoring without behavior change

Git and PR workflow:
- commit — Sentry conventional-commit format with issue references
- create-branch — Sentry naming-convention branch creation
- pr-writer — Sentry-style PR titles and why-focused descriptions
- iterate-pr — CI-passing loop with LOGAF-ranked feedback handling
- gh-review-requests — team-filtered review-request notifications

Skills excluded (Sentry-internal or narrow): brand-guidelines,
blog-writing-guide, sred-project-organizer, sred-work-summary,
typing-exclusion-worker, presentation-creator.

Security allowlists:
All 18 skills carry a MANIFEST_MISSING_LICENSE entry — upstream licenses
are set at the repo root (Apache-2.0) rather than as SPDX identifiers in
per-skill SKILL.md frontmatter.

Three security-oriented skills carry additional entries for scanner
false positives where the skill teaches attack patterns it is designed
to detect:
- gha-security-review: PIPELINE_TAINT_FLOW (curl|bash examples in
  reference docs, flagged by the scanner itself as instructional)
- iterate-pr: RESOURCE_ABUSE_INFINITE_LOOP (bounded-retry poll loop in
  scripts/monitor_pr_checks.py with timeout and exit conditions)
- skill-scanner: OBFUSCATION_BASE64_LARGE, PROMPT_INJECTION_UNRESTRICTED_MODE,
  YARA_prompt_injection_unicode_steganography (the skill documents each
  pattern it teaches other scanners to detect)

All 18 skills pass 'task validate-skill' locally, and all 18 pass
'task scan-skill' with only allowlisted findings.

Refs #478
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🛡️ Skill Security Scan Results

✅ agents-md

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ claude-settings-audit

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ code-review

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ code-simplifier

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ commit

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ create-branch

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ django-access-review

  • Status: Passed
  • Findings: 0

✅ django-perf-review

  • Status: Passed
  • Findings: 0

✅ doc-coauthoring

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ find-bugs

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ gh-review-requests

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ gha-security-review

  • Status: Passed
  • Findings: 5
  • Allowed (not blocking): 5
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)
    • PIPELINE_TAINT_FLOW (Allowed: The skill's reference material cites curl | bash and similar RCE patterns as instructional examples of supply-chain-style attacks detectable in CI workflows. The scanner itself flags these as 'found in documentation file — may be instructional rather than executable'.)
    • PIPELINE_TAINT_FLOW (Allowed: The skill's reference material cites curl | bash and similar RCE patterns as instructional examples of supply-chain-style attacks detectable in CI workflows. The scanner itself flags these as 'found in documentation file — may be instructional rather than executable'.)
    • PIPELINE_TAINT_FLOW (Allowed: The skill's reference material cites curl | bash and similar RCE patterns as instructional examples of supply-chain-style attacks detectable in CI workflows. The scanner itself flags these as 'found in documentation file — may be instructional rather than executable'.)
    • PIPELINE_TAINT_FLOW (Allowed: The skill's reference material cites curl | bash and similar RCE patterns as instructional examples of supply-chain-style attacks detectable in CI workflows. The scanner itself flags these as 'found in documentation file — may be instructional rather than executable'.)

✅ iterate-pr

  • Status: Passed
  • Findings: 2
  • Allowed (not blocking): 2
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)
    • RESOURCE_ABUSE_INFINITE_LOOP (Allowed: The scripts/monitor_pr_checks.py helper polls PR check status in a while True: loop with bounded retries and sleep — legitimate for waiting until CI reaches a terminal state. The script has a timeout and exit conditions.)

✅ pr-writer

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ prompt-optimizer

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

✅ security-review

  • Status: Passed
  • Findings: 0

✅ skill-scanner

  • Status: Passed
  • Findings: 4
  • Allowed (not blocking): 4
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)
    • OBFUSCATION_BASE64_LARGE (Allowed: This is a meta-skill that teaches detection of malicious patterns. Its reference material cites exec(base64.b64decode(...)) as an example of obfuscated code the scanner should flag in other skills — the skill documents the pattern it hunts, it does not execute it.)
    • PROMPT_INJECTION_UNRESTRICTED_MODE (Allowed: The skill's reference material on prompt-injection patterns cites 'Enter developer mode' as an example jailbreak pattern the skill teaches to detect. Documenting the pattern is the skill's purpose.)
    • YARA_prompt_injection_unicode_steganography (Allowed: The skill documents invisible Unicode steganography (\U000e0001 tag characters) as a prompt-injection vector. Describing the attack class is required for the skill to teach detection of it.)

✅ skill-writer

  • Status: Passed
  • Findings: 1
  • Allowed (not blocking): 1
    • MANIFEST_MISSING_LICENSE (Allowed: getsentry/skills is licensed Apache-2.0 at the repository root; upstream does not embed an SPDX license identifier in per-skill SKILL.md frontmatter.)

Summary: Scanned 18 skill(s), all passed security checks. ✅

JAORMX added a commit that referenced this pull request Apr 20, 2026
Packages 8 supply-chain security skills from SocketDev/skills (MIT) into
Dockyard, all pinned to upstream commit 25879b0 (main as of 2026-04-02).

Third vendor in the per-vendor skills sweep after #466 (Trail of Bits)
and #498 (Sentry). Socket.dev is a supply-chain security vendor; these
skills complement Dockyard's existing supply-chain-risk-auditor.

Scanning and inspection:
- socket-scan — SBOM, vuln, malware, license audit + cdxgen fallback
- socket-inspect — package-research workflow (scores, alerts, CVEs, alts)

Setup:
- socket-setup — CLI install, auth, CI and Dockerfile integration

Dependency fixing (socket-fix umbrella + 4 sub-skills):
- socket-fix — orchestrator (Fix All tiered / Fix Package modes)
- socket-dep-cleanup — remove a single unused dependency
- socket-dep-patch — apply Socket binary-level patches in place
- socket-dep-replace — swap or inline a dependency
- socket-dep-upgrade — socket fix with one-at-a-time version bumps

Note: the socket-fix sub-skills reference `skills/_shared/verify-build.md`
from the upstream repo. The OCI packager only bundles files under
spec.path, so that shared reference file will not ship with the artifact.
The skills still work from their SKILL.md; the shared reference is
supplementary guidance.

Security allowlists:
All 8 skills carry MANIFEST_MISSING_LICENSE — upstream is MIT at the
repo root rather than per-skill SPDX in SKILL.md frontmatter.

socket-setup also allowlists PIPELINE_TAINT_FLOW: the skill's
prerequisites cite the official nvm installer (`curl ... | bash`) as a
documentation example. The scanner itself flags it as 'uses a
well-known installer URL — likely a standard installation'.

All 8 skills pass `task validate-skill` and `task scan-skill`.

Refs #476
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@JAORMX JAORMX added the skills Skill packaging, vendor skill imports label Apr 20, 2026
@JAORMX
JAORMX merged commit 9cd3176 into main Apr 20, 2026
59 checks passed
@JAORMX
JAORMX deleted the skills/getsentry branch April 20, 2026 10:05
JAORMX added a commit that referenced this pull request Apr 20, 2026
Packages 8 supply-chain security skills from SocketDev/skills (MIT) into
Dockyard, all pinned to upstream commit 25879b0 (main as of 2026-04-02).

Third vendor in the per-vendor skills sweep after #466 (Trail of Bits)
and #498 (Sentry). Socket.dev is a supply-chain security vendor; these
skills complement Dockyard's existing supply-chain-risk-auditor.

Scanning and inspection:
- socket-scan — SBOM, vuln, malware, license audit + cdxgen fallback
- socket-inspect — package-research workflow (scores, alerts, CVEs, alts)

Setup:
- socket-setup — CLI install, auth, CI and Dockerfile integration

Dependency fixing (socket-fix umbrella + 4 sub-skills):
- socket-fix — orchestrator (Fix All tiered / Fix Package modes)
- socket-dep-cleanup — remove a single unused dependency
- socket-dep-patch — apply Socket binary-level patches in place
- socket-dep-replace — swap or inline a dependency
- socket-dep-upgrade — socket fix with one-at-a-time version bumps

Note: the socket-fix sub-skills reference `skills/_shared/verify-build.md`
from the upstream repo. The OCI packager only bundles files under
spec.path, so that shared reference file will not ship with the artifact.
The skills still work from their SKILL.md; the shared reference is
supplementary guidance.

Security allowlists:
All 8 skills carry MANIFEST_MISSING_LICENSE — upstream is MIT at the
repo root rather than per-skill SPDX in SKILL.md frontmatter.

socket-setup also allowlists PIPELINE_TAINT_FLOW: the skill's
prerequisites cite the official nvm installer (`curl ... | bash`) as a
documentation example. The scanner itself flags it as 'uses a
well-known installer URL — likely a standard installation'.

All 8 skills pass `task validate-skill` and `task scan-skill`.

Refs #476

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skills Skill packaging, vendor skill imports

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skill: package getsentry/skills into dockyard

2 participants