Agentctl
MD-driven agent CLI for code, infrastructure, and automation. 6 providers, 8 tools, zero SDK dependencies.
Install / Use
npx skills add subzone/AgentctlInstalls into whichever agent you are using.
Amazon Q Rules
Amazon Q Developer rules
Quality Score
Category
AutomationSupported Platforms
Our assessment of Agentctl
Agentctl scores 64/100 on our quality scale, 2703rd of 2,895 Automation skills we index.
Its Amazon Q Rules is 7.2 KB long, well organised into 14 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- Our last check on 2026-09-02 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Agentctl compared with similar skills
All 4 of these similar skills score higher than Agentctl; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Agentctl (this skill)by subzone | 64 | 0 | — | Amazon Q Rules |
| Agent-Reachby Panniantong | 100 | 95.7k | 3d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 86.8k | today | MCP Server |
| rufloby ruvnet | 100 | 74.3k | today | MCP Server |
| openclawby thedotmack | 100 | 97.1k | 5d ago | SKILL.md |
Frequently asked questions
- How do I install Agentctl?
- Run
npx skills add subzone/Agentctl. The install tabs above show the steps for each supported agent. - Which AI agents does Agentctl work with?
- It is written for Amazon Q, as a Amazon Q Rules file. Other agents that read the same format can often use it too.
- Is Agentctl safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Agentctl still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubm — Project Rules for Amazon Q
Project Overview
m is an MD-driven agent CLI written in Go 1.26. Agents are plain Markdown
files with YAML frontmatter; the CLI runs them against 6 LLM backends.
Binary name is m, module path is github.com/subzone/m.
Architecture
cmd/m/ # cobra CLI entry point
main.go # root command, default chat, applyConfig
run.go # `m run` one-shot execution
chat.go # `m chat` REPL + TUI branching, slash commands
spawn.go # subagent spawner, buildAgentRuntime
tui.go # bubbletea TUI model + rendering
tui_stats.go # system stats (CPU/RAM/Disk via gopsutil)
theme.go # theme system (matrix/default/minimal + custom YAML)
init.go # first-run wizard (6 providers)
config.go # `m config` interactive manager + model discovery
context.go # project context auto-detection
validate.go # `m validate` frontmatter linter
releases.go # changelog data + release notes display
internal/
engine/ # agent loop, tool dispatch, session, structured output
engine.go # Session, Step, Run, parallel executeTools, auto-continue
structured.go # structured output post-processing (buffer, extract, validate)
config/ # MD frontmatter parser + schema + validator
schema.go # AgentSpec (with response_schema), SkillSpec, ToolSpec, MCPServerSpec
parser.go # YAML frontmatter parser (strict mode)
validator.go # per-type + cross-ref validation
llm/ # Provider interface + registry
provider.go # Provider, Event (Text/ToolCall/Usage/Done/Error), Request, Usage
registry.go # Register + Resolve
anthropic/ # Messages API, SSE, 429 retry, response-tool for structured output
openai/ # Chat Completions, SSE, 429 retry, json_schema response_format
ollama/ # /api/chat, NDJSON, num_predict default 8192
litellm/ # OpenAI-compat wrapper (WithCompat)
gemini/ # OpenAI-compat wrapper for Google AI Studio (WithCompat)
alibaba/ # OpenAI-compat wrapper for DashScope (WithCompat)
tools/ # Tool interface, Registry, builtins
tool.go # Tool interface, Registry, Builtins(confirm, undo), Merge
shell.go # ShellTool (timeout, output cap)
fsread.go # FSReadTool (size cap, truncation)
fswrite.go # FSWriteTool (diff preview, user confirm, undo stack)
fslist.go # FSListTool (recursive, skip .git/node_modules)
git.go # GitTool (status, diff, log, add, commit, branch, checkout, stash)
testrun.go # TestRunTool (run tests, return pass/fail + output)
delegate.go # DelegateTool + SpawnFunc
mcp/ # MCP client (stdio JSON-RPC), manager, tool adapter
ports/ # ConfigSource, Secrets, StateStore interfaces
adapters/ # MemoryStore (in-memory StateStore)
userconfig/ # ~/.config/m/config.yaml, OS keychain, state
examples/agents/ # 17 example agent MD files
Hard Rules
- Nothing in
internal/engine/orinternal/tools/importsclient-go,controller-runtime, or HTTP server libs. - LLM clients are stdlib-only (
net/http,bufio,encoding/json). - Providers self-register via
init()+llm.Register(). - API keys live in the OS keychain, never in plaintext config files.
- OpenAI-compat providers (gemini, alibaba, litellm) use
WithCompat()which disablesstream_optionsandjson_schemaresponse_format.
6 Providers
| Provider | Adapter | Auth Env Var | Notes | |---|---|---|---| | anthropic | Custom SSE | ANTHROPIC_API_KEY | 429 retry, response-tool for structured output | | openai | OpenAI SSE | OPENAI_API_KEY | 429 retry, native json_schema | | ollama | NDJSON | (none) | num_predict=8192 default, format field for structured | | gemini | OpenAI-compat | GEMINI_API_KEY | WithCompat, Google AI Studio endpoint | | alibaba | OpenAI-compat | DASHSCOPE_API_KEY | WithCompat, DashScope endpoint | | litellm | OpenAI-compat | LITELLM_API_KEY | WithCompat, custom base URL |
8 Builtin Tools
| Tool | Description | |---|---| | shell | Run shell commands via /bin/sh -c | | fs_read | Read UTF-8 files (size cap) | | fs_write | Create/patch files with diff preview + user confirmation + undo | | fs_list | List directories (recursive, skip .git) | | git | Git operations (status, diff, log, add, commit, branch, checkout, stash) | | test_run | Run tests, return pass/fail + output for edit-test-fix loops | | delegate | Spawn subagent (depth-limited, parallel execution) |
Key Types
llm.Provider—Stream(ctx, Request) (<-chan Event, error)llm.Event— EventText, EventToolCall, EventUsage, EventDone, EventErrorllm.Request— includes ResponseSchema for structured outputengine.Session— multi-turn driver, usage tracking, SetModel, LastInputTokenstools.Tool— Name, Description, InputSchema, Runtools.UndoStack— Push/Pop for file write rollbacktools.ConfirmFunc— gates fs_write (stdin prompt in REPL, auto-approve in TUI)config.AgentSpec— includes response_schema (any → JSON via ResponseSchemaJSON())
Build & Test
make build # CGO_ENABLED=0 static binary
make test # go test ./...
make race # go test -race ./...
make lint # golangci-lint run (v2.x, go install)
make cover # coverage report
make validate # validate example agent docs
make docker # docker build
Slash Commands (TUI + REPL)
/exit /quit /reset /compact /undo /model <provider/model> /theme [name] /config /help
TUI Features
- Header: M banner | token/cost box | system stats
- Full provider/model label below token box
- Commands bar + cwd display
- Context window % on input line (ctx: N%)
- Theme system: matrix (default), default, minimal + custom ~/.config/m/theme.yaml
- Tool activity visible (→ fs_list / ← 245 bytes) in yellow
- User messages bold colored, errors red
- Responsive layout (collapses on small terminals)
- Auto-approve fs_write in TUI (bubbletea owns stdin)
CI/CD
.github/workflows/release.yml triggers on v* tags:
gate: go vet → golangci-lint (v2, viago install) → tests with -racelinux: goreleaser → .deb + tarballsmacos(after linux): universal binary → .pkg
Release Process
- Update
releasesslice incmd/m/releases.go - Run
make lint && make racelocally git commit && git tag v0.0.X && git push origin main --tags- If retag needed: delete GitHub release first, then retag
Current State (v0.0.25)
- ~10,000 lines production + ~5,000 lines tests
- 15 packages, 32 example agents, 8 MB binary
- 9 themes, 6 providers, 9 tools
- Session persistence (AES-256-GCM) with history rotation
- Fallback models, per-agent thinking phrases
- Token-based context compaction
- Dangerous command double-confirmation
- code_search: grep + symbol index (9 languages)
- Homebrew tap, CI/CD, open source community files
What's Next
- HTTP/SSE MCP transport
- Codebase RAG / context retrieval
m searchfor fuzzy agent discovery- Multi-file atomic edits
Related Skills
Agent-Reach
95.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
86.8k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
ruflo
74.3k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
openclaw
97.1kThis guide walks through setting up the claude-mem plugin on an OpenClaw gateway. By the end, your agents will have persistent memory across sessions via system prompt context injection, and optionally a real-time observation feed streaming to a messaging channel.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
