ワンクリックで
papercuts
Scan codebase for small code hygiene wins — TODOs, dead code, naming issues. General-purpose tool for any project.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Scan codebase for small code hygiene wins — TODOs, dead code, naming issues. General-purpose tool for any project.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
SwiftUI iOS/macOS 27 delta reference (WWDC 2026) — Apple-authored references vendored from Xcode 27's exported agent skills, plus Cal SDK-verified extras. Use for any SwiftUI work targeting SDK 27. Use when a SwiftUI view using @State fails to compile with "used before being initialized", "invalid redeclaration of synthesized property", or "extraneous argument label" errors after an SDK update (@State became a macro in SDK 27 — the obvious fix of reordering init assignments is WRONG; consult references/state-macro.md first); when @ViewBuilder/@ContentBuilder code hits ambiguous overloads in overlay/background or type-check regressions; when adding drag-to-reorder to any container via reorderable()/reorderContainer; when working with AsyncImage caching or AsyncImage(request:); when adding swipe actions to rows outside List via swipeActionsContainer(); when controlling toolbar overflow (visibilityPriority, ToolbarOverflowMenu, toolbarMinimizeBehavior); when presenting alert/confirmationDialog from an optional i
iOS/macOS/iPadOS 27 framework reference (WWDC 2026). Corrects stale model knowledge about App Intents, App Schemas, Foundation Models, and Siri AI. Invoke when building or reviewing iOS 27 / WWDC 2026 features, or when a model assumes iOS 26 / SiriKit is current.
Apple Liquid Glass (iOS 26, refined in 27) design system reference. Invoke when building UI, reviewing visual design, or implementing glass effects, background extension, tab bar minimize, typography, spacing, animations, or accessibility.
Advance the pipeline - find and execute next step
Project setup - scan codebase, create Cal structure, generate or improve CLAUDE.md
Context preservation - route learnings to cal.md (permanent) or memories/ (ephemeral)
| name | papercuts |
| description | Scan codebase for small code hygiene wins — TODOs, dead code, naming issues. General-purpose tool for any project. |
Purpose: Find and optionally fix small code quality issues that individually aren't worth a ticket but collectively degrade the codebase.
| Mode | Command | Behavior |
|---|---|---|
| Scan (default) | /cal:papercuts | Report findings only |
| Fix | /cal:papercuts fix | Auto-fix with per-item approval |
Papercuts scans for code hygiene only — safe, language-agnostic patterns:
Search for unresolved markers:
Grep: TODO|FIXME|HACK|XXX|TEMP|WORKAROUND
Report: file, line, full comment text.
Search for common dead code patterns:
Grep: // unused|// deprecated|// old|// remove|// delete
Grep: #if false|#if 0
For languages with import analysis:
import statements for unused frameworksLook for naming pattern violations within each file:
btn and button in the same scope)Grep: catch\s*\{?\s*\}|catch\s*\(\s*_|// swallow|// ignore
*.swift, *.ts, *.py, etc.)## Papercuts Report
**Project:** [directory name]
**Scanned:** [N files across M categories]
**Findings:** [total count]
### TODOs / FIXMEs ([count])
| File | Line | Text |
|------|------|------|
| [path] | [line] | [comment text] |
### Dead Code ([count])
| File | Line | Indicator |
|------|------|-----------|
| [path] | [line] | [what suggests it's dead] |
### Naming Issues ([count])
| File | Line | Issue |
|------|------|-------|
| [path] | [line] | [what's inconsistent] |
### Error Swallowing ([count])
| File | Line | Pattern |
|------|------|---------|
| [path] | [line] | [what's swallowed] |
When invoked with fix:
[Category] [file:line]
[description]
Fix? (yes / no / skip all in category)
cal/memories/papercuts-fixed.md to avoid re-reportingFix mode requires per-item approval. Papercuts never auto-fixes without asking. This is architectural, not aspirational — the scan/fix separation enforces it.
Papercuts scans the current project directory (the codebase Cal is managing), not Cal's own files. It's a general-purpose tool that works on any project.