ship-pipeline — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ship-pipeline (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
Full-stack app development pipeline — frontend (Flutter/Next.js), backend (Node/Fastify/Cloud Functions), database (Firestore/PostgreSQL/Supabase), infrastructure (CI/CD, deploy, monitoring). Builds fast, then the safety net catches everything before production.
Run the entire pipeline autonomously.
$ARGUMENTS — what to build or ship. Can be:
If no arguments provided, check for uncommitted changes and ship those.
============================================================ PHASE 0: CONTEXT & DISCOVERY ============================================================
If the user said "ship all" or "all", or if the current directory contains multiple git repos:
find . -maxdepth 2 -name ".git" -type dgit status --short)git log origin/main..HEAD --oneline)gh api repos/{owner}/{repo}/actions/runs?per_page=1)SHIP MANIFEST
====================================
pet-sitter: 3 uncommitted files, 0 unpushed
recipe-ai: clean, 2 unpushed commits
confidence-coach: clean, clean
skills-hub: 1 uncommitted, 0 unpushed, CI failing
deal-worthy: clean, clean
====================================
Repos to ship: 3 (pet-sitter, recipe-ai, skills-hub)
Repos clean: 2 (confidence-coach, deal-worthy)Use subagents for repos that are independent (no shared state).
git status — uncommitted changesgit log origin/main..HEAD — unpushed commitsgrep -r "TODO\|FIXME\|WIP\|HACK" --include="*.ts" --include="*.dart" --include="*.tsx" -l — unfinished work in codedocs/ — any specs or stories that reference unimplemented featuresgh pr list --state open — open PRs that might need merginggh issue list --state open --limit 5 — open issues assigned to youDO NOT spend more than 30 seconds per repo on this phase.
============================================================ PHASE 1: ARCH REVIEW (if new feature) ============================================================
Skip this phase if the user said "deploy" or "ship" (feature already exists).
Run a quick architectural review of the proposed changes:
If 50%+ overlap exists, extend the existing component — do NOT create a new one.
right domain service (not a god-object service file).
new collections. Write rules in the SAME commit as the feature.
decomposition before writing.
Output: One paragraph summary of the plan. Then move immediately to Phase 2.
============================================================ PHASE 2: BUILD IT (60% of time budget) ============================================================
Build the feature with maximum velocity.
RULES:
FOR FLUTTER FRONTEND:
FOR BACKEND (Node/Fastify/Express/Cloud Functions):
FOR DATABASE (Firestore/PostgreSQL/Supabase):
FOR WEB FRONTEND (Next.js/React):
FOR CI/CD & INFRASTRUCTURE:
COMMIT AFTER EACH LOGICAL UNIT:
feat: add settings screen with dark mode toggle============================================================ PHASE 3: SAFETY NET — VERIFY EVERYTHING (30% of time budget) ============================================================
The build is done. Now make sure it doesn't blow up in production.
Run these checks IN ORDER. Fix issues as you find them — don't just report them.
flutter test # or: npm test, pnpm test
flutter analyze # or: tsc --noEmit
dart format --set-exit-if-changed .If tests fail: fix the test or the code. Re-run until green. If analyzer has issues: fix them. Zero issues required. If formatting fails: run dart format . and commit.
Check for:
Fix EVERY issue found. Commit fixes separately: fix: resolve analyzer warnings
============================================================ PHASE 4: PREFLIGHT & SHIP (10% of time budget) ============================================================
git status — no uncommitted changesgit diff origin/main — review the full diff one more timeflutter build web or flutter build apk --debugls .github/workflows/deploy*gh workflow run deploy.ymlgh workflow run deploy-ios.yml (or fastlane ios upload)gh workflow run deploy-android.yml -f track=internal============================================================ OUTPUT ============================================================
After the pipeline completes, print:
## Ship Pipeline Complete
**Feature:** {what was built}
**Commits:** {N} commits
**Tests:** {pass count} passing, {fail count} failing
**Analyzer:** {issue count} issues (should be 0)
### What shipped
- {bullet summary of each commit}
### Safety checks
- Tests: PASS
- Security: PASS (or: {issues found and fixed})
- A11y: PASS (or: {issues found and fixed})
- Performance: PASS
- Design consistency: PASS
### Deploy
- CI: {status}
- TestFlight: {status or N/A}
- Play Store: {status or N/A}
### Time
- Build: {X} min
- Safety net: {X} min
- Deploy: {X} min============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.mdEntry format:
Only log if the memory directory exists. Skip silently if not found.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.