Local Dev
SmilyOrg/photofield
Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.
Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…
$ npx skills add arandu-io/arandu --skill arandu-mcp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install arandu-io/arandu arandu-mcp --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/arandu-io/arandu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/arandu-mcp .claude/skills/arandu-mcp && 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 "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .claude/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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/arandu-io/arandu/tree/main/.agents/skills/arandu-mcpType 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 arandu-io/arandu --skill arandu-mcp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install arandu-io/arandu arandu-mcp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/arandu-mcp .agents/skills/arandu-mcp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .agents/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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 arandu-io/arandu --skill arandu-mcp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install arandu-io/arandu arandu-mcp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/arandu-mcp .cursor/skills/arandu-mcp && 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 "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .cursor/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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/arandu-io/arandu.git --path .agents/skills/arandu-mcp--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 arandu-io/arandu --skill arandu-mcp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install arandu-io/arandu arandu-mcp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/arandu-mcp .gemini/skills/arandu-mcp && 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 "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .gemini/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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 arandu-io/arandu arandu-mcpInstalls 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 arandu-io/arandu --skill arandu-mcp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/arandu-mcp .github/skills/arandu-mcp && 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 "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .github/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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 arandu-io/arandu --skill arandu-mcp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install arandu-io/arandu arandu-mcp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/arandu-mcp .opencode/skills/arandu-mcp && 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 "arandu-mcp" agent skill from https://github.com/arandu-io/arandu/tree/main/.agents/skills/arandu-mcp into .opencode/skills/arandu-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "arandu-mcp", 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.
arandu-mcpConnect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…
Arandu MCP is an agent skill from arandu-io/arandu. Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is built in, what aru doctor reports, which command does what, and a generator previewed before it writes. Use at the start of any session in an Arandu (Go) application whose client can start an MCP server, when the question is "where does this go", "what is the recipe for a webhook/job/nested resource", "run the doctor"…
Its SKILL.md is about 2.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 Agent Workflows, covering MCP servers and Webhooks. It works with Model Context Protocol and Go. The repository describes itself as: The Arandu project skeleton, which aru new clones. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b8a4273. 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.
Shell commands in SKILL.md call:
gobashgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Arandu MCP loads about 2.1k tokens when it runs. Until then it costs about 174 tokens; SKILL.md has 959 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 arandu-io/arandu at commit b8a4273, republished under its MIT licence (© arandu-io). 959 words, ~2,069 tokens.
.claude/skills/arandu-mcp/SKILL.md (or your agent's skills folder).At the start of a session in this project, when the assistant's client can
start an MCP server over stdio, and again whenever a question has an answer
aru already holds: where a kind of code lives and what it may import, the
order a feature is built in, what the doctor reports, which command and flag
exist, what a generator would write. The answers come from the aru the
project runs, so they do not age the way a copied document does.
It is not the MCP server an application offers its own users' assistants --
tools in app/Mcp, mounted in routes/web.go. That one is
arandu-integrations.
aru must be on PATH, at the release the Dockerfile pins (ARU_VERSION).
An older one serves an older contract and fewer doctor rules.go.mod is.arandu-feature first. The tools answer the questions its procedure
asks; they do not replace the procedure.The client starts the server the way it starts any stdio server:
{"command": "aru", "args": ["mcp"]}Standard output carries protocol frames and nothing else; logs go to standard error. The tools, and when to call each:
| tool | arguments | call it to |
|---|---|---|
where_does_it_go | kind, one of the contract's cards: controller, request, service, policy, model, repository, client, job, event, listener, mail, notification, command, middleware, migration, factory, seeder, enum, resource, view, fragment, mcp-tool, webhook, invokable-controller | learn the path a kind of code lives at, its imports, its signature, who calls it, what it may and may not do and its generator -- before writing the file |
feature_recipe | recipe: crud, action, invokable, nested, report, job, command, listener, webhook, integration, mcp | get the order a kind of feature is built in, and the cards of each step |
doctor | rule to keep one rule's findings, profile (conventional or performance) | read every finding with its rule, severity, file, line, why it matters and the card whose shape answers it -- after a change, before calling it finished |
generate | command (a make:*), arguments as typed after it, apply | preview a generator: without apply it lists the files it would write and writes nothing; with apply=true it writes them and returns the wiring to paste |
project_map | none | read this project's features, its routes with method, pattern and name, every file classified by what it declares, the edges between them -- routes-to, authorizes, persists, renders, tested-by -- and the doctor's findings |
commands | prefix such as make: | list the aru commands with their usage and flags |
imports_catalog | package, moved_only | the import path each framework symbol is named by, for the version go.mod requires |
arandu-feature says, then call
feature_recipe with the matching recipe and follow its steps in order.where_does_it_go with its kind, and write it at that path with those
imports and that signature. When the card and this repository's example
disagree, the card is the contract and the example is reported.generate without apply, read the files
it lists, and only then call it again with apply=true. Paste the wiring it
returns into bootstrap/app.go and routes/web.go yourself -- the tool
never edits them, and refuses a generator whose plan would.doctor tool after the change, fix each
finding by moving the code to where its card says, and run it again until
it reports nothing. Then run every gate below in a terminal.aru mcp, the server itself; the client starts it, a person does notaru doctor, aru imports:catalog and the generators, aru make:module
and the rest, are what the tools run, and each works the same in a terminalWhat where_does_it_go answers for service -- validate, load with the read
Grant, authorize, apply the entity's rule, persist with the Grant -- written
against the example resource, as the card's signature says:
package example
import (
"context"
"github.com/arandu-io/hesape/auth"
"github.com/arandu-io/hesape/database"
models "<module>/app/Models"
policies "<module>/app/Policies"
)
// Unpin is a use case in the shape the service card gives: the row is read
// under a read Grant, the policy decides about that row, and the write is
// made with the Grant the policy issued for it.
func Unpin(ctx context.Context, db *database.DB, actor auth.Subject, id string) error {
var policy policies.NotePolicy
read, err := auth.Authorize(ctx, policy, actor, policies.NoteView, models.Note{})
if err != nil {
return err
}
note, err := models.Notes(db).FindOrFail(ctx, read, id)
if err != nil {
return err
}
write, err := auth.Authorize(ctx, policy, actor, policies.NoteUpdate, *note)
if err != nil {
return err
}
note.Pinned = false
_, err = note.Save(ctx, write)
return err
}generate with apply=true before reading its preview.bootstrap/ or
routes/: it refuses, and working around it in a shell is the edit the
refusal exists to keep in a person's hands.aru that is pinned.app/Mcp and call services as who is
asking -- arandu-integrations.Nothing here is extended by the project. A card that answers the wrong path,
a recipe that is missing or a tool that is needed is a change to aru,
reported with what was asked and what came back.
None in the project. The client's configuration holds the one line; the
project's bootstrap/app.go, routes/web.go and go.mod do not change.
doctor, project_map, where_does_it_go,
feature_recipe, commands, imports_catalog and generate.where_does_it_go with kind=service answers app/Services/<Entity>Service.go.generate without apply writes nothing: git status is clean afterwards.doctor tool and aru doctor in a terminal report the same findings.The server reads the project on disk; it does not run the application, so a
route that exists only at runtime is not in project_map. The doctor tool
is the doctor, with its limits: evidence, not proof. generate runs only the
make:* commands; migrations, aru view:build, aru model:build and the
gates are run in a terminal.
Run them all, in this order, as AGENTS.md lists them:
export GOWORK=off
aru model:build --check
aru view:build
gofmt -l $(find . -name '*.go' -not -path '*/testdata/*' -not -name '*.kyse.go')
go vet ./...
bash tests/test-layout-guard.sh
go test -race ./...
go build ./...
aru doctor<!-- arandu:begin custom -->
<!-- arandu:end custom -->
© arandu-io, MIT. 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 .agents/skills/arandu-mcp of arandu-io/arandu.
Open the folder on GitHubat commit b8a4273
Arandu MCP 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 |
|---|---|---|---|---|---|---|
| Arandu MCP this skillarandu-io/arandu | 281 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Local DevSmilyOrg/photofield | 608 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Zalo AgentPhucMPham/zalo-agent-cli | 166 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Gas Executiontanaikech/ggsrun | 173 | — | ~2.5k | Automated safety check: Pass | MIT | |
| fp-go MCP Server SetupIBM/fp-go | 2k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Add an MCP Tool to remindbradimsem/remindb | 129 | — | ~2.1k | Automated safety check: Pass | MIT |
SmilyOrg/photofield
Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.
PhucMPham/zalo-agent-cli
Automate Zalo messaging, Official Account (OA), and MCP server integration via zalo-agent-cli.
tanaikech/ggsrun
Guidelines for writing and executing Google Apps Script code using ggsrun and finding documentation via workspace-developer.
IBM/fp-go
Configures and queries the fp-go MCP server so Claude Code, Claude Desktop or another MCP client can search fp-go's examples and skills directly.
radimsem/remindb
Checklist for adding a new Memory-prefixed tool to remindb's Go MCP server: tool file, registration, test, skill docs, plus the locking and logging rules.
zereight/gitlab-mcp
A skill your agent uses when working with the GitLab MCP server tools for merge requests, issues, repositories, pipelines, work items, variables, dependency proxy, vulnerabilities, webhooks, search…
arandu-io/arandu
Answering a program rather than a person in an Arandu (Go) application -- a JSON Resource, a JSON answer from the same routes the pages use, problem+json errors, bearer-token authentication and…
arandu-io/arandu
Work that does not happen inside the request in an Arandu (Go) application -- background jobs and the worker, scheduled tasks, domain events through the outbox, listeners, notifications, mail and…
arandu-io/arandu
Decides whether a feature belongs in the application or in one of five shared Arandu modules before adding permissions, wallets, tags, Markdown rendering or API docs.
arandu-io/arandu
Start here for any change to an Arandu (Go) application that adds or changes behaviour -- "add invoices", "let users publish a post", "send a weekly report", "call the payment provider", "expose…
arandu-io/arandu
Controllers, requests and routes of an Arandu (Go) application -- the seven resource actions, a resource nested under another, a singleton, a single-action (invokable) controller, a named action…
arandu-io/arandu
Reaching other systems from an Arandu (Go) application, and letting them reach it -- the client of an external API with its interface and fake, webhooks sent and received, and tools, resources and…
Works with
Categories
Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…. Arandu MCP is an agent skill from arandu-io/arandu. Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is built in, what aru doctor reports, which command does what, and a generator previewed before it writes.
Arandu MCP fits situations like: tasks that involve MCP servers; tasks that involve Webhooks.
Run `npx skills add arandu-io/arandu --skill arandu-mcp -a claude-code`. Or copy the skill folder (.agents/skills/arandu-mcp in arandu-io/arandu) into .claude/skills/arandu-mcp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add arandu-io/arandu --skill arandu-mcp -a codex`. Or copy the skill folder (.agents/skills/arandu-mcp in arandu-io/arandu) into .agents/skills/arandu-mcp 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 arandu-io/arandu --skill arandu-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/arandu-mcp, .gemini/skills/arandu-mcp, .github/skills/arandu-mcp and .opencode/skills/arandu-mcp in your project.
Going by SKILL.md and its folder, Arandu MCP needs the command-line tools its instructions call (go, bash and git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Arandu MCP is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k 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 Arandu MCP: Local Dev (SmilyOrg/photofield, 608 stars), Zalo Agent (PhucMPham/zalo-agent-cli, 166 stars), Gas Execution (tanaikech/ggsrun, 173 stars) and fp-go MCP Server Setup (IBM/fp-go, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
arandu-io (a GitHub organization) maintains it in arandu-io/arandu, which has 281 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.
Source: arandu-io/arandu on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.