suede-agent-teams — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited suede-agent-teams (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.
The orchestrator assigns lanes, not conversations. Output is a delivery artifact, not a status update.
Before spawning or simulating lanes, define:
release artifact;
account boundaries, claims not approved, and secrets rules;
readback, PR review, or handoff;
dependency order.
Before opening any parallel lanes:
git -C <repo> diff --name-only HEAD and collect all dirty files.git -C <repo> status --short and collect all untracked new files.Collision resolution rules:
The orchestrator writes the resolved lane map before any builder starts. No builder opens a file not in its assigned lane map.
Start with Scout + Builder + Handoff Writer. Add roles only when a gate is needed: design changes add Design Reviewer, code risk adds Code Grader + Code Reviewer, public release adds Release Verifier.
likely blast radius.
criteria and dependencies.
accessibility, copy, and state coverage.
data/state, Suede truth, UX/release behavior, tests, and deploy readiness.
launch surfaces for findability, first-screen clarity, CTA pull, proof, AI readability, and design signal.
truth, secrets, and public claims.
For high-risk work, keep builder and reviewer separate.
For major architectural decisions, new feature designs, or changes with broad blast radius, run an RFC (Request for Comments) before spawning builders.
An RFC forces alignment on WHAT and WHY before committing to HOW.
RFC structure:
RFC: [Title]
Date: [date]
Status: draft | accepted | superseded | withdrawn
Deciders: [who has final say]
## Problem Statement
One paragraph: what is broken, missing, or suboptimal? Include the user or system impact.
## Proposed Solution
What we will build or change. Be specific about interfaces, data shapes, and behavioral contracts.
## Alternatives Considered
2–3 alternatives with the reason each was not chosen.
## Risks
What could go wrong with the proposed solution? How is each risk mitigated?
## Success Criteria
How will we know this worked? Observable, measurable signals.
## Decision Record
[filled in after consensus] Accept / Modify / Reject + reason.Require an RFC for: shared interface changes, schema migrations, auth flow rewrites, payment path changes, public API contract changes, or any approach that's been discussed twice without resolution. No builder lane opens until RFC status is accepted.
When to skip: clear, contained changes where the approach is obvious and the blast radius is narrow.
Not every change should ship as a hard deploy. Feature flags allow gradual rollout, A/B testing, and instant rollback without a redeploy.
Flag lifecycle:
When to flag:
When NOT to flag:
Flag hygiene rules:
new_billing_flow not enable_billing.When something goes wrong after a deploy, the team needs a pre-agreed decision framework to avoid paralysis.
Is there active data loss or corruption? → ROLLBACK IMMEDIATELY. Don't investigate first.
Is there a security exposure (PII, auth bypass, payment data)? → ROLLBACK IMMEDIATELY. Notify security.
Is a primary user path broken (login, checkout, core workflow)? → ROLLBACK unless fix is <15 minutes away.
Is performance degraded but functional? → Hold and investigate. Set a 30-minute timer.
Is it a cosmetic issue? → Hot-fix forward. No rollback.After rollback:
For any production incident, failed release, or significant rollback, run a post-mortem. Keep it blameless: focus on systems, not individuals.
Post-Mortem: [Brief title]
Date of incident:
Duration:
Severity: P0 (total outage) / P1 (primary path broken) / P2 (degraded) / P3 (cosmetic)
Author(s):
## Timeline
[time]: [event]
[time]: [detection]
[time]: [first response]
[time]: [resolution]
## Impact
Users affected:
Revenue impact (if known):
Data integrity: affected / not affected
## Root Cause
One sentence: the direct technical cause.
## Contributing Factors
The systemic conditions that made this possible. (What allowed the root cause to reach production?)
## What Went Well
Things that helped detect or contain the incident faster.
## Action Items
| Action | Owner | Due |
|---|---|---|
| ... | ... | ... |
Status: open / closedPost-mortems are required for P0 and P1 incidents. Optional but encouraged for P2. Skip for P3.
The Phase Loop is the Continuous Team Loop run at minimal scale. Use it when a full 10-gate roster is overkill but you still need scout, plan, build, verify, and ship stages.
For high-risk changes, consult the Rollback Decision Tree before shipping. For gradual rollouts, use the Feature Flag Strategy. For shared interface changes, require RFC Mode before the plan stage opens.
Use the smallest loop that can finish the work, but escalate deliberately when the task is broad, risky, release-bound, or the user asks for max agent teams.
Choose the loop:
release control matters.
surface checks can run without touching the same files.
drifted claim, or loop churn.
For max-agent work, escalate through this roster only as needed:
Scout -> Planner -> Builder lane(s) -> Design reviewer -> Visibility grader
-> Code grader -> Code reviewer -> Release verifier -> Handoff writerWrap the roster with these gates:
exploratory parallel, or recovery.
order, done signal, and ship gate.
named files/surfaces, must-have requirements, release/account boundaries.
collision is sequenced.
visibility, build, screenshot, API, or live checks.
public claims, abuse, accessibility, mobile, or handoff.
caveats, fixes now, and follow-ups.
owned by release verifier before any public completion claim.
verification, caveats, blockers, status, and next action.
Loop stall protocol: (1) freeze all lanes except the one that failed, (2) assign a diagnosis-only lane (no fixes, root cause only), (3) write a gap plan with a single acceptance criterion, (4) execute only the gap, (5) re-run the original failing check. Do not widen until that check passes.
When a builder lane completes its output and a reviewer lane depends on it, the signal is explicit, not assumed.
The completing lane writes a Lane Ready notice:
Lane: [name]
Status: output ready for review
Artifact: [file path, URL, or PR link]
Reviewer: [lane name that receives this output]
Unresolved: [any known issue the reviewer should know before starting]The reviewer lane does not start until it has received a Lane Ready notice from every upstream dependency in its lane map.
The orchestrator routes Lane Ready notices. In a sequential thread, the orchestrator posts the Lane Ready notice on behalf of each completing lane before invoking the next.
Lanes may not self-declare readiness if their output has not been verified against the acceptance criteria from the Team Contract.
A plan is not ready until:
If major uncertainty remains, run a short spike first and keep implementation out of scope until the spike reports back.
For important merges, run at least two independent review lenses:
Merge the findings into:
Repeat fix and review cycles until no blocker remains or the work is held.
Valid states in order: scoped → planned → executing → changed locally → verified locally → reviewed → committed → pushed → deployed → verified live → released
Interrupt states: blocked (needs external action) | held (needs named fix before continuing)
Do not skip. changed locally is not verified locally. deployed is not verified live. Do not mark released until the done signal from the Team Contract passes.
Use these pre-built configurations for common high-risk deployments. Adjust only the named target.
Roster: Scout, Planner, Builder (auth lane only), Code Grader, Code Reviewer, Release Verifier, Handoff Writer RFC required: yes. Shared session/token contract must be accepted before Builder opens. Flag required: yes. Default off in production; ramp by internal → 1% → full.
Lane map:
Done signal: login, logout, token refresh, and session expiry all pass in production
Roster: Scout, Planner, Builder (payment lane only), Code Grader, Code Reviewer, Release Verifier, Handoff Writer RFC required: yes. Payment data shape and provider contract must be accepted. Flag required: yes. Never ramp payment paths without a staged rollout.
Lane map:
Done signal: charge, refund, and webhook replay all pass in production with idempotency confirmed
Roster: Scout, Design Reviewer, Visibility Grader, Code Reviewer, Release Verifier, Handoff Writer RFC required: no (review-only, no builder lane)
Lane map:
Done signal: all public URLs verified live, no console errors, Lighthouse performance ≥ 80
Roster: Scout, Planner, Builder (migration lane only), Code Grader, Release Verifier, Handoff Writer RFC required: yes. Data shape before/after and rollback strategy must be accepted. Flag required: migration itself cannot be flagged; gate behind a manual trigger or migration script run
Lane map:
Done signal: production DB row counts match expected delta, app health check passes, rollback script tested in staging
Roster: Scout, Planner, Builder (perf lane only), Code Grader, Release Verifier, Handoff Writer RFC required: no, unless audit reveals a structural change (e.g. query rewrite, CDN switch).
Lane map:
Done signal: LCP < 2.5s or measurable improvement documented; no regression on primary paths
Stop the loop, surface the condition, and wait for human sign-off before continuing.
| Condition | Threshold | Action |
|---|---|---|
| Repeated fix cycles | > 3 fix-rerun cycles on the same failing check | Stop. Write a diagnosis summary. Ask: is the acceptance criterion correct, or is the fix strategy wrong? |
| Security finding of unknown severity | Any finding touching auth, session, PII, payment data, or access control that cannot be confidently classified as low risk | Stop. Do not attempt a fix. Surface the exact finding and uncertain blast radius. Human decides next step. |
| Production incident with data exposure | Any indication of PII, payment data, or auth token exposure in production logs, error reports, or user reports | Stop all lanes. Trigger rollback decision tree. Notify human immediately. Do not investigate further before rollback. |
| Cost spike | > 20 tool calls without a verified output, or estimated API/infra cost > $50 in a single loop | Stop. Summarize progress and remaining scope. Ask human to authorize continuation. |
| Contradictory constraints | Two constraints in the Team Contract are mutually exclusive | Stop planning. Surface the conflict with a specific example. Do not proceed until human resolves. |
No agent may override an escalation threshold by re-scoping the task or declaring the condition resolved without human confirmation.
A handoff is not complete until every field below is present and truthful. The handoff writer signs off by confirming each item.
Required fields:
If any field is missing, the handoff writer must fill it before marking status released or verified live. A handoff with a missing field is status held.
For a team plan:
Objective:
Target:
Constraints:
Lane Map:
Dependency Order:
Done Signal:
Ship Gate:For execution updates:
Lane:
Status:
Evidence:
Next:
Risk:For final handoff:
Simple explanation:
Usual breakdown:
Target:
Changed:
Verification:
Caveats:
Status:
Next:
Cue Suede:~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.