Skip to content

chore: consolidate skill catalog based on full stocktake audit#1214

Closed
OnoSendai13 wants to merge 2 commits intoaffaan-m:mainfrom
OnoSendai13:cleanup-skill-stocktake-2026-04-03
Closed

chore: consolidate skill catalog based on full stocktake audit#1214
OnoSendai13 wants to merge 2 commits intoaffaan-m:mainfrom
OnoSendai13:cleanup-skill-stocktake-2026-04-03

Conversation

@OnoSendai13
Copy link
Copy Markdown

@OnoSendai13 OnoSendai13 commented Apr 3, 2026

  • Retire continuous-learning (v1) — fully superseded by v2 with confidence scoring, project isolation, and promotion pipeline
  • Retire project-guidelines-example — it's a project-specific template (Zenith), not a reusable skill
  • Retire coding-standards — universal principles merged into rules/common/coding-style.md (KISS, DRY, YAGNI, code smells); language-specific content already covered by frontend-patterns, backend-patterns, and api-design

Reduces skill catalog from ~88 to ~85 entries with zero loss of actionable content.

What Changed

Why This Change

Testing Done

  • Manual testing completed
  • Automated tests pass locally (node tests/run-all.js)
  • Edge cases considered and tested

Type of Change

  • fix: Bug fix
  • feat: New feature
  • refactor: Code refactoring
  • docs: Documentation
  • test: Tests
  • chore: Maintenance/tooling
  • ci: CI/CD changes

Security & Quality Checklist

  • No secrets or API keys committed (ghp_, sk-, AKIA, xoxb, xoxp patterns checked)
  • JSON files validate cleanly
  • Shell scripts pass shellcheck (if applicable)
  • Pre-commit hooks pass locally (if configured)
  • No sensitive data exposed in logs or output
  • Follows conventional commits format

Documentation

  • Updated relevant documentation
  • Added comments for complex logic
  • README updated (if needed)

Summary by cubic

Consolidates the skill catalog by retiring three outdated entries and centralizing universal standards in rules/common/coding-style.md and rules/common/testing.md. Adds TS naming conventions and the AAA testing pattern to prevent any content loss while reducing the catalog from ~88 to ~85 items.

  • Refactors

    • Removed continuous-learning (v1); superseded by v2 with confidence scoring, project isolation, and a promotion pipeline.
    • Removed project-guidelines-example; project-specific template, not a reusable skill.
    • Removed coding-standards; merged KISS/DRY/YAGNI, code smells, and TS naming into rules/common/coding-style.md; added AAA test structure and descriptive test naming examples to rules/common/testing.md.
  • Migration

    • No action required.
    • Use continuous-learning v2 and refer to rules/common/coding-style.md and rules/common/testing.md for universal standards.

Written for commit f5ddc21. Summary will update on new commits.

Summary by CodeRabbit

  • Documentation

    • Expanded coding-style guidance with core principles, naming conventions, and code-smell heuristics.
    • Added mandatory test-authoring guidance recommending AAA structure and descriptive test names.
  • Chores

    • Removed several legacy skill and continuous-learning documentation and related configuration/scripts to streamline docs.

- Retire continuous-learning (v1) — fully superseded by v2 with
  confidence scoring, project isolation, and promotion pipeline
- Retire project-guidelines-example — it's a project-specific template
  (Zenith), not a reusable skill
- Retire coding-standards — universal principles merged into
  rules/common/coding-style.md (KISS, DRY, YAGNI, code smells);
  language-specific content already covered by frontend-patterns,
  backend-patterns, and api-design

Reduces skill catalog from ~88 to ~85 entries with zero loss of
actionable content.

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

coderabbitai bot commented Apr 3, 2026

📝 Walkthrough

Walkthrough

This PR consolidates coding standards by extending rules/common/coding-style.md with Core Principles, Naming Conventions, and Code Smells guidance, and removes several deprecated skill documents and their config/script files under skills/ (coding-standards, continuous-learning, project-guidelines-example).

