util-ustagger — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited util-ustagger (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.
Tag untagged items in PRD.md files with unique 9-character ID codes and validate no duplicates. Covers User Stories, Non Functional Requirements, Constraints, References, and Test instructions.
Before starting any work, resolve the application folder first (see Input Resolution below), then check CHANGELOG.md in the application folder (<app_folder>/CHANGELOG.md):
<app_folder>/CHANGELOG.md does not exist, skip this check (first-ever execution for this application).<app_folder>/CHANGELOG.md exists, scan all ## vX.Y.Z headings and determine the highest version using semantic versioning comparison."Version {requested} is lower than the current application version {highest} recorded in <app_folder>/CHANGELOG.md. Execution rejected." Do NOT proceed with any work.This skill requires two mandatory arguments: <application> and <version>.
| Argument | Required | Description |
|---|---|---|
<application> | Yes | Application name — matched against root-level application folders |
<version> | Yes | Version label (e.g., v1.0.3). Recorded for traceability but all items are tagged regardless of version. |
1_hub_middleware, 2_hc_adapter)<number>_ prefix from each folder name (e.g., 1_hub_middleware -> hub_middleware)snake_case, kebab-case, or title-case input (e.g., hub_middleware, hub-middleware, Hub Middleware all match 1_hub_middleware)| File | Resolved Path |
|---|---|
| PRD.md | <app_folder>/context/PRD.md |
Example invocations:
/util-ustagger hub_middleware v1.0.3/util-ustagger "Hub Middleware" v1.0.3/util-ustagger hub-middleware v1.0.3Derive initials from the parent folder name containing PRD.md:
1_ from 1_hub_middleware)1_hub_middleware -> HM, 2_source_country -> SC, 3_hiring_country -> HCAll codes are exactly 9 characters. The prefix is category abbreviation + application initials. Remaining length is zero-padded running number.
| Category | Prefix Formula | Example (HM) | Digit Length |
|---|---|---|---|
| User Story | US + initials | USHM (4) | 5 digits |
| Non Functional Req | NFR + initials | NFRHM (5) | 4 digits |
| Constraint | CONS + initials | CONSHM (6) | 3 digits |
| Reference | REF + initials | REFHM (5) | 4 digits |
| Test | TST + initials | TSTHM (5) | 4 digits |
Before tagging, scan the entire document for already-tagged items matching the pattern [PREFIX + digits]. Record the highest running number per category to continue from.
For each section (User Story / Functional Requirements, Non Functional Requirement, Constraint, Reference, Test):
- at the section's base indentation) - )[USHM, [NFRHM, [CONSHM, [REFHM, [TSTHM etc.)[CODE] immediately after the bullet dash: - [USHM00003] As a...Section header recognition (case-insensitive matching):
### User Story, ### Functional Requirements### Non Functional Requirement, ## Non Functional Requirement### Constraint, ## Constraint### Reference, ## Reference### TestAfter tagging, scan the entire document and collect all tag codes. Report:
Print a summary table:
| Category | Prefix | Count | Range |
|-------------|----------|-------|--------------------------|
| User Story | USHM | 35 | USHM00003 - USHM00105 |
| NFR | NFRHM | 39 | NFRHM0003 - NFRHM0117 |
| Constraint | CONSHM | 13 | CONSHM003 - CONSHM039 |
| Reference | REFHM | 6 | REFHM0003 - REFHM0018 |
| Test | TSTHM | 4 | TSTHM0003 - TSTHM0012 |
| Duplicates | - | 0 | None |After all tags are successfully applied, append an entry to CHANGELOG.md in the application folder (<app_folder>/CHANGELOG.md):
<app_folder>/CHANGELOG.md. If it does not exist, create it with: # Changelog
- This file tracks all skill executions by version for this application.
- The highest version recorded here is the current application version.
- Skills MUST NOT execute for a version lower than the highest version in this file.
---## {version} heading matching the current version.--- below the context header and before any existing ## vX.Y.Z section (newest-first ordering), with a new table header and the first row.| {YYYY-MM-DD} | {application_name} | util-ustagger | All | Tagged user stories, NFRs, constraints, references and tests |[v1.0.0]) are never tagged~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.