Hi,👋 we have updated the app and fixed multiple bugs. We are lacking funds, request to free user not to use Adblock. Ads are non intrusive. 😊

Carousel Studio

Repurpose X Threads into LinkedIn & Instagram Carousels

Thread Truncated (Cap Enforced)

Only the first 20 tweets are unrolled into slides to ensure reliable PDF exporting and high server performance.

Canvas & Ratio

Choose your destination platform format


Layout Template

Choose a content structure for your slides


Preset Themes


Typography & Sizing

Title Font Size36px
Body Font Size18px
Header & Footer Size12px

Brand Kit Customization

AGENCY

Configure brand assets for headers & footers

MULTI-PROFILES (AGENCY)
AGENCY
SAVE PRESETS (AGENCY)

Outro Slide CTA

Customize your closing call-to-action slide

#1
#2
#3

Background Pattern

Source Content

Build Your Carousel

Drag and drop any post card below onto a slide, or use the quick buttons to insert content/images instantly!

Drag Post #1
Mohit Goyal (Harness arc)
@ByteMohit

<b>Everyone is building with agents.</b>

Apply Image
Drag Post #2
Mohit Goyal (Harness arc)
@ByteMohit

Almost nobody talks about what is actually inside one.

Drag Post #3
Mohit Goyal (Harness arc)
@ByteMohit

Not the model. The harness around it.

Drag Post #4
Mohit Goyal (Harness arc)
@ByteMohit

I spent the last few months building one from scratch in Python every component, no framework shortcuts. A streamed agent loop, typed tool calls, approval gates, prompt-injection boundaries, context compaction, MCP integration, subagents, persistence, and a full test suite.

Drag Post #5
Mohit Goyal (Harness arc)
@ByteMohit

The project is called <b>AgentForge</b>.

Drag Post #6
Mohit Goyal (Harness arc)
@ByteMohit

It is open source, installable, and running right now on my machine.

Drag Post #7
Mohit Goyal (Harness arc)
@ByteMohit

→ GitHub: <a target="_blank" href="https://github.com/MohitGoyal09/AgentForge" color="blue">MohitGoyal09/AgentForge</a> → PyPI: <a target="_blank" href="https://pypi.org/project/agentforge-harness/" color="blue">agentforge-harness</a> → Install: pip install agentforge-harness

Drag Post #8
Mohit Goyal (Harness arc)
@ByteMohit

<b>This article is not a launch post.</b>

Drag Post #9
Mohit Goyal (Harness arc)
@ByteMohit

It is everything building AgentForge taught me about what agents actually are and why using frameworks without building one first leaves a dangerous gap in your understanding.

Drag Post #10
Mohit Goyal (Harness arc)
@ByteMohit

The core lesson came early and changed everything after it:

Drag Post #11
Mohit Goyal (Harness arc)
@ByteMohit

An agent is not a model. An agent is a runtime that controls how a model sees, acts, retries, remembers, and stops.

Drag Post #12
Mohit Goyal (Harness arc)
@ByteMohit

The model is maybe 20% of the engineering.

Drag Post #13
Mohit Goyal (Harness arc)
@ByteMohit

The other 80% is what wraps it: the action space, the approval policy, the observation format, the context budget, the recovery paths, the persistence layer.

Drag Post #14
Mohit Goyal (Harness arc)
@ByteMohit

I built all of it. Here is what each part taught me.

Drag Post #15
Mohit Goyal (Harness arc)
@ByteMohit

---

Drag Post #16
Mohit Goyal (Harness arc)
@ByteMohit

## The Whole Harness In One Table

Drag Post #17
Mohit Goyal (Harness arc)
@ByteMohit

Apply Image
Drag Post #18
Mohit Goyal (Harness arc)
@ByteMohit

This is what I ended up building, and what each part taught me:

Drag Post #19
Mohit Goyal (Harness arc)
@ByteMohit

<pre><code lang="">| Component | File | What It Taught Me | | --- | --- | --- | | Session runtime | `agentforge_harness/agent/session.py` | Chat history is not enough. An agent needs a real runtime container. | | Agent loop | `agentforge_harness/agent/agent.py` | The loop is a control system, not a `while tool_calls` toy. | | Provider adapter | `agentforge_harness/client/llm_client.py` | Normalize model providers at the edge. | | Tool contract | `agentforge_harness/tools/base.py` | Tool output quality controls recovery quality. | | Tool registry | `agentforge_harness/tools/registry.py` | Every action should pass through validation, policy, cleanup, and hooks. | | File tools | `agentforge_harness/tools/builtin/` | Small metadata details change model behavior. | | Approval layer | `agentforge_harness/safety/approval.py` | Safety has to be enforced outside the prompt. | | Prompt-injection boundary | `agentforge_harness/safety/prompt_injection.py` | Tool output is data, not instruction. | | Context manager | `agentforge_harness/context/manager.py` | Forgetting is an engineering problem. | | Skills | `agentforge_harness/skills/manager.py` | Load guidance when needed, not all the time. | | MCP | `agentforge_harness/tools/mcp/mcp_manager.py` | External tools need namespacing and trust boundaries. | | Subagents | `agentforge_harness/tools/subagents.py` | Delegation should start bounded and scoped. | | Persistence | `agentforge_harness/agent/persistence.py` | If you cannot inspect the run, you cannot improve the agent. |</code></pre>

Drag Post #20
Mohit Goyal (Harness arc)
@ByteMohit

This table is the real article.