issue-crafting — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited issue-crafting (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.
Iron law: issues describe outcomes, never implementations — if the issue says "how," rewrite it. Invoked by /flow:issue (all phases), by /flow:start Phase 1 when the issue lacks acceptance criteria, and by /flow:review and /flow:address when a user-selected finding becomes a new issue. Returns a created and verified GitHub issue (gh issue view <N> --json number,title,state,labels) whose body follows the Context / Current State / Objective / Acceptance Criteria structure, with labels drawn from gh label list. Permitted skips: none — duplicate search (open and closed) always runs before creation, and any of the four requirement elements that is missing is gathered via the AskUserQuestion tool before composing.
reset! method updates the password_digest column."Collect four elements; for each gap, use the AskUserQuestion tool with contextual options (e.g., "What's the current behavior?"):
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
gh issue list --state open --search "KEYWORDS" --limit 10
gh issue list --state closed --search "KEYWORDS" --limit 5If matches are found, present them to the user before proceeding.
Never hardcode labels: gh label list --json name,description --limit 50, then select by content (bug reports → bug, features → enhancement, docs → documentation, security → security, when those labels exist). Check gh api repos/$REPO/milestones --jq '.[] | "\(.number): \(.title)"' and offer milestone assignment if any exist.
## Context
{Background and motivation}
## Current State
{What's happening now — observable behavior}
## Objective
{What should be achieved — outcomes, not methods}
## Acceptance Criteria
- [ ] {Observable behavior 1}
- [ ] {Observable behavior 2}After creation run gh issue view <N> --json number,title,state,labels and confirm: clear, searchable title; no file paths or implementation details in the body; acceptance criteria describe what, not how; labels come from the repository's label set.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.