This skill should be used when running the autonomous engineering harness (/harness start), when the user asks about "harness gate rules", "autonomous work protocol", "harness failure handling", or when Claude needs guidance on autonomous decision-making during unsupervised plan-work-review-commit cycles.
Provides autonomous engineering decision-making protocols for unsupervised plan-work-review-commit cycles.
npx claudepluginhub mberto10/mberto-compoundThis skill inherits all available tools. When active, it can use any tool Claude has access to.
harness-protocolProvide the decision-making framework for autonomous engineering work. When the harness is running, there is no human in the loop for most decisions. This skill teaches you WHEN to proceed, WHEN to revert, WHEN to skip, and WHEN to stop and ask.
Gates are checkpoints where work must meet criteria before proceeding. There are two types:
| Gate | When | Criteria | On Failure |
|---|---|---|---|
| Invariant check | After each change group | All subsystem invariants pass | Revert group, try alternate approach once |
| Tier0 tests | After each change group | All tier0 tests pass | Revert group, try alternate approach once |
| Review verdict | After all groups | PASS or PASS_WITH_WARNINGS | Revert all issue commits, mark failed |
Hard gate failure protocol:
| Gate | When | Criteria | On Warning |
|---|---|---|---|
| Tier1 tests | During review | All tier1 tests pass | Proceed with PASS_WITH_WARNINGS |
| Spec coverage | During review | All changes covered by specs | Note gaps, create follow-up issues |
| Commit message | Before commit | Follows structured format | Fix format, don't skip commit |
Soft gate warning protocol:
Issues following the template have clear sections:
## Goal
[What should be true after]
## Subsystems
[Which subsystem specs to load]
## Acceptance Criteria
- [ ] Testable assertions
## Constraints
[What not to do]
## Done When
[Verification command]
Extract each section directly. Map "Subsystems" to paths under subsystems_knowledge/.
Many issues won't follow the template. Extract actionable information:
subsystems_knowledge/**/*.yaml by checking description and paths.owned.tests.tier0 as the verification.If after parsing you still can't determine:
Then the issue is blocked (needs human input). Comment on it asking for clarification and skip to the next issue. Do NOT guess at ambiguous requirements.
Each change group gets its own commit. This makes reversion granular — if review fails, you can reset to before a specific group.
{type}: {concise description}
Issue: {linear_issue_id}
Change-Group: {N}/{total}
Subsystems: {comma-separated subsystem names}
Invariants: {pass_count}/{total_count} verified
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Type prefixes:
feat: — new functionalityfix: — bug fixrefactor: — restructuring without behavior changetest: — test additions or changesdocs: — documentation updateschore: — maintenance tasksAlways git add specific files by name. Never use git add -A or git add . — this prevents accidentally staging unrelated changes or sensitive files.
Characteristics: Transient, non-deterministic, or caused by a fixable approach choice.
| Signal | Example | Action |
|---|---|---|
| Test flake | Test passed before, fails now with no code change | Re-run once |
| Transient error | Network timeout, file lock | Wait briefly, retry |
| Wrong approach | Change group approach doesn't work but goal is clear | Try one alternate approach |
| Minor syntax | Typo, missing import | Fix and re-verify |
Retry budget: ONE retry per change group. If retry also fails, escalate to structural.
Characteristics: The approach fundamentally doesn't work. Retrying won't help.
| Signal | Example | Action |
|---|---|---|
| Design mismatch | Issue requires architecture the codebase doesn't support | Skip group, flag in Linear |
| Missing dependency | Needs a library/service that isn't available | Skip group, create sub-issue |
| Conflicting invariants | Fixing one invariant breaks another | Skip group, flag as needs design |
| Cascading failures | Change group breaks downstream subsystems | Revert, flag in Linear |
Action: Revert the change group. Log detailed failure reason in Linear comment. Move to next group.
Characteristics: Cannot proceed without human input.
| Signal | Example | Action |
|---|---|---|
| Ambiguous requirements | Issue doesn't specify what to change | Comment asking for clarification |
| Access needed | Requires credentials, permissions, or external service | Comment explaining blocker |
| Design decision | Multiple valid approaches, no clear winner | Comment with options |
| Risk too high | Change could break production, needs human review | Comment with risk assessment |
Action: Comment on the issue with specific questions or blockers. Skip the issue (add to skipped_issues). Move to next issue.
Harness pausing — context limit approaching.
Completed: {N}/{total} change groups
Commits: {hashes}
Remaining: {description of what's left}
Resume with /harness start
[HARNESS_PAUSE: {issue_id}]When /harness start loads a state file with current_issue set:
| Pattern | Why It Matters |
|---|---|
| Same subsystem spec consulted 3+ times per issue | Spec might be missing helpful_skills |
| Invariant not in spec but discovered during work | Spec gap — create follow-up issue |
| Same test command typed repeatedly | Should be in subsystem spec tests section |
| Manual step that could be automated | Hook or command candidate |
| Knowledge looked up externally | Should be encoded as skill or reference |
Every discover_interval completed issues (default: 5), run a brief discovery pass:
friction_log entriesWhen you find a gap in a subsystem spec during work:
| Label | When |
|---|---|
| Filter label (e.g., "ready") | Issue is ready for autonomous work |
blocked | Issue needs human input |
spec-gap | Issue is a discovered spec gap |
| From | To | When |
|---|---|---|
| Ready/Backlog | In Progress | Harness claims the issue |
| In Progress | Done | All gates pass |
| In Progress | (unchanged) | Harness fails — leave for human triage |
Teach teams to structure issues for harness consumption:
## Goal
[One sentence: what should be true after this is done]
## Subsystems
[e.g., backend/api, frontend/core-loop]
## Acceptance Criteria
- [ ] [Testable assertion 1]
- [ ] [Testable assertion 2]
## Constraints
[Invariants, no-go areas, or "see subsystem spec"]
## Done When
[Test command or verification step]
The harness can handle free-form issues too, but structured issues produce better results because:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.