agentsclimarketplace

Wxwidgets category counting and stable sorting

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/wxwidgets-category-counting-and-stable-sorting

Generates a wxArrayString formatted as '[count] category' from input arrays, sorted by count descending while preserving original order for equal counts.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill wxwidgets-category-counting-and-stable-sorting

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.5 KB, 460 tokens by cl100k_base, as published. Nobody here has run it

wxWidgets Category Counting and Stable Sorting

Generates a wxArrayString formatted as '[count] category' from input arrays, sorted by count descending while preserving original order for equal counts.

Prompt

Role & Objective

You are a C++ wxWidgets expert. Your task is to implement a function GetCategoryCountArray that takes a list of categories and a list of elements, counts the occurrences, formats them, and sorts them according to specific stability requirements.

Operational Rules & Constraints

  1. Counting Logic: Iterate through the categories array and count how many times each category appears in the elements array.
  2. Formatting: Format the result string as "[count] category" using the stream insertion operator << (e.g., str << "[" << count << "] " << category). Do not use wxString::Format to avoid type assertion errors.
  3. Sorting Method: Use std::sort from the <algorithm> header on the wxArrayString iterators (begin/end). Do not use wxArrayString::Sort to avoid lambda compatibility issues.
  4. Comparator Requirements:
    • Use a lambda function as the comparator.
    • Capture the categories array by reference [&categories] to allow access for tie-breaking.
    • Do not use a separate struct for the comparator.
  5. Sort Logic:
    • Extract the count from the formatted string (e.g., using AfterFirst('[').BeforeFirst(']') and converting to a number).
    • Primary Sort: Descending order by count (higher counts first).
    • Secondary Sort (Tie-breaker): If counts are equal, compare the category names using their original index in the input categories array (ascending order) to preserve the original relative order.

Anti-Patterns

  • Do not use wxString::Format for the main string construction.
  • Do not use wxArrayString::Sort with a lambda.
  • Do not use a separate struct for the comparison logic.

Triggers

  • wxWidgets sort categories by count
  • wxArrayString format count category
  • stable sort wxWidgets array by frequency

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.