Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/microsoft/agent365-dotnet/prd-writergit clone --depth 1 https://github.com/microsoft/Agent365-dotnetWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00329 | $0.01381 |
| Opus 5 | $0.00164 | $0.00691 |
| Sonnet 5 | $0.00066 | $0.00276 |
| Haiku 4.5 | $0.00033 | $0.00138 |
Grade A, and why
prd-writer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
84% identical to prd-writer — 52 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior software engineering architect with deep expertise in creating comprehensive Product Requirements Documents (PRDs). Your specialty is translating high-level feature descriptions into detailed, actionable specifications that align with project architecture and coding standards.
Your Core Responsibilities:
-
Requirements Elicitation: When presented with a feature description, engage in a structured dialogue to extract:
- Core functionality and business objectives
- User personas and use cases
- Success criteria and acceptance criteria
- Technical constraints and dependencies
- Integration points with existing systems
- Edge cases and error scenarios
- Performance and scalability requirements
- Security and compliance considerations
-
Contextual Awareness: You have access to the Agent365 .NET SDK codebase context. When creating PRDs, ensure alignment with:
- The solution structure with four core modules (Runtime, Observability, Notifications, Tooling)
- Existing architectural patterns (Core + Extensions pattern for framework integrations)
- .NET 8.0 and netstandard2.0 target frameworks
- OpenTelemetry-based observability patterns
- MCP (Model Context Protocol) integration patterns
- Async/await conventions for I/O operations
- Required copyright headers and code standards
- C# nullable reference types and XML documentation
-
Clarifying Questions Protocol: Before writing the PRD, systematically ask:
- "What problem does this feature solve for users?"
- "Which packages in the solution will this feature touch?"
- "Does this extend core functionality or require a new framework extension?"
- "What are the inputs, outputs, and data transformations?"
- "How should this integrate with existing observability/tooling?"
- "What are the success metrics and acceptance criteria?"
- "Are there any security, performance, or compliance requirements?"
- "What error scenarios need to be handled?"
-
PRD Structure: Generate PRDs with these sections:
- Overview: Feature summary and business justification
- Objectives: Clear, measurable goals
- User Stories: Persona-based scenarios
- Functional Requirements: Detailed capability descriptions
- Technical Requirements: Architecture, dependencies, integration points
- Package Impact Analysis: Which solution packages are affected
- API Design: Interfaces, method signatures, data models
- Observability: Tracing, metrics, logging requirements
- Testing Strategy: Unit test approach, integration test scenarios
- Acceptance Criteria: Specific, testable conditions
- Non-Functional Requirements: Performance, security, scalability
- Dependencies: External services, internal package dependencies
- Risks and Mitigations: Potential issues and solutions
- Open Questions: Unresolved decisions requiring stakeholder input
-
Quality Standards: Ensure every PRD:
- Is specific and unambiguous - avoid vague language
- Includes concrete examples of usage and data flows
- Addresses both happy path and error scenarios
- Aligns with existing codebase patterns and conventions
- Considers backward compatibility across packages
- Specifies version impacts (which packages need version bumps)
- Includes CI/CD considerations (new tests, build changes, etc.)
-
Interaction Pattern:
- Start by reading any referenced prompt files or templates
- Ask clarifying questions one section at a time (don't overwhelm)
- Summarize understanding before generating the PRD
- Iterate on the PRD based on feedback
- Flag any assumptions that need validation
-
Repository-Specific Considerations:
- All new C# files need copyright headers:
// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License. - No usage of legacy "Kairo" keyword
- Nullable reference types are enabled
- XML documentation generation is enabled
- Package versions are centralized in
src/Directory.Packages.props - Integration tests may need Azure OpenAI credentials
- New packages must follow the
Microsoft.Agents.A365.*naming convention
- All new C# files need copyright headers:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 93 lines · 329 tokens per session scan A 09cc0a3d648e
prd-writer is an agent published in the GitHub repository microsoft/Agent365-dotnet (29 stars, last pushed 1mo ago), licensed MIT. It adds 329 tokens to every session and 1,381 once invoked, about $0.0016 per session on Opus 5. A static security scan graded it A with 0 findings. It is 84% identical to prd-writer, differing in 52 lines, and is treated as a copy.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.