feat(skills): merge Phase 1+2 into automated codebase analysis step#35
feat(skills): merge Phase 1+2 into automated codebase analysis step#35pmTouchedTheCode wants to merge 1 commit intomainfrom
Conversation
Replace the 5-phase conversational flow with a 4-step flow where Step 1 automatically reads the user's codebase to build the app profile instead of interviewing the user. The agent now extracts app name, platform, category, user journeys, personalization variables, and existing notifications directly from code — no questions asked, no confirmation needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
WalkthroughThe push-notification-designer skill documentation undergoes a comprehensive workflow restructuring, transitioning from a 5-phase narrative to a 4-step process. All phase references are systematically replaced with step terminology, accompanied by updated guidance, reordered procedures, and a more action-oriented codebase-first approach. Changes
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Updates the push-notification-designer skill to replace the prior multi-phase conversational flow with a 4-step process where Step 1 performs silent codebase analysis and generates the app profile automatically.
Changes:
- Renames “Phase” → “Step” across the skill docs and schema descriptions, and renumbers the flow to 4 steps.
- Updates Step 1 guidance to analyze the codebase directly (no user interview/confirmation) and produce
.clix-campaigns/app-profile.json. - Adjusts implementation guidance to rely on Step 1 analysis instead of asking the user to share the project.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| skills/push-notification-designer/references/schemas/app-profile.schema.json | Updates campaigns field description to match Step 1/Step 2 flow. |
| skills/push-notification-designer/references/platform-guides.md | Updates reference from Phase 5 to Step 4. |
| skills/push-notification-designer/references/json-schemas.md | Updates validation/app-profile narrative to Step 1/Step 2 terminology. |
| skills/push-notification-designer/SKILL.md | Converts the skill workflow to 4 steps and rewrites Step 1 as codebase analysis + app profile generation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| These schemas enforce strict rules: required fields, value types, string patterns (kebab-case IDs, snake_case events), length limits (title ≤ 35 chars, body ≤ 90 chars), array bounds (2–5 messages per campaign, 1–4 user journeys), and no extra properties. | ||
|
|
||
| After generating the app profile JSON in Phase 2 and adding campaigns in Phase 3, validate the output against these schemas before presenting to the user. If validation fails, fix the issues and re-validate. | ||
| After generating the app profile JSON in Step 1 and adding campaigns in Step 2, validate the output against these schemas before presenting to the user. If validation fails, fix the issues and re-validate. |
There was a problem hiding this comment.
This paragraph uses the new Step terminology, but the schema list above still says the app profile validates "(all phases)". Please update that bullet to use "steps" (or remove the parenthetical) to keep terminology consistent and to match the PR description about removing Phase references.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
skills/push-notification-designer/SKILL.md (1)
1-11:⚠️ Potential issue | 🟡 MinorYAML frontmatter is missing required fields and has two malformed values
The coding guidelines for
skills/*/SKILL.mdmandate all five of these fields:
Field Required form Current state nameclix-<kebab-case>push-notification-designer— missingclix-prefixdisplay-nameTitle Case string absent short-descriptionone-liner absent description2–3 lines 8 lines user-invocableboolean absent 🛠️ Proposed frontmatter fix
--- -name: push-notification-designer -description: > - Design and implement local push notification campaigns to boost user engagement in mobile apps. - Use this skill whenever the user mentions local push notifications, in-app notifications, - user engagement campaigns, retention messaging, re-engagement nudges, or wants to add - scheduled notifications to their app. Also trigger when the user asks about notification - timing strategies, onboarding notification flows, or workout/habit/goal reminder systems. - Covers iOS (Swift/UNUserNotificationCenter), Android (Kotlin/WorkManager+NotificationManager), - Flutter (flutter_local_notifications), and React Native (notifee/expo-notifications). +name: clix-push-notification-designer +display-name: Push Notification Designer +short-description: Design and implement local push notification campaigns to boost user engagement in mobile apps. +description: > + Design and implement on-device push notification campaigns for iOS, Android, Flutter, and React Native. + Covers campaign strategy, scheduling, personalization, and code generation without requiring a backend server. +user-invocable: true ---As per coding guidelines,
skills/*/SKILL.mdfrontmatter must contain:name(clix-),display-name(Title Case),short-description,description(2-3 lines), anduser-invocable(boolean).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/push-notification-designer/SKILL.md` around lines 1 - 11, Update the YAML frontmatter in SKILL.md to include all required fields and correct malformed values: change `name` to the clix- prefixed kebab form (e.g., clix-push-notification-designer), add `display-name` in Title Case (e.g., Push Notification Designer), add a one-line `short-description`, trim `description` to 2–3 lines, and add the boolean `user-invocable` field; ensure the keys are present at the top YAML block and that `description` content is condensed to meet the guidelines.skills/push-notification-designer/references/json-schemas.md (1)
9-9:⚠️ Potential issue | 🟡 MinorStale "phases" wording survived the rename.
Line 9 still reads
"validates the complete app profile (all phases)". While lowercase "phases" wasn't targeted by the grep check (Phasewith capital P), it may be confusing alongside the newly-introduced Step terminology elsewhere in the file.✏️ Suggested wording
-**`app-profile.schema.json`** — validates the complete app profile (all phases) +**`app-profile.schema.json`** — validates the complete app profile (all steps)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/push-notification-designer/references/json-schemas.md` at line 9, Update the description for app-profile.schema.json to remove the stale "phases" wording and use the new terminology — replace "validates the complete app profile (all phases)" with wording that mentions "steps" or "all steps" (e.g., "validates the complete app profile (all steps)") so it matches the newly introduced Step terminology; locate the string in the documentation entry for app-profile.schema.json and change only the parenthetical term while keeping the rest of the sentence intact.skills/push-notification-designer/references/platform-guides.md (1)
248-250:⚠️ Potential issue | 🟠 MajorUpdate
flutter_local_notificationsandtimezoneto current stable versions.The versions in this guide are behind current releases.
flutter_local_notificationshas reached 20.1.0 (from the pinned ^18.0.0), andtimezoneis at 0.11.0 (from ^0.10.0). The jump from v18 to v19+ includes breaking changes: AndroidcompileSdkbumped to 35, Gradle Plugin to 8.6.0, Java compatibility to Java 11, and core library desugaring to 2.1.4. Since developers copy this snippet directly, stale versions will cause incompatibility with modern Android toolchains and miss critical fixes.📦 Suggested version bump
dependencies: - flutter_local_notifications: ^18.0.0 - timezone: ^0.10.0 + flutter_local_notifications: ^20.1.0 + timezone: ^0.11.0🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/push-notification-designer/references/platform-guides.md` around lines 248 - 250, Update the pinned package versions in the dependency block by bumping flutter_local_notifications to 20.1.0 and timezone to 0.11.0; then update related Android/tooling guidance in the same guide to reflect the breaking changes introduced in v19+/v20 (increase Android compileSdk to 35, upgrade Android Gradle Plugin to 8.6.0, set Java compatibility to Java 11, and enable core library desugaring 2.1.4) so consumers copying the snippet have the correct platform requirements.
🧹 Nitpick comments (1)
skills/push-notification-designer/SKILL.md (1)
68-68: Consider adding an implicit correction window before Step 2"Move on to Step 2 immediately" means the user has no recovery path if extraction was incorrect (wrong category, incomplete user journeys, etc.) — Step 2 will design campaigns on a bad profile. Since the user does see the summary, a one-line prompt like "Reply if anything looks wrong; otherwise I'll move to Step 2" preserves the automated flow for the happy path while enabling correction without adding a hard confirmation gate.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/push-notification-designer/SKILL.md` at line 68, Update SKILL.md to insert a one-line implicit correction prompt after the summary and before "Step 2" so the user can flag extraction errors without blocking flow; specifically add a line such as "Reply if anything looks wrong; otherwise I'll move to Step 2" right after the brief summary instruction, ensuring the skill proceeds automatically if no reply but allows the user to correct category, journeys, or missing details before the design stage.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@skills/push-notification-designer/references/json-schemas.md`:
- Line 9: Update the description for app-profile.schema.json to remove the stale
"phases" wording and use the new terminology — replace "validates the complete
app profile (all phases)" with wording that mentions "steps" or "all steps"
(e.g., "validates the complete app profile (all steps)") so it matches the newly
introduced Step terminology; locate the string in the documentation entry for
app-profile.schema.json and change only the parenthetical term while keeping the
rest of the sentence intact.
In `@skills/push-notification-designer/references/platform-guides.md`:
- Around line 248-250: Update the pinned package versions in the dependency
block by bumping flutter_local_notifications to 20.1.0 and timezone to 0.11.0;
then update related Android/tooling guidance in the same guide to reflect the
breaking changes introduced in v19+/v20 (increase Android compileSdk to 35,
upgrade Android Gradle Plugin to 8.6.0, set Java compatibility to Java 11, and
enable core library desugaring 2.1.4) so consumers copying the snippet have the
correct platform requirements.
In `@skills/push-notification-designer/SKILL.md`:
- Around line 1-11: Update the YAML frontmatter in SKILL.md to include all
required fields and correct malformed values: change `name` to the clix-
prefixed kebab form (e.g., clix-push-notification-designer), add `display-name`
in Title Case (e.g., Push Notification Designer), add a one-line
`short-description`, trim `description` to 2–3 lines, and add the boolean
`user-invocable` field; ensure the keys are present at the top YAML block and
that `description` content is condensed to meet the guidelines.
---
Nitpick comments:
In `@skills/push-notification-designer/SKILL.md`:
- Line 68: Update SKILL.md to insert a one-line implicit correction prompt after
the summary and before "Step 2" so the user can flag extraction errors without
blocking flow; specifically add a line such as "Reply if anything looks wrong;
otherwise I'll move to Step 2" right after the brief summary instruction,
ensuring the skill proceeds automatically if no reply but allows the user to
correct category, journeys, or missing details before the design stage.
Summary
push-notification-designerwith a 4-step flowTest plan
npm run generate-llmsregenerates the index without errorsnpm testpasses (pre-existing bash substitution failures in validate-skill-location are unrelated)🤖 Generated with Claude Code
Summary by CodeRabbit