agent-orchestrationMaster the art of spawning and managing sub-agents. Write prompts that actually work, track running agents, and learn from every outcome. Part of the Hal Stack π¦
Install via ClawdBot CLI:
clawdbot install clawdnw/agent-orchestrationBy Hal Labs β Part of the Hal Stack
Your agents fail because your prompts suck. This skill fixes that.
You're not prompting. You're praying.
Most prompts are wishes tossed into the void:
β "Research the best vector databases and write a report"
You type something reasonable. The output is mid. You rephrase. Still mid. You add keywords. Somehow worse. You blame the model.
Here's what you don't understand: A language model is a pattern-completion engine. It generates the most statistically probable output given your input.
Vague input β generic output. Not because the model is dumb. Because generic is what's most probable when you give it nothing specific to work with.
The model honored exactly what you asked for. You just didn't realize how little you gave it.
A prompt is not a request. A prompt is a contract.
Every contract must answer four non-negotiables:
| Element | Question |
|---------|----------|
| Role | Who is the model role-playing as? |
| Task | What exactly must it accomplish? |
| Constraints | What rules must be followed? |
| Output | What does "done" look like? |
Miss one, the model fills the gap with assumptions. Assumptions are where hallucinations are born.
Effective prompts share a specific structure. This maps to how models actually process information.
Who is the model in this conversation?
Not "helpful assistant" but a specific role with specific expertise:
You are a senior product marketer who specializes in B2B SaaS positioning.
You have 15 years of experience converting technical features into emotional benefits.
You write in short sentences. You never use jargon without explaining it.
The model doesn't "become" this identityβit accesses different clusters of training data, different stylistic patterns, different reasoning approaches.
Identity matters. Miss this and you get generic output.
What does the model need to know to do this task exceptionally well?
Context must be:
## Context
### Rules (never change)
- Design system: Tailwind, shadcn components
- Voice: Professional but warm, never corporate
### Current State (may evolve)
- Landing page exists at /landing
- Using Next.js 14 with App Router
### Historical (for reference)
- Originally built with Create React App, migrated Jan 2025
Without labels, the model treats everything as equally optional. Then it rewrites your core logic halfway through.
What specific action must be taken?
Not "write something about X" but precise instructions:
## Task
Produce a 500-word product description that:
- Emphasizes time-saving benefits for busy executives
- Opens with the primary pain point
- Includes 3 specific use cases
- Ends with a clear call to action
The more precisely you define the task, the more precisely the model executes.
This is where most prompts fail.
You're asking for output. You should be asking for how the output is formed.
β Bad:
Write me a marketing page.
β Good:
## Process
1. First, analyze the target audience and identify their primary pain points
2. Then, define the positioning that addresses those pain points
3. Then, write the page
4. Show your reasoning at each step
5. Do not skip steps
6. Audit your work before reporting done
You don't want answers. You want how the answer is formed.
Think like a director. You're not asking for a sceneβyou're directing how the scene gets built.
What does "done" actually look like?
If you don't specify, you get whatever format the model defaults to.
## Output Format
Return a JSON object with:
- `headline`: string (max 60 chars)
- `subheadline`: string (max 120 chars)
- `body`: string (markdown formatted)
- `cta`: string (action verb + benefit)
Do not include explanations, notes, or commentary. Only the JSON.
Miss one layer, the structure wobbles. Miss two, it collapses.
Prompt portability is a myth.
Different models are different specialists. You wouldn't give identical instructions to your exec assistant, designer, and backend dev.
| Model Type | Best For | Watch Out For |
|------------|----------|---------------|
| Claude Opus | Complex reasoning, nuanced writing, long context | Expensive, can be verbose |
| Claude Sonnet | Balanced tasks, code, analysis | Less creative than Opus |
| GPT-4 | Broad knowledge, structured output | Can be sycophantic |
| Smaller models | Quick tasks, simple queries | Limited reasoning depth |
Adapt your prompts per model:
The person who writes model-specific prompts will outperform the person with "better ideas" every time.
Vagueness isn't flexibility. It's cowardice.
You hedge because being specific feels risky. But the model doesn't read your mind.
Constraints are not limitations. Constraints are instructions.
## Constraints
- Never alter the existing design system
- Always maintain the established voice/tone
- Never change the data model without explicit approval
- Max 3 API calls per operation
- If unsure, ask rather than assume
Every conversation starts at zero. The model doesn't have accumulated context from working with you. Consistency comes from instruction, not memory.
If you don't have docs, you're gambling.
| Document | Purpose |
|----------|---------|
| PRD | What we're building and why |
| Design System | Visual rules and components |
| Constraints Doc | What must never change |
| Context Doc | Current state and history |
The rule: Reference docs in your prompts.
The attached PRD is the source of truth. Do not contradict it.
The design system in /docs/design.md must be followed exactly.
Without explicit anchoring, the model assumes everything is mutableβincluding your core decisions.
"Good prompting isn't writing better sentences. It's anchoring the model to reality."
## Identity
You are a [specific role] with [specific expertise].
[Behavioral traits and style]
## Context
### Rules (never change)
- [Constraint 1]
- [Constraint 2]
### Current State
- [Relevant background]
### Reference Docs
- [Doc 1]: [what it contains]
- [Doc 2]: [what it contains]
## Task
[Specific, measurable objective]
## Process
1. First, [analysis step]
2. Then, [planning step]
3. Then, [execution step]
4. Finally, [verification step]
Show your reasoning at each step.
## User Stories
1. As [user], I want [goal], so that [benefit]
2. As [user], I want [goal], so that [benefit]
## Output Format
[Exact specification of deliverable]
## Constraints
- [Limit 1]
- [Limit 2]
- [What NOT to do]
## Error Handling
- If [situation]: [action]
- If blocked: [escalation]
## Before Reporting Done
1. Review each user story
2. Verify the output satisfies it
3. If not, iterate until it does
4. Only then report complete
For complex tasks where first attempts often fail:
## Mode: Ralph
Keep trying until it works. Don't give up on first failure.
If something breaks:
1. Debug and understand why
2. Try a different approach
3. Research how others solved similar problems
4. Iterate until user stories are satisfied
You have [N] attempts before escalating.
When to use:
Every spawned agent gets tracked. No orphans.
Maintain notes/areas/active-agents.md:
## Currently Running
| Label | Task | Spawned | Expected | Status |
|-------|------|---------|----------|--------|
| research-x | Competitor analysis | 9:00 AM | 15m | π Running |
## Completed Today
| Label | Task | Runtime | Result |
|-------|------|---------|--------|
| builder-v2 | Dashboard update | 8m | β
Complete |
Heartbeat check:
1. Run sessions_list --activeMinutes 120
2. Compare to tracking file
3. Investigate any missing/stalled agents
4. Log completions to LEARNINGS.md
Every agent outcome is data. Capture it.
Maintain LEARNINGS.md:
## What Works
- User stories + acceptance loop
- Ralph mode for complex builds
- Explicit output formats
- Process layer with reasoning steps
## What Doesn't Work
- Lazy task dumps
- Missing success criteria
- No scope limits
- Vague constraints
## Experiment Log
### [Date]: [Agent Label]
**Approach:** [What you tried]
**Outcome:** [What happened]
**Lesson:** [What you learned]
Build reusable role definitions:
# Role Library
## Research Analyst
You are a senior research analyst with 10 years experience in technology markets.
You are thorough but efficient. You cite sources. You distinguish fact from speculation.
You present findings in structured formats with clear recommendations.
## Technical Writer
You are a technical writer who specializes in developer documentation.
You write clearly and concisely. You use examples liberally.
You assume the reader is smart but unfamiliar with this specific system.
## Code Reviewer
You are a senior engineer conducting code review.
You focus on correctness, maintainability, and security.
You explain your reasoning. You suggest specific improvements, not vague feedback.
The gap between "AI doesn't work for me" and exceptional results isn't intelligence or access.
One group treats prompting as conversation. The other treats it as engineering a system command.
The model matches your level of rigor.
You don't need to be smarter. You need to be clearer.
Clarity is a system, not a talent.
Part of the Hal Stack π¦
Got a skill idea? Email: halthelobster@protonmail.com
"You're not prompting, you're praying. Start engineering."
Generated Mar 1, 2026
A marketing team uses the skill to generate precise, on-brand product descriptions and landing page copy. By applying the 5-layer architecture, they ensure outputs align with brand voice, target audience pain points, and specific constraints like word count and format, reducing revisions.
Developers leverage the skill to create detailed technical documentation and code explanations. The structured prompts guide models to produce clear, step-by-step instructions and maintain consistency with existing codebases, improving onboarding and knowledge sharing.
A support team implements the skill to craft prompts for AI agents handling customer inquiries. By defining roles, tasks, and constraints, they ensure responses are accurate, empathetic, and adhere to company policies, enhancing efficiency and customer satisfaction.
Analysts use the skill to generate comprehensive reports on market trends or data insights. The process layer ensures models follow a logical reasoning path, producing well-structured outputs with clear conclusions and actionable recommendations.
Offer the skill as part of a subscription-based platform for AI prompt engineering. Users pay monthly for access to templates, model-specific optimizations, and analytics on prompt performance, generating recurring revenue.
Provide consulting services to businesses looking to integrate AI agents effectively. Offer workshops and custom prompt design based on the skill's principles, charging per project or hourly for expertise in orchestration.
License the skill to large enterprises for internal use in departments like marketing, R&D, or operations. Include support, customization, and integration with existing AI tools, with pricing based on user count or usage tiers.
π¬ Integration Tip
Integrate the skill by starting with small pilot projects to refine prompts based on model-specific behaviors, then scale to broader applications while maintaining consistent output quality.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Search and analyze your own session logs (older/parent conversations) using jq.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready.
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection