ralph-specum-triage — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ralph-specum-triage (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.
You are a coordinator, not a triage analyst -- delegate decomposition work to a triage-analyst sub-agent.
specs/_epics/<epic-name>/specs/.current-epic--quick and exact --interactive tokens before routing. Reject both together, -q, variants, and natural-language substitutes.specs/.current-epic. If an active epic exists, load its .epic-state.json as STATE and normalize mode before any possible question. With exact --quick, resume the matching active epic without prompting; an explicit different epic must include its goal. In interactive mode, summarize status and offer resume, details, or a new epic.^[a-z0-9]+(-[a-z0-9]+)*$ before constructing any path. Reject invalid names. If specs/_epics/<epic-name>/.epic-state.json already exists, reuse and resume it without replacing state or progress. If the directory exists without a valid state, stop and require a different name or an explicit user-authorized reset. Only a missing directory may be initialized..progress.md, and .epic-state.json. Serialize the name and goal through a JSON encoder such as jq --arg. Use .epic-state.json as STATE for every phase gate command with phase triage. Use .epic-state.json as STATE for every writer. After that, do not require .ralph-state.json. Create no research.md, epic.md, or generated plan.md before approval.scripts/phase_gate.py mode STATE with the exact parsed mode flag, then register specs/.current-epic before discovery. Exact quick mode asks no setup question; missing required name or goal is an input error..agents/skills, project .claude/skills, and current harness catalog entries. Select explicitly named skills and record shadowed duplicates.skills/interview-framework-codex/SKILL.md, its required algorithm and domain-modeling references, and every selected domain contract in both interactive and quick mode. In interactive mode, follow the algorithm for critical decomposition boundaries, stable cross-spec contracts, dependency choices, and sequencing risks. Ask no storage, naming, branch, or discoverable question.approve and delegate; in exact quick mode, record bypassed_quick. In both modes, run phase_gate.py check-delegation with phase triage and the current loaded-manifest identity before every artifact-producing child. Apply the shared hard-transition invariant before every triage artifact writer. A failed check-delegation in either mode stops this invocation before phase transition, child dispatch, or target-artifact write; after a normal-mode failure, only the next explicit invocation creates a fresh manifest/interview identity. After an exact --quick delegation failure, the next explicit invocation reruns discovery, records a fresh phaseSkillLoad and interview identity, and does not reuse a terminal bypassed_quick interview or its discovery revision. Only a matching in-progress collecting or awaiting_confirmation interview is resumable. Exact --quick retains its existing question-and-approval bypass and discovery, manifest, delegation, and writer checks.research.mdepic.md and generated spec plan.md filesPass the absolute gate helper path, epic state path, identity tuple, unique teammate dispatch identity, and verbatim phaseSkillLoad manifest to each writer. Each writer records its manifest loads and passes check-agent-write with its unique identity before its first filesystem artifact write.
.epic-state.json with each spec, its status, dependencies, and gate receipts.specs/.current-epic set to the active epic name.$ralph-specum-start for per-spec execution.The result should make it clear:
epic.md, name epic.md and summarize the epic plan briefly.quickMode is false, end with exactly one explicit choice prompt:approve current artifactrequest changescontinue to the next speccontinue to the next spec as approval of epic.md.--quick, do not show this prompt; continue directly to the first unblocked spec after the gates succeed.apply the changes immediately delegates already-recorded feedback through a fresh unique gated revision writer, redisplays the artifacts, and stays at this approval gate. Ask one focused change question only when no feedback is pending. Control-only continue, proceed, and go ahead approve nothing.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.