sprint-to-jira — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sprint-to-jira (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.
Reads a sprint planning markdown file, generates an agile user story (JSON) for each row in the Feature Summary table, and creates a Jira ticket for each one via create_jira_ticket.sh.
create_jira_ticket.sh: find /Users/alysidi -name "create_jira_ticket.sh" 2>/dev/null | head -1JIRA_API_TOKEN is set in the environment (the script checks for it).Read the markdown file and extract every row from the Feature Summary table. For each row, capture:
Use TaskCreate to create one task per feature before processing any of them. Subject format:
Agile story + Jira ticket: <Title>For each feature (one at a time — clipboard is shared):
TaskUpdate.agile-story skill's output format but extend it to match what create_jira_ticket.sh expects:{
"Topic": "<Title>",
"Story": "As a <persona>, I want <capability> so that <outcome>.",
"BusinessContext": "<business context from table or inferred>",
"Criteria": "Given <precondition>, when <action>, then <expected result>. (repeat for each scenario)",
"Details": {
"users": "<who uses this feature>",
"purpose": "<why it exists>",
"constraints": "<known limits or rules>",
"success_criteria": "<measurable outcomes>"
}
} # Use index N (1-based) to avoid clipboard collisions
/tmp/story_N.json cat /tmp/story_N.json | pbcopy && pbpaste | /path/to/create_jira_ticket.sh201 HTTP status and a JSON body with "key" (e.g. MAR-12444) indicates success.TaskUpdate.After all features are processed, output a markdown table:
| Feature | Jira Ticket |
|---|---|
| Tours for New Features | MAR-12444 |
| ... | ... |
| Field | Required | Notes |
|---|---|---|
Topic | Yes | Becomes the Jira ticket summary |
Story | Yes | Classic "As a… I want… so that…" format |
BusinessContext | No | Use table value; infer if blank |
Criteria | Yes | Given/When/Then; one sentence per scenario |
Details.users | No | Who interacts with this feature |
Details.purpose | No | The "why" |
Details.constraints | No | Technical or business limits |
Details.success_criteria | No | Measurable outcomes |
find command in Step 1 and report the path to the user before proceeding.in_progress, and continue with remaining features. Report failures at the end.jq must be installed (brew install jq)JIRA_API_TOKEN environment variable must be setcreate_jira_ticket.sh must be executable and reachablepbcopy, pbpaste) must be available~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.