Skip to content

feat(skills): add configure-ecc interactive installation wizard#147

Merged
affaan-m merged 1 commit intoaffaan-m:mainfrom
Hor1zonZzz:feat/configure-ecc-skill
Feb 5, 2026
Merged

feat(skills): add configure-ecc interactive installation wizard#147
affaan-m merged 1 commit intoaffaan-m:mainfrom
Hor1zonZzz:feat/configure-ecc-skill

Conversation

@Hor1zonZzz
Copy link

@Hor1zonZzz Hor1zonZzz commented Feb 2, 2026

Summary

  • Add new configure-ecc skill that provides an interactive, step-by-step installation wizard for the ECC project
  • Clones the repo to /tmp, uses AskUserQuestion to let users selectively install skills and rules to user-level (~/.claude/) or project-level (.claude/)
  • Verifies path correctness after installation (especially project-level references to user-level paths)
  • Offers optional optimization of installed files and cleans up /tmp on completion

Test plan

  • Verify skills/configure-ecc/SKILL.md has correct frontmatter (name, description)
  • Confirm the skill catalog lists all current skills accurately
  • Walk through the AskUserQuestion flow mentally to ensure it's executable
  • Test activation via "configure ecc" trigger phrase

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guide for installing and configuring ECC skills and rules, including step-by-step setup instructions, selection workflows, installation verification, and troubleshooting.

Add a new skill that guides users through selective installation of
ECC skills and rules via AskUserQuestion. Clones the repo to /tmp,
lets users choose components and install level (user/project), verifies
path correctness, offers optimization, and cleans up on completion.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

A new SKILL.md file documents an interactive ECC installer with seven steps: repository cloning, installation level selection, skill selection with multi-category support, rule set installation, post-install verification, optional file optimization, and summary reporting, plus troubleshooting guidance.

Changes

Cohort / File(s) Summary
ECC Installation Documentation
skills/configure-ecc/SKILL.md
New file documenting comprehensive interactive installer for Everything Claude Code with step-by-step guidance (Steps 0–6), verification workflows, rule-set handling with consistency warnings, optimization procedures, and troubleshooting reference.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 With whiskers twitching, here's our delight,
A guide for installing with steps done right,
From cloning to skills, each rule in place,
Verification flows keep the setup race!
No more confusion—just follow the hops, 🚀

🚥 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 PR title 'feat(skills): add configure-ecc interactive installation wizard' directly and clearly describes the main change: adding a new interactive installation wizard skill for ECC configuration.
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

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

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8150ccb608

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +55 to +59
- Both: `TARGET_USER=~/.claude`, `TARGET_PROJECT=.claude`

Create the target directories if they don't exist:
```bash
mkdir -p $TARGET/skills $TARGET/rules

Choose a reason for hiding this comment

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

P1 Badge Use both targets when INSTALL_LEVEL is "Both"

When the user chooses "Both", you only set TARGET_USER/TARGET_PROJECT, but the subsequent install commands still use $TARGET (e.g., mkdir -p $TARGET/skills $TARGET/rules). That means $TARGET is unset in the “Both” path, so the directories and later copies run against an empty path (often creating /skills or failing). To avoid a broken “Both” install, the steps here need to branch and create/copy into both targets explicitly or set TARGET appropriately.

Useful? React with 👍 / 👎.

Comment on lines +87 to +91
| `backend-patterns` | Backend architecture, API design, server-side best practices for Node.js/Express/Next.js |
| `coding-standards` | Universal coding standards for TypeScript, JavaScript, React, Node.js |
| `django-patterns` | Django architecture, REST API with DRF, ORM, caching, signals, middleware |
| `django-security` | Django security: auth, CSRF, SQL injection, XSS prevention |
| `django-tdd` | Django testing with pytest-django, factory_boy, mocking, coverage |

Choose a reason for hiding this comment

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

P2 Badge Remove skills that don’t exist in this repo

The catalog claims 27 skills and lists multiple Django/Spring Boot/Java/Python skills (e.g., django-patterns, django-security, django-tdd) that are not present under skills/ in this repository. If a user selects these, the copy step (cp -r $ECC_ROOT/skills/<skill-name>) will fail and the verification section will produce false errors. The list should match actual directories in skills/ or the installer should dynamically enumerate existing skills.

Useful? React with 👍 / 👎.

@Hor1zonZzz
Copy link
Author

@affaan-m This PR only resolves the installation issues of rules and skills, but does not address the configuration problems related to MCP and slash commands. Therefore, it needs further improvement and can be included in the future TODO plan.

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.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@skills/configure-ecc/SKILL.md`:
- Around line 52-61: When INSTALL_LEVEL="Both" the document sets TARGET_USER and
TARGET_PROJECT but never TARGET, and later steps 2–5 reference $TARGET only;
update the install steps to handle Both by either (A) setting TARGET to a
primary location in the "Both" branch and explicitly performing secondary
actions against TARGET_USER/TARGET_PROJECT, or (B) change steps referenced by
functions/commands that use $TARGET (the copy/install/remove steps in Steps 2–5)
to detect INSTALL_LEVEL="Both" and loop over both TARGET_USER and TARGET_PROJECT
(e.g., iterate targets and perform the existing actions for each). Ensure all
references to TARGET in commands (cp/mkdir/ln/remove operations described in
Steps 2–5) are adjusted to use the chosen approach and clarify which components
go to user vs project targets.
🧹 Nitpick comments (4)
skills/configure-ecc/SKILL.md (4)

