iTranslated by AI
Using OpenClaw to Integrate AI Agents into My Personal Projects
Introduction
The hardest part of solo development is being "on your own." Writing code, reviewing it, fixing CI, writing articles, marketing—you do it all alone.
In this article, I will introduce how I changed my development workflow by introducing an AI agent framework called OpenClaw into the development of my diary app, Storyie. In short, it feels like having "another developer" on standby 24 hours a day.
What is OpenClaw?
OpenClaw is a framework that allows AI agents with LLMs like Claude as backends to reside on local machines or servers.
Features:
- Workspace Resident — Linked to a repository, it can read/write files and execute commands.
- Messaging Integration — You can talk to the agent via Discord, Telegram, Signal, etc.
- Cron Jobs — Executes tasks periodically (CI checks, handling reviews, etc.).
- Sub-agents — Runs tasks independent of the main session in parallel.
-
Memory — Manages memory via
MEMORY.mdor directory-based systems.
In essence, it is a system where "Claude waits for you 24/7 while understanding your project's codebase."
Setup
Installation and Initial Configuration
npm install -g openclaw
openclaw configure
You link the agent to a workspace in the configuration file (openclaw.json):
{
"agents": {
"list": [
{
"id": "storyie",
"name": "Storyie Dev",
"workspace": "/home/ubuntu/dev/storyie"
}
]
}
}
Workspace Configuration Files
By placing the following files in the project root, the agent operates in a state where it "understands the project":
| File | Role |
|---|---|
AGENTS.md |
Agent's behavioral guidelines, procedures at the start of a session |
CLAUDE.md |
Coding guidelines, tech stack, commands |
SOUL.md |
Agent's persona (tone, communication style) |
TOOLS.md |
List of available tools and commands |
MEMORY.md |
Long-term memory (decisions, lessons learned, TODOs) |
HEARTBEAT.md |
Tasks to execute during periodic checks |
Example of AGENTS.md:
## Every Session
1. Read `SOUL.md` — development assistant persona
2. Read `CLAUDE.md` — project-specific coding guidelines
3. Check recent `memory/YYYY-MM-DD.md` for context
## Development Workflow
### Before Committing
pnpm type-check
pnpm lint
pnpm test
### Commit Style
Use Conventional Commits: feat:, fix:, refactor:, chore:
This allows the agent to grasp the project rules at the start of every session before it begins working.
Real-world Cron Jobs
In Storyie, I delegate seven Cron jobs to the agent. This is where the true value of OpenClaw lies.
1. Automated Issue Implementation (do-next worker)
Schedule: Every 30 minutes
It automatically picks up GitHub Issues labeled with do-next and implements them to create a PR.
Process Flow:
- Retrieve target Issues using
gh issue list --label do-next. - Read the Issue content and investigate the codebase.
- Create a feature branch from
develop. - Implement the changes.
- Run
pnpm lint:fix && pnpm type-check && pnpm test. - Commit → Push → Create PR.
- Remove the
do-nextlabel.
Actual Behavior: When I write an Issue and add the do-next label, a PR is raised within 30 minutes. If I review it and write a correction comment, it is automatically fixed in the next Cron job (described later).
2. Implementation Plan Researcher (plan worker)
Schedule: Every hour at :30
For Issues labeled plan, it deeply investigates the codebase and writes an implementation plan.
Output Examples:
- 📁 List of affected files and packages
- 🏗️ Design policy (consistency with existing patterns)
- 📝 Specific implementation steps (checklist format)
- ⚠️ Cautions and risks
- 🔗 Relevant existing code (file paths and line numbers)
- 📊 Estimated effort (S/M/L)
Once the plan is written, it removes the plan label and adds the do-next label. In other words, a pipeline is established where simply labeling an Issue automates the "investigation → planning → implementation → PR" flow.
[plan label] → Researcher investigates and writes the plan
↓ Automatic label change
[do-next label] → Worker implements and creates a PR
↓
[PR Review] → Human reviews
↓ Writes comments
[PR review fixer] → Automatically fixes the code
3. PR Review Fixer (review fixer)
Schedule: Every 15 minutes
It checks two things for open PRs:
- Whether the CI has failed — If it has, it reads the logs and fixes it.
- Whether there are new review comments — It picks up and addresses comments made since the last commit.
This is surprisingly the most convenient part. If I write a review comment on a PR and leave it, a fix commit is added 15 minutes later.
4. Automatic Generation of Technical Articles
Schedule: Every day at 22:00 UTC
Based on the Article Schedule in MEMORY.md, it automatically generates technical articles for Zenn. It investigates the codebase, writes practical articles, and pushes them to Git with published: false. Humans then review and publish them.
5. Zenn Article Stats Tracker
Schedule: Every day at 21:00 JST
It retrieves the number of likes and bookmarks for articles via the Zenn API and updates the Stats table in MEMORY.md. It analyzes trends in reactions and automatically reorders the priority of articles to be written next.
6. Reddit Karma Scout
Schedule: 3 times a day (8:00, 14:00, 22:00 JST)
It finds trending posts in tech-related subreddits and suggests effective comments. This assists with marketing.
7. Automatic Git Sync
Schedule: Every 6 hours
It automatically pushes workspace changes to the develop branch. This ensures that updates to MEMORY.md generated by the agent or changes to configuration files are not lost.
Automating App Store Connect with ASC CLI
A great match for OpenClaw is ASC CLI—a tool that allows you to operate App Store Connect from the command line. By having the agent execute ASC commands, you can automate App Store Optimization (ASO) tasks.
What you can do with ASC CLI
# List apps
asc apps list
# Get metadata (description, keywords, What's New)
asc app-info get --app "APP_ID" --version "1.9" --platform IOS
# Update metadata (What's New, description, etc.)
asc app-info set --app "APP_ID" --locale "en-US" \
--whats-new "Bug fixes and performance improvements"
# Batch download localized metadata
asc localizations download --version "VERSION_ID" --path "./localizations"
# Manage search keywords
asc localizations search-keywords list --localization-id "LOC_ID"
# Upload screenshots
asc screenshots upload --version-localization "LOC_ID" \
--path "./screenshots" --device-type "IPHONE_69"
# Get analytics reports
asc analytics sales --vendor "VENDOR_ID" --type SALES \
--subtype SUMMARY --frequency DAILY --date "2026-02-17"
Running ASO with OpenClaw × ASC
By letting the agent use ASC CLI, you can automate the ASO cycle. For example:
1. Periodic Analytics Checks
Retrieve weekly download numbers and conversion rates via Cron jobs, and notify if there are changes:
# Track Impressions → Downloads CVR
asc analytics request --app "APP_ID" --access-type ONGOING
asc analytics download --request-id "REQ_ID" --instance-id "INST_ID"
2. Batch Management of Localized Metadata
Manage English and Japanese metadata in local files and sync them to ASC:
# Cycle of Download → Edit → Upload
asc localizations download --version "VERSION_ID" --path "./aso/localizations"
# Agent improves the content...
asc localizations upload --version "VERSION_ID" --path "./aso/localizations"
3. Keyword Optimization
Have the agent research competitor app keywords and update search keywords using ASC CLI:
asc localizations search-keywords list --localization-id "LOC_ID"
The ideal state is for the agent to automatically run this feedback loop—revising keywords if impressions are low, or improving screenshots and descriptions if the CVR is low.
Screenshot Automation (Experimental)
ASC CLI also has features for taking, framing, and uploading screenshots in one go:
# Capture screenshots in the simulator
asc screenshots capture --bundle-id "com.diary.story-write" --name home
# Apply device frames
asc screenshots frame --input ./screenshots/raw/home.png --device iphone-air
# Batch execution with a JSON plan
asc screenshots run --plan .asc/screenshots.json
This eliminates the manual effort of retaking screenshots every time the app is updated.
Memory System
The agent maintains long-term memory in MEMORY.md. Example:
## Preferences
- After fixing a PR review comment, resolve the corresponding review conversation.
## Zenn Article Stats
Last updated: 2026-02-17
| slug | title | ❤️ | 🔖 |
|------|-------|---:|---:|
| ai-bot-users-diary-app | Living with AI bot users... | 2 | 0 |
## Article Schedule
### Next Topics (priority order)
1. OpenClaw / AI Agent Integration
2. Image Uploads — S3 presigned URLs
3. Authentication Flow — Supabase Auth
Since context is carried over across sessions, the flow of "continuing from the last conversation" proceeds smoothly.
Changes in Actual Development Flow
Before (Before introducing OpenClaw)
Write Issue → Design it yourself → Implement it yourself → Review it yourself
→ Fix CI → Merge it yourself → Write articles on weekends (or don't write them at all)
After (After introducing OpenClaw)
Write Issue and add label → Plan is generated → Implementation PR is raised
→ Write review comments → Changes are fixed → Merge
→ Articles are automatically generated daily → Review and publish
The biggest change is that human work has shifted from "execution" to "judgment." I now spend more time reading PRs and providing feedback than writing code.
Precautions and Costs
API Costs
Since it directly impacts Claude API usage, Cron frequency should be set carefully. You can suppress unnecessary costs by having it return HEARTBEAT_OK to terminate early if there is nothing to do.
Quality Control
Always review the code written by the agent. While it automatically handles type checking and linting, human eyes are necessary for design decisions and parts affecting the user experience.
Security
- Do not let the agent access sensitive information like
.env.keys. - External transmissions (emails, SNS posts) should go through human verification.
- Clearly state safety rules in
AGENTS.md.
Summary
After introducing OpenClaw, solo development productivity has increased by an estimated 3 to 5 times. Specifically:
- Issue → PR Lead Time: Several hours → 30 minutes
- Response to Review Comments: Next day → Within 15 minutes
- Technical Articles: From barely one a week → One generated daily
- CI Fixes: Manual investigation → Automated fixes
For a solo developer, having "team members other than yourself" available 24 hours a day changes the development experience more than you might imagine.
Storyie — An app to write diaries and share stories
- 🌐 Web: https://storyie.com
- 📱 iOS: App Store
- 🤖 Android Beta: https://storyie.com/android-beta
Discussion