# How Token Efficiency Is Achieved by Passing Drafts Inline to Reviewer Agents

> Achieve token efficiency by passing drafts inline to reviewer agents. This method embeds draft content directly into prompts, saving resources and streamlining verification.

- Repository: [Mads Lorentzen/ai-job-search](https://github.com/MadsLorentzen/ai-job-search)
- Tags: internals
- Published: 2026-07-19

---

**The drafter-reviewer workflow achieves token efficiency by embedding draft content directly into the reviewer agent’s prompt, eliminating redundant file reads and consolidating verification into a single pass.**

The `ai-job-search` repository implements a token-efficient orchestration pattern where drafter agents pass generated content inline to reviewer agents. This design avoids the costly overhead of redundant file system operations while maintaining strict verification standards. By examining the command definitions and workflow documentation, we can see exactly how inline draft passing minimizes token consumption.

## The Inline Draft Pattern

### Eliminating Redundant File Reads

Traditional multi-agent workflows often force the reviewer to re-read files generated by the drafter using separate tool calls. In this codebase, the drafter instead **embeds the full text of the CV and cover letter drafts directly into the reviewer’s prompt**. This bypasses the need for additional `Read` tool invocations, which significantly reduces token usage since the context window does not duplicate file content.

### Single-Pass Verification

The verification checklist executes **only once** at the conclusion of the review phase. Because the reviewer receives the drafts inline, it can critique the content immediately without waiting for file operations. This consolidates the entire critique-and-verify cycle into a single context window, preventing the token duplication that would occur if both agents processed the files separately.

## Implementation in the Codebase

### Command Structure in apply.md

The `/apply` command implements this pattern in [`.claude/commands/apply.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/apply.md). [Lines 9-10](https://github.com/MadsLorentzen/ai-job-search/blob/master/.claude/commands/apply.md#L9) specify that when spawning the reviewer agent, the system must **pass the draft content inline** rather than referencing external file paths. This architectural decision ensures that the reviewer receives a complete, self-contained prompt with all necessary context already loaded.

### Workflow Documentation in README.md

The repository documentation in [`README.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/README.md) ([lines 238-240](https://github.com/MadsLorentzen/ai-job-search/blob/master/README.md#L238)) describes this mechanism as "token-efficient reviewer dispatch." According to the source, the reviewer receives drafts inline rather than re-reading them, and the verification checklist runs once at the end. This confirms that the design intentionally avoids the "re-read" anti-pattern common in less optimized agent workflows.

## Practical Code Example

The following Python sketch illustrates how the drafter constructs the reviewer prompt with inline draft content:

```python
def spawn_reviewer_agent(draft_cv: str, draft_cover_letter: str) -> str:
    """
    Spawn a reviewer agent with drafts passed inline to minimize token usage.
    Avoids redundant Read tool calls by embedding content directly.
    """
    reviewer_prompt = (
        "You are a reviewer agent. Critique the following drafts "
        "and provide structured feedback.\n\n"
        "=== CV Draft ===\n"
        f"{draft_cv}\n\n"
        "=== Cover Letter Draft ===\n"
        f"{draft_cover_letter}\n\n"
        "After critique, run the verification checklist once."
    )
    
    # In production, this prompt is passed directly to the agent

    # without invoking Read tools for the draft files

    return reviewer_prompt

```

This approach ensures that **no additional Read calls are required** for the reviewer to access the draft content, as the text is already present in the prompt context.

## Key Files and Line References

- **[`.claude/commands/apply.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/apply.md)** ([lines 9-10](https://github.com/MadsLorentzen/ai-job-search/blob/master/.claude/commands/apply.md#L9)): Defines the requirement to pass draft content inline when spawning the reviewer agent.
- **[`README.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/README.md)** ([lines 238-240](https://github.com/MadsLorentzen/ai-job-search/blob/master/README.md#L238)): Documents the token-efficient reviewer dispatch mechanism and single-run verification checklist.

## Summary

- **Inline content passing** eliminates redundant file read operations between drafter and reviewer agents.
- **Single-pass verification** consolidates checklist execution to the end of the review cycle, preventing token duplication.
- **Implementation** relies on command definitions in [`apply.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/apply.md) and workflow documentation in [`README.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/README.md).
- **Result** is a significant reduction in total tokens consumed during the `/apply` command execution while maintaining full verification capabilities.

## Frequently Asked Questions

### Why is passing drafts inline more token-efficient than file reads?

Passing drafts inline avoids invoking the `Read` tool a second time. Each file read operation consumes tokens to encode the file path, handle the tool call structure, and process the returned content. By embedding the text directly in the prompt, the system eliminates these overhead tokens and prevents the context window from holding duplicate copies of the same content.

### Does the reviewer agent lose any context by not reading files directly?

No. The reviewer receives the complete text of both the CV and cover letter drafts within its initial prompt. This provides the same information density as a file read while actually improving context continuity, since the drafter can include additional inline metadata or formatting instructions alongside the content.

### Where is the verification checklist executed?

The verification checklist runs **once** at the end of the reviewer agent's execution, as defined in [README.md lines 238-240](https://github.com/MadsLorentzen/ai-job-search/blob/master/README.md#L238). This occurs after the inline critique is complete, ensuring that verification happens only when the content has been fully reviewed and refined.

### Can this pattern be adapted for other multi-agent workflows?

Yes. Any multi-agent system where one agent generates content and another critiques it can adopt this pattern. The key requirement is ensuring the generator agent formats its output so it can be cleanly embedded into the reviewer agent's prompt, eliminating the need for intermediate file storage and subsequent read operations.