Skip to content
Back to skills

Output

ASecurity

output style linter run by the stop hook, on the last reply, or via <path> argument

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
ai-agentsgobashgit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add MaisonDeVolonte/construct --skill output --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Output?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Output
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/maisondevolonte-output/badge)](https://www.skillsdirectory.com/skills/maisondevolonte-output)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: output
model: opus
effort: high
license: MIT
compatibility: requires bash, jq, git
description: output style linter run by the stop hook, on the last reply, or via <path> argument
argument-hint: "[--help] <path> [--test]"
disable-model-invocation: true
---

# Instructions

## Telemetry
```!
"${CLAUDE_PLUGIN_ROOT}"/skills/output/output.sh $ARGUMENTS
echo "sidecar exit: $?"
```
- `help: requested` → the run was refused before it started; `## Help` below is the whole turn
- this already ran; never re-issue it, and never pipe a reply you retyped rather than one it read
- no path → it graded the last reply from this session's transcript, which is what a plain run means
- `usage: ... (no reply reachable)` → no path and no session id, so there was nothing to grade
- `fail (sidecar exit > 0)` → HARD findings: report them, fix the reply's shape, then regrade
- `success (sidecar exit = 0)` → clean or SOFT-only; note any SOFT findings and move on

## Findings
> every finding reads `TIER RULE:LINE detail`, and the rule is an address into the style spec

| rule | what it caught |
|---|---|
| `B1` | markup outside a list, table, fence or backtick: bold, italics, emoji, fenced plaintext |
| `B2` | a prose line, past the tolerance a reply gone fully paragraphs, or one fence around it all |
| `B6` | a banned sentence shape standing in for a plain statement |
| `C2` | a line wider than the spec's character cap |
| `C8` | a reply taller than the spec's line ceiling |
| `V2` | file names carrying no `path:line` coordinate anywhere in the reply |
| `F5` | an action handed to the user with nothing fenced or ticked to run |
| `F1` | a reply that never lands on an action, so the user has to ask for one |

- line 0 names a whole-reply finding: the ceiling, the prose tolerance, or one of the action rules
- a reply with no plain line and `SIGNAL_FLOOR` or more fenced ones is a wrapper, graded HARD `B2`
- `C10` exempts fenced content, so a wrapper would otherwise leave the sidecar nothing to read
- `V2` and `F5` are SOFT, so they surface only when a HARD finding is already blocking
- `F1` is HARD, and a reply shorter than `SIGNAL_FLOOR` lines is exempt from it
- a reply satisfies `F1` with a final `NUMBERED SIGNAL:` line, or by closing on a fenced block
- the width and ceiling numbers come from `output-styles/operator.md`, read at run time

## Verify
- RUN `plugins/retardify/skills/output/output.sh <path>` on a saved reply, or pipe one to `-`
- FIX every HARD finding, since each one blocks a stop-hook turn on its own
- JUSTIFY or fix every SOFT finding; the sidecar tolerates them, the gate may not
- RE-RUN the sidecar after fixing, so the findings you closed are proven closed

## Help
> IF the invocation carries `--help` or `-h`, this section is the whole turn:

```text
SKILL: /plugin:name
DESCRIPTION: <the `description` frontmatter, verbatim>
POSTURE: <the readme index's keyword for this skill>
FLAGS:
- --flag: <what it changes, in the telemetry bullet's own words>
ARGUMENTS:
- <arg>: <what it names>
ARTIFACT: <the `metadata.artifact` path, or none>
OUTPUT: <what lands in the turn: an audit entry, a handover block, an inline report>
SPEC: <this doc's own path>
```

- every field prints, in this order; one with nothing to say prints `none`
- every value is COPIED from the source named beside it, never composed fresh
- ask what they are actually trying to do, and what they have already tried
- name the flag or the sibling skill that fits their answer, then STOP
- run no step, write no file, and never fall through to step 1

## Subagent Style
```!
awk 'NR>1 && /^---$/ {p=1; next} p' "${CLAUDE_PLUGIN_ROOT}/subagent-styles/operator.md"
```

Files in this skill

  • SKILL.md3.6 KB
  • output.sh11.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…