external/sentry-security-review/sred-work-summary/SKILL.md
Go back through the previous year of work and create a Notion doc that groups relevant links into projects that can then be documented as SRED projects.
npx skillsauth add seikaikyo/dash-skills sred-work-summaryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collect all the Github PRs, Notion docs and Linear tickets a person completed in a given year. Group the links from all of those into projects. Put everything into a private Notion document and return a link to that document.
Before starting make sure that Github, Notion and Linear can be accessed. Notion and Linear should be connected using an MCP. Github can be connected with an MCP, but if you have access to the gh CLI tool, you can use that instead.
If any of these can't be accessed, prompt the user to grant access before proceeding.
# Get the current year
date +%Y
The output of this command is the current year. The current year minus one is the previous year.
Collect all of the required information from the user:
Github Username: What is the github username of the user?
Github Repositories: Which Github repositories should be searched for PRs?
The user can either specify a comma separated list, or provide a directory that contains repositories. In the second case use this command in the specified directory:
# Find github repos
find . -maxdepth 2 -name ".git" -type d | sed 's/\/.git$//' | sort
Ensure:
getsentry Github organization.The output of this is hereafter referred to as the "user repos".
Incidents: Ask if the user wants to include incident documents.
The answer is either yes or no. If the answer is no, that will exclude certain documents from the search later on.
Other Users: Ask if there are any other users who might have created Notion documents.
This should be a comma separated list of names. Remember this as the "other users".
Create a private Notion document entitled "SRED Work Summary [current year]". This document will be referred to as the Work Summary.
If a document with this name already exists, notify the user to rename the existing document and stop executing.
Ensure:
The time window is Feb. 1 of the previous year until Jan. 31 of the current year
Find all Github PRs created by the given github username in the time window for the user repos.
If the user does not want to include incident documents, ignore any Github PRs with INC-X, inc-X in the title or description.
Use either the Github MCP or the gh command to do this.
Find all the Notion documents the user created in the time window.
If the user does not want to include incident documents, ignore any Notion Documents with INC-XXXX in the title.
Use the Notion MCP to do this.
Find all the Linear tickets the user was assigned in the time window.
If the user does not want to include incident documents, ignore any Linear tickets with INC-XXXX in the title.
Use the Linear MCP to do this.
Ensure:
For each of the Github PRs, Notion documents and Linear tickets found in Step 4, put a link into the private document created in Step 3.
Ensure:
Use your own intelligence to group all the Github, Notion and Linear ticket links in the Work Summary document into projects. The format of this document is shown below.
# Projects
## [Project Name]
*Summary*: [X] PRs, [X] Notion docs, [X] Linear tickets
### Pull Requests [X]
*[repository name]
[Links to all the PRs]
- [link] - [Merge date]
### Notion Docs [X]
[Links to all the Notion docs]
- [link] - [Creation date]
### Linear Tickets [X]
- [link] - [Creation date]
For Github PRs, use both the title of the PR and the description of the PR for grouping. For Notion documents, use the full document for grouping. For Linear tickets use the title of the ticket and the description of the ticket.
Ensure:
Search for notion documents created by the "other users". Take any that are relevant to the projects in the Work Summary and add links to those Notion documents into the Work Summary in the appropriate project.
Return a link to the Work Summary Notion doc to the user.
Ensure:
This is an example Working Summary document for the year 2025: https://www.notion.so/sentry/Work-Summary-Feb-2025-Jan-2026-3068b10e4b5d81d3a40cfa6ad3fe1078?source=copy_link
tools
Conduct comprehensive GDPR compliance assessments by evaluating data processing activities against EU Regulation 2016/679, including Article 30 records of processing, lawful basis validation, data subject rights implementation, Data Protection Impact Assessments (DPIAs) under Article 35, breach notification procedures, international transfer safeguards (SCCs, adequacy decisions), and technical/organizational measures under Article 32. Use when processing personal data of EU residents, preparing for supervisory authority audits, implementing privacy-by-design for new systems, scoping compliance gaps for M&A due diligence, assessing third-party processors, or responding to data subject access requests at scale. Incorporates 2026 guidance from ICO, EDPB, and post-Data (Use and Access) Act 2025 UK-GDPR considerations. Do not use for implementing specific Article 32 controls — use implementing-gdpr-data-protection-controls; or for DSAR automation — use implementing-gdpr-data-subject-access-request.
tools
Parse Windows forensic artifacts—$MFT/$J (MFTECmd), Prefetch (PECmd), registry hives (RECmd), shellbags, and Amcache—into normalized CSV/JSON with Eric Zimmerman's EZ Tools, then load results into Timeline Explorer for analysis. Use during DFIR/incident-response investigations, after triage collection (e.g. with KAPE), to establish program execution, file/folder access, and persistence evidence from acquired forensic images.
development
Build automated multi-turn adversarial attacks against conversational LLM targets using Microsoft PyRIT's RedTeamingOrchestrator, CrescendoOrchestrator (gradual escalation), and TreeOfAttacksWithPruningOrchestrator (adaptive branching), with scorer feedback loops and persisted conversation memory. Use when single-shot LLM scanning is insufficient and you need multi-turn, scorer-driven AI red-team campaigns against a chatbot or agent.
testing
Stand up MISP, enable and cache curated threat feeds (CIRCL, abuse.ch, Feodo Tracker), apply warninglists to suppress false positives, query indicators with PyMISP, and export attributes as auto-generated Suricata/Sigma/Wazuh detection rules. Use when maturing a MISP instance to actively drive detection, curating threat feeds with quality controls, or automating IOC-to-detection pipelines for the SIEM/IDS.