Skip to content

feat(skills): merge Phase 1+2 into automated codebase analysis step#35

Open
pmTouchedTheCode wants to merge 1 commit intomainfrom
feat/push-notification-designer-auto-profile
Open

feat(skills): merge Phase 1+2 into automated codebase analysis step#35
pmTouchedTheCode wants to merge 1 commit intomainfrom
feat/push-notification-designer-auto-profile

Conversation

@pmTouchedTheCode
Copy link
Contributor

@pmTouchedTheCode pmTouchedTheCode commented Feb 21, 2026

Summary

  • Replaces the 5-phase conversational flow in push-notification-designer with a 4-step flow
  • Merges Phase 1 (user interview) and Phase 2 (build JSON) into Step 1: Analyze the Codebase and Build the App Profile — the agent now reads the codebase silently and auto-fills the app profile without asking questions or requesting confirmation
  • Renames all "Phase" → "Step" and renumbers across SKILL.md, json-schemas.md, platform-guides.md, and app-profile.schema.json
  • Removes "ask the user to share their project" from the implementation step since the codebase is already analyzed in Step 1

Test plan

  • Grep confirms zero remaining "Phase" references in the skill directory
  • JSON schema validates successfully after edit
  • npm run generate-llms regenerates the index without errors
  • npm test passes (pre-existing bash substitution failures in validate-skill-location are unrelated)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Restructured push-notification design workflow from 5 phases to 4 steps for improved clarity and simplified navigation.
    • Enhanced documentation with more action-oriented guidance and explicit structured extraction instructions.
    • Introduced codebase-first approach to the workflow with clearer step-based progression.
    • Aligned all workflow references and process guidance to the new step-based structure.

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>
@pmTouchedTheCode pmTouchedTheCode self-assigned this Feb 21, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 21, 2026

Walkthrough

The 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

Cohort / File(s) Summary
Main skill documentation
skills/push-notification-designer/SKILL.md
Replaced 5-phase narrative with 4-step workflow; updated all Phase 1–5 references to Step 1–4; refactored guidance to emphasize automated codebase analysis and action-oriented progression; introduced structured extraction table and adjusted campaign design rules with character limits; condensed workflow sequencing.
Schema and reference documentation
skills/push-notification-designer/references/json-schemas.md, platform-guides.md, schemas/app-profile.schema.json
Updated terminology from Phase/Step references to Step 1/Step 2 nomenclature; adjusted app profile and campaign initialization references; modified schema descriptions to reflect step-based workflow sequencing.

Possibly related PRs

Suggested reviewers

  • pitzcarraldo
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: merging Phase 1+2 into an automated codebase analysis step (now Step 1), which is the primary refactoring across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/push-notification-designer-auto-profile

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟡 Minor

YAML frontmatter is missing required fields and has two malformed values

The coding guidelines for skills/*/SKILL.md mandate all five of these fields:

Field Required form Current state
name clix-<kebab-case> push-notification-designer — missing clix- prefix
display-name Title Case string absent
short-description one-liner absent
description 2–3 lines 8 lines
user-invocable boolean 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.md frontmatter must contain: name (clix-), display-name (Title Case), short-description, description (2-3 lines), and user-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 | 🟡 Minor

Stale "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 (Phase with 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 | 🟠 Major

Update flutter_local_notifications and timezone to current stable versions.

The versions in this guide are behind current releases. flutter_local_notifications has reached 20.1.0 (from the pinned ^18.0.0), and timezone is at 0.11.0 (from ^0.10.0). The jump from v18 to v19+ includes breaking changes: Android compileSdk bumped 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants