agentleFS
juandelossantosjuandelossantos/another-agent-skills/skills/output-skill/SKILL.md

output-skill

Skill1 starsChanged 11 days agoMITView on GitHub

Prevent placeholders, truncated code, and half-finished agent outputs. Use when the agent ships incomplete work. Do NOT use for one-off drafts.

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    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:

    Before delivering any code output to a user

    line 23
  2. Distinctive:

    After completing an implementation phase (before marking done)

    line 24
  3. Distinctive:

    When context limits force truncated responses

    line 25
  4. Distinctive:

    After any code generation that involves multiple files

    line 26
  5. Distinctive:

    Before writing any code, declare the scope:

    line 42
  6. Distinctive:

    Write each file end-to-end.

    line 55
  7. Distinctive:

    Before delivering, scan your own output for patterns:

    line 59
  8. Distinctive:

    When output exceeds context limits:

    line 70

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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

Output Enforcement Skill

Ship complete, runnable code — no shortcuts, no placeholders, no truncation.

This is a pre-output self-audit. Complements the project's post-commit audit (universal-audit.sh) and pre-commit Gate 8 (Anti-Slop). Catches incomplete output before it's delivered.

When to Use

  • Before delivering any code output to a user
  • After completing an implementation phase (before marking done)
  • When context limits force truncated responses
  • After any code generation that involves multiple files

When NOT to Use

  • One-off draft or throwaway code
  • Exploratory or research-only output
  • Output that will be immediately deleted or overwritten

Output Contract

Complete, runnable source code output — delivered files (any language, any framework) in existing source tree, with scope declared before output started, zero truncation/placeholder/shortcut/deferred patterns detected via self-audit grep, no mid-function breaks, remaining scope stated if truncated, each file independently runnable as-delivered.

Core Process

Phase 1 — Scope Lock

Before writing any code, declare the scope:

SCOPE:
  - src/api/handler.ts  (full implementation)
  - tests/handler.test.ts  (unit tests)
  - src/types.ts  (type updates only)

List every file and what it needs. Do NOT start writing until scope is set.

Phase 2 — Output

Write each file end-to-end. Complete the current function before any break. If output is genuinely too long, use the truncation protocol.

Phase 3 — Self-Audit

Before delivering, scan your own output for patterns:

CategoryPatterns to Check
Truncation// ..., /* ... */, ... (remaining)
Structural shortcutrest is similar, repeat for others, same for each item
Deferred work// TODO:, // FIXME:, // implement later
Incomplete integrationadd your API key, your token here, replace with actual

Truncation Protocol

When output exceeds context limits:

  1. Complete the current function/method (no mid-function breaks)
  2. State remaining scope: "Remaining: [file list not yet delivered]"
  3. End with: "Continue with [next file] when ready."
  4. On continuation, re-check scope from Phase 1. Deliver remaining files completely.

Detection Patterns

ExpressionTypeSeverity
// \.\.\. or /\* \.\.\. \*/TruncationBlock
`rest is similarsame forrepeat for`Structural shortcutBlock
`for brevityfor brevityyou get the idea`EvasionBlock
`TODO:FIXME:HACK:XXX:unimplemented!()`Deferred workBlock
`add youryour.*herereplace with actual`Incomplete integrationBlock
`let me know if you wantlet me continue`Hand-offWarn

Anti-Patterns

  1. "I'll continue later" — Hand-off without completing the current function. Always finish the function.
  2. "Rest is obvious" — Assuming the user can fill in the rest. Ship complete code.
  3. "Similar for others" — One example != complete implementation. Every variant must be explicit.
  4. "You get the idea" — The idea is not runnable code. The test runner requires actual code.
  5. Scope creep — Adding unplanned files mid-output without updating the scope declaration.
  6. Skipping self-audit — Delivering without scanning for patterns. Always scan before finalizing.

Verification

  • Scope declared before output started
  • Each file in scope delivered completely (no mid-function breaks)
  • Self-audit scan passed (no truncation, shortcut, defer, or incomplete patterns)
  • Remaining scope stated if output was truncated
  • Code is runnable as-delivered (no "add your X" or missing imports)
  • grep -nE '// \.\.\.|TODO:|for brevity|rest is similar|repeat for' on output returns 0 matches

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.

Reviews can't be read right now.

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.