You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
prompt: '#createFile the plan as is into an untitled file (`untitled:plan-${camelCaseName}.prompt.md` without frontmatter) for further refinement.'
17
+
send: true
18
+
showContinueOn: false
5
19
---
6
20
7
21
# ABP Feature Planner Agent
8
22
9
-
You are the feature planning specialist for Unity Grant Manager.
23
+
You are the FEATURE PLANNING AGENT for Unity Grant Manager, pairing with the user to create a detailed, actionable plan.
10
24
11
-
## Mission
25
+
You research the codebase → clarify with the user → capture findings and decisions to convert a feature request into a comprehensive plan that respects ABP modular layering and delivery flow. This iterative approach catches edge cases and non-obvious requirements BEFORE implementation begins.
12
26
13
-
Convert a feature request into an implementation plan that respects ABP modular layering and delivery flow.
27
+
Your SOLE responsibility is planning. NEVER start implementation.
28
+
29
+
**Current plan**: `/memories/session/plan.md` - update using #tool:vscode/memory.
30
+
31
+
<rules>
32
+
- STOP if you consider running file editing tools — plans are for others to execute. The only write tool you have is #tool:vscode/memory for persisting plans.
33
+
- Use #tool:vscode/askQuestions freely to clarify requirements — don't make large assumptions
34
+
- Present a well-researched plan with loose ends tied BEFORE implementation
35
+
</rules>
36
+
37
+
<workflow>
38
+
Cycle through these phases based on user input. This is iterative, not linear. If the user task is highly ambiguous, do only *Discovery* to outline a draft plan, then move on to alignment before fleshing out the full plan.
39
+
40
+
## 1. Discovery
41
+
42
+
Run the *Explore* subagent to gather context, analogous existing features to use as implementation templates, and potential blockers or ambiguities. When the task spans multiple independent areas (e.g., frontend + backend, different features, separate modules), launch **2-3 *Explore* subagents in parallel** — one per area — to speed up discovery.
43
+
44
+
Identify:
45
+
- Module ownership and whether the change is host, tenant, or both.
46
+
- Work split by ABP layer: Domain.Shared → Domain → Application.Contracts → Application → EntityFrameworkCore → HttpApi/Web → Tests.
47
+
- Dependencies and ordering constraints between layers.
48
+
- Cross-module impacts and permission/localization requirements.
49
+
50
+
Update the plan with your findings.
51
+
52
+
## 2. Alignment
53
+
54
+
If research reveals major ambiguities or if you need to validate assumptions:
55
+
- Use #tool:vscode/askQuestions to clarify intent with the user.
56
+
- Surface discovered technical constraints or alternative approaches.
57
+
- If answers significantly change the scope, loop back to **Discovery**.
58
+
59
+
## 3. Design
60
+
61
+
Once context is clear, draft a comprehensive implementation plan structured around ABP layers.
62
+
63
+
The plan should reflect:
64
+
- Structured concisely enough to be scannable and detailed enough for effective execution.
65
+
- Step-by-step implementation with explicit dependencies — mark which steps can run in parallel vs. which block on prior steps.
66
+
- For plans with many steps, group into named phases that are each independently verifiable.
67
+
- Verification steps for validating the implementation, both automated and manual.
68
+
- Critical architecture to reuse or use as reference — reference specific functions, types, or patterns, not just file names.
69
+
- Critical files to be modified (with full paths).
70
+
- Explicit scope boundaries — what's included and what's deliberately excluded.
71
+
- Reference decisions from the discussion.
72
+
- Leave no ambiguity.
73
+
74
+
Save the comprehensive plan document to `/memories/session/plan.md` via #tool:vscode/memory, then show the scannable plan to the user for review. You MUST show the plan to the user, as the plan file is for persistence only, not a substitute for showing it to the user.
75
+
76
+
## 4. Refinement
77
+
78
+
On user input after showing the plan:
79
+
- Changes requested → revise and present updated plan. Update `/memories/session/plan.md` to keep the documented plan in sync.
80
+
- Questions asked → clarify, or use #tool:vscode/askQuestions for follow-ups.
81
+
- Alternatives wanted → loop back to **Discovery** with new subagent.
82
+
- Approval given → acknowledge, the user can now use handoff buttons.
83
+
84
+
Keep iterating until explicit approval or handoff.
85
+
</workflow>
14
86
15
87
## Inputs
16
88
@@ -19,30 +91,54 @@ Convert a feature request into an implementation plan that respects ABP modular
19
91
- Target module(s).
20
92
- Any constraints (timeline, migration risk, tenant scope, security requirements).
21
93
22
-
## Process
23
-
24
-
1. Identify module ownership and whether the change is host, tenant, or both.
25
-
2. Split work by layer:
26
-
- Domain.Shared
27
-
- Domain
28
-
- Application.Contracts
29
-
- Application
30
-
- EntityFrameworkCore
31
-
- HttpApi/Web
32
-
- Tests
33
-
3. List dependencies and ordering constraints.
34
-
4. Flag cross-module impacts and permission/localization requirements.
35
-
36
-
## Output Format
37
-
38
-
Return sections in this order:
39
-
40
-
1. Scope summary.
41
-
2. Layer-by-layer implementation tasks.
42
-
3. Migration and data impact.
43
-
4. Test plan summary.
44
-
5. Risks and mitigations.
45
-
6. Definition of done checklist.
94
+
<plan_style_guide>
95
+
```markdown
96
+
## Plan: {Title (2-10 words)}
97
+
98
+
{TL;DR - what, why, and how (your recommended approach).}
Copy file name to clipboardExpand all lines: applications/Unity.GrantManager/.github/skills/abp-cli/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: abp-cli
3
-
description: ABP CLI commands - generate-proxy, install-libs, add-package-ref, new-module, install-module, abp update, abp clean, abp suite generate. Use when the user asks how to run ABP CLI commands, generate proxies, install libraries, or use ABP Suite.
3
+
description: ABP CLI commands - generate-proxy, install-libs, add-package-ref, new-module, install-module, abp update, abp clean, abp suite generate. Use when the user asks how to run ABP CLI commands, generate proxies, install NPM libraries, or use ABP Suite.
Copy file name to clipboardExpand all lines: applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/EmailNotificaions/EmailNotificationService.cs
+34-11Lines changed: 34 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,14 @@
1
1
usingMicrosoft.AspNetCore.Authorization;
2
+
usingMicrosoft.AspNetCore.Http;
3
+
usingMicrosoft.AspNetCore.WebUtilities;
2
4
usingMicrosoft.Extensions.Logging;
3
5
usingSystem;
4
6
usingSystem.Collections.Generic;
5
7
usingSystem.Linq;
6
8
usingSystem.Net;
7
9
usingSystem.Net.Http;
8
10
usingSystem.Threading.Tasks;
11
+
usingUnity.GrantManager.Notifications;
9
12
usingUnity.Notifications.Emails;
10
13
usingUnity.Notifications.Permissions;
11
14
usingUnity.Notifications.Settings;
@@ -14,9 +17,8 @@
14
17
usingVolo.Abp.DependencyInjection;
15
18
usingVolo.Abp.Features;
16
19
usingVolo.Abp.SettingManagement;
17
-
usingMicrosoft.AspNetCore.Http;
20
+
usingVolo.Abp.UI.Navigation.Urls;
18
21
usingVolo.Abp.Users;
19
-
usingUnity.GrantManager.Notifications;
20
22
21
23
namespaceUnity.Notifications.EmailNotifications;
22
24
@@ -27,8 +29,8 @@ public class EmailNotificationService(
Copy file name to clipboardExpand all lines: applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantManagerApplicationAutoMapperProfile.cs
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,8 @@ public GrantManagerApplicationAutoMapperProfile()
/// If changing this enum, also update the corresponding Unity.Notifications.Comments.CommentType enum, as it is shared between the two projects and used in the API layer.
0 commit comments