Ios quality gate
Personal Agent Skills for AI coding agents — install and update with gh skill
npx -y skills add dbmrq/agent-skills --skill ios-quality-gateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run the shared ai-rules-ios quality plug-in (scripts/check.sh, format, Periphery deadcode --strict) before finishing iOS app work. Use when finishing features, refactors, removing APIs, cleanup, PRs, or Melvil/Gregor/Leio iOS changes that must stay lint-clean with zero unused code and no force unwraps.
SKILL.md
2.5 KB, 550 tokens by cl100k_base, as published. Nobody here has run it
iOS quality gate
Enforce the shared ai-rules-ios plug-in before considering iOS work done. All SwiftLint severities in the shared config are errors; compiler warnings must also fail the build (SWIFT_TREAT_WARNINGS_AS_ERRORS).
If .ai-rules/ is missing, run ios-bootstrap (not an ad-hoc lint setup).
Periphery detail: references/periphery-traps.md · historical debt checklist: .ai-rules/quality/debt/RATCHET.md
Agent workflow
- Confirm
.ai-rules/quality/and./scripts/check.shexist. If not:curl -fsSL https://raw.githubusercontent.com/dbmrq/ai-rules-ios/main/install.sh | bash -s -- --non-interactive --no-committhen complete ios-bootstrap wiring (Periphery scheme, warnings-as-errors, Quality Check script). ./scripts/format.sh --fixif you touched Swift files../scripts/check.sh— fix every violation (there is no warning-only debt in the shared config).- After removals / renames / structural edits: build, then
./scripts/deadcode.shor./scripts/check-all.sh. No baselines — delete unused declarations Periphery reports (--strict). See periphery-traps.md if the scan fails to build or reports nonsense. - Do not leave store/domain wrappers without callers. Never reintroduce
!/as!. - Optional:
.ai-rules/quality/scripts/debt-report.shfor a count summary (uses/tmp/<App>PeripheryDDwhen present).
Hard-won rules
- Prefer project wrappers (
./scripts/*) — they fail if the plug-in is missing. - Do not invent a second lint stack; sync
.ai-rulesvia install/subtree. - Edit scheme-specific
.periphery.ymlonly; shared SwiftLint stays in the plug-in. xcodegen generateafter addingSources/files in XcodeGen apps.- Confirm
SWIFT_TREAT_WARNINGS_AS_ERRORS: YESremains on Swift targets. - When splitting a type across files for length limits, members other files must read or assign cannot be
private/private(set)— useinternal(see swiftui-view-composition).