Design multi-skill workflow systems with artifact-based state handoff. Use when building skill pipelines, sequenced workflows, or when workflow system, skill pipeline, state handoff, or artifacts are mentioned.
Designs multi-skill workflow systems with artifact-based state handoff for building structured pipelines.
npx claudepluginhub outfitter-dev/outfitterThis skill is limited to using the following tools:
references/preprocessing.mdreferences/state-handoff.mdreferences/workflow-templates.mdDesign skill systems that chain together with artifact-based state passing.
skillcraft skill for base skill authoringclaude-craft skill<when_to_use>
!command syntaxNOT for: single standalone skills, one-off commands, simple patterns
</when_to_use>
Every workflow system benefits from standard file locations:
.claude/
skills/
_shared/
context.md # Living summary of current task + decisions
constraints.md # Non-negotiables (security, style, perf budgets)
triage/SKILL.md
plan/SKILL.md
implement/SKILL.md
review/SKILL.md
artifacts/
triage.md # Output of /triage
plan.md # Output of /plan
test-report.md # Output of /test
review-notes.md # Output of /review
scripts/
run-tests.sh
security-check.sh
| File | Purpose | Updated By |
|---|---|---|
context.md | Task state, decisions made, current focus | Each skill as work progresses |
constraints.md | Project invariants, security rules, style guide | Setup once, rarely changed |
artifacts/{step}.md | Step outputs, consumed by next step | The skill that completes that step |
Each skill reads from previous artifacts and writes its own:
/triage → writes artifacts/triage.md
↓
/plan reads artifacts/triage.md → writes artifacts/plan.md
↓
/implement reads artifacts/plan.md → updates context.md
↓
/test reads artifacts/plan.md → writes artifacts/test-report.md
↓
/review reads all → writes artifacts/review-notes.md
Each artifact should be self-contained and parseable:
# Triage: {task description}
## Problem Statement
{clear definition}
## Scope
- Files: {list}
- Modules: {list}
## Acceptance Criteria
- [ ] {criterion 1}
- [ ] {criterion 2}
## Risks
- {risk 1}
- {risk 2}
---
Generated by /triage at {timestamp}
!commandThe !command syntax runs shell commands before prompt reaches Claude. Claude sees rendered output, not the command. IMPORTANT: The "!" must precede the opening backtick for a command.
---
name: pr-summary
context: fork
agent: Explore
allowed-tools: Bash(gh:*)
---
## Pull Request Context
<!-- NOTE: The "!" must be placed in front of backticks for preprocessing to work. -->
- **Diff**: `gh pr diff`
- **Comments**: `gh pr view --comments`
- **Status**: `gh pr status`
Summarize changes and highlight risks.
| Use Case | Preprocessing | Why |
|---|---|---|
| Git status | git status | Deterministic snapshot |
| PR context | gh pr diff | Avoid tool call overhead |
| Schema info | psql -c "\\d table" | Fresh at invocation |
| Env info | echo $NODE_ENV | Runtime context |
| Context | Use When | Example |
|---|---|---|
inherit (default) | Skill needs conversation history | Implementation skills |
fork | Clean-room analysis, no chat noise | Research, review, triage |
---
name: triage
context: fork
agent: Explore
allowed-tools: Read, Grep, Glob
---
Fork benefits:
---
name: implement
# context: inherit is default
---
Inherit when:
# triage, review, research skills
context: fork
agent: Explore
allowed-tools: Read, Grep, Glob
Read-only, returns summary.
# plan, spec, architecture skills
context: fork
agent: Plan
allowed-tools: Read, Grep, Glob
Deliberative, returns structured plan.
# implement, fix, refactor skills
# No context/agent fields (inherit default)
Needs full context, makes changes.
# deploy, ship, commit skills
disable-model-invocation: true
Never auto-triggered, explicit human decision.
| Failure Mode | Mitigation |
|---|---|
| Context blowup | Keep analysis in context: fork; store results in artifacts |
| State lost between steps | All state in files, not conversation |
| Unsafe auto-execution | disable-model-invocation: true on side-effect skills |
| Tool permission creep | Explicit allowed-tools per skill, minimal set |
| Workflow step skipped | Artifacts serve as gates (next step reads previous) |
---
name: {step-name}
description: {what this step does}. Use when {trigger conditions}.
context: fork # or omit for inherit
agent: Explore # if forked
allowed-tools: Read, Grep, Glob
disable-model-invocation: true # if side-effectful
---
# Purpose
- Why this step exists
- What "done" looks like
# Inputs
- Read: artifacts/{previous-step}.md
- Read: .claude/skills/\_shared/constraints.md
- $ARGUMENTS: {expected input}
# Process
1. {step 1}
2. {step 2}
3. {step 3}
# Outputs
- Write: artifacts/{this-step}.md
- Update: .claude/skills/\_shared/context.md with decisions
# Constraints
- {constraint 1}
- {constraint 2}
<rules>
ALWAYS:
disable-model-invocation: true for side-effect skillsallowed-tools to required setNEVER:
!command syntax and patternsActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.