Changes

Cohort / File(s) Summary
Core Rules Update
rules/common/coding-style.md
Added "Core Principles" (KISS, DRY, YAGNI), "Naming Conventions" for public identifiers, and "Code Smells to Avoid" with heuristics (nesting >4, magic numbers, functions >50 lines).
Removed Skill Docs
skills/coding-standards/SKILL.md, skills/project-guidelines-example/SKILL.md, skills/continuous-learning/SKILL.md
Deleted full skill documentation files (coding standards, project guidelines example, continuous-learning workflow).
Continuous Learning Config & Hook
skills/continuous-learning/config.json, skills/continuous-learning/evaluate-session.sh
Removed continuous-learning configuration and the Bash stop-hook script used to evaluate sessions and emit learned skills.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • affaan-m

Poem

🐰 I hopped through docs both old and new,

Pulled loose the bits that bloomed askew,
Stitched core rules where they belong,
Kept the code tidy, swift, and strong,
A carrot for clarity—cheerful and true 🥕

🚥 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: consolidating the skill catalog by removing three deprecated/redundant skills and merging their content into the rules layer.
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
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch cleanup-skill-stocktake-2026-04-03

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
Copy Markdown
Contributor

@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.

🧹 Nitpick comments (1)
rules/common/coding-style.md (1)

27-27: Consider formalizing wording at Line 27.

“Gonna” is informal for a standards document. Consider: YAGNI (You Aren’t Going to Need It).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@rules/common/coding-style.md` at line 27, Update the heading text "YAGNI (You
Aren't Gonna Need It)" to use formal wording by changing it to "YAGNI (You
Aren’t Going to Need It)"; locate the heading string "YAGNI (You Aren't Gonna
Need It)" in rules/common/coding-style.md and replace the informal contraction
"Gonna" with "Going to" (keeping the YAGNI acronym intact and preserving
punctuation/spacing).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@rules/common/coding-style.md`:
- Line 27: Update the heading text "YAGNI (You Aren't Gonna Need It)" to use
formal wording by changing it to "YAGNI (You Aren’t Going to Need It)"; locate
the heading string "YAGNI (You Aren't Gonna Need It)" in
rules/common/coding-style.md and replace the informal contraction "Gonna" with
"Going to" (keeping the YAGNI acronym intact and preserving
punctuation/spacing).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 645f087a-15fc-49e7-9675-a3ba89bb32bb

📥 Commits

Reviewing files that changed from the base of the PR and between 5df943e and d34ab99.

📒 Files selected for processing (6)
  • rules/common/coding-style.md
  • skills/coding-standards/SKILL.md
  • skills/continuous-learning/SKILL.md
  • skills/continuous-learning/config.json
  • skills/continuous-learning/evaluate-session.sh
  • skills/project-guidelines-example/SKILL.md
💤 Files with no reviewable changes (5)
  • skills/continuous-learning/config.json
  • skills/project-guidelines-example/SKILL.md
  • skills/coding-standards/SKILL.md
  • skills/continuous-learning/evaluate-session.sh
  • skills/continuous-learning/SKILL.md

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 6 files

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 3, 2026

Greptile Summary

This PR consolidates the skill catalog by retiring three outdated entries — continuous-learning v1, project-guidelines-example (Zenith template), and coding-standards — while migrating the universally applicable content (KISS/DRY/YAGNI, naming conventions, code smells, AAA test structure) into rules/common/coding-style.md and rules/common/testing.md.

  • continuous-learning v1 retirement is fully justified: continuous-learning-v2 exists in the repo with confidence scoring, project isolation, and a promotion pipeline.
  • coding-standards content was cleanly redistributed: principles to coding-style.md, test structure to testing.md, language-specific patterns left to frontend-patterns/backend-patterns/api-design.
  • project-guidelines-example deletion is correct, but the test naming examples added to testing.md were pulled from that same Zenith-specific template — introducing domain-specific references (OpenAI API key is missing, markets match query, Redis unavailable) into what is meant to be a universal rule file.

