October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

I Stopped Prompting and Started Building a Harness: A React Native Developer’s Claude Code Plugin

Valentine Tikhomirov turned his repeated React Native setup and refactoring instructions into an alpha Claude Code plugin of reusable skills and agents. Here is what it covers, what the refactoring example shows, and what remains untested.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Valentine Tikhomirov got tired of typing the same setup, refactoring and shipping instructions into every new AI-agent session. His answer was a personal, alpha-stage Claude Code plugin of reusable skills and agents for React Native work, invoked with an rnmh: prefix. He says he uses it daily on his own projects. He also says several newer skills have not been tested on a real project, and that his one detailed refactoring was checked statically, not by running the app. This article covers what he built, what his refactoring example shows, and where the limits are.

The problem: re-entering the same instructions

Tikhomirov’s starting point was repetition. In each new session he kept pasting the same project setup, refactoring standards and shipping checks. His first fix was a set of files in ~/.claude. When that became hard to maintain, he moved the material into a plugin with its own Git repository.

As an Amazon Associate I earn from qualifying purchases.

The central idea is to write down his working practices as task-specific instructions, and to give each task its own skill or agent. A skill holds the instructions for one kind of work. An agent carries out that work. Instead of one long standing prompt that tries to cover everything, the agent is loaded for the job at hand.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

He reports that answers became more structured once the work was split into dedicated skills. That is his own observation from using the plugin, not the result of an independent evaluation.

What the plugin contains

The author describes the plugin as a set of workflows. Some are established in his daily use; others are newer and, by his account, have not yet been exercised on a real project.

Workflow What it is for, as described Maturity, as the author describes it
Project bootstrap Sets up a new React Native project. It deliberately limits itself to strict TypeScript and the author’s preferred folder layout, and asks about other choices for each project. In daily use
Refactoring skill and agent Restructures existing components. The worked example below comes from this agent. In daily use; the example was checked statically
Cross-project consistency checks Looks for duplicated code and naming drift across projects. In daily use
Design-to-code Turns design input into implementation. In daily use
Architecture review Reviews how a codebase is structured. In daily use
Testing and test coverage Covers test writing and coverage work. In daily use
Diagnostics Newer addition. Not yet battle-tested on a real project
Release checklist Newer addition. Not yet battle-tested on a real project
Security review Newer addition. Not yet battle-tested on a real project
React Native upgrades Newer addition. Not yet battle-tested on a real project

The “in daily use” column reflects the author’s statement that he uses the plugin on his own projects. It does not mean each workflow has been measured against an external standard.

Worked example: splitting a 330-line component

The clearest example in the write-up is a refactoring of the Home() component in a personal headache-tracker app. Before the change, the component was roughly 330 lines long. It held five useState calls, five useEffect calls, three asynchronous handlers and a multi-branch JSX return.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Measure in Home() Before After
Approximate line count About 330 About 150
useState calls 5 Not stated
useEffect calls 5 Not stated
Asynchronous handlers 3 Not stated
Whole-project line count Not stated Somewhat higher, per the author, because files and imports were added

The work was moved into named components and hooks. The author names IntensityPicker, OngoingAttackCard, RecentAttacksList and HomeActions as components, and useReduceMotion, useDictation and useKeyboardVisible as hooks. The agent also moved formatTime() into a shared formatting module and removed code that was no longer used. The aim, in his words, was to give each piece one job. The line count of the whole project rose, which he accepts as the cost of that split.

He says each change maps to a named refactoring from the catalogue in Martin Fowler’s Refactoring, 2nd edition. Readers who want to look up the individual moves may find the book a useful reference, though it is not required to follow the example.

What was checked, and what was not

The author reports that behaviour was unchanged and that TypeScript (tsc) and ESLint checks came back clean. He is also clear about the gap: the app was not run. Simulator review was still needed, and that is a separate step from the static checks above.

Static checks confirm that the code compiles and follows the lint rules. They do not confirm that a screen behaves the same way on a device. For a refactor like this one, the practical gap is the one he names: nobody has yet watched the screen run after the change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What one project can and cannot show

The evidence here is one developer, one plugin and one refactoring example. The write-up is a design account and an experience report. It is not a controlled comparison of harnesses against prompts, and it does not show that harnesses outperform prompts in general. The author does not present a benchmark, a measured comparison with other workflows, or a statistical study.

The line counts are measurements of one component in one app, not broader figures about React Native code.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Three lessons the author draws

Narrow skills beat one large instruction

The author’s first lesson is that task-specific skills seemed to produce more structured answers than one large general instruction. He states it directly: “Narrow skills beat one giant prompt.” Tikhomirov, article author.

Agents should act and explain

He wants agents to carry out a change and explain what they did, not only list problems for a human to fix. The refactoring agent is built that way, and that is how the Home() change was produced.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understanding the codebase is still the weak spot

Agents sometimes miss features that already exist in the project and need the user to steer them back. The author puts it this way: “Understanding the project is still the weak spot.” Tikhomirov, article author. He mentions Graphify as a way to give an agent a map of the codebase, but he does not claim the underlying weakness is solved.

Availability and status

The author planned to open the harness to other React Native developers. The write-up does not confirm that this has happened, and it gives no pricing, licensing terms or partner arrangement. Check the project’s current status before assuming you can install it. Nothing in the article establishes a public release.

If you want to try the same approach

The author’s account suggests a practical order of work for a team or solo developer who wants a similar setup:

  • Pick one recurring task, such as refactoring or release checks, and write its instructions as a single skill before writing anything broader.
  • Decide which checks must run every time. The author’s refactoring example relied on type checking and linting, and he still ran the app by hand.
  • Keep project-specific choices explicit. His bootstrap asks about them rather than assuming them.
  • Treat newer skills as untested until they have run on a real project, and say so in your own notes.
  • Review what an agent changed by running the app, not only by reading the diff.

Conclusion

Tikhomirov’s plugin is a personal, alpha-stage answer to a common frustration: re-entering the same setup and standards at the start of every session. Its strongest point in the write-up is the split of one oversized React Native component into named pieces, with type checks and linting clean. Its weakest point, by his own account, is that the app was not run, several newer skills are untested on a real project, and codebase understanding still needs steering. Read it as one developer’s report of a working method, not as proof that the method works for everyone.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Valentine Tikhomirov, “I stopped prompting and started building a harness,” DEV Community, September 23, 2026.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.