81-82: Clarify the skill confirmation flow for large lists.

The instruction to "use AskUserQuestion with an 'Install all listed' option plus 'Other' for the user to paste specific names" is somewhat ambiguous. How would a user "paste specific names" through AskUserQuestion? Consider providing a more concrete example of the question structure and options.

💡 Suggested clarification
-For each selected category, print the full list of skills below and ask the user to confirm or deselect specific ones. If the list exceeds 4 items, print the list as text and use `AskUserQuestion` with an "Install all listed" option plus "Other" for the user to paste specific names.
+For each selected category, print the full list of skills. Then use `AskUserQuestion` with:
+- Option 1: "Install all [count] skills from this category"
+- Option 2: "Let me choose specific skills" — then present a multi-select list of skill names

197-206: Add concrete verification commands for cross-reference checking.

Step 4c describes which dependencies to verify but doesn't provide actual commands to perform these checks, unlike Steps 4a and 4b. This makes it difficult for the implementation to be consistent.

🔍 Suggested verification commands

Add concrete commands after the dependency list:

Verify these dependencies with targeted searches:

```bash
# Check django-tdd → django-patterns reference
if [ -d "$TARGET/skills/django-tdd" ]; then
  grep -q "django-patterns" "$TARGET/skills/django-tdd/SKILL.md" && \
  [ ! -d "$TARGET/skills/django-patterns" ] && \
  echo "⚠️  django-tdd references django-patterns but it's not installed"
fi

# Check springboot-tdd → springboot-patterns reference  
if [ -d "$TARGET/skills/springboot-tdd" ]; then
  grep -q "springboot-patterns" "$TARGET/skills/springboot-tdd/SKILL.md" && \
  [ ! -d "$TARGET/skills/springboot-patterns" ] && \
  echo "⚠️  springboot-tdd references springboot-patterns but it's not installed"
fi

# Check continuous-learning-v2 → homunculus directory
if [ -d "$TARGET/skills/continuous-learning-v2" ]; then
  grep -q "homunculus" "$TARGET/skills/continuous-learning-v2/SKILL.md" && \
  [ ! -d ~/.claude/homunculus ] && \
  echo "ℹ️  continuous-learning-v2 requires ~/.claude/homunculus/ directory"
fi

# Similar checks for python-testing, golang-testing, language-specific rules...

```


</details>

---

`44-44`: **Consider adding language identifiers to code blocks.**

The markdown linter suggests adding language identifiers to fenced code blocks for better rendering. For the pseudo-code/example blocks at these lines, consider using `text` or `yaml` identifiers.



<details>
<summary>📝 Example fix</summary>