Confidence Score: 5/5

Safe to merge; only documentation/skill files are changed with no runtime impact.

All findings are P2 (style-level suggestions on example text). The deletions are well-justified, the content migration is accurate, and no actionable guidance is lost. The single remaining concern — Zenith-specific examples in testing.md — is cosmetic and does not affect correctness.

rules/common/testing.md — the 'good' test naming examples should be swapped for domain-neutral ones.

Important Files Changed

Filename Overview
rules/common/coding-style.md Absorbs KISS/DRY/YAGNI, naming conventions, and code-smell thresholds from the retired coding-standards skill; content is accurate and well-integrated.
rules/common/testing.md Adds AAA pattern and test naming guidance; the naming examples are copied from the project-specific Zenith template that is being retired by this same PR, including an OpenAI API key reference that is out of place in a Claude-focused repo.
skills/coding-standards/SKILL.md Deleted; universal content (KISS/DRY/YAGNI, naming, code smells) migrated to coding-style.md, language-specific content covered by existing skills.
skills/continuous-learning/SKILL.md Deleted v1 skill; continuous-learning-v2 already exists in the repo with confidence scoring and project isolation, so the retirement is fully justified.
skills/project-guidelines-example/SKILL.md Deleted Zenith-project-specific template that was mistakenly included as a reusable skill; however, some Zenith-specific examples were inadvertently migrated into testing.md.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[coding-standards/SKILL.md\nRetired] -->|KISS / DRY / YAGNI| B[rules/common/coding-style.md]
    A -->|Naming conventions| B
    A -->|Code smells| B
    A -->|AAA test structure\nTest naming examples| C[rules/common/testing.md]
    A -->|TypeScript / React / Node specifics| D[frontend-patterns\nbackend-patterns\napi-design]
    E[continuous-learning/SKILL.md\nRetired v1] -->|Superseded by| F[continuous-learning-v2/SKILL.md\nConfidence scoring\nProject isolation\nPromotion pipeline]
    G[project-guidelines-example/SKILL.md\nRetired Zenith template] -.->|⚠️ Zenith examples leaked into| C
Loading

Reviews (2): Last reviewed commit: "fix: add TS naming conventions and AAA t..." | Re-trigger Greptile

Response to PR review feedback on content loss concern:
- Add naming conventions to rules/common/coding-style.md: camelCase
  for vars/functions, PascalCase for types/components, UPPER_SNAKE_CASE
  for constants, is/has/should/can boolean prefixes, use- prefix hooks
- Add AAA (Arrange-Act-Assert) test structure + descriptive test naming
  examples to rules/common/testing.md

This content previously existed in skills/coding-standards/SKILL.md but
has no dedicated home in the post-consolidation catalog. Rules are the
appropriate layer for language-agnostic naming and test conventions
that apply universally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools bot commented Apr 3, 2026

Analyzing 200 commits...

@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools bot commented Apr 3, 2026

Analysis Complete

Generated ECC bundle from 10 commits | Confidence: 50%

View Pull Request #1215

Repository Profile
Attribute Value
Language TypeScript
Framework Not detected
Commit Convention conventional
Test Directory separate
Detected Workflows (2)
Workflow Description
feature-development Standard feature implementation workflow
add-ecc-bundle-component Adds a new component to the everything-claude-code ECC bundle, such as skills, agent configs, or commands.
Generated Instincts (8)
Domain Count
git 2
code-style 3
testing 1
workflow 2

After merging, import with:

/instinct-import .claude/homunculus/instincts/inherited/everything-claude-code-instincts.yaml

