Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/leodido/structcli/fullnpx skills add leodido/structcli --skill fullgit clone --depth 1 https://github.com/leodido/structcliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00073 | $0.01730 |
| Opus 5 | $0.00036 | $0.00865 |
| Sonnet 5 | $0.00015 | $0.00346 |
| Haiku 4.5 | $0.00007 | $0.00173 |
Grade A, and why
full scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
full
Instructions
Available Commands
full
A demonstration of the structcli library with beautiful CLI features
Flags:
| Flag | Type | Default | Required | Description |
|---|---|---|---|---|
--dry |
bool | false | no | - |
--verbose |
count | 0 | no | - |
Environment Variables:
| Variable | Flag | Description |
|---|---|---|
FULL_DRYRUN |
--dry |
|
FULL_DRY |
--dry |
full logs
Display logs for a service, optionally streaming with --follow
Flags:
| Flag | Type | Default | Required | Description |
|---|---|---|---|---|
--follow |
bool | false | no | Stream output continuously |
--output |
string | text | no | Output format |
--quiet |
bool | false | no | Suppress non-essential output |
--service |
string | - | yes | Service name to show logs for |
--timeout |
duration | 30s | no | Operation timeout |
Environment Variables:
| Variable | Flag | Description |
|---|---|---|
FULL_LOGS_TIMEOUT_DURATION |
--timeout |
Operation timeout |
FULL_LOGS_TIMEOUT |
--timeout |
Operation timeout |
Example:
full logs --service api
full logs -s api --follow
full logs -s api -f -o json --timeout 10s
full logs -s api --quiet
full preset
Demonstrate that flagpreset aliases are syntactic sugar and still flow through Transform and Validate
Flags:
| Flag | Type | Default | Required | Description |
|---|---|---|---|---|
--label |
string | - | no | - |
--role |
string | - | no | - |
full srv
Start the server with the specified configuration
Flags:
| Flag | Type | Default | Required | Description |
|---|---|---|---|---|
--advertise-cidr |
ipNet | 127.0.0.0/24 | no | Advertised service subnet (CIDR) |
--apikey |
string | - | no | API authentication key |
--bind-ip |
ip | 127.0.0.1 | no | Bind interface IP |
--bind-mask |
ipMask | ffffff00 | no | Bind interface mask |
--database.maxconns |
int | 10 | no | Max database connections |
--db-url |
string | - | no | Database connection URL |
--deep-setting |
string | default-deep-setting | no | - |
--deep.deeper.nodefault |
string | - | no | - |
--deeper-setting |
string | default-deeper-setting | no | - |
--host |
string | localhost | no | Server host |
--log-file |
string | - | no | Log file path |
--log-level |
zapcore.Level | info | no | Set log level |
--port |
int | 0 | yes | Server port |
--target-env |
string | dev | no | Set the target environment |
--token-base64 |
bytesBase64 | aGVsbG8= | no | Token bytes encoded as base64 |
--token-hex |
bytesHex | 68656c6c6f | no | Token bytes encoded as hex |
--trusted-peers |
ipSlice | 127.0.0.2,127.0.0.3 | no | Trusted peer IPs (comma separated) |
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 178 lines · 73 tokens per session scan A 777c15d57b49
full is a skill published in the GitHub repository leodido/structcli (18 stars, last pushed 1mo ago), licensed MIT. It adds 73 tokens to every session and 1,730 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
golang-cli-cobra-viper
Building production-quality CLI tools with Cobra command framework and Viper configuration management.
golang-cli-cobra-viper
Building production-quality CLI tools with Cobra command framework and Viper configuration management.
featurevisor
Author, query, and integrate Featurevisor — Git-based feature flags, A/B experiments, and remote config. Use whenever the user mentions Featurevisor, works in a project containing featurevisor.config.js, edits files under attributes/, segments/, features/, variables/, groups/, schemas/, targets/, sets/, or tests/…
lade
Use Lade safely with coding agents. Use when a project has lade.yml, commands need secrets or temporary network access, or the user mentions Lade, LADE, phonetic spellings like AD/AID/LAID, hooks, lade inject, preToolUse, or agent secret handling.
lade-release
Prepare a Lade release: update CHANGELOG.md and bump crate versions with cargo set-version. Use when cutting a release, tagging vX.Y.Z, publishing to GitHub Releases, or finalizing the changelog before a version bump.
authoring-schemas
Author a mache projection schema (Topology→Node→Leaf) that maps structured data or source code into a filesystem/graph. Use when creating or debugging a -schema.json for a new data source (SQLite/JSON) or a new source language. Covers both dialects — tree-sitter S-expression selectors for code, and JSONPath selectors…