agent-sort
Helps create an installation plan for a repository by organizing skills and commands. It separates daily use items from library items to optimize usage.
What it does
This agent organizes a project's programming tools so that only the most useful for daily work are loaded automatically. It separates what's essential for daily tasks from what can be consulted later.
When to use it
- ✓When a project has too many tools and becomes cluttered.
- ✓To decide which tools are truly necessary for a specific project.
- ✓When you want the right tools to be loaded every time, without having to pick them one by one.
Example of what to ask your AI
“Organize the tools for this project so only the essential ones are loaded every day, and the others are available for reference.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It analyzes the project's files to understand which tools are actively being used. Then, it separates these tools into two lists: 'DAILY' (to load always) and 'LIBRARY' (to keep and consult).
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill agent-sortOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/agent-sort/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Agent Sort
Use this skill when a repo needs a project-specific ECC surface instead of the default full install.
The goal is not to guess what "feels useful." The goal is to classify ECC components with evidence from the actual codebase.
When to Use
- A project only needs a subset of ECC and full installs are too noisy
- The repo stack is clear, but nobody wants to hand-curate skills one by one
- A team wants a repeatable install decision backed by grep evidence instead of opinion
- You need to separate always-loaded daily workflow surfaces from searchable library/reference surfaces
- A repo has drifted into the wrong language, rule, or hook set and needs cleanup
Non-Negotiable Rules
- Use the current repository as the source of truth, not generic preferences
- Every DAILY decision must cite concrete repo evidence
- LIBRARY does not mean "delete"; it means "keep accessible without loading by default"
- Do not install hooks, rules, or scripts that the current repo cannot use
- Prefer ECC-native surfaces; do not introduce a second install system
Outputs
Produce these artifacts in order:
- DAILY inventory
- LIBRARY inventory
- install plan
- verification report
- optional
skill-libraryrouter if the project wants one
Classification Model
Use two buckets only:
DAILY- should load every session for this repo
- strongly matched to the repo's language, framework, workflow, or operator surface
LIBRARY- useful to retain, but not worth loading by default
- should remain reachable through search, router skill, or selective manual use
Evidence Sources
Use repo-local evidence before making any classification:
- file extensions
- package managers and lockfiles
- framework configs
- CI and hook configs
- build/test scripts
- imports and dependency manifests
- repo docs that explicitly describe the stack
Useful commands include:
rg --files
rg -n "typescript|react|next|supabase|django|spring|flutter|swift"
cat package.json
cat pyproject.toml
cat Cargo.toml
cat pubspec.yaml
cat go.mod
Parallel Review Passes
If parallel subagents are available, split the review into these passes:
- Agents
- classify
agents/*
- classify
- Skills
- classify
skills/*
- classify
- Commands
- classify
commands/*
- classify
- Rules
- classify
rules/*
- classify
- Hooks and scripts
- classify hook surfaces, MCP health checks, helper scripts, and OS compatibility
- Extras
- classify contexts, examples, MCP configs, templates, and guidance docs
If subagents are not available, run the same passes sequentially.
Core Workflow
1. Read the repo
Establish the real stack before classifying anything:
- languages in use
- frameworks in use
- primary package manager
- test stack
- lint/format stack
- deployment/runtime surface
- operator integrations already present
2. Build the evidence table
For every candidate surface, record:
- component path
- component type
- proposed bucket
- repo evidence
- short justification
Use this format:
skills/frontend-patterns | skill | DAILY | 84 .tsx files, next.config.ts present | core frontend stack
skills/django-patterns | skill | LIBRARY | no .py files, no pyproject.toml | not active in this repo
rules/typescript/* | rules | DAILY | package.json + tsconfig.json | active TS repo
rules/python/* | rules | LIBRARY | zero Python source files | keep accessible only
3. Decide DAILY vs LIBRARY
Promote to DAILY when:
- the repo clearly uses the matching stack
- the component is general enough to help every session
- the repo already depends on the corresponding runtime or workflow
Demote to LIBRARY when:
- the component is off-stack
- the repo might need it later, but not every day
- it adds context overhead without immediate relevance
4. Build the install plan
Translate the classification into action:
- DAILY skills -> install or keep in
.claude/skills/ - DAILY commands -> keep as explicit shims only if still useful
- DAILY rules -> install only matching language sets
- DAILY hooks/scripts -> keep only compatible ones
- LIBRARY surfaces -> keep accessible through search or
skill-library
If the repo already uses selective installs, update that plan instead of creating another system.
5. Create the optional library router
If the project wants a searchable library surface, create:
.claude/skills/skill-library/SKILL.md
That router should contain:
…
FAQ
What do 'DAILY' and 'LIBRARY' mean?
'DAILY' are the tools the project uses every day and should be loaded automatically. 'LIBRARY' are useful tools that don't need to be loaded all the time and can be accessed when needed.
How does it know which tools to use?
It looks at the project's files, like configuration files and code, to find clues about the tools that are actually being used.
Will this delete tools?
No, 'LIBRARY' means the tool won't be loaded by default, but it will remain accessible to be used or consulted when you need it.
Details
Original description by the author
Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #135
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
mcp-builder
Helps your agent create servers that connect LLMs to external services. Essential for integrating APIs and services using Python or Node/TypeScript.
anthropics/skills
prepare-mcp-integration
Prepares vendor (MCP) integrations through research and human approval. It follows a guided process for new integrations.
paperclipai/paperclip
first-task
Guides the agent on the user's first task. It interprets the initial answer, clarifies the goal, and proposes a plan or single task for approval.
paperclipai/paperclip