Files

  • .claude/ecc-tools.json
  • .claude/skills/everything-claude-code/SKILL.md
  • .agents/skills/everything-claude-code/SKILL.md
  • .agents/skills/everything-claude-code/agents/openai.yaml
  • .claude/identity.json
  • .codex/config.toml
  • .codex/AGENTS.md
  • .codex/agents/explorer.toml
  • .codex/agents/reviewer.toml
  • .codex/agents/docs-researcher.toml
  • .claude/homunculus/instincts/inherited/everything-claude-code-instincts.yaml
  • .claude/commands/feature-development.md
  • .claude/commands/add-ecc-bundle-component.md

ECC Tools | Everything Claude Code

Copy link
Copy Markdown
Contributor

@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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@rules/common/coding-style.md`:
- Line 27: Replace the informal header text "You Aren't Gonna Need It" with the
formal title "You Aren’t Going to Need It (YAGNI)"; locate the header string
exactly as "You Aren't Gonna Need It" in rules/common/coding-style.md and update
it to the new phrasing, ensuring the apostrophe style matches the document's
typography.
- Around line 58-63: The common coding-style section currently mandates
camelCase for variables/functions (`camelCase`, `fetchMarketData`) which
conflicts with Python PEP 8 snake_case; update the document to explicitly state
that language-specific conventions take precedence (e.g., Python uses snake_case
for functions/variables) or move the naming bullets into per-language sections,
and reference the existing examples `camelCase`, `snake_case`, `PascalCase`, and
constants `UPPER_SNAKE_CASE` so reviewers know which rules apply in Python vs
other languages.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e7a802be-8948-4f24-9fc0-af9c1c2ad16f

📥 Commits

Reviewing files that changed from the base of the PR and between d34ab99 and f5ddc21.

📒 Files selected for processing (2)
  • rules/common/coding-style.md
  • rules/common/testing.md
✅ Files skipped from review due to trivial changes (1)
  • rules/common/testing.md

- Avoid copy-paste programming
- Create reusable abstractions when patterns repeat 3+ times

### YAGNI (You Aren't Gonna Need It)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use formal wording in the standards header.

At Line 27, “You Aren't Gonna Need It” is informal for a canonical rule doc; prefer “You Aren’t Going to Need It (YAGNI)”.

🧰 Tools
🪛 LanguageTool

[style] ~27-~27: The word ‘gonna’ is informal.
Context: ... repeat 3+ times ### YAGNI (You Aren't Gonna Need It) - Don't build features before ...

(GONNA)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@rules/common/coding-style.md` at line 27, Replace the informal header text
"You Aren't Gonna Need It" with the formal title "You Aren’t Going to Need It
(YAGNI)"; locate the header string exactly as "You Aren't Gonna Need It" in
rules/common/coding-style.md and update it to the new phrasing, ensuring the
apostrophe style matches the document's typography.

Comment on lines +58 to +63
- **Variables / functions**: `camelCase` with descriptive names (`fetchMarketData`, not `market`)
- **Booleans**: prefix with `is`, `has`, `should`, `can` (`isUserAuthenticated`, not `flag`)
- **Interfaces / types**: `PascalCase` (`Market`, `MarketResponse`)
- **Constants**: `UPPER_SNAKE_CASE` (`MAX_RETRIES`, `DEBOUNCE_DELAY_MS`)
- **Custom hooks**: `camelCase` with `use` prefix (`useDebounce`, `useAuth`)
- **Components**: `PascalCase` (`Button`, `MarketCard`)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

`What are the official naming-convention recommendations for:

  1. Python (PEP 8) for functions/variables
  2. JavaScript/TypeScript for functions/variables
    Please include primary sources.`

💡 Result:

  1. Python (PEP 8): Functions and variables use lowercase with words separated by underscores (snake_case). 2) JavaScript/TypeScript: Functions and variables use camelCase (starting with lowercase letter, subsequent words capitalized).

Citations:


🏁 Script executed:

# Check if the file exists and examine its full content
cat -n rules/common/coding-style.md | head -100

