| Crates.io | miyabi-agent-business |
| lib.rs | miyabi-agent-business |
| version | 0.1.2 |
| created_at | 2025-11-22 07:05:04.242205+00 |
| updated_at | 2025-11-22 07:05:04.242205+00 |
| description | Miyabi Business Agents - 14 specialized agents for business strategy and operations |
| homepage | |
| repository | https://github.com/ShunsukeHayashi/Miyabi |
| max_upload_size | |
| id | 1944979 |
| size | 572,992 |
14 specialized AI agents for business strategy, marketing, and operations in the Miyabi framework.
miyabi-agent-business provides a comprehensive suite of 14 AI-powered business agents that cover the entire startup lifecycle, from ideation and strategy to marketing execution and customer operations. Each agent leverages LLM capabilities (via miyabi-llm) to generate data-driven insights, strategic plans, and actionable recommendations.
Key Capabilities:
| Agent | Purpose | Output |
|---|---|---|
| AIEntrepreneurAgent | 8-phase comprehensive business plan | Business plan, funding strategy, financial projections |
| ProductConceptAgent | Product concept and business model design | USP, revenue model, business model canvas |
| ProductDesignAgent | Service detail design and technical stack | 6-month roadmap, MVP definition, tech stack |
| FunnelDesignAgent | Customer journey optimization (θͺη₯βθ³Όε ₯βLTV) | Conversion funnel, touchpoint mapping |
| PersonaAgent | Target customer persona creation (3-5 personas) | Detailed personas, customer journey maps |
| SelfAnalysisAgent | Career, skills, and achievements analysis | Skill matrix, career trajectory, strengths |
| Agent | Purpose | Output |
|---|---|---|
| MarketResearchAgent | Market trend analysis (20+ competitors) | TAM/SAM/SOM, competitor landscape, trends |
| MarketingAgent | Marketing strategy (Ads, SEO, SNS) | Go-to-market plan, budget allocation |
| ContentCreationAgent | Content production (blog, video, tutorials) | Editorial calendar, content themes |
| SNSStrategyAgent | Social media strategy (Twitter/Instagram/LinkedIn) | Posting calendar, engagement tactics |
| YouTubeAgent | YouTube channel optimization (13 workflows) | Content plan, SEO strategy, monetization |
| Agent | Purpose | Output |
|---|---|---|
| SalesAgent | Sales process optimization (LeadβCustomer) | Sales funnel, conversion tactics |
| CRMAgent | Customer relationship management (LTV maximization) | Customer success plan, churn reduction |
| AnalyticsAgent | Data analysis and PDCA cycle | KPI dashboards, growth metrics, A/B test plans |
Add to your Cargo.toml:
[dependencies]
miyabi-agent-business = "0.1.0"
Or install the CLI:
cargo install miyabi-cli
use miyabi_agent_business::AIEntrepreneurAgent;
use miyabi_agent_core::BaseAgent;
use miyabi_types::{AgentConfig, Task, TaskType};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AgentConfig {
device_identifier: "macbook-pro".to_string(),
..Default::default()
};
let entrepreneur = AIEntrepreneurAgent::new(config);
let task = Task {
id: "task-001".to_string(),
title: "AI-powered code review SaaS".to_string(),
description: "Target market: Developer teams (10-100 engineers)".to_string(),
task_type: TaskType::Feature,
..Default::default()
};
// Generates 8-phase business plan:
// 1. Executive Summary
// 2. Market Analysis (TAM/SAM/SOM)
// 3. Competitive Landscape (20+ competitors)
// 4. Product Strategy (MVP roadmap)
// 5. Revenue Model (Subscription pricing)
// 6. Financial Projections (5-year forecast)
// 7. Funding Strategy (Seed β Series A)
// 8. Risk Analysis & Mitigation
let result = entrepreneur.execute(&task).await?;
if let Some(data) = result.data {
let business_plan: serde_json::Value = serde_json::from_value(data)?;
println!("Business Plan Generated:");
println!("{}", serde_json::to_string_pretty(&business_plan)?);
}
Ok(())
}
use miyabi_agent_business::YouTubeAgent;
use miyabi_agent_core::BaseAgent;
use miyabi_types::{AgentConfig, Task};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AgentConfig::default();
let youtube_agent = YouTubeAgent::new(config);
let task = Task {
id: "youtube-001".to_string(),
title: "Rust Tutorial Channel".to_string(),
description: "Target audience: Junior to mid-level Rust developers".to_string(),
..Default::default()
};
// Generates comprehensive YouTube strategy:
// - Channel concept and branding
// - Content pillar topics (tutorials, live coding, project walkthroughs)
// - SEO keywords and tags
// - Thumbnail design principles
// - Publishing schedule (2x/week)
// - Monetization strategy (AdSense + sponsorships)
// - Engagement tactics (comments, community posts)
// - Analytics tracking (CTR, watch time, subscriber growth)
let result = youtube_agent.execute(&task).await?;
println!("YouTube Strategy: {:?}", result.data);
Ok(())
}
use miyabi_agent_business::MarketResearchAgent;
use miyabi_agent_core::BaseAgent;
use miyabi_types::{AgentConfig, Task};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AgentConfig::default();
let market_research = MarketResearchAgent::new(config);
let task = Task {
id: "market-001".to_string(),
title: "AI Code Review Market Analysis".to_string(),
description: "Analyze market for automated code review tools".to_string(),
..Default::default()
};
// Generates market research report:
// - TAM/SAM/SOM calculation ($10B / $1B / $50M)
// - Competitor analysis (20+ companies)
// - GitHub Copilot, Tabnine, CodeRabbit, Sourcery, SonarQube, etc.
// - Market trends (AI adoption, remote work, DevSecOps)
// - Customer needs assessment (pain points, willingness to pay)
// - Growth opportunities (enterprise sales, API integrations)
let result = market_research.execute(&task).await?;
println!("Market Research: {:?}", result.data);
Ok(())
}
All agents return structured JSON for easy integration:
{
"business_plan": {
"executive_summary": "...",
"market_analysis": {
"tam": 10000000000,
"sam": 1000000000,
"som": 50000000,
"trends": ["AI adoption", "DevOps automation"]
},
"competitive_landscape": [...],
"product_strategy": {...},
"revenue_model": {
"pricing_tiers": ["Free", "Pro ($49/mo)", "Enterprise ($299/mo)"],
"target_arr": 5000000
},
"financial_projections": {...},
"funding_strategy": {...},
"risk_analysis": [...]
}
}
{
"personas": [
{
"name": "Tech Lead Tom",
"age": 35,
"role": "Engineering Manager",
"company_size": "50-200 employees",
"pain_points": ["Code review bottlenecks", "Onboarding new developers"],
"goals": ["Ship faster", "Improve code quality"],
"tech_stack": ["Python", "Go", "React"],
"budget": "$500-2000/month",
"decision_criteria": ["Integration ease", "Accuracy", "Speed"]
}
]
}
Task β Agent β LLMContext
β
LLMConversation
β
LLMPromptTemplate
β
GPTOSSProvider (Fallback Chain)
βββ Mac Mini LAN (primary)
βββ Mac Mini Tailscale (backup)
βββ Groq API (fallback)
β
JSON Response
β
Structured Business Data
async fn generate_strategy(&self, task: &Task) -> Result<StrategyOutput> {
// 1. Initialize LLM provider with fallback
let provider = GPTOSSProvider::new_mac_mini_lan()
.or_else(|_| GPTOSSProvider::new_mac_mini_tailscale())
.or_else(|_| {
let groq_key = env::var("GROQ_API_KEY")?;
GPTOSSProvider::new_groq(&groq_key)
})?;
// 2. Create context from task
let context = LLMContext::from_task(task);
// 3. Create conversation with prompt template
let mut conversation = LLMConversation::new(Box::new(provider), context);
let template = LLMPromptTemplate::new(
"You are a [role] with [expertise]...",
"Generate [output] as JSON...",
ResponseFormat::Json { schema: None },
);
// 4. Execute and parse response
let response = conversation.ask_with_template(&template).await?;
let strategy: StrategyOutput = serde_json::from_str(&response)?;
Ok(strategy)
}
# Run all tests
cargo test --package miyabi-agent-business
# Test specific agent
cargo test --package miyabi-agent-business ai_entrepreneur
cargo test --package miyabi-agent-business youtube
cargo test --package miyabi-agent-business market_research
# Integration tests (requires LLM access)
GROQ_API_KEY=xxx cargo test --package miyabi-agent-business --test integration
miyabi-agent-core, miyabi-types, miyabi-coremiyabi-llm (GPT-OSS-20B integration)tokio, async-traitserde, serde_jsonchrono, thiserror, tracingmiyabi-llm - LLM abstraction layer (GPT-OSS-20B, Groq, vLLM, Ollama)miyabi-agent-coordinator - Task orchestrationmiyabi-agent-codegen - AI-powered code generationmiyabi-types - Shared type definitionsmiyabi-agent-core - Base agent traitsContributions are welcome! Please see CONTRIBUTING.md for guidelines.
Licensed under the MIT License. See LICENSE for details.
miyabi-llmPart of the Miyabi Framework - Autonomous AI Development Platform