computer-use-linux
Linux desktop control over MCP โ AT-SPI, GNOME Shell, Wayland portals, ydotool
The missing linter and lsp for AI coding assistants. Validate CLAUDE.md, AGENTS.md, SKILL.md, hooks, MCP. Plugin for all major IDEs included, with autofixes.
$ npx -y skills add agent-sh/agnix --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
Your skills don't trigger. Vercel's research found skills invoke at 0% without correct syntax. One wrong field and your skill is invisible.
"Almost right" is the worst outcome. 66% of developers cite it as their biggest AI frustration. Misconfigured agents produce exactly this.
Multi-tool stacks fail silently. Cursor + Claude Code + Copilot each want different formats. A config that works in one tool breaks in another.
Bad patterns get amplified. AI assistants don't ignore wrong configs - they learn from them.
agnix validates all of it - 447 rules sourced from official specs, academic research, and real-world breakage patterns. Auto-fix included.
Want to try it first? Open the playground - paste any agent config, see diagnostics instantly. No install, runs in your browser.
$ npx agnix .
Validating: .
CLAUDE.md:15:1 warning: Generic instruction 'Be helpful and accurate' [fixable]
help: Remove generic instructions. Claude already knows this.
.claude/skills/review/SKILL.md:3:1 error: Invalid name 'Review-Code' [fixable]
help: Use lowercase letters and hyphens only (e.g., 'code-review')
Found 1 error, 1 warning
2 issues are automatically fixable
hint: Run with --fix, --fix-safe, or --fix-unsafe to apply fixes
https://github.com/user-attachments/assets/72d5fe7c-476f-46ea-be64-5785cf6d5600
# npm (recommended, all platforms)
npm install -g agnix
# Homebrew (macOS/Linux)
brew tap agent-sh/agnix && brew install agnix
# Cargo
cargo install agnix-cli
Pre-built binaries | All install options
| Editor | Install |
|---|---|
| VS Code | VS Code Marketplace |
| JetBrains | JetBrains Marketplace |
| Neovim | { "agent-sh/agnix", config = function() require("agnix").setup() end } |
| Zed | Search "agnix" in Extensions |
- name: Validate agent configs
uses: agent-sh/agnix@v0
with:
target: 'claude-code'
agnix . # Validate current directory
agnix --fix . # Apply only safe fixes
agnix --fix-safe . # Explicit safe-only fix mode
agnix --fix-unsafe . # Apply all fixes, including medium and LOW confidence
agnix --dry-run --show-fixes . # Preview fixes with inline diff output
agnix --strict . # Strict mode (warnings = errors)
agnix --format github . # GitHub Actions annotations
agnix explain MCP-018 # Explain a rule and its evidence
agnix --target claude-code . # Legacy target preset (primarily affects CC-* rules)
agnix --target kiro . # Legacy target preset (use tools = [...] for tool-only filtering)
Full CLI reference | Full rules reference
| Tool | Rules | Count | Config Files |
|---|---|---|---|
| Agent Skills | AS-*, CC-SK-* | 31 | SKILL.md |
| Claude Code | CC-* | 53 | CLAUDE.md, hooks, agents, plugins |
| GitHub Copilot | COP-* | 6 | .github/copilot-instructions.md, .github/instructions/*.instructions.md |
| Cursor | CUR-* | 16 | .cursor/rules/*.mdc, .cursorrules, .cursor/hooks.json, .cursor/agents/**/*.md, .cursor/environment.json |
| Kiro | KIRO-*, KR-SK-*, KR-AG-*, KR-HK-*, KR-PW-*, KR-MCP-* | 53 | .kiro/steering/**/*.md, .kiro/skills/**/SKILL.md, .kiro/agents/**/*.{json,md}, .kiro/hooks/*.kiro.hook, .kiro/settings/mcp.json, .kiro/powers/*/POWER.md |
| MCP | MCP-* | 12 | *.mcp.json |
| AGENTS.md | AGM-*, XP-* | 13 | AGENTS.md, AGENTS.local.md, AGENTS.override.md |
| Cline | CLN-* | 4 | .clinerules, .clinerules/*.md, .clinerules/*.txt |
| Gemini CLI | GM-* | 9 | GEMINI.md, GEMINI.local.md, .gemini/settings.json (hooks), gemini-extension.json (extensions), .geminiignore |
Rust workspace crates:
agnix-rules - rule metadata generated from knowledge-base/rules.jsonagnix-core - shared validation engine libraryagnix-cli - command-line interface binaryagnix-lsp - language server binaryagnix-mcp - MCP server binaryagnix-wasm - WebAssembly bindings for browser/runtime integrationsContributions welcome. See CONTRIBUTING.md for the development guide.
Report a bug | Request a rule | Good first issues
MIT OR Apache-2.0
.agnix/
.agnix.toml
plan.md
.claude/
flow.json
repo-map.json
sources/
preference.json
.exploration-report-pr2.md
.gitattributes
.github/
dependabot.yml
ISSUE_TEMPLATE/
bug_report.md
config.yml
feature_request.md
rule_contribution.md
tool_support_request.md
PULL_REQUEST_TEMPLATE.md
spec-baselines.json
tool-release-baselines.json
workflows/
add-to-project.yml
changelog.yml
ci.yml
claude.yml
docs-site.yml
fuzz.yml
mcp-release-watch.yml
publish-crates.yml
README.md
release.yml
security.yml
spec-drift.yml
stale.yml
test-action.yml
tool-release-watch.yml
.gitignore
.gitmodules
.pre-commit-hooks.yaml
.task/
workflow-status.json
action.yml
AGENTS.md
assets/
vscode-validation.png
audit.toml
Cargo.lock
Cargo.toml
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
codecov.yml
CONTRIBUTING.md
crates/
agnix-cli/
build.rs
Cargo.toml
locales/
en.yml
es.yml
zh-CN.yml
README.md
src/
json.rs
locale.rs
main.rs
sarif.rs
telemetry/
telemetry_stub.rs
client.rs
config.rs
events.rs
mod.rs
queue.rs
shared.rs
tools.rs
watch.rs
tests/
cli_integration.rs
docs_website_parity.rs
fixture_family_cli.rs
kiro_ci_gate.rs
kiro_fixture_inventory.rs
research_docs.rs
rule_parity.rs
agnix-core/
benches/
fixtures.rs
iai_validation.rs
validation.rs
build.rs
Cargo.toml
fuzz/
Cargo.lock
Cargo.toml
fuzz_targets/
fuzz_frontmatter.rs
fuzz_json.rs
fuzz_markdown.rs
locales/
en.yml
es.yml
zh-CN.yml
proptest-regressions/
parsers/
markdown.txt
README.md
removed-rules.json
src/
authoring.rs
config/
config.rs
builder.rs
rule_filter.rs
schema.rs
tests.rs
diagnostics.rs
eval.rs
file_types/
detection.rs
detector.rs
mod.rs
types.rs
file_utils.rs
fixes.rs
fs.rs
i18n.rs
lib.rs
parsers/
frontmatter.rs
json.rs
markdown.rs
mod.rs
pipeline.rs
regex_util.rs
registry.rs
rules/
agent.rs
agents_md.rs
amp.rs
claude_md.rs
claude_rules.rs
claude_settings.rs
cline.rs
codex_plugin.rs
codex_requirements.rs
codex.rs
copilot.rs
cross_platform.rs
cursor.rs
gemini_agent.rs
gemini_extension.rs
gemini_ignore.rs
gemini_md.rs
gemini_settings.rs
hooks/
helpers.rs
mod.rs
tests.rs
imports.rs
kiro_agent.rs
kiro_hook.rs
kiro_mcp.rs
kiro_power.rs
kiro_settings.rs
kiro_steering.rs
mcp.rs
mod.rs
opencode.rs
output_style.rs
per_client_skill.rs
plugin.rs
project_level.rs
prompt.rs
roo.rs
skill/
helpers.rs
mod.rs
tests.rs
windsurf.rs
xml.rs
schemas/
agent.rs
agents_md.rs
claude_md.rs
claude_rules.rs
cline.rs
codex_plugin.rs
codex.rs
common.rs
copilot_agent.rs
copilot_hooks.rs
copilot_prompt.rs
copilot.rs
cross_platform.rs
cursor.rs
gemini_extension.rs
gemini_ignore.rs
gemini_settings.rs
hooks.rs
kiro_agent.rs
kiro_hook.rs
kiro_mcp.rs
kiro_power.rs
mcp.rs
mod.rs
opencode.rs
output_style.rs
plugin.rs
prompt.rs
roo.rs
skill.rs
span_utils.rs
validation/
mod.rs
tests/
api_contract.rs
config_ux.rs
fix_integration.rs
lib_tests.rs
overrides_integration.rs
security_integration.rs
sync_send_check.rs
agnix-lsp/
build.rs
Cargo.toml
locales/
en.yml
es.yml
zh-CN.yml
README.md
src/
backend/
backend.rs
events.rs
helpers.rs
revalidation.rs
tests.rs
code_actions.rs
completion_provider.rs
diagnostic_mapper.rs
hover_provider.rs
lib.rs
locale.rs
main.rs
position.rs
testability_tests.rs
vscode_config.rs
tests/
lsp_integration.rs
agnix-mcp/
Cargo.toml
src/
main.rs
tests/
mcp_tests.rs
agnix-rules/
build.rs
Cargo.toml
README.md
rules.json
src/
lib.rs
tests/
parity.rs
agnix-wasm/
Cargo.toml
src/
lib.rs
tests/
wasm.rs
deny.toml
docs/
CONFIGURATION.md
EDITOR-SETUP.md
REAL-WORLD-TESTING.md
RELEASING.md
RUSTSEC-ADVISORIES.md
TRANSLATING.md
editors/
jetbrains/
.gitignore
assets/
jetbrains-validation.png
build.gradle.kts
CHANGELOG.md
gradle/
gradle.properties
wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
gradlew
gradlew.bat
README.md
settings.gradle.kts
src/
main/
kotlin/
io/
agnix/
jetbrains/
actions/
OpenSettingsAction.kt
RestartLspServerAction.kt
ValidateFileAction.kt
AgnixIcons.kt
binary/
AgnixBinaryDownloader.kt
AgnixBinaryResolver.kt
PlatformInfo.kt
filetype/
AgnixFileTypes.kt
lsp/
AgnixDocumentMatcher.kt
AgnixLspServerDescriptor.kt
AgnixLspServerInstaller.kt
AgnixLspServerSupportProvider.kt
LspProcessErrors.kt
notifications/
AgnixNotifications.kt
settings/
AgnixLspPathValidation.kt
AgnixSettings.kt
AgnixSettingsComponent.kt
AgnixSettingsConfigurable.kt
startup/
AgnixStartupActivity.kt
resources/
icons/
agnix.svg
META-INF/
plugin.xml
pluginIcon_dark.svg
pluginIcon.svg
test/
kotlin/
io/
agnix/
jetbrains/
binary/
AgnixBinaryDownloaderTest.kt
AgnixBinaryResolverTest.kt
PlatformInfoTest.kt
filetype/
AgnixFileTypesTest.kt
lsp/
LspProcessErrorsTest.kt
settings/
AgnixLspPathValidationTest.kt
neovim/
assets/
diagnostic-inline.png
doc/
agnix.txt
LICENSE
lua/
agnix/
commands.lua
config.lua
health.lua
init.lua
lsp.lua
telescope.lua
util.lua
plugin/
agnix.lua
README.md
tests/
agnix/
test_commands.lua
test_config.lua
test_init.lua
test_lsp.lua
test_util.lua
minimal_init.lua
vscode/
.gitignore
.vscodeignore
assets/
vscode-validation.png
CHANGELOG.md
esbuild.js
icon.png
language-configuration.json
LICENSE
package-lock.json
package.json
README.md
schemas/
agnix.json
src/
checksum.ts
clientLifecycle.ts
download-file.ts
extension.ts
test/
runTest.ts
suite/
extension.test.ts
... 1600 moreShowing a partial view of a very large repo.
Linux desktop control over MCP โ AT-SPI, GNOME Shell, Wayland portals, ydotool
AI writes code. This automates everything else ยท 24 plugins ยท 49 agents ยท 44 skills ยท for Claude Code, OpenCode, Codex, Cursor, Kiro.
FAQ
agnix is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes agnix, agnix. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.