Repository: affaan-m/everything-claude-code

Length of output: 3306


🏁 Script executed:

# Search for language-specific rule files
find rules -type f -name "*.md" | head -20

Repository: affaan-m/everything-claude-code

Length of output: 567


🏁 Script executed:

# Check if Python-specific rules exist
find rules -type d -name "python*"

Repository: affaan-m/everything-claude-code

Length of output: 87


🏁 Script executed:

# Check if Python has its own coding-style.md
cat -n rules/python/coding-style.md

Repository: affaan-m/everything-claude-code

Length of output: 1081


Clarify naming convention conflicts with Python PEP 8 in common rules.

At line 58, prescribing camelCase universally conflicts with PEP 8 naming conventions (which require snake_case for functions and variables). The Python rules file references this common file and PEP 8, but doesn't explicitly resolve the contradiction. Add a note clarifying that language-specific rules take precedence, or move naming conventions to language-specific sections.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@rules/common/coding-style.md` around lines 58 - 63, The common coding-style
section currently mandates camelCase for variables/functions (`camelCase`,
`fetchMarketData`) which conflicts with Python PEP 8 snake_case; update the
document to explicitly state that language-specific conventions take precedence
(e.g., Python uses snake_case for functions/variables) or move the naming
bullets into per-language sections, and reference the existing examples
`camelCase`, `snake_case`, `PascalCase`, and constants `UPPER_SNAKE_CASE` so
reviewers know which rules apply in Python vs other languages.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="rules/common/coding-style.md">

<violation number="1" location="rules/common/coding-style.md:62">
P2: React-specific naming guidance was added to a language-agnostic common rules file, conflicting with the documented common-layer scope.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

Comment on lines +62 to +63
- **Custom hooks**: `camelCase` with `use` prefix (`useDebounce`, `useAuth`)
- **Components**: `PascalCase` (`Button`, `MarketCard`)
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 3, 2026

Choose a reason for hiding this comment

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

P2: React-specific naming guidance was added to a language-agnostic common rules file, conflicting with the documented common-layer scope.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At rules/common/coding-style.md, line 62:

<comment>React-specific naming guidance was added to a language-agnostic common rules file, conflicting with the documented common-layer scope.</comment>

<file context>
@@ -53,6 +53,15 @@ ALWAYS validate at system boundaries:
+- **Booleans**: prefix with `is`, `has`, `should`, `can` (`isUserAuthenticated`, not `flag`)
+- **Interfaces / types**: `PascalCase` (`Market`, `MarketResponse`)
+- **Constants**: `UPPER_SNAKE_CASE` (`MAX_RETRIES`, `DEBOUNCE_DELAY_MS`)
+- **Custom hooks**: `camelCase` with `use` prefix (`useDebounce`, `useAuth`)
+- **Components**: `PascalCase` (`Button`, `MarketCard`)
+
</file context>
Suggested change
- **Custom hooks**: `camelCase` with `use` prefix (`useDebounce`, `useAuth`)
- **Components**: `PascalCase` (`Button`, `MarketCard`)
- **Framework-specific constructs**: follow naming conventions in the corresponding language/framework rule files (for example, `rules/typescript/*`)
Fix with Cubic

@affaan-m
Copy link
Copy Markdown
Owner

affaan-m commented Apr 4, 2026

hey, this branch has merge conflicts with main. can you rebase on the latest main and push an update when you get a chance? once that is in, we can take another look. thanks.

@affaan-m
Copy link
Copy Markdown
Owner

affaan-m commented Apr 5, 2026

Closing as partially superseded by direct-port work on main. I ported the reusable common-rule improvements (KISS/DRY/YAGNI, naming conventions, AAA test guidance) but did not accept the broad deletions of coding-standards or continuous-learning v1 as-is. Those removals need a separate deliberate consolidation decision, not a mixed cleanup PR.

@affaan-m affaan-m closed this Apr 5, 2026
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