Coding Best Practices
KartikLabhshetwar/better-shot
Reviews macOS Swift 6+ code for modern idioms, SOLID principles, SwiftData patterns, and concurrency best practices.
Clean code principles covering naming conventions, function design, SOLID principles, DRY vs WET tradeoffs, code organization, complexity metrics, and code review through a clean code lens.
$ npx skills add FerroxLabs/wayland --skill clean-code -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland clean-code --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .claude/skills/clean-code && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .claude/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-codeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill clean-code -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland clean-code --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .agents/skills/clean-code && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .agents/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill clean-code -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland clean-code --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .cursor/skills/clean-code && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .cursor/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/software-engineering/clean-code--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill clean-code -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland clean-code --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .gemini/skills/clean-code && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .gemini/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland clean-codeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill clean-code -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .github/skills/clean-code && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .github/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill clean-code -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland clean-code --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code .opencode/skills/clean-code && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "clean-code" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/clean-code into .opencode/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
clean-codeClean code principles covering naming conventions, function design, SOLID principles, DRY vs WET tradeoffs, code organization, complexity metrics, and code review through a clean code lens.
Clean Code is an agent skill from FerroxLabs/wayland. Clean code principles covering naming conventions, function design, SOLID principles, DRY vs WET tradeoffs, code organization, complexity metrics, and code review through a clean code lens. Use when the user asks about clean code, clean code best practices, or needs guidance on clean code implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Code quality and Design patterns. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python, java, typescript, javascript and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Clean Code loads about 4.1k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 1,099 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 1,099 words, ~4,133 tokens.
.claude/skills/clean-code/SKILL.md (or your agent's skills folder).You are an expert in clean code principles. Write code that is readable, maintainable, and intentional. Clean code reads like well-written prose. Every name, function, and module should reveal its purpose without requiring comments to explain it.
# Bad
d = 7 # elapsed time in days
lst = [] # list of flagged accounts
temp = get() # temporary result
# Good
elapsed_days = 7
flagged_accounts = []
active_user = get_authenticated_user()// Bad
Date genymdhms; // generation date, year-month-day-hour-minute-second
int pdcnt; // past due count
// Good
Date generationTimestamp;
int pastDueCount;// Bad: searching for "7" finds thousands of results
if (days > 7) { ... }
// Good: searching for "MAX_INACTIVE_DAYS" finds exactly what you need
const MAX_INACTIVE_DAYS = 7;
if (days > MAX_INACTIVE_DAYS) { ... }Avoid abbreviations unless universally understood (HTTP, URL, ID, DB).
Use consistent vocabulary. Pick one word per concept and stick with it. Do not use get, get, get, and load interchangeably in the same codebase.
| Type | Convention | Examples |
|---|---|---|
| Boolean | Phrase as question | isActive, hasPermission, canEdit, shouldRetry |
| Function | Verb + noun | calculateTotal, sendEmail, validateInput |
| Predicate function | is/has/can | isExpired(), hasAccess(), canProceed() |
| Collection | Plural noun | users, orderItems, activeConnections |
| Count | _count or num_ | retryCount, numAttempts |
| Class | Noun | UserRepository, PaymentProcessor, OrderValidator |
| Interface | Adjective or noun | Serializable, Repository, EventHandler |
| Constant | UPPER_SNAKE_CASE | MAX_RETRIES, DEFAULT_TIMEOUT_MS |
IUserService, AbstractBaseFactory. Let the language features speak.userList, nameString. The type system handles this.data, info, manager, handler, processor. These add length without meaning.isNotReady, disableFeature. Use positive names: isReady, featureEnabled.A function should do one thing, do it completely, and do it only. Target 5-15 lines. If a function has sections (separated by blank lines or comments), each section is a candidate for extraction.
# Bad: mixed levels of abstraction
def process_order(order):
# High-level
validate_order(order)
# Suddenly low-level
conn = psycopg2.connect(host="db", port=5432, dbname="orders")
cursor = conn.cursor()
cursor.execute("INSERT INTO orders (id, total) VALUES (%s, %s)", (order.id, order.total))
conn.commit()
# Back to high-level
send_confirmation(order)
# Good: consistent level of abstraction
def process_order(order):
validate_order(order)
save_order(order)
send_confirmation(order)parse(input)), query (isValid(email)), event (onUserCreated(user)).assertEquals(expected, actual)).Prefer pure functions: same input always produces same output, no side effects.
# Pure: predictable, testable, parallelizable
def calculate_discount(price: float, discount_percent: float) -> float:
return price * (1 - discount_percent / 100)
# Impure: depends on external state, has side effects
def apply_discount(order):
discount = get_global_discount() # external dependency
order.total -= order.total * discount # mutation
log(f"Applied discount to {order.id}") # side effectFunctions should either do something (command) or answer something (query), not both.
// Bad: does it check or set?
boolean set(String attribute, String value);
if (set("username", "john")) { ... }
// Good: separate command and query
boolean attributeExists(String attribute);
void setAttribute(String attribute, String value);
if (attributeExists("username")) {
setAttribute("username", "john");
}A class should have one, and only one, reason to change.
// Bad: UserService handles auth, validation, persistence, and notifications
class UserService {
authenticate(credentials) { ... }
validateEmail(email) { ... }
saveToDatabase(user) { ... }
sendWelcomeEmail(user) { ... }
}
// Good: each class has one responsibility
class AuthenticationService { authenticate(credentials) { ... } }
class UserValidator { validateEmail(email) { ... } }
class UserRepository { save(user) { ... } }
class NotificationService { sendWelcomeEmail(user) { ... } }Software entities should be open for extension, closed for modification.
# Bad: adding a new shape requires modifying AreaCalculator
class AreaCalculator:
def calculate(self, shape):
if isinstance(shape, Circle):
return math.pi * shape.radius ** 2
elif isinstance(shape, Rectangle):
return shape.width * shape.height
# Must modify this class for every new shape
# Good: extend without modifying
class Shape(Protocol):
def area(self) -> float: ...
class Circle:
def __init__(self, radius): self.radius = radius
def area(self) -> float: return math.pi * self.radius ** 2
class Rectangle:
def __init__(self, width, height): self.width, self.height = width, height
def area(self) -> float: return self.width * self.height
# New shapes can be added without changing existing code
class Triangle:
def __init__(self, base, height): self.base, self.height = base, height
def area(self) -> float: return 0.5 * self.base * self.heightObjects of a superclass should be replaceable with objects of a subclass without altering program correctness.
# Violation: Square changes the behavior contract of Rectangle
class Rectangle:
def set_width(self, w): self.width = w
def set_height(self, h): self.height = h
class Square(Rectangle):
def set_width(self, w): self.width = self.height = w # Surprising!
def set_height(self, h): self.width = self.height = h # Surprising!
# Fix: use separate types or an immutable approach
class Shape(Protocol):
def area(self) -> float: ...
class Rectangle:
def __init__(self, width, height): ...
def area(self): return self.width * self.height
class Square:
def __init__(self, side): ...
def area(self): return self.side ** 2Clients should not be forced to depend on interfaces they do not use.
// Bad: a printer-only device must implement fax and scan
interface Machine {
print(doc: Document): void;
fax(doc: Document): void;
scan(doc: Document): Image;
}
// Good: segregated interfaces
interface Printer { print(doc: Document): void; }
interface Fax { fax(doc: Document): void; }
interface Scanner { scan(doc: Document): Image; }
class SimplePrinter implements Printer {
print(doc: Document) { ... }
}
class MultiFunctionDevice implements Printer, Fax, Scanner {
print(doc: Document) { ... }
fax(doc: Document) { ... }
scan(doc: Document) { ... }
}High-level modules should not depend on low-level modules. Both should depend on abstractions.
# Bad: high-level OrderService depends on low-level MySQLDatabase
class OrderService:
def __init__(self):
self.db = MySQLDatabase() # hard-coded dependency
# Good: depend on abstraction
class OrderService:
def __init__(self, repository: OrderRepository): # abstract dependency
self.repository = repository
# Wire up at composition root
db = PostgresOrderRepository(connection_string)
service = OrderService(db)Eliminate duplication of knowledge (not just code). If a business rule is expressed in two places, it will inevitably diverge.
# Over-DRY: shared utility for unrelated things
def format_thing(thing, type):
if type == "user":
return f"{thing.first_name} {thing.last_name}"
elif type == "product":
return f"{thing.name} - ${thing.price}"
elif type == "order":
return f"Order #{thing.id}"This function couples three unrelated formatters. When user formatting changes, you risk breaking product formatting.
Allow duplication until you have 3+ instances. Then abstract. This prevents premature abstraction.
# Two similar functions: leave them separate
def validate_user_email(email): ...
def validate_contact_email(email): ...
# Third instance: now extract
def validate_email(email): ...Before extracting shared code, ask: If one caller needs a change, would ALL callers need the same change?
user/controller.ts, user/model.ts over controllers/user.ts, models/user.ts).Count the number of independent paths through a function.
def process(order): # +1 base
if order.is_valid: # +1
if order.total > 100: # +1
apply_discount(order)
elif order.is_member: # +1
apply_member_discount(order)
for item in order.items: # +1
if item.needs_shipping: # +1
schedule_shipping(item)
else:
raise InvalidOrderError()
# Cyclomatic complexity: 6Targets:
Measures how hard code is to understand (Sonar metric). Penalizes nesting more heavily than branching.
When reviewing code through a clean code lens:
# Compensate for browser's non-standard handling of leap seconds
adjusted_time = timestamp + LEAP_SECOND_OFFSET
# WARNING: Order of operations matters. Tax must be calculated before discount
# because discounts are pre-tax per IRS regulation 26 CFR 1.61-1.
tax = calculate_tax(subtotal)
discount = calculate_discount(subtotal)# Bad: restating the code
i += 1 # increment i
# Bad: journal comments (use git log)
# 2024-01-15 John: Added validation
# 2024-01-20 Jane: Fixed edge case
# Bad: closing brace comments
if (condition) {
...
...
...
} // end if condition
# Bad: commented-out code (delete it, git remembers)
# old_result = legacy_calculate(x)
# if old_result != new_result:
# log_discrepancy(old_result, new_result)If you feel the need to comment, first try to express the same information through:
If the code still needs a comment after trying all four, write the comment. Explain why, not what.
Use this skill when:
Do NOT use this skill when:
# Clean Code Analysis
## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps
- [Immediate action item]
- [Follow-up action item]Input: "Help me implement clean code for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended clean code approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/software-engineering/clean-code of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Clean Code next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Clean Code this skillFerroxLabs/wayland | 608 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Coding Best PracticesKartikLabhshetwar/better-shot | 2.4k | 2 repos | ~1.8k | Automated safety check: Pass | Custom licence | |
| Solidramziddin/solid-skills | 606 | — | ~2.7k | Automated safety check: Pass | None | |
| Architectural Code ReviewDonchitos/Claude-Code-Game-Studios | 26k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Omni DevGulajavaMinistudio/Mayukai-Theme | 139 | — | ~736 | Automated safety check: Pass | MIT | |
| Brooks Reviewhyhmrright/brooks-lint | 1.5k | 1 repos | ~430 | Automated safety check: Pass | MIT |
KartikLabhshetwar/better-shot
Reviews macOS Swift 6+ code for modern idioms, SOLID principles, SwiftData patterns, and concurrency best practices.
ramziddin/solid-skills
A skill your agent uses when writing code, implementing features, refactoring, planning architecture, designing systems, reviewing code, or debugging.
Donchitos/Claude-Code-Game-Studios
Performs an architectural review of code against coding standards, SOLID, testability and performance, and reports no verdict when the inputs are missing.
GulajavaMinistudio/Mayukai-Theme
Omni-expert principal software architect. An agent skill from GulajavaMinistudio/Mayukai-Theme.
hyhmrright/brooks-lint
PR code review that surfaces decay risks, design smells, and maintainability issues with concrete Symptom → Source → Consequence → Remedy findings, drawing on twelve classic engineering books.
jd-solanki/slidev-theme-dracula
Write readable, maintainable code through disciplined naming, small functions, and clean error handling.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Categories
Clean code principles covering naming conventions, function design, SOLID principles, DRY vs WET tradeoffs, code organization, complexity metrics, and code review through a clean code lens. Clean Code is an agent skill from FerroxLabs/wayland. Clean code principles covering naming conventions, function design, SOLID principles, DRY vs WET tradeoffs, code organization, complexity metrics, and code review through a clean code lens.
Clean Code fits situations like: the user asks about clean code; clean code best practices; needs guidance on clean code implementation; the user needs a different specialized skill.
Run `npx skills add FerroxLabs/wayland --skill clean-code -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/clean-code in FerroxLabs/wayland) into .claude/skills/clean-code in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill clean-code -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/clean-code in FerroxLabs/wayland) into .agents/skills/clean-code in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill clean-code -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clean-code, .gemini/skills/clean-code, .github/skills/clean-code and .opencode/skills/clean-code in your project.
SKILL.md names no scripts, command-line tools or credentials: Clean Code is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Clean Code is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Clean Code: Coding Best Practices (KartikLabhshetwar/better-shot, 2.4k stars), Solid (ramziddin/solid-skills, 606 stars), Architectural Code Review (Donchitos/Claude-Code-Game-Studios, 26k stars) and Omni Dev (GulajavaMinistudio/Mayukai-Theme, 139 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.