Required argument aware flag validation
Skill vishuwa2004/cskill-agents/skills/required-argument-aware-flag-validation
Walk command tokens while inspecting attached/inline arguments so validators never skip missing or dangerous flag values.From its SKILL.md
npx -y skills add vishuwa2004/cskill-agents --skill required-argument-aware-flag-validationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.1 KB, 405 tokens by cl100k_base, as published. Nobody here has run it
SKILL: Required Argument Aware Flag Validation
Domain: validator
Trigger: Apply this whenever flag validation cannot rely on shell parsers and must check --flag=value, combined short bundles, and missing arguments explicitly.
Source Pattern: Distilled from reviewed tool execution, streaming, persistence, and output-budget implementations.
Core Method
Iterate over tokens after the command verb, treat -- according to whether the tool respects it, then inspect each -flag/--flag by looking it up in the declarative config. Handle inline values (-E=), attached numeric args (-A20), and bundles of non-arg flags carefully: reject unknown flags, ensure required arguments exist, and forbid bundles that include arg-taking options. Use typed helpers (validate flag argument) to keep regex/number checks centralized.
Key Rules
- Never assume an inline assignment contains a value;
--flag=must be validated as empty input, not allowed to silently consume the next token. - For launcher commands such as
xargs, stop validating wrapper flags once parsing has switched to the downstream command. - Reject combined short flags if any member expects an argument; allow only
none-type flags in bundles to avoid parser differentials. - Guard string arguments from starting with
-unless the flag explicitly allows it (e.g.,git --sort -version:refname).
Example Application
Implement this in a shell command policy layer by validating the tokenized command against declarative flag metadata before execution. That ensures commands containing -S, --diff-filter, or --flag=value cannot bypass read-only guardrails through parser edge cases.
Anti-Patterns (What NOT to do)
- Do not treat
-FLAG=valuethe same as-FLAG value; the attached format still needs its own validation rules. - Do not skip the empty-inline-value check for
-FLAG=; otherwise attackers can bypass restrictions by hiding invalid input behind=.
What ships with it: 1 file
981 B alongside SKILL.md
- skill.yaml981 B