Harden Task File logo

Harden Task File

Community
doodledood
harden-task-file

Harden a manifest-dev task guidance file for one-shot quality — either /define's quality-gate/Default set or figure-out's probe set. Iterates: orthogonality gap analysis, user-approved additions, prompt review, fix, converge. Use when a task file needs comprehensive coverage or "harden task file".

Overview

Publisherdoodledood
Repositorymanifest-dev
Skill nameharden-task-file
Stars
77
Forks
10
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by doodledood on GitHub. Read the source before you install it.

Installation

Install the Harden Task File AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/doodledood/manifest-dev/tree/main/.claude/skills/harden-task-file
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/doodledood/manifest-dev.git /tmp/manifest-dev
mkdir -p .claude/skills
cp -r /tmp/manifest-dev/.claude/skills/harden-task-file .claude/skills/harden-task-file
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Harden Task File in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Harden Task File on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Harden Task File is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

User request: $ARGUMENTS

Systematically harden a /define task guidance file until manifests built from it produce deliverables that don't need iteration.

If no arguments, ask which task file to harden.

Context

Task files come in two parallel, decoupled sets, each keyed by task type and hardened for one-shot quality. Harden whichever set the target file belongs to:

  • /define's task files (claude-plugins/manifest-dev/skills/define/tasks/) carry encoder data:
    • Quality Gates — Verifiable output properties. Can split into baselines (always enforced) and selectable (meaningful rigor choices)
    • Defaults — process practices always worth doing, carried into the manifest without probing; /define decides the encoding, and routes one whose violation would be unsafe or irreversible to a binding invariant rather than advice
  • figure-out's task files (claude-plugins/manifest-dev/skills/figure-out/tasks/) carry probing fuel:
    • Blind-spot probes — Non-natural angles the model skips by default (failure modes, pre-mortem fuel), phrased as the question that opens a branch
    • Forced trade-offs — Competing tensions the model must drive to a decision

New items must match the depth and structural conventions of the owning skill (define/SKILL.md or figure-out/SKILL.md) and its existing sibling task files.

Goal

The task file should be comprehensive enough that a manifest built with it surfaces all criteria needed for one-shot quality — figure-out's probes surface the non-natural angles during understanding; /define's gates and Defaults encode the verifiable bar. "One-shot" = the deliverable passes review without iteration.

Log

Write findings to /tmp/harden-{timestamp}.md after each round. Read full log before each new round — prevents re-proposing rejected items and losing dimension context.

Per-round log structure:

## Round N
### Dimension Map
[dimension → items mapping]
### Gaps Found
[uncovered dimensions]
### Proposals
[item: accepted/rejected by user]
### Reviewer Findings
[finding: agree/disagree, applied/skipped]

Orthogonality Analysis

The core discipline. Map every item in the file to a dimension — an independent axis of concern. A dimension is a top-level concern like "evidence quality" or "audience fit"; items are specific checks within a dimension like "source credibility" or "cross-referencing". Two items share a dimension if improving one naturally helps the other.

User validates the dimension map before gap-filling begins. Gaps = dimensions with no coverage.

Examples of dimension sources: deliverable lifecycle (creation → review → use → maintenance), rejection triggers, wrongness vs incompleteness, base-rate failures for this task class, user interaction points.

If the first analysis finds no gaps, invoke the reviewer once and exit if clean — not every task file needs hardening.

Iteration Loop

Each iteration achieves:

  • Gaps identified via orthogonality analysis
  • Additions designed — invoke the prompt-engineering skill before proposing changes
  • User-approved additions applied (all additions via AskUserQuestion)
  • Quality validated — invoke the review-prompt skill on the task file after applying changes
  • Reviewer findings evaluated critically — not all are valid. Present assessment with rationale; user decides
  • Log updated after each round

Converged when criteria in Convergence section met.

Section Placement

Each item belongs in exactly one section, and a safety rule whose violation would be unsafe or irreversible is a Default even when verifiable — that clause wins over the Quality Gate (baseline) row below, which every safety rule also matches. A file holds only its own set's sections — a /define file never carries probes/trade-offs, a figure-out file never carries gates/Defaults:

SectionSetWhat it checksTest
Quality Gate (baseline)/defineOutput property that should always be trueWould omitting this ever be acceptable? No → baseline, unless violating it would be unsafe or irreversible → Default
Quality Gate (selectable)/defineOutput property representing a meaningful rigor choiceReasonable to skip for some tasks? Yes → selectable
Default/defineProcess practice always worth doingCan't verify from output, or a safety rule whose violation would be unsafe or irreversible? → Default
Blind-spot probefigure-outA non-natural failure mode / pre-mortem angle the model skips by default"Imagine this was rejected because..." AND a capable model wouldn't raise it unprompted? → probe
Forced trade-offfigure-outCompeting tension with no universal right answerBoth sides have legitimate merit? → trade-off

A concern appears once, in its most natural section. When the same concern appears in multiple sections, keep the stronger version.

Principles

PrincipleEnforcement
Orthogonality over volumeCover all dimensions, not all possible items within a dimension
User approves all changesPropose via AskUserQuestion, never auto-add
Critical reviewer evaluationEvaluate each finding independently — push back with rationale when wrong. When reviewer suggests items in already-covered dimensions, orthogonality wins
No redundancy across sectionsSame concern in both risks and scenarios = pick one
Principles over thresholds"Corroborated across independent sources" not "verified across 2+ sources"
No capability instructionsDon't prescribe verification methods — parent skill handles that
Match complexity to domainNot every task file needs 17 quality gates — match depth to the diversity of ways the deliverable can fail

Never

  • Auto-add items without user approval
  • Blindly apply all reviewer suggestions
  • Add arbitrary numerical thresholds
  • Prescribe verification methods (parent skill handles this)
  • Re-propose items the user already rejected (check log)

Convergence

Done when:

  • Orthogonality analysis finds no new uncovered dimensions
  • Prompt reviewer finds no MEDIUM+ issues
  • User confirms satisfaction

Frequently asked questions

What does the Harden Task File AI skill do?

Harden a manifest-dev task guidance file for one-shot quality — either /define's quality-gate/Default set or figure-out's probe set. Iterates: orthogonality gap analysis, user-approved additions, prompt review, fix, converge. Use when a task file needs comprehensive coverage or "harden task file".

Why use Harden Task File on TypingMind?

Because you install it once and use it with any model. Harden Task File is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Harden Task File in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/doodledood/manifest-dev/tree/main/.claude/skills/harden-task-file. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Harden Task File?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Harden Task File?

As many as you like. As long as a model supports skills, you can use Harden Task File with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Harden Task File AI skill free?

Yes. It is published on GitHub by doodledood under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