Skip to content
Back to skills

Outcome

ASecurity

Generates and updates .claude/OUTCOME.md interactively. When the file is absent or empty (Behavior blank or TBD only), collects content via AskUserQuestion and writes the stub; when present, shows the current state and applies updates.

  • 12 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsgobash

Security analysis

A100/100

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

Scanned September 24, 2026

npx -y skills add thkt/dotclaude --skill outcome --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Outcome?

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

Security grade badge for Outcome
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thkt-outcome-dotclaude/badge)](https://www.skillsdirectory.com/skills/thkt-outcome-dotclaude)

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: outcome
description: Generates and updates .claude/OUTCOME.md interactively. When the file is absent or empty (Behavior blank or TBD only), collects content via AskUserQuestion and writes the stub; when present, shows the current state and applies updates.
when_to_use: OUTCOME作って, OUTCOME更新, アウトカム定義, create outcome, update outcome
allowed-tools: Read Write Edit AskUserQuestion Bash(${CLAUDE_SKILL_DIR}/scripts/*)
model: opus
---

# /outcome - OUTCOME.md generation and update

The landing point when another skill detects a missing OUTCOME.md. Returning a hard stop or a warning leaves the outcome empty, so collect it interactively and generate.

## Branch

Run ${CLAUDE_SKILL_DIR}/scripts/validate-outcome.ts .claude/OUTCOME.md and enter the flow its JSON `flow` names. The script owns the criteria.

| state  | Condition                   | flow     |
| ------ | --------------------------- | -------- |
| absent | File absent                 | generate |
| empty  | Behavior blank, or TBD only | generate |
| ok     | Behavior carries content    | update   |

## Generate

1. Read ${CLAUDE_SKILL_DIR}/templates/outcome.md
2. Collect Behavior, Non-goals, Constraints in one AskUserQuestion call, one question per item. Behavior needs 1 or more entries with the subject named
3. Run each Behavior through the Outcome test; rewrite failures and re-present to the user
4. Fill the template and Write `.claude/OUTCOME.md`. Neither the opening prose nor Indicators is collected, so skip the prose and drop Indicators with its heading
5. Re-run validate-outcome.ts and fix until `errors` is empty. `placeholder_left` is a surviving placeholder, `missing_section` a dropped heading

## Update

1. Read `.claude/OUTCOME.md` and present each section as it stands. Show the opening prose and Indicators as unwritten when the generate flow dropped them
2. Confirm which sections change and what they become via AskUserQuestion. This flow is the only one that can add the opening prose and Indicators
3. Run each changed Behavior through the Outcome test, then Edit
4. Re-run validate-outcome.ts and confirm `errors` is empty
5. When `warnings` carries `missing_indicator`, ask the user whether to add that indicator. It names an Indicators section missing one of Time, Error rate, or Value

Files in this skill

  • SKILL.md2.3 KB
  • scripts/validate-outcome.ts5.5 KB
  • templates/outcome.md1.5 KB
  • tests/fixtures/validate-outcome-cases.json9.3 KB
  • tests/template-alignment.test.js9.2 KB
  • tests/validate-outcome.test.ts5.1 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.