nfr-assess
セキュリティ、性能、信頼性など6つの品質カテゴリで、非機能要件を評価し、基準や根拠に基づき問題点を特定、重要度を判定し、改善策を提示することで、システムの本番環境への準備状況や要件適合性を確認するSkill。
📜 元の英語説明(参考)
Assess non-functional requirements across 6 quality categories (Security, Performance, Reliability, Maintainability, Scalability, Usability) with measurable criteria, evidence-based evaluation, and automated checks. Scores each category, identifies gaps with severity ratings, and provides remediation guidance. Use during quality review to evaluate production readiness and NFR compliance.
🇯🇵 日本人クリエイター向け解説
セキュリティ、性能、信頼性など6つの品質カテゴリで、非機能要件を評価し、基準や根拠に基づき問題点を特定、重要度を判定し、改善策を提示することで、システムの本番環境への準備状況や要件適合性を確認するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o nfr-assess.zip https://jpskill.com/download/9708.zip && unzip -o nfr-assess.zip && rm nfr-assess.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9708.zip -OutFile "$d\nfr-assess.zip"; Expand-Archive "$d\nfr-assess.zip" -DestinationPath $d -Force; ri "$d\nfr-assess.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
nfr-assess.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
nfr-assessフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
非機能要件アセスメント
nfr-assess スキルは、機能的な正しさ以上の品質属性を実装が満たしていることを保証するために、非機能要件(NFR)の包括的な評価を実行します。NFRは、システムの品質、信頼性、および長期的な実行可能性を決定する、横断的な関心事です。このスキルは、測定可能な基準、エビデンスに基づいた評価、および可能な場合は自動化されたチェックを備えた、6つの重要な品質カテゴリを評価します。
システムが何をするかを定義する機能要件とは異なり、非機能要件はシステムがどれだけうまく実行するかを定義します。このスキルは、セキュリティ(認証、暗号化、脆弱性)、パフォーマンス(応答時間、スループット、リソース使用量)、信頼性(エラー処理、監視、フォールトトレランス)、保守性(コード品質、ドキュメント、テスト容易性)、スケーラビリティ(水平スケーリング、データベース設計、非同期処理)、およびユーザビリティ(API設計、エラーメッセージ、ドキュメント)にわたる客観的な評価を提供します。
アセスメントは、重み付けされた全体的なNFRスコア、個々のカテゴリスコアを生成し、重大度評価でギャップを特定し、実行可能な推奨事項を提供します。結果は、マージ/リリース決定を通知するために、品質ゲートスキルに直接フィードされます。自動化されたチェック(セキュリティスキャン、lint処理、テストカバレッジ、パフォーマンステスト)は、客観的で再現可能なメトリックを提供するために、利用可能な場合は統合されます。
このスキルの使用時
このスキルは、次の場合に使用する必要があります。
- 実装レビュー中に非機能的な品質属性の検証が必要な場合
- システム全体の品質に関する懸念(セキュリティ、パフォーマンス、信頼性)の評価が必要な場合
- 品質属性のギャップを重大度評価で特定する必要がある場合
- 監査/コンプライアンスのためにエビデンスに基づいたNFRレポートが必要な場合
- NFRメトリックを品質ゲートの意思決定にフィードする必要がある場合
- 品質面から本番環境への準備状況の検証が必要な場合
このスキルは特に価値があります。
- 品質ゲートレビューの前(問題を早期に特定)
- 機能テスト完了後(非機能的な側面を評価)
- アーキテクチャレビュー中(NFRの設計パターンを検証)
- 本番環境へのデプロイの準備中(本番環境への準備が整っていることを確認)
- コンプライアンス検証の場合(OWASP、WCAG、パフォーマンス予算)
このスキルは、次の場合には使用しないでください。
- 機能要件がまだ実装されていない場合(最初に機能を評価)
- タスクが純粋に計画/設計である場合(評価する実装がない)
- 機能的な動作のみをテストする必要がある場合(代わりに run-tests を使用)
前提条件
nfr-assess を実行する前に、以下があることを確認してください。
- 実装記録を含むタスク仕様ファイル
- 品質設定を含むプロジェクト構成(.claude/config.yaml)
- コードレビューのためにアクセス可能な実装ファイル
- 自動化されたツールが利用可能(オプションですが推奨):
- セキュリティ:
npm audit、semgrep、または同等のもの - コード品質:リンター(eslint、pylintなど)
- テストカバレッジ:カバレッジツール(jest --coverage、pytest-covなど)
- パフォーマンス:負荷テストツール(artillery、k6など)
- セキュリティ:
他のスキルへの依存関係:
- オプション:risk-profile(セキュリティ/パフォーマンスのリスクコンテキストを提供)
- オプション:trace-requirements(実装エビデンスを提供)
- オプション:test-design(パフォーマンス/負荷テスト仕様を提供)
逐次的なNFRアセスメントプロセス
このスキルは、9つの逐次的なステップを経て実行されます。各ステップは、続行する前に正常に完了する必要があります。このプロセスは、エビデンス収集、自動化されたチェック、およびギャップの特定により、6つのNFRカテゴリすべてを体系的に評価するように設計されています。
ステップ0:構成とコンテキストのロード
目的: プロジェクト構成、タスク仕様、およびNFRアセスメントに必要なすべての関連コンテキストをロードします。実装ファイルを特定し、自動化されたチェックを準備し、タスクタイプに基づいてどのNFRカテゴリが最も関連性が高いかを判断します。
アクション:
.claude/config.yamlからプロジェクト構成をロードします(品質設定、NFRしきい値)- タスク仕様ファイルを読み取ります(タスクID、タイトル、タイプ、NFR要件、実装記録を抽出)
- 関連するアセスメント(リスクプロファイル、トレーサビリティマトリックス、テスト設計)が利用可能な場合はロードします
- 実装記録から実装ファイルを特定します(ソース、構成、インフラストラクチャ、依存関係)
- タスクタイプに基づいて関連するNFRカテゴリを特定します(例:APIタスクはセキュリティ/パフォーマンスを優先)
- 自動化されたチェックを準備します(セキュリティスキャン、lint処理、テストカバレッジ、パフォーマンステスト)
- 出力ファイルパスを準備します(
.claude/quality/assessments/{task-id}-nfr-{YYYYMMDD}.md)
停止条件:
- 構成ファイルがないか無効
- タスクファイルが見つからない
- 出力ディレクトリを作成できない
出力: 構成がロードされ、タスク仕様がロードされ、関連するアセスメントがチェックされ、実装ファイルが特定され、NFRカテゴリが優先順位付けされ、自動化されたチェックが準備され、出力パスが設定されました
参照: 完全な形式についてはreferences/templates.md#step-0-configuration-loading-outputを、カテゴリの説明についてはnfr-categories.mdを参照してください
ステップ1:セキュリティアセスメント
目的: 認証、認可、入力検証、依存関係の脆弱性、およびセキュリティのベストプラクティスを含むセキュリティ体制を評価します。自動化されたセキュリティスキャン(npm audit、semgrep)と手動コードレビューを活用して、エビデンスとともにセキュリティギャップを特定します。
アクション:
- セキュリティ基準を定義します(10個の基準:認証、認可、入力検証、出力エンコーディング、依存関係の脆弱性、シークレット管理、HTTPS/TLS、レート制限、CORS、セキュリティヘッダー)
- 自動化されたセキュリティチェックを実行します。
- 依存関係の脆弱性スキャン(
npm audit --jsonまたは同等のもの) - コードセキュリティスキャン(利用可能な場合は
semgrep --config=auto) - シークレット検出(ハードコードされたクレデンシャルがないか確認)
- 依存関係の脆弱性スキャン(
- セキュリティに関する手動コードレビュー:
- 認証/認可コードを検索
- 入力検証の実装を確認(Zod、Joiなど)
- SQLインジェクションのリスクを確認(パラメータ化されたクエリ?)
- 確認
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Non-Functional Requirements Assessment
The nfr-assess skill performs comprehensive evaluation of non-functional requirements (NFRs) to ensure the implementation meets quality attributes beyond functional correctness. NFRs are cross-cutting concerns that determine system quality, reliability, and long-term viability. This skill assesses 6 critical quality categories with measurable criteria, evidence-based evaluation, and automated checks where possible.
Unlike functional requirements that define what the system does, non-functional requirements define how well the system performs. This skill provides objective assessment across Security (authentication, encryption, vulnerabilities), Performance (response times, throughput, resource usage), Reliability (error handling, monitoring, fault tolerance), Maintainability (code quality, documentation, testability), Scalability (horizontal scaling, database design, async processing), and Usability (API design, error messages, documentation).
The assessment produces a weighted overall NFR score, individual category scores, identifies gaps with severity ratings, and provides actionable recommendations. Results feed directly into the quality-gate skill to inform merge/release decisions. Automated checks (security scans, linting, test coverage, performance tests) are integrated where available to provide objective, reproducible metrics.
When to Use This Skill
This skill should be used when:
- Non-functional quality attributes need validation during implementation review
- System-wide quality concerns (security, performance, reliability) need assessment
- Gaps in quality attributes need identification with severity ratings
- Evidence-based NFR reports are required for audit/compliance
- NFR metrics need to feed into quality gate decision-making
- Production readiness needs validation from quality perspective
This skill is particularly valuable:
- Before quality gate review (identifies issues early)
- After functional testing completes (assess non-functional aspects)
- During architectural review (validate design patterns for NFRs)
- When preparing for production deployment (ensure production readiness)
- For compliance validation (OWASP, WCAG, performance budgets)
This skill should NOT be used when:
- Functional requirements haven't been implemented yet (assess functionality first)
- Task is purely planning/design (no implementation to assess)
- You only need to test functional behavior (use run-tests instead)
Prerequisites
Before running nfr-assess, ensure you have:
- Task specification file with implementation record
- Project configuration (.claude/config.yaml) with quality settings
- Implementation files accessible for code review
- Automated tools available (optional but recommended):
- Security:
npm audit,semgrep, or equivalent - Code quality: linter (eslint, pylint, etc.)
- Test coverage: coverage tools (jest --coverage, pytest-cov, etc.)
- Performance: load testing tools (artillery, k6, etc.)
- Security:
Dependencies on other skills:
- Optional: risk-profile (provides security/performance risk context)
- Optional: trace-requirements (provides implementation evidence)
- Optional: test-design (provides performance/load test specifications)
Sequential NFR Assessment Process
This skill executes through 9 sequential steps. Each step must complete successfully before proceeding. The process is designed to systematically evaluate all 6 NFR categories with evidence collection, automated checks, and gap identification.
Step 0: Load Configuration and Context
Purpose: Load project configuration, task specification, and all relevant context needed for NFR assessment. Identify implementation files, prepare automated checks, and determine which NFR categories are most relevant based on task type.
Actions:
- Load project configuration from
.claude/config.yaml(quality settings, NFR thresholds) - Read task specification file (extract task ID, title, type, NFR requirements, implementation record)
- Load related assessments if available (risk profile, traceability matrix, test design)
- Identify implementation files from implementation record (source, config, infrastructure, dependencies)
- Identify relevant NFR categories based on task type (e.g., API tasks prioritize Security/Performance)
- Prepare automated checks (security scans, linting, test coverage, performance tests)
- Prepare output file path (
.claude/quality/assessments/{task-id}-nfr-{YYYYMMDD}.md)
Halt If:
- Config file missing or invalid
- Task file not found
- Cannot create output directory
Output: Configuration loaded, task spec loaded, related assessments checked, implementation files identified, NFR categories prioritized, automated checks prepared, output path set
See: references/templates.md#step-0-configuration-loading-output for complete format and nfr-categories.md for category descriptions
Step 1: Security Assessment
Purpose: Evaluate security posture including authentication, authorization, input validation, dependency vulnerabilities, and security best practices. Leverage automated security scans (npm audit, semgrep) and manual code review to identify security gaps with evidence.
Actions:
- Define security criteria (10 criteria: authentication, authorization, input validation, output encoding, dependency vulnerabilities, secrets management, HTTPS/TLS, rate limiting, CORS, security headers)
- Run automated security checks:
- Dependency vulnerability scan (
npm audit --jsonor equivalent) - Code security scan (
semgrep --config=autoif available) - Secret detection (check for hardcoded credentials)
- Dependency vulnerability scan (
- Manual code review for security:
- Search for authentication/authorization code
- Check input validation implementation (Zod, Joi, etc.)
- Check for SQL injection risks (parameterized queries?)
- Check for XSS risks (output encoding?)
- Check CORS configuration and rate limiting
- Collect evidence for each criterion (file paths, line numbers, code snippets, scan results)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall security score (weighted average: PASS=100, CONCERNS=50, FAIL=0)
- Identify security gaps with severity ratings (CRITICAL/HIGH/MEDIUM)
Output: Overall security score, criteria breakdown (PASS/CONCERNS/FAIL), automated check results (vulnerabilities, secrets), critical gaps count
See: references/templates.md#step-1-security-assessment-output for complete format, nfr-categories.md for criteria, nfr-examples.md for evidence examples
Step 2: Performance Assessment
Purpose: Evaluate performance characteristics including response times, throughput, resource usage, caching, and optimization. Run performance tests if available, analyze database queries for N+1 problems, and check algorithm complexity in hot paths.
Actions:
- Define performance criteria (10 criteria: response time, throughput, resource usage, database queries, caching, asset optimization, algorithm complexity, connection pooling, async operations, load testing)
- Run automated performance checks:
- Performance tests (
npm run test:perfif available) - Load tests (artillery, k6, etc. if available)
- Bundle size analysis (if UI application)
- Database query analysis (EXPLAIN ANALYZE)
- Performance tests (
- Manual code review for performance:
- Check database queries for N+1 problems
- Check for blocking operations in request handlers
- Check algorithm complexity in hot paths (O(n log n) or better?)
- Check caching implementation (Redis, in-memory)
- Check connection pooling configuration
- Collect evidence (performance test results, query analysis, code review findings)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall performance score
- Identify performance gaps (e.g., missing caching, N+1 queries, no load testing)
Output: Overall performance score, response time metrics (p50/p95/p99), throughput, load test results, performance gaps
See: references/templates.md#step-2-performance-assessment-output for complete format with benchmark tables
Step 3: Reliability Assessment
Purpose: Evaluate system reliability including error handling, fault tolerance, recovery, monitoring, and logging. Check for comprehensive error handling, graceful degradation when dependencies fail, and proper observability (logging, monitoring, health checks).
Actions:
- Define reliability criteria (10 criteria: error handling, input validation errors, graceful degradation, retry logic, circuit breakers, logging, monitoring, idempotency, data integrity, disaster recovery)
- Manual code review for reliability:
- Check try-catch blocks in async operations
- Check error response formatting
- Check database transaction usage
- Check logging implementation (winston, pino, structured logs?)
- Check health check endpoints
- Check monitoring integration (Prometheus, Datadog, etc.)
- Collect evidence (error handlers, logging examples, monitoring configuration)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall reliability score
- Identify reliability gaps (e.g., no monitoring, no log aggregation, missing health checks)
Output: Overall reliability score, error handling status, logging status (structured/aggregation), monitoring status (health checks/metrics), reliability gaps
See: references/templates.md#step-3-reliability-assessment-output for complete format
Step 4: Maintainability Assessment
Purpose: Evaluate code maintainability including code quality, documentation, testability, modularity, and technical debt. Leverage automated tools (linting, test coverage, complexity analysis) and manual review for documentation, naming, and code organization.
Actions:
- Define maintainability criteria (10 criteria: code quality, test coverage, documentation, modularity, naming, complexity, duplication, type safety, dependencies, technical debt)
- Run automated maintainability checks:
- Linting (
npm run lintor equivalent) - Test coverage (
npm run test:coverage) - Complexity analysis (cyclomatic complexity ≤10?)
- Duplication detection (jscpd, etc.)
- Type checking (TypeScript strict mode)
- Linting (
- Manual code review for maintainability:
- Check code structure and organization
- Check naming conventions (clear, descriptive?)
- Check function/class sizes (≤50 lines?)
- Check documentation completeness (README, API docs, JSDoc)
- Check for technical debt (TODO/FIXME comments)
- Collect evidence (coverage reports, complexity metrics, lint results, documentation)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall maintainability score
- Identify maintainability gaps (e.g., missing documentation, high complexity, low coverage)
Output: Overall maintainability score, test coverage %, avg/max complexity, linting results, documentation status, maintainability gaps
See: references/templates.md#step-4-maintainability-assessment-output for complete format with metrics breakdown
Step 5: Scalability Assessment
Purpose: Evaluate system scalability including horizontal/vertical scaling capability, load handling, database design, and caching strategy. Check for stateless design, proper database indexing, async processing for expensive operations, and readiness for load balancing.
Actions:
- Define scalability criteria (10 criteria: stateless design, horizontal scaling, database design, connection pooling, caching, async processing, rate limiting, load balancing readiness, resource limits, auto-scaling)
- Review architecture for scalability:
- Check if application is stateless (no in-memory session state)
- Check database schema and indexing (foreign keys indexed?)
- Check for file uploads (should use object storage like S3)
- Check for background job processing (should use queue like Bull/BullMQ)
- Check for proper shutdown handlers (graceful shutdown)
- Collect evidence (architecture review, schema analysis, code review)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall scalability score
- Identify scalability gaps (e.g., stateful design, missing indexes, no async processing)
Output: Overall scalability score, stateless design status, database indexing (count/missing), async processing status, horizontal scaling readiness, scalability gaps
See: references/templates.md#step-5-scalability-assessment-output for complete format with DB analysis
Step 6: Usability Assessment
Purpose: Evaluate system usability including API design, error messages, documentation, and accessibility (if UI). For APIs, check RESTful conventions, error message clarity, and API documentation. For UIs, check WCAG compliance, responsive design, and user experience.
Actions:
- Define usability criteria:
- For APIs (10 criteria): API design, error messages, documentation, versioning, pagination, filtering, HTTP status codes, response format, HATEOAS, developer experience
- For UIs (10 criteria): accessibility (WCAG 2.1 AA), responsive design, loading states, error handling, keyboard navigation, color contrast, screen reader support, form validation, intuitive navigation, performance
- Review API/UI design:
- Check REST conventions (proper HTTP verbs, resource naming)
- Check error response format (clear, actionable messages?)
- Check API documentation (OpenAPI/Swagger spec?)
- Check pagination/filtering implementation
- For UIs: Check accessibility with automated tools (axe, lighthouse)
- Collect evidence (route definitions, error responses, documentation, accessibility scan results)
- Score each criterion (PASS/CONCERNS/FAIL/UNCLEAR)
- Calculate overall usability score
- Identify usability gaps (e.g., missing API docs, generic error messages, accessibility issues)
Output: Overall usability score, API/UI design status, error messages quality, documentation status, accessibility status (if UI), usability gaps
See: references/templates.md#step-6-usability-assessment-output for API and UI formats
Step 7: Generate NFR Assessment Report
Purpose: Create comprehensive NFR assessment report using template with all category assessments, overall score calculation, gap summary, and recommendations.
Actions:
- Load NFR assessment template
- Compute overall NFR score using weighted formula (Security 25%, Performance 20%, Reliability 20%, Maintainability 15%, Scalability 10%, Usability 10%)
- Determine overall status (≥90%: Excellent, 75-89%: Good, 60-74%: CONCERNS, <60%: FAIL)
- Aggregate gaps with priorities (P0/P1/P2)
- Generate prioritized recommendations
- Predict quality gate impact
- Populate template and write report
Output: Report path, overall NFR score/status, category scores, total gaps breakdown (P0/P1/P2), report size
See: references/templates.md#step-7-overall-nfr-scoring-formula for complete formula and examples, nfr-scoring.md for methodology, nfr-gaps.md for gap categorization
Step 8: Present Summary to User
Purpose: Provide concise summary with key metrics, critical gaps, quality gate impact, and recommended next steps.
Actions:
- Display formatted summary: Task metadata, overall NFR score/status, category scores (6), critical gaps (P0), high gaps (P1), quality gate impact + reasoning, actionable recommendations with time estimates, report path
- Suggest next steps: Review report, prioritize P0 gaps, create tickets for P1 gaps, re-run after fixes, proceed to quality-gate when ≥75%
- Emit telemetry
Output: Complete formatted summary with scores, gaps, quality gate prediction, recommendations, next steps
See: references/templates.md#step-8-complete-user-summary-format for full formatted output, nfr-examples.md for examples
Integration with Other Skills
Integration with risk-profile: Security/performance/reliability risks from risk profile inform NFR assessment priorities and amplify gap severity (e.g., HIGH gap + HIGH risk = CRITICAL P0)
Integration with trace-requirements: Implementation evidence validates NFR implementation; NFR gaps feed back as coverage gaps in traceability matrix
Integration with test-design: Performance/load/security test specifications inform corresponding NFR category assessments
Integration with quality-gate: Overall NFR score + category scores + critical gaps feed into quality gate decision (≥90%: PASS-excellent, 75-89%: PASS-good, 60-74%: CONCERNS, <60%: FAIL; Security/Reliability <50%: production blocker)
See: references/templates.md#integration-examples for detailed integration workflows and decision logic
Best Practices
Run NFR assessment before quality gate | Integrate automated checks (security, linting, coverage) | Document evidence thoroughly (file paths, line numbers, snippets) | Prioritize Security and Reliability (production blockers) | Set measurable thresholds in config | Re-run after fixes to validate | Customize category weights per project | Review with stakeholders (cross-functional decisions)
References
-
templates.md - All output formats, complete examples, scoring formulas, integration workflows, JSON structures
-
nfr-categories.md - Detailed assessment criteria for all 6 NFR categories with examples and thresholds
-
nfr-scoring.md - Scoring methodology, weighting formulas, status thresholds, automated check integration
-
nfr-gaps.md - Gap identification, severity levels (CRITICAL/HIGH/MEDIUM), prioritization (P0/P1/P2), remediation guidance
-
nfr-examples.md - Complete example assessments, evidence formats, benchmarks, summary outputs
NFR Assessment skill - Version 2.0 - Minimal V2 Architecture