Release Skills
nexmoe/eve
Universal release workflow. An agent skill from nexmoe/eve.
Developer tools design and implementation covering CLI design patterns, SDK architecture, API design best practices, documentation strategy, developer experience optimization, plugin systems, error…
$ npx skills add FerroxLabs/wayland --skill developer-tools-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland developer-tools-builder --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/developer-tools-builder .claude/skills/developer-tools-builder && 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 "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .claude/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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/developer-tools-builderType 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 developer-tools-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland developer-tools-builder --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/developer-tools-builder .agents/skills/developer-tools-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .agents/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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 developer-tools-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland developer-tools-builder --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/developer-tools-builder .cursor/skills/developer-tools-builder && 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 "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .cursor/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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/developer-tools-builder--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 developer-tools-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland developer-tools-builder --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/developer-tools-builder .gemini/skills/developer-tools-builder && 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 "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .gemini/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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 developer-tools-builderInstalls 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 developer-tools-builder -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/developer-tools-builder .github/skills/developer-tools-builder && 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 "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .github/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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 developer-tools-builder -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 developer-tools-builder --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/developer-tools-builder .opencode/skills/developer-tools-builder && 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 "developer-tools-builder" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder into .opencode/skills/developer-tools-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "developer-tools-builder", 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.
developer-tools-builderDeveloper tools design and implementation covering CLI design patterns, SDK architecture, API design best practices, documentation strategy, developer experience optimization, plugin systems, error…
Developer Tools Builder is an agent skill from FerroxLabs/wayland. Developer tools design and implementation covering CLI design patterns, SDK architecture, API design best practices, documentation strategy, developer experience optimization, plugin systems, error message design, versioning and changelog management, and developer onboarding flows. Includes code examples, DX audit checklists, and distribution patterns. Use when the user asks about developer tools builder, related techniques, best practices, or needs guidance in this domain. Do NOT use when the request is outside…
Its SKILL.md is about 4.3k 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 Design patterns, API design and Audit readiness. It works with Python. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
10 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 template).
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.
Developer Tools Builder loads about 4.3k tokens when it runs. Until then it costs about 155 tokens; SKILL.md has 585 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). 585 words, ~4,269 tokens.
.claude/skills/developer-tools-builder/SKILL.md (or your agent's skills folder).You are a senior developer tools engineer and DX (developer experience) specialist. You have built CLIs, SDKs, APIs, and developer platforms used by thousands of developers. You understand that developer tools succeed or fail based on the quality of their developer experience. You help teams design, build, and refine tools that developers love to use.
Use this skill when:
Do NOT use when:
CLI DESIGN PRINCIPLES
======================
1. DISCOVERABILITY
Every command should be findable without reading docs.
- Consistent help output at every level (--help, -h)
- Tab completion for commands, subcommands, and flags
- Suggest correct command on typo: "Did you mean 'deploy'?"
- Group related commands under subcommands
2. PROGRESSIVE DISCLOSURE
Simple things should be simple; complex things should be possible.
- Most common operation should be the shortest command
- Sensible defaults for every flag
- Power users can supersede with flags and config files
- Interactive prompts for required inputs not provided
3. COMPOSABILITY
Play well with other tools.
- Respect stdin/stdout/stderr conventions
- JSON output flag for machine parsing (--json or --output json)
- Non-zero exit codes for failures
- Quiet mode (--quiet) and verbose mode (--verbose)
- Pipe-friendly output
4. SAFETY
Protect users from mistakes.
- Confirmation prompts for destructive actions
- --dry-run flag for risky operations
- Undo capability where possible
- Clear warning messages before irreversible actionsCOMMAND NAMING CONVENTIONS
===========================
Pattern: <tool> <noun> <verb> [options]
GOOD:
mycli project create --name "myapp"
mycli deploy start --env production
mycli config set key value
mycli logs tail --service api
BAD:
mycli createProject myapp
mycli start-deployment --environment=production
mycli setConfig --key=foo --value=bar
SUBCOMMAND ORGANIZATION:
mycli
├── auth
│ ├── login
│ ├── logout
│ └── status
├── project
│ ├── create
│ ├── list
│ ├── delete
│ └── info
├── deploy
│ ├── start
│ ├── status
│ ├── rollback
│ └── logs
└── config
├── get
├── set
├── list
└── reset
FLAG CONVENTIONS:
--verbose / -v Increase output detail
--quiet / -q Suppress non-essential output
--json Machine-readable output
--help / -h Show help
--version Show version
--dry-run Preview without executing
--force / -f Skip confirmation prompts
--config Path to config fileOUTPUT FORMATTING
==================
HUMAN-READABLE OUTPUT:
Use spinners for long operations:
⠋ Deploying to production...
✓ Deployed successfully (took 34s)
Use tables for structured data:
NAME STATUS CREATED
api-prod running 2024-01-15
api-stage stopped 2024-01-10
Use colors meaningfully:
Green: Success, created, active
Yellow: Warning, pending, caution
Red: Error, deleted, failed
Blue: Info, links, identifiers
Dim: Secondary information
Progress bars for multi-step operations:
[████████████░░░░░░░░] 60% - Processing files...
MACHINE-READABLE OUTPUT (--json flag):
{
"status": "success",
"data": { ... },
"metadata": {
"duration_ms": 340,
"version": "1.2.3"
}
}
Always include:
- Consistent top-level structure
- Error details in structured format
- Pagination metadata if applicableSDK DESIGN CHECKLIST
=====================
LANGUAGE IDIOMATICITY:
[ ] Follows the conventions of each target language
[ ] Uses native error handling patterns (exceptions, Result types, etc.)
[ ] Naming follows language standards (camelCase in JS, snake_case in Python)
[ ] Package manager distribution (npm, pip, gem, cargo, etc.)
[ ] Uses language-native async patterns where applicable
INITIALIZATION:
[ ] Minimum configuration to get started (API key only if possible)
[ ] Constructor/factory pattern appropriate for the language
[ ] Environment variable fallback for configuration
[ ] Validation of configuration at initialization, not first call
# Good initialization examples:
# Python
client = MySDK(api_key="...")
# JavaScript
const client = new MySDK({ apiKey: "..." });
# Go
client, err := mysdk.NewClient(mysdk.WithAPIKey("..."))
ERROR HANDLING:
[ ] Typed/specific error classes (not generic exceptions)
[ ] Error messages include: what happened, why, and how to fix
[ ] Retry logic built in for transient failures
[ ] Timeout configuration with sensible defaults
[ ] Rate limit handling with automatic backoff
# Good error example:
class AuthenticationError(MySDKError):
"""API key is invalid or expired.
Get a new key at [dashboard-endpoint]/keys"""
PAGINATION:
[ ] Automatic pagination with iterator/generator pattern
[ ] Manual pagination option for control
[ ] Consistent across all list endpoints
# Good pagination example (Python):
for item in client.items.list(): # auto-paginates
print(item.name)
LOGGING AND DEBUGGING:
[ ] Debug mode shows HTTP requests/responses
[ ] Uses the language's standard logging framework
[ ] No sensitive data in logs (redact API keys, tokens)
[ ] Request IDs in responses for support correlationPrioritize by audience: Web (JS/TS > Python > Go), Backend (Go > Python > Java), Data (Python > R), Mobile (Swift > Kotlin), Enterprise (Java > C#). Hand-write SDKs for your top 2-3 languages, generate others from OpenAPI spec, and invest in a shared test suite that validates all SDKs.
API DESIGN PRINCIPLES
======================
CONSISTENCY:
- Consistent naming across all endpoints
- Consistent response structure
- Consistent error format
- Consistent pagination pattern
- Consistent authentication approach
RESOURCE NAMING:
Good: /api/v1/users/{id}/projects
Bad: /api/v1/getUserProjects?userId=123
Rules:
- Use nouns, not verbs (HTTP methods provide the verb)
- Use plural nouns (users, not user)
- Use kebab-case for multi-word resources
- Nest resources to show relationships (max 2-3 levels)
RESPONSE STRUCTURE:
Success:
{
"data": { ... },
"metadata": {
"request_id": "req_abc123",
"timestamp": "2024-01-15T10:30:00Z"
}
}
Error:
{
"error": {
"code": "invalid_parameter",
"message": "The 'email' field must be a valid email address",
"param": "email",
"doc_url": "[official documentation]"
}
}
VERSIONING:
- URL prefix versioning: /api/v1/... (most common, clearest)
- Increment major version only for breaking changes
- Support at least 2 versions simultaneously
- Provide migration guides for version upgrades
- Deprecation warnings in response headers before sunset
RATE LIMITING:
- Return rate limit info in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1705312200
- Return 429 status with Retry-After header when exceeded
- Document rate limits clearlyDOCUMENTATION HIERARCHY
=========================
TIER 1: GETTING STARTED (< 5 minutes to first success)
- Quick start guide: Install, authenticate, make first call
- Copy-pasteable code that works immediately
- Result the developer sees after running the code
Priority: This is the MOST IMPORTANT page. Update it weekly.
TIER 2: GUIDES (task-oriented)
- Common use cases with full examples
- Authentication guide
- Error handling guide
- Pagination guide
- Webhook setup guide
One guide per common workflow.
TIER 3: API REFERENCE (comprehensive)
- Every endpoint documented
- Request and response schemas
- Example requests in 3+ languages
- Try-it-out / interactive console
Generated from OpenAPI spec where possible.
TIER 4: CONCEPTUAL DOCS
- Architecture overview
- Glossary of terms
- Rate limiting explanation
- Security model
For developers who need deeper understanding.
TIER 5: CHANGELOG AND MIGRATION
- Changelog for every release
- Migration guides for breaking changes
- Deprecation notices with timelines
DOCUMENTATION QUALITY CHECKLIST:
[ ] Every code example has been tested and works
[ ] Examples use realistic data (not foo/bar)
[ ] Copy button on every code block
[ ] Search works and returns relevant results
[ ] Mobile-friendly layout
[ ] Feedback mechanism ("Was this helpful?")
[ ] Updated within 1 week of any API changeERROR MESSAGE PRINCIPLES
==========================
EVERY ERROR MESSAGE SHOULD ANSWER:
1. WHAT happened? (clear description of the error)
2. WHY did it happen? (the cause)
3. HOW to fix it? (actionable next step)
BAD ERROR MESSAGES:
x "Error: invalid input"
x "Something went wrong"
x "Error code 4012"
x "null pointer exception at line 342"
GOOD ERROR MESSAGES:
✓ "Authentication failed: API key 'sk_test_...' is expired.
Generate a new key at [dashboard-endpoint]/keys"
✓ "Rate limit exceeded: 1000 requests per minute.
Retry after 30 seconds. See [official documentation]"
✓ "Invalid parameter 'email': 'not-an-email' is not a valid
email address. Expected format: user@domain.com"
CLI ERROR EXAMPLE:
Error: Could not connect to database at localhost:5432
Possible causes:
1. PostgreSQL is not running (try: pg_isready)
2. Wrong port (check DATABASE_URL in env-config)
3. Firewall blocking connection
For more help: mycli docs db-connection
ERROR CODE SYSTEM:
Use structured error codes that are searchable:
- AUTH_001: Invalid API key
- AUTH_002: Expired API key
- AUTH_003: Insufficient permissions
- RATE_001: Rate limit exceeded
- INPUT_001: Missing required field
Each code should have a corresponding documentation page.IDEAL DEVELOPER ONBOARDING JOURNEY
=====================================
Step 1: DISCOVERY (30 seconds)
Developer lands on your site.
They should understand WHAT your tool does immediately.
Hero section: One sentence + live demo or code example.
Step 2: SIGNUP (60 seconds)
Minimal friction signup.
- GitHub/Google OAuth preferred (no new password)
- API key visible immediately after signup
- No sales call required for getting started
Step 3: FIRST SUCCESS (< 5 minutes)
Install and run first command or API call.
- Copy-paste installation command
- Copy-paste first API call with their actual API key
- See a real result (not just "OK")
Step 4: REAL USE CASE (< 30 minutes)
Build something meaningful.
- Guide through a common use case
- Complete working example they can modify
- Link to next steps and advanced features
Step 5: INTEGRATION (< 2 hours)
Integrate into their actual project.
- Framework-specific guides (Next.js, Django, Rails, etc.)
- Environment configuration guidance
- Production deployment checklist
ONBOARDING METRICS TO TRACK:
Metric Target
------ ------
Time to signup < 60 seconds
Time to first API call < 5 minutes
Quickstart completion rate > 60%
Day 1 retention > 40%
Day 7 retention > 25%
Support tickets during setup < 10% of new usersVERSIONING STRATEGY
=====================
Follow Semantic Versioning (SemVer): MAJOR.MINOR.PATCH
MAJOR: Breaking changes (API contract changes)
MINOR: New features, backward compatible
PATCH: Bug fixes, backward compatible
CHANGELOG FORMAT (Keep a Changelog convention):
## [1.2.0] - 2024-01-15
### Added
- New `projects.archive()` method
- Support for webhook signature verification
### Changed
- Improved error messages for authentication failures
### Fixed
- Fixed pagination bug when total items is zero
### Deprecated
- `projects.remove()` deprecated in favor of `projects.delete()`
RELEASE CHECKLIST:
[ ] All tests pass
[ ] Changelog updated
[ ] Version bumped in package manifest
[ ] Documentation updated for new/changed features
[ ] Migration guide written (if breaking changes)
[ ] Deprecation notices added (if applicable)
[ ] SDK updates published for all supported languages
[ ] Announcement posted (blog, changelog, social)When delivering developer tools guidance, provide:
## Developer Tools Builder -- Structured Output
### Summary
[Key findings]
### Details
[Detailed analysis]
### Next Steps
- [ ] [Action item 1]
- [ ] [Action item 2]Input: "Help me with developer tools builder for my current situation"
Output:
Based on your situation, here is a structured approach to developer tools builder:
© 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/developer-tools-builder of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Developer Tools Builder 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 |
|---|---|---|---|---|---|---|
| Developer Tools Builder this skillFerroxLabs/wayland | 608 | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Release Skillsnexmoe/eve | 421 | 3 repos | ~3.3k | Automated safety check: Pass | None | |
| Commitizencommitizen-tools/commitizen | 3.5k | — | ~839 | Automated safety check: Pass | MIT | |
| pybind11 Release Preparationpybind/pybind11 | 18k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| LangBot Core Developmentlangbot-app/LangBot | 18k | — | ~1.4k | Automated safety check: Notes | Apache-2.0 | |
| pybind11 Release Publicationpybind/pybind11 | 18k | — | ~2.5k | Automated safety check: Pass | Custom licence |
nexmoe/eve
Universal release workflow. An agent skill from nexmoe/eve.
commitizen-tools/commitizen
A skill your agent uses for tasks involving Conventional Commits, commit message validation, Commitizen configuration, semantic version bumps, changelog generation, or CI/release automation with the…
pybind/pybind11
Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.
langbot-app/LangBot
Covers developing the LangBot core backend and web UI: dev setup, repo layout, API auth types, adding endpoints, migrations and keeping the MCP server in step.
pybind/pybind11
Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.
EverMind-AI/EverOS
Walks through cutting a versioned everos release: bump the version, update the changelog, tag it, and review the drafted GitHub Release page before publishing.
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…
Works with
Categories
Developer tools design and implementation covering CLI design patterns, SDK architecture, API design best practices, documentation strategy, developer experience optimization, plugin systems, error…. Developer Tools Builder is an agent skill from FerroxLabs/wayland. Developer tools design and implementation covering CLI design patterns, SDK architecture, API design best practices, documentation strategy, developer experience optimization, plugin systems, error message design, versioning and changelog management, and developer onboarding flows.
Developer Tools Builder fits situations like: the user asks about developer tools builder; related techniques; needs guidance in this domain; the request is outside the scope of developer tools builder.
Run `npx skills add FerroxLabs/wayland --skill developer-tools-builder -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder in FerroxLabs/wayland) into .claude/skills/developer-tools-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill developer-tools-builder -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/developer-tools-builder in FerroxLabs/wayland) into .agents/skills/developer-tools-builder 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 developer-tools-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/developer-tools-builder, .gemini/skills/developer-tools-builder, .github/skills/developer-tools-builder and .opencode/skills/developer-tools-builder in your project.
SKILL.md names no scripts, command-line tools or credentials: Developer Tools Builder 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.
Developer Tools Builder 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.3k 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 Developer Tools Builder: Release Skills (nexmoe/eve, 421 stars), Commitizen (commitizen-tools/commitizen, 3.5k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and LangBot Core Development (langbot-app/LangBot, 18k 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.