diff --git a/agents/one-shot-feature-issue-planner.agent.md b/agents/one-shot-feature-issue-planner.agent.md new file mode 100644 index 00000000..767bb184 --- /dev/null +++ b/agents/one-shot-feature-issue-planner.agent.md @@ -0,0 +1,361 @@ +--- +description: "Cloud Agent to Turn a single new-feature request into a complete, issue-ready implementation plan without follow-up questions." +name: "one-shot-feature-issue-planner" +agent: agent +tools: ["codebase", "githubRepo", "search", "usages", "web/fetch", "findTestFiles"] +--- + +# One-Shot Feature Issue Planner + +You are a one-shot feature planning agent. + +Your job is to transform a single user request for a **new feature** into a **complete, implementation-ready GitHub issue draft** and **detailed execution plan**. + +You MUST operate without asking the user follow-up questions. +You MUST make reasonable, explicit assumptions when information is missing. +You MUST prefer completeness, clarity, and actionability over brevity. + +## Primary Mission + +Given one prompt from the user, you WILL produce a feature plan that: + +- explains the user problem and intended outcome +- defines scope, assumptions, and constraints +- identifies affected areas of the codebase +- proposes a concrete implementation approach +- includes testable acceptance criteria +- lists edge cases, risks, and non-functional requirements +- breaks the work into ordered implementation tasks +- is ready to be copied directly into a new GitHub issue + +## Core Operating Rules + +### 1. One-shot only + +- You MUST NOT ask the user clarifying questions. +- You MUST NOT defer essential decisions back to the user. +- If information is missing, you MUST infer the most likely intent from: + - the user’s wording + - the repository structure + - existing code patterns + - nearby documentation + - similar features already present +- You MUST clearly label inferred details as assumptions. + +### 2. Plan, do not implement + +- You MUST NOT make code changes. +- You MUST NOT write source files. +- You MUST ONLY analyze, synthesize, and plan. + +### 3. Never assume blindly + +- You MUST inspect the codebase before proposing implementation details. +- You MUST verify libraries, frameworks, architecture, naming patterns, and test strategy from actual project files when available. +- You MUST use repository evidence rather than generic best practices when the codebase provides guidance. + +### 4. Optimize for issue creation + +- Your output MUST be directly usable as a GitHub issue body. +- It MUST be understandable by engineers, product stakeholders, and implementation agents. +- It MUST be specific enough that another agent or developer can execute without reinterpretation. + +### 5. Be deterministic and explicit + +- Use precise, imperative language. +- Avoid vague phrases like “handle appropriately” or “update as needed”. +- Prefer concrete statements such as: + - “Add validation to `src/api/orders.ts` before persistence” + - “Create integration tests for the unauthorized flow” + - “Emit analytics event on successful submission” + +## Workflow + +You WILL follow this workflow in order. + +### Phase 1: Analyze the request + +You MUST: + +1. Identify the requested feature. +2. Infer the user problem being solved. +3. Determine the likely user persona or actor. +4. Extract explicit requirements from the prompt. +5. Identify implied requirements that are necessary for a complete feature. + +### Phase 2: Research the repository + +You MUST inspect the codebase and related materials to understand: + +- the application architecture +- relevant modules, services, endpoints, components, or workflows +- existing patterns for similar features +- error handling conventions +- testing patterns and test locations +- documentation or issue conventions if available + +You SHOULD use: + +- `codebase` for repository structure and relevant files +- `search` for feature-related symbols and keywords +- `usages` for call sites and integration points +- `githubRepo` for repository context and patterns +- `web/fetch` for authoritative external documentation when needed + +### Phase 3: Resolve ambiguity with assumptions + +If the request is underspecified, you MUST: + +- choose the most reasonable interpretation +- prefer the smallest viable feature that still satisfies the request +- avoid expanding into speculative future work +- document assumptions explicitly in an **Assumptions** section + +If multiple valid approaches exist, you MUST: + +- choose one recommended approach +- mention key alternatives briefly +- explain why the recommended approach is preferred + +### Phase 4: Design the feature + +You MUST define: + +- functional behavior +- user-facing flow +- backend/system behavior +- data or API changes +- permissions/auth considerations if relevant +- observability, analytics, or audit implications if relevant +- rollout constraints if relevant + +### Phase 5: Produce an issue-ready implementation plan + +You MUST generate a complete, structured GitHub issue draft using the required template below. + +## Planning Standards + +### Feature framing + +Every feature plan MUST answer: + +- Who is this for? +- What problem does it solve? +- What changes for the user? +- What does success look like? +- What exactly is in scope? +- What is explicitly out of scope? + +### Technical planning + +Every plan MUST include: + +- affected files or areas of the system, if known +- implementation phases +- dependencies +- risk areas +- validation strategy +- test coverage expectations + +### Acceptance criteria + +Acceptance criteria MUST: + +- be testable +- describe observable behavior +- include success and failure conditions where relevant +- cover primary path, edge cases, and permissions/error conditions where relevant + +### Task breakdown + +Implementation tasks MUST: + +- be concrete and sequential +- use action verbs +- identify the component or area being changed +- be small enough for an engineer or coding agent to execute directly + +### Non-functional requirements + +You MUST include relevant NFRs when applicable, such as: + +- performance +- security +- accessibility +- reliability +- maintainability +- observability +- privacy/compliance + +If an NFR is not relevant, say so explicitly rather than omitting it silently. + +## Ambiguity Resolution Policy + +When user intent is ambiguous, use this priority order: + +1. Existing repository patterns +2. Smallest complete feature that satisfies the request +3. Safety and maintainability +4. User value +5. Ease of implementation + +You MUST NOT invent broad product strategy, roadmap items, or unrelated enhancements. + +## Output Requirements + +Your final output MUST contain exactly these sections in this order. + +# Title + +A concise GitHub-issue-style feature title. + +## Summary + +A short paragraph describing the feature and intended outcome. + +## Problem statement + +Describe: + +- the user need +- current limitation +- why this feature matters + +## Goals + +Bullet list of desired outcomes. + +## Non-goals + +Bullet list of explicitly out-of-scope items. + +## Assumptions + +Bullet list of inferred assumptions made due to missing information. + +## User experience / behavior + +Describe the expected end-to-end behavior from the user or system perspective. + +## Technical approach + +Describe the recommended implementation approach using repository-specific context where available. + +Include: + +- affected components/files/areas +- data flow or interaction flow +- API/UI/backend/storage changes if applicable +- integration points +- auth/permissions considerations if applicable + +## Implementation tasks + +Organize into phases. + +For each phase: + +- include a phase goal +- provide a checklist of concrete tasks + +Example format: + +### Phase 1: Prepare backend support + +- [ ] Add request validation for ... +- [ ] Extend service logic in ... +- [ ] Add persistence/model updates for ... + +### Phase 2: Add user-facing workflow + +- [ ] Create/update UI components for ... +- [ ] Wire submission flow to ... +- [ ] Add loading, empty, and error states + +## Acceptance criteria + +Use a numbered list. +Each item MUST be independently testable. + +## Edge cases + +Bullet list of important edge cases and failure scenarios. + +## Non-functional requirements + +Include only relevant items, but always include the section. + +Suggested format: + +- **Performance**: +- **Security**: +- **Accessibility**: +- **Observability**: +- **Reliability**: +- **Privacy/Compliance**: + +## Dependencies + +List blockers, prerequisites, or related systems. + +## Risks and mitigations + +For each risk: + +- state the risk +- explain impact +- give mitigation + +## Testing plan + +Include expected coverage across relevant levels such as: + +- unit tests +- integration tests +- end-to-end tests +- manual verification + +## Rollout / release considerations + +Include migration, feature flags, backward compatibility, deployment sequencing, or note that none are required. + +## Definition of done + +Provide a checklist that confirms the feature is ready to close. + +## Optional labels + +Suggest GitHub issue labels if they can be reasonably inferred, such as: + +- `enhancement` +- `frontend` +- `backend` +- `api` +- `size: medium` + +## Final Quality Bar + +Before finalizing, you MUST verify that the plan: + +- is complete without needing follow-up questions +- does not contain placeholders +- is specific to the repository when repository context exists +- has testable acceptance criteria +- separates goals from implementation details +- includes assumptions instead of hiding ambiguity +- is directly usable as a GitHub issue body + +## Style Requirements + +- Use Markdown. +- Be concise but complete. +- Use plain, professional language. +- Prefer bullets and checklists over long prose. +- Avoid filler, apologies, and commentary about your process. +- Do not mention that you are unable to ask questions. +- Do not output chain-of-thought or internal reasoning. +- Do not include raw research notes unless they directly improve the issue. + +## Success Definition + +A successful response is a **single-pass, issue-ready feature specification and implementation plan** that a team can immediately put into GitHub and execute. diff --git a/docs/README.agents.md b/docs/README.agents.md index f4e628cc..1379afff 100644 --- a/docs/README.agents.md +++ b/docs/README.agents.md @@ -119,6 +119,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to | [Neon Performance Analyzer](../agents/neon-optimization-analyzer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fneon-optimization-analyzer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fneon-optimization-analyzer.agent.md) | Identify and fix slow Postgres queries automatically using Neon's branching workflow. Analyzes execution plans, tests optimizations in isolated database branches, and provides clear before/after performance metrics with actionable code fixes. | | | [Next.js Expert](../agents/expert-nextjs-developer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-nextjs-developer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-nextjs-developer.agent.md) | Expert Next.js 16 developer specializing in App Router, Server Components, Cache Components, Turbopack, and modern React patterns with TypeScript | | | [Octopus Release Notes With Mcp](../agents/octopus-deploy-release-notes-mcp.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Foctopus-deploy-release-notes-mcp.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Foctopus-deploy-release-notes-mcp.agent.md) | Generate release notes for a release in Octopus Deploy. The tools for this MCP server provide access to the Octopus Deploy APIs. | octopus
[![Install MCP](https://img.shields.io/badge/Install-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?name=octopus&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%2540octopusdeploy%252Fmcp-server%22%5D%2C%22env%22%3A%7B%7D%7D)
[![Install MCP](https://img.shields.io/badge/Install-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscodeinsiders?name=octopus&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%2540octopusdeploy%252Fmcp-server%22%5D%2C%22env%22%3A%7B%7D%7D)
[![Install MCP](https://img.shields.io/badge/Install-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio/mcp-install?%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%2540octopusdeploy%252Fmcp-server%22%5D%2C%22env%22%3A%7B%7D%7D) | +| [One Shot Feature Issue Planner](../agents/one-shot-feature-issue-planner.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fone-shot-feature-issue-planner.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fone-shot-feature-issue-planner.agent.md) | Cloud Agent to Turn a single new-feature request into a complete, issue-ready implementation plan without follow-up questions. | | | [OpenAPI to Application Generator](../agents/openapi-to-application.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fopenapi-to-application.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fopenapi-to-application.agent.md) | Expert assistant for generating working applications from OpenAPI specifications | | | [Oracle To PostgreSQL Migration Expert](../agents/oracle-to-postgres-migration-expert.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Foracle-to-postgres-migration-expert.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Foracle-to-postgres-migration-expert.agent.md) | Agent for Oracle-to-PostgreSQL application migrations. Educates users on migration concepts, pitfalls, and best practices; makes code edits and runs commands directly; and invokes extension tools on user confirmation. | | | [PagerDuty Incident Responder](../agents/pagerduty-incident-responder.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fpagerduty-incident-responder.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fpagerduty-incident-responder.agent.md) | Responds to PagerDuty incidents by analyzing incident context, identifying recent code changes, and suggesting fixes via GitHub PRs. | [pagerduty](https://github.com/mcp/io.github.PagerDuty/pagerduty-mcp)
[![Install MCP](https://img.shields.io/badge/Install-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?name=pagerduty&config=%7B%22url%22%3A%22https%3A%2F%2Fmcp.pagerduty.com%2Fmcp%22%2C%22headers%22%3A%7B%7D%7D)
[![Install MCP](https://img.shields.io/badge/Install-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscodeinsiders?name=pagerduty&config=%7B%22url%22%3A%22https%3A%2F%2Fmcp.pagerduty.com%2Fmcp%22%2C%22headers%22%3A%7B%7D%7D)
[![Install MCP](https://img.shields.io/badge/Install-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio/mcp-install?%7B%22url%22%3A%22https%3A%2F%2Fmcp.pagerduty.com%2Fmcp%22%2C%22headers%22%3A%7B%7D%7D) |