test-case-generator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited test-case-generator (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.
Generate structured, comprehensive test cases from any input — and export them as a formatted, ready-to-use Excel (.xlsx) file compatible with Excel and Google Sheets.
Read the input carefully and identify:
If the input is ambiguous, make reasonable assumptions and state them clearly before generating.
Always cover these categories (skip only if clearly not applicable):
| Category | Description |
|---|---|
| Positive | Valid inputs, expected flow works correctly |
| Negative | Invalid inputs, rejected requests, error states |
| Boundary | Min/max values, empty, null, zero, max length |
| Security | Auth checks, unauthorized access, injection attempts |
| UI/UX | Responsive, disabled states, loading states (if applicable) |
| Regression | Existing functionality should not break |
Use Python + openpyxl to produce a formatted .xlsx file with 3 sheets:
Sheet 1 — Test Cases: TC ID | Title | Category | Preconditions | Test Steps | Expected Result | Status (blank) | Priority
Sheet 2 — Test Data: Suggested valid, invalid, and boundary values per field
Sheet 3 — Summary: Feature name, date, total count, breakdown by category and priority
#### Formatting Rules
test-cases-<feature-name>.xlsx (kebab-case)/mnt/user-data/outputs/present_files tool to deliver to userfrom openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
from datetime import date
wb = Workbook()
# Sheet 1: Test Cases
ws = wb.active
ws.title = "Test Cases"
ws.sheet_properties.tabColor = "1F4E79"
HEADERS = ["TC ID","Title","Category","Preconditions","Test Steps","Expected Result","Status","Priority"]
HEADER_FILL = PatternFill("solid", fgColor="1F4E79")
HEADER_FONT = Font(bold=True, color="FFFFFF", name="Arial", size=10)
DATA_FONT = Font(name="Arial", size=10)
THIN = Side(style="thin")
BORDER = Border(left=THIN, right=THIN, top=THIN, bottom=THIN)
CAT_FILLS = {
"Positive": "E2EFDA", "Negative": "FCE4D6", "Boundary": "FFF2CC",
"Security": "E8D5F5", "UI/UX": "DEEAF1", "Regression": "FFF2CC",
}
PRI_FILLS = {"High": "F4CCCC", "Medium": "FCE5CD", "Low": "D9EAD3"}
for col, h in enumerate(HEADERS, 1):
c = ws.cell(row=1, column=col, value=h)
c.font, c.fill, c.border = HEADER_FONT, HEADER_FILL, BORDER
c.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True)
ws.freeze_panes = "A2"
ws.row_dimensions[1].height = 30
# --- Replace test_cases with actual generated data ---
test_cases = [
# (tc_id, title, category, preconditions, steps, expected, priority)
]
for r, (tc_id, title, cat, pre, steps, exp, pri) in enumerate(test_cases, 2):
row = [tc_id, title, cat, pre, steps, exp, "", pri]
ws.row_dimensions[r].height = 50
for col, val in enumerate(row, 1):
c = ws.cell(row=r, column=col, value=val)
c.font, c.border = DATA_FONT, BORDER
c.alignment = Alignment(vertical="top", wrap_text=True)
if col == 3 and cat in CAT_FILLS:
c.fill = PatternFill("solid", fgColor=CAT_FILLS[cat])
elif col == 7:
c.fill = PatternFill("solid", fgColor="EEEEEE")
c.alignment = Alignment(horizontal="center", vertical="top")
elif col == 8 and pri in PRI_FILLS:
c.fill = PatternFill("solid", fgColor=PRI_FILLS[pri])
c.alignment = Alignment(horizontal="center", vertical="top")
for i, w in enumerate([10,30,14,28,55,40,12,10], 1):
ws.column_dimensions[get_column_letter(i)].width = w
# Sheet 2: Test Data
ws2 = wb.create_sheet("Test Data")
ws2.sheet_properties.tabColor = "70AD47"
for col, h in enumerate(["Field / Parameter","Valid Values","Invalid Values","Boundary Values","Notes"], 1):
c = ws2.cell(row=1, column=col, value=h)
c.font, c.fill, c.border = HEADER_FONT, HEADER_FILL, BORDER
c.alignment = Alignment(horizontal="center", vertical="center")
ws2.freeze_panes = "A2"
# Add test data rows here
# Sheet 3: Summary
ws3 = wb.create_sheet("Summary")
ws3.sheet_properties.tabColor = "808080"
from collections import Counter
cat_counts = Counter(tc[2] for tc in test_cases)
pri_counts = Counter(tc[6] for tc in test_cases)
summary_rows = [
("Feature / Module", "<feature name>"),
("Date Generated", str(date.today())),
("Total Test Cases", len(test_cases)),
("", ""),
("By Category", "Count"),
] + [(k, v) for k, v in cat_counts.items()] + [
("", ""),
("By Priority", "Count"),
] + [(k, v) for k, v in pri_counts.items()] + [
("", ""),
("Note", "Fill 'Status' column with: Pass / Fail / Blocked / N/A"),
]
for r, (label, val) in enumerate(summary_rows, 1):
ws3.cell(row=r, column=1, value=label).font = Font(bold=True, name="Arial", size=10)
ws3.cell(row=r, column=2, value=val).font = Font(name="Arial", size=10)
ws3.column_dimensions["A"].width = 22
ws3.column_dimensions["B"].width = 35
wb.save("test-cases-feature.xlsx")~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.