> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blocks.team/llms.txt
> Use this file to discover all available pages before exploring further.

# Technical Refinement

Technical refinement lets your coding agent read your codebase and enrich a vague ticket with real implementation detail — relevant patterns, edge cases, test scenarios, and effort estimates — without you having to dig through the code yourself.

It works in GitHub Issues, Linear, or anywhere you interact with Blocks.

## What you get

A ticket that says:

> Add ability to export reports

becomes:

**Technical Details**

* Implement CSV and PDF export using existing `ReportGenerator` service
* Add new `/api/reports/:id/export` endpoint
* Use existing download pattern from `InvoiceController` (line 145)
* Store exports in S3 with 24-hour expiry

**Edge Cases**

* Handle large reports (>10MB) with streaming
* Rate limit: 5 exports/hour per user
* Validate user permissions for report access

**Testing**

* Unit tests for export formatting
* Integration test for S3 upload
* E2E test for full export flow

**Estimated Complexity:** Medium — 3–5 days

Blocks updates the ticket directly, or posts a comment with questions if the ticket lacks enough context to proceed.

## How to use it

Ask Blocks to refine a ticket in plain language:

* @blocks add technical details to this ticket based on our codebase
* @blocks what are the edge cases and implementation considerations here?
* @blocks break this epic into smaller tickets with technical details

The more context the ticket has (requirements, acceptance criteria, design links), the more specific the output.

## Plan Mode for large features

For complex features, use `/plan` to generate a full implementation plan — architecture decisions, implementation steps, testing strategy, and rollout considerations. See [Plan Mode](/using-blocks/features/plan-mode).

## Related

* [Question Answering](/using-blocks/use-cases/question-answering) — ask about implementation details before refining
* [Task Delegation](/using-blocks/use-cases/task-delegation) — hand off a refined ticket to a coding agent
