{"slug":"dotnet-mcaf-nfr","title":"dotnet-mcaf-nfr","summary":"Apply MCAF non-functional-requirements guidance to capture or refine explicit quality attributes such as accessibility, reliability, scalability, maintainability, performance, and compliance. Use when a feature or architecture change needs explicit quality attributes and trade-of","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-27T21:00:34.931296Z","repo":{"url":"https://github.com/Postpartum-genushyacinthus29/dotnet-skills","stars":12,"forks":1,"license":"MIT","updatedAt":"2026-09-27T19:34:14Z"},"bodyHtml":"<hr>\n<h2>name: dotnet-mcaf-nfr\nversion: \"1.0.0\"\ncategory: \"Architecture\"\ndescription: \"Apply MCAF non-functional-requirements guidance to capture or refine explicit quality attributes such as accessibility, reliability, scalability, maintainability, performance, and compliance. Use when a feature or architecture change needs explicit quality attributes and trade-offs.\"\ncompatibility: \"Requires repository access when NFRs are documented in feature docs, ADRs, or architecture docs.\"</h2>\n<h1>MCAF: Non-Functional Requirements</h1>\n<h2>Trigger On</h2>\n<ul>\n<li>a feature or architecture change needs explicit quality attributes</li>\n<li>a team is using vague words like \"fast\", \"reliable\", or \"secure\" without measurable meaning</li>\n<li>docs, ADRs, and tests are out of sync on quality expectations</li>\n</ul>\n<h2>Value</h2>\n<ul>\n<li>produce a concrete project delta: code, docs, config, tests, CI, or review artifact</li>\n<li>reduce ambiguity through explicit planning, verification, and final validation skills</li>\n<li>leave reusable project context so future tasks are faster and safer</li>\n</ul>\n<h2>Do Not Use For</h2>\n<ul>\n<li>generic architecture or feature writing with no quality-attribute decision</li>\n<li>loading all NFR references at once</li>\n</ul>\n<h2>Inputs</h2>\n<ul>\n<li>the changed feature, boundary, or rollout path</li>\n<li>the quality attributes that materially affect it</li>\n<li>current docs, ADRs, tests, and ops expectations</li>\n</ul>\n<h2>Quick Start</h2>\n<ol>\n<li>Read the nearest <code>AGENTS.md</code> and confirm scope and constraints.</li>\n<li>Run this skill's <code>Workflow</code> through the <code>Ralph Loop</code> until outcomes are acceptable.</li>\n<li>Return the <code>Required Result Format</code> with concrete artifacts and verification evidence.</li>\n</ol>\n<h2>Workflow</h2>\n<ol>\n<li>Decide which quality attributes materially affect the change.</li>\n<li>Turn vague goals into explicit requirements, constraints, or testable expectations.</li>\n<li>Link NFRs to feature docs, ADRs, and verification when they affect design or rollout.</li>\n<li>Use only the specific reference files that match the active quality attribute.</li>\n</ol>\n<h2>Deliver</h2>\n<ul>\n<li>explicit NFRs for the changed area</li>\n<li>docs or ADRs that describe measurable quality attributes</li>\n<li>better alignment between architecture, testing, and operations</li>\n</ul>\n<h2>Validate</h2>\n<ul>\n<li>each chosen NFR is measurable or at least falsifiable</li>\n<li>the selected attributes are the ones that actually drive design trade-offs</li>\n<li>verification and operational expectations are linked where needed</li>\n</ul>\n<h2>Ralph Loop</h2>\n<p>Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.</p>\n<ol>\n<li>Brainstorm first (mandatory):\n<ul>\n<li>analyze current state</li>\n<li>define the problem, target outcome, constraints, and risks</li>\n<li>generate options and think through trade-offs before committing</li>\n<li>capture the recommended direction and open questions</li>\n</ul>\n</li>\n<li>Plan second (mandatory):\n<ul>\n<li>write a detailed execution plan from the chosen direction</li>\n<li>list final validation skills to run at the end, with order and reason</li>\n</ul>\n</li>\n<li>Execute one planned step and produce a concrete delta.</li>\n<li>Review the result and capture findings with actionable next fixes.</li>\n<li>Apply fixes in small batches and rerun the relevant checks or review steps.</li>\n<li>Update the plan after each iteration.</li>\n<li>Repeat until outcomes are acceptable or only explicit exceptions remain.</li>\n<li>If a dependency is missing, bootstrap it or return <code>status: not_applicable</code> with explicit reason and fallback path.</li>\n</ol>\n<h3>Required Result Format</h3>\n<ul>\n<li><code>status</code>: <code>complete</code> | <code>clean</code> | <code>improved</code> | <code>configured</code> | <code>not_applicable</code> | <code>blocked</code></li>\n<li><code>plan</code>: concise plan and current iteration step</li>\n<li><code>actions_taken</code>: concrete changes made</li>\n<li><code>validation_skills</code>: final skills run, or skipped with reasons</li>\n<li><code>verification</code>: commands, checks, or review evidence summary</li>\n<li><code>remaining</code>: top unresolved items or <code>none</code></li>\n</ul>\n<p>For setup-only requests with no execution, return <code>status: configured</code> and exact next commands.</p>\n<h2>Load References</h2>\n<ul>\n<li>pick only the exact file for the active NFR: accessibility, reliability, performance, scalability, compliance, maintainability, and so on</li>\n</ul>\n<h2>Example Requests</h2>\n<ul>\n<li>\"Make the non-functional requirements explicit for this feature.\"</li>\n<li>\"Turn vague reliability goals into real constraints.\"</li>\n<li>\"Document performance and compliance expectations for this service.\"</li>\n</ul>\n","files":[{"path":"references/accessibility.md","sizeBytes":422,"isText":true},{"path":"references/availability.md","sizeBytes":354,"isText":true},{"path":"references/capacity.md","sizeBytes":312,"isText":true},{"path":"references/compliance.md","sizeBytes":3888,"isText":true},{"path":"references/data-integrity.md","sizeBytes":3434,"isText":true},{"path":"references/disaster-recovery.md","sizeBytes":324,"isText":true},{"path":"references/internationalization.md","sizeBytes":3009,"isText":true},{"path":"references/interoperability.md","sizeBytes":1779,"isText":true},{"path":"references/maintainability.md","sizeBytes":374,"isText":true},{"path":"references/performance.md","sizeBytes":285,"isText":true},{"path":"references/portability.md","sizeBytes":3363,"isText":true},{"path":"references/reliability.md","sizeBytes":327,"isText":true},{"path":"references/scalability.md","sizeBytes":1703,"isText":true},{"path":"references/usability.md","sizeBytes":3602,"isText":true},{"path":"SKILL.md","sizeBytes":4133,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-27T21:02:42.0696Z","sha256":"193D25B28255046DA16475EFF487E9E4616D46F4F26B0B2CE68C3CFEF1E26AA5","sizeBytes":14049},"review":null,"source":{"repositoryUrl":"https://github.com/Postpartum-genushyacinthus29/dotnet-skills","path":"skills/dotnet-mcaf-nfr","license":"MIT","commit":"bfa4ebd86f6bd674800f209ebf72ca770c2f026b","subtreeSha":"31FA496A1DB89FB0322D054FD4C493EBDF0162C0494DF42037B818E9A167ADAB","lastSyncedAt":"2026-09-27T21:00:28.368219Z"},"reviewedAt":"2026-09-27T21:11:46.959655Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/Postpartum-genushyacinthus29/dotnet-skills/tree/main/skills/dotnet-mcaf-nfr"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install postpartum-genushyacinthus29-dotnet-skills@llmmart"},{"target":"git","command":"git clone https://github.com/Postpartum-genushyacinthus29/dotnet-skills.git"}]}