agentleFS
msagehamsageha/skills/deco/SKILL.md

deco

Skill0 starsChanged 4 days agoMITView on GitHub

TP-Link Deco BE85 mesh router management. Use when: user asks about home network / Wi-Fi status, connected clients, mesh (Deco) nodes, toggling or reconfiguring Wi-Fi (incl. guest Wi-Fi), WAN/internet status, router system logs, firmware update availability, the last speed test, or rebooting the Deco. Controls the router via the deco-be85-api REST wrapper.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Call endpoints sequentially.

    line 27

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Deco BE85

Base URL: https://deco-api.msageha.net/api (FastAPI wrapper around the TP-Link Deco BE85 local API). https://deco.msageha.net is the router's own web UI, not this API. Requests to this instance don't need any authentication header/cookie — the server logs into the router itself with stored credentials. The reverse proxy only admits allowlisted LAN client IPs — a 403 with an nginx HTML page means the caller isn't on that list, not an API error.

Key facts

  • Login to the router is lazy: the first call after startup/idle triggers it and is slower. Expired sessions are re-logged-in and retried automatically.
  • Requests are serialized behind a server-side lock (single router session). Call endpoints sequentially; don't fan out parallel requests.
  • band is band2_4 / band5_1 / band6; network is host / guest.
  • GET /wireless returns ssid/password base64-encoded; write endpoints accept them in plain text (the server encodes them). Decode ssid for display; don't decode or print password unless the user explicitly asks for the Wi-Fi password.
  • Everything under GET /network/*, /wireless/*, /device/*, /cloud/* and /system/* is read-only. GET /system/firmware asks TP-Link cloud and takes a few seconds; GET /system/log pages the router log (level 1..8 from /system/log-types, index, limit).
  • Confirm with the user before any write: Wi-Fi toggles/config changes briefly disconnect clients on that band, POST /reboot (requires confirm: true) takes the whole network down for minutes, and POST /raw with a non-read operation can change arbitrary router settings.
  • Errors: 401 router auth failure, 502 router-side error (detail + error_code), 504 router unreachable, 422 request validation (missing confirm, unknown field, bad enum), 400 confirm: false on /reboot, 404 /reboot found no Deco units.

Core operations

TaskEndpoint
Overview (WAN/CPU/mem/node & client counts)GET /dashboard
Deco units (mesh nodes)GET /devices
Connected clientsGET /clients?online_only=true
Blocked clientsGET /clients/blocked
Wi-Fi settings (all bands, host/guest)GET /wireless
Wi-Fi ON/OFF per bandPOST /wireless
Change SSID/password/channel etc.POST /wireless/config
Radio details (DFS / beamforming / operation mode / bridge / 802.11r roaming / 160 MHz)GET /wireless/{power,beamforming,operation-mode,bridge,roaming,bandwidth}
WAN / internet / LAN / IPv6 statusGET /network/wan, /network/internet, /network/lan, /network/ipv6
WAN details (port mode / DHCP dial / IGMP / fast xmit / VLAN / DDNS / MAC clone)GET /network/{wan-mode,dhcp-dial,igmp,fast-xmit,vlan,ddns,mac-clone}
CPU / memory usageGET /network/performance
Router mode / time settings / last speed testGET /device/mode, /device/time, /device/speedtest
TP-Link cloud binding / ID login stateGET /cloud/device-info, /cloud/login-status
System log / firmware update checkGET /system/log, GET /system/firmware
Component info / UI feature switches / log typesGET /system/component-info, /system/switch-list, /system/log-types
Reboot Deco units (destructive)POST /reboot
Any other Deco endpoint (escape hatch)POST /raw
Server health / explicit loginGET /health, POST /login, POST /logout

Full request/response schemas and ready-to-run curl examples: see references/api-reference.md and references/commands.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.