Skip to main content

stack-audit

Scan codebase for Outfitter Stack adoption candidates. Identifies throw statements, console usage, hardcoded paths, and custom errors. Use when assessing adoption scope or checking readiness.

ソース情報

リポジトリ
outfitter-dev/agents
ソースの最終更新活動
2026年1月27日 20:29
検出された SKILL.md の言語
英語
スター
29
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
11 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
stack-audit
version
0.1.0
description
Scan codebase for Outfitter Stack adoption candidates. Identifies throw statements, console usage, hardcoded paths, and custom errors. Use when assessing adoption scope or checking readiness.
context
fork
agent
stacker
allowed-tools
Read Grep Glob Bash(rg *) Bash(bun *)
# Stack Audit Scan a codebase to identify Outfitter Stack adoption candidates and generate an audit report. ## Quick Start **Option 1: Run the scanner** (recommended for large projects) ```bash bun run plugins/outfitter-stack/skills/stack-audit/scripts/init-audit.ts [project-root] ``` Generates `.outfitter/adopt/` with: - `audit-report.md` - Scan results and scope - `plan/` - Stage-by-stage task files **Option 2: Manual scan** (smaller projects) Run the audit commands below to understand scope. ## Audit Commands ### Critical Issues - Exceptions ```bash # Count throw statements rg "throw (new |[a-zA-Z])" --type ts -c # List throw locations rg "throw (new |[a-zA-Z])" --type ts -n # Count try-catch blocks rg "(try \{|catch \()" --type ts -c ``` ### Console Usage ```bash # Count console statements rg "console\.(log|error|warn|debug|info)" --type ts -c # List console locations rg "console\.(log|error|warn|debug|info)" --type ts -n ``` ### Hardcoded Paths ```bash # Homedir usage rg "(homedir\(\)|os\.homedir)" --type ts -c # Tilde paths rg "~/\." --type ts -c # Combined path issues rg "(homedir|~\/\.)" --type ts -n ``` ### Custom Error Classes ```bash # Find custom error classes rg "class \w+Error extends Error" --type ts -n # Count usage of custom errors rg "new MyCustomError\(" --type ts -c ``` ## Generated Structure ``` .outfitter/adopt/ ├── audit-report.md # Scan results, scope, recommendations └── plan/ ├── 00-overview.md # Status dashboard, dependencies ├── 01-foundation.md # Dependencies, context, logger ├── 02-handlers.md # Handler conversions ├── 03-errors.md # Error taxonomy mappings ├── 04-paths.md # XDG path migrations ├── 05-adapters.md # CLI/MCP transport layers ├── 06-documents.md # Documentation updates └── 99-unknowns.md # Items requiring review ``` ## Migration Stages | Stage | Blocked By | Focus | |-------|------------|-------| | 1. Foundation | - | Install packages, create context/logger | | 2. Handlers | Foundation | Convert throw to Result | | 3. Errors | Handlers | Map to error taxonomy | | 4. Paths | - | XDG paths, securePath | | 5. Adapters | Handlers | CLI/MCP wrappers | | 6. Documents | All | Update docs to reflect patterns | | 99. Unknowns | - | Review anytime | ## Audit Report Fields | Field | Description | |-------|-------------| | Exceptions | `throw` statements to convert to Result | | Try/Catch | Error handling blocks to restructure | | Console | Logging to convert to structured logging | | Paths | Hardcoded paths to convert to XDG | | Error Classes | Custom errors to map to taxonomy | | Handlers | Functions with throws to convert | | Unknowns | Complex patterns requiring review | ## Error Taxonomy Reference When mapping errors, use this reference: | Original | Outfitter | Category | |----------|-----------|----------| | `NotFoundError` | `NotFoundError` | `not_found` | | `InvalidInputError` | `ValidationError` | `validation` | | `DuplicateError` | `ConflictError` | `conflict` | | `UnauthorizedError` | `AuthError` | `auth` | | `ForbiddenError` | `PermissionError` | `permission` | | Generic `Error` | `InternalError` | `internal` | ## Effort Estimation | Count | Effort Level | |-------|--------------| | 0 | None | | 1-5 | Low | | 6-15 | Medium | | 16+ | High | ## Interpreting Results ### High-Priority Items - Functions with 3+ throw statements (complex error handling) - Files with 3+ try-catch blocks (may need restructuring) - Custom error classes with high usage counts ### Medium-Priority Items - Isolated throw statements (simple conversions) - Console logging (straightforward migration) - Hardcoded paths (mechanical replacement) ### Low-Priority Items - Documentation updates (can happen last) - Test file updates (follow handler changes) ## Next Steps After Audit 1. Review `audit-report.md` for accuracy 2. Adjust priorities in `plan/00-overview.md` 3. Begin with Stage 1 (Foundation) 4. Load `outfitter-stack:stack-patterns` for conversion guidance 5. Load `outfitter-stack:stack-templates` for scaffolding ## Constraints **Always:** - Run audit before planning adoption - Review unknowns for complex patterns - Estimate effort before committing **Never:** - Skip the audit phase - Underestimate try-catch complexity - Ignore custom error classes ## Related Skills - `outfitter-stack:stack-patterns` - Target patterns reference - `outfitter-stack:stack-templates` - Component templates - `outfitter-stack:stack-review` - Verify compliance
GitHubで見る