sprint-goals — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sprint-goals (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Transforms a Jira sprint CSV into two communication artifacts:
A CSV file exported from Jira with columns: Parent Key, Parent Summary, Key, Type, Summary, Status, Assignee, Impact, Effort, Created, Updated
Also requires: the sprint number (e.g. 147).
If the user hasn't provided a CSV file path, ask for it. If they haven't specified the sprint number, infer it from the filename (e.g., sprint_147_jira.csv → sprint 147) or ask.
Read the CSV file. Build a list of features by:
Parent Summary, it is a sub-task. Don't create a separate feature entry — it will be represented by its parent row.Parent Key and Parent Summary are both empty are standalone features. Use their Summary as the feature title.Parent Summary is set but the row itself is not a sub-task (Type = Story, Feature, Task, Bug) — use the row's Summary as the feature title and its Parent Summary as a hint for grouping.Assign each feature to a display epic using these rules (in priority order):
Parent Summary maps to a known tinyEmail epic, use it — but apply the clean display name:Authenticator Implementation → AuthenticatorAdaptive Traffic Shaping → Adaptive Traffic ShapingUser Action Audit → User Action AuditSamCart Integration → 3rd Party IntegrationsCustomer Support Request → Customer SupportSMSOnboarding or New Feature UtilizationAudienceCampaign LinksAnalyticstinyEmail and APIsCustomer Support (or Billing)Campaign Links (or Security)Campaigns3rd Party IntegrationsCustomer SupportFor each feature, produce:
Use your knowledge of tinyEmail's product domain to write accurate, non-generic descriptions. GreenArrow is the email delivery infrastructure. tinyAlbert is an AI-powered email product. Back Office (BO) is the internal admin tool. Entri handles DNS. Prometheus is used for infrastructure monitoring.
| Effort value | Size |
|---|---|
| Small | S |
| Medium | M |
| Large | L |
| Extra-Large | XL |
| (empty) | — |
For features where multiple sub-tasks contribute, use the parent story's Effort if available.
Output a Markdown table with these columns: Epic | Title | Summary | Business Context | Size
Sort rows by epic (group all rows of the same epic together). Use the same epic ordering as Sprint 146: New Feature Utilization → Onboarding → 3rd Party Integrations → Audience → Campaign Links → User Action Audit → Authenticator → Adaptive Traffic Shaping → Customer Support → Analytics → tinyEmail and APIs → SMS
Example row:
| Campaign Links | Stop Replay Attacks on Campaign Links | Detects and blocks replay attacks on campaign link tokens | Protects click metric integrity and deliverability reputation from malicious replay activity | L |Format for Slack (Slack uses *bold* and _italic_ markdown):
*Sprint [N] — What We're Building*
*[Epic Name]*
• *[Feature Title]* — [Slack description sentence.]
*[Next Epic Name]*
• *[Feature Title]* — [Slack description sentence.]
...• (not -).*Feature Title*. — (space-dash-dash-space).Write both artifacts to a Markdown file at: [parent_directory_of_csv]/Sprint [N].md
If that file already exists, ask the user before overwriting.
Structure the file as:
## Feature Summary
| Epic | Title | Summary | Business Context | Size |
|------|-------|---------|-----------------|------|
[rows]
---
## Slack Summary
[slack content]Tell the user the file was written and show a brief count: how many features were included, how many epics.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.