```diff
-```
+```text
 Question: "Where should ECC components be installed?"
 Options:
   - "User-level (~/.claude/)" — "Applies to all your Claude Code projects"

Also applies to: 70-70, 146-146, 221-221, 260-260


83-83: Consider using proper markdown headings instead of bold text.

The category labels (e.g., "Category: Framework & Language (16 skills)") at these lines use emphasis/bold rather than proper markdown headings, which may affect rendering and document navigation.

📝 Suggested fix
-**Category: Framework & Language (16 skills)**
+#### Category: Framework & Language (16 skills)

Apply similar changes to lines 104, 112, and 125.

Also applies to: 104-104, 112-112, 125-125

Comment on lines +52 to +61
Store the choice as `INSTALL_LEVEL`. Set the target directory:
- User-level: `TARGET=~/.claude`
- Project-level: `TARGET=.claude` (relative to current project root)
- Both: `TARGET_USER=~/.claude`, `TARGET_PROJECT=.claude`

Create the target directories if they don't exist:
```bash
mkdir -p $TARGET/skills $TARGET/rules
```

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Logic error: "Both" mode not properly handled in subsequent steps.

When the user selects "Both", lines 55-56 set TARGET_USER and TARGET_PROJECT, but do not set TARGET. However, all subsequent steps (2, 3, 4, 5) reference $TARGET exclusively, which will be undefined in "Both" mode, causing installation failures.

🔧 Suggested approach to fix "Both" mode

You need to handle "Both" mode consistently throughout the document. Here are two approaches:

Option 1: Modify Step 1 to set TARGET to a primary location in "Both" mode, then handle the secondary location separately in each step.

- Both: `TARGET_USER=~/.claude`, `TARGET_PROJECT=.claude`
+ Both: `TARGET=~/.claude`, `SECONDARY_TARGET=.claude` (common items to user-level, project-specific to project-level)

Option 2: Update Steps 2-5 to check for "Both" mode and loop through both targets. For example, in Step 2c:

if [ "$INSTALL_LEVEL" = "Both" ]; then
  for TARGET in "$TARGET_USER" "$TARGET_PROJECT"; do
    cp -r $ECC_ROOT/skills/<skill-name> $TARGET/skills/
  done
else
  cp -r $ECC_ROOT/skills/<skill-name> $TARGET/skills/
fi

You'll need to apply similar logic to Steps 3, 4, and 5. Also clarify which components go where in "Both" mode (e.g., common skills to user-level, project-specific to project-level).

🤖 Prompt for AI Agents
In `@skills/configure-ecc/SKILL.md` around lines 52 - 61, When
INSTALL_LEVEL="Both" the document sets TARGET_USER and TARGET_PROJECT but never
TARGET, and later steps 2–5 reference $TARGET only; update the install steps to
handle Both by either (A) setting TARGET to a primary location in the "Both"
branch and explicitly performing secondary actions against
TARGET_USER/TARGET_PROJECT, or (B) change steps referenced by functions/commands
that use $TARGET (the copy/install/remove steps in Steps 2–5) to detect
INSTALL_LEVEL="Both" and loop over both TARGET_USER and TARGET_PROJECT (e.g.,
iterate targets and perform the existing actions for each). Ensure all
references to TARGET in commands (cp/mkdir/ln/remove operations described in
Steps 2–5) are adjusted to use the chosen approach and clarify which components
go to user vs project targets.

Copy link
Owner

@affaan-m affaan-m left a comment

Choose a reason for hiding this comment

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

Automated review: doc-only changes look good. Approving.

Copy link
Owner

@affaan-m affaan-m left a comment

Choose a reason for hiding this comment

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

Approved!

Nice UX improvement! The interactive installation wizard addresses a real pain point.

Highlights:

  • Step-by-step guided setup
  • Uses AskUserQuestion for interactivity
  • Supports both user-level and project-level installation
  • Includes verification and cleanup

Suggestion: Could be great to add this to the README's installation section as an alternative to manual setup.

Thanks for the contribution!

@affaan-m affaan-m merged commit 90ad4ed into affaan-m:main Feb 5, 2026
38 checks passed
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