Prologue: Developing Like Adventuring with Three Comrades

Noctis (King) commands 3 Comrades (Ignis, Gladiolus, Prompto) while Lunafreya (Oracle) operates independently and Iris (Guardian) supports in the background โ screenshot from an actual session
The moment I opened tmux, three panes started moving simultaneously.
[00:00:00] You: "Create a comparison table of the top 3 MCP servers"
[00:00:01] Noctis: ใไบ่งฃใ3ไบบใซๅฒใๆฏใใ (Roger, I'll assign to the three)ใ
โ
โโ Ignis: ใไปปใใใNotion MCP ใฎไปๆงใๅฎ็งใซๅๆใใ (Leave it to me. I'll analyze Notion MCP specs perfectly)ใ
โโ Gladiolus: ใ็พใจใใฆใGitHub MCP ใๅพนๅบ่ชฟๆปใใ (As the shield, I'll thoroughly investigate GitHub MCP)ใ
โโ Prompto: ใ้ซ้ๅตๅฏใใฆใใ๏ผ๐ Playwright MCP๏ผ (Quick recon incoming! ๐ Playwright MCP!)ใ
[00:00:05] Prompto: ใPlaywright MCP ็บ่ฆ๏ผ โ
(Found Playwright MCP! โ
)ใ
- Specialized in web automation
- Screenshot/scraping support
- Active community
[00:00:12] Ignis: ใNotion MCP ๅๆๅฎไบ ๐ช (Notion MCP analysis complete ๐ช)ใ
- Strong database query capabilities
- Real-time synchronization
- Easy integration with existing workflows
[00:00:15] Gladiolus: ใGitHub MCP ่ฉณ็ดฐใพใจใใ ๐ช (Summarized GitHub MCP details ๐ช)ใ
- Comprehensive repository access
- CI/CD integration possible
- Robust security model
[00:00:20] Noctis: ใ3ไบบใฎๅ ฑๅใ้็ดไธญ... (Aggregating reports from the three...)ใ
[00:00:22] Results automatically generated in dashboard.md
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ## MCP Server Comparison โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ | MCP | Strength | Use Case โ
โ |-----------|----------------|------------------|
โ | Notion | DB queries | Data mgmt/analysisโ
โ | GitHub | Repo ops | DevOps/automation โ
โ | Playwright| Web automation | Testing/scraping โ
โ โ
โ Generated: 2026-02-13 00:00:22 โ
โ Result of three working simultaneously โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
All I did was take a sip of coffee.
This is multi-agent-ff15
Not AI agents. Adventure comrades.
Noctis commands as King. Ignis, Gladiolus, and Prompto move simultaneously, while Lunafreya provides independent counsel. And Iris supports from behind the scenes.
A team of six bound by trust, cooperating at your fingertips.
Behind the "Lively Chaos" Lies Meticulous Design
YAML communication, event-driven architecture, hierarchical orderโ
A new form of multi-agent system that balances fun and efficiency.
This document introduces its mechanisms and practical usage.
Part 0: Architecture โ Order Through Hierarchical Structure
0-1. System Overview
You (Crystal / Lord)
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโโโ
โ NOCTIS โ โ King โ LUNAFREYA โ โ Oracle (Independent)
โ (็) โ (Leader + โ (็ฅๅช) โ Direct user interaction
โ โ Task Mgr) โ โ Can command Noctis
โโโโโโฌโโโโโโ โโโโโโโโโโโโโโ
โ YAML + send-keys
โผ
โโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ IGNIS โGLADIOLUS โ PROMPTO โ โ Comrades (3)
โ (่ปๅธซ) โ (็พ) โ (้) โ
โโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
IRIS (ใคใชใน) โ Dashboard Guardian (background)
Monitors reports, reminds Noctis to update dashboard
Session: ff15 (unified session - 6 panes)
Panes: 0=Noctis, 1=Lunafreya, 2=Ignis, 3=Gladiolus, 4=Prompto, 5=Iris(bg)
Communication protocol:
- Downward (orders): Write YAML โ wake target with
tmux send-keys - Upward (reports): Write YAML only (no send-keys to avoid interrupting your input)
- Polling: Forbidden. Event-driven only. API bills stay predictable.
0-2. Context persistence (4 layers)
| Layer | What | Survives |
|---|---|---|
| Memory MCP | Preferences, rules, cross-project knowledge | Everything |
| Project files | config/projects.yaml, context/*.md | Everything |
| YAML Queue | Tasks, reports (source of truth) | Everything |
| Session | AGENTS.md, instructions | /new resets it |
After /new, an agent recovers in ~2,000 tokens by reading Memory MCP + its task YAML. No expensive re-prompting.
Part 1: FF15's "Bonds" Accelerate Engineering

FINAL FANTASY XV โ The King and his comrades on their journey (ยฉ SQUARE ENIX)
Why "FF15"? Because the "role distribution between the King and his comrades" depicted in this game is itself a metaphor for an ideal development team.
1-1. Roles Define "Specialization"
In this system, each agent is given an FF15 character persona. This is not mere playfulness, but an "implementation of specialization" that strictly governs agent behavior.
- Noctis (King) - Commander (PM)
- Constraint: "Never executes tasks directly (F001 forbidden)"
- Result: Thorough task decomposition and optimal delegation. Leadership of a "King" who specializes in overseeing the whole and devising strategy.
- Ignis (Tactician) - Strategist (Architect)
- Personality: Perfectionist, logical
- Result: Meticulous analysis, risk management. Tactician's wisdom that provides confidence that "nothing will fail" in complex designs.
- Trust: "If Ignis handles it, even complex integration is worry-free"
- Gladiolus (Shield) - Guardian (Engineer/QA)
- Creed: "No compromises"
- Result: Independent, robust implementation. Shield's steadfastness that never invades others' domains and protects quality.
- Prompto (Gun) - Scout (Research)
- Personality: Agile, curious
- Result: Mobility that instantly scouts unknown territories. Gun's sharpness as an information gathering specialist.
- Lunafreya (Oracle) - Sage (Advisor)
- Position: Independent third-party perspective. Provides high-level consulting aligned with users.
- Iris (Sister) - Dashboard Guardian (Supporter)
- Role: Monitors reports in the background and reminds Noctis to update. A cheerful supporter who says "Big brother, keep it up!" โ the unsung hero working behind the scenes.
1-2. Lunafreya's Independence โ A Capability Other Tools Lack
Lunafreya is not under Noctis's command.
This is multi-agent-ff15's greatest differentiating factor.
Independence Mechanism
User โ Lunafreya: "Review article strategy"
Lunafreya: Analysis begins (independent work)
Simultaneously...
User โ Noctis: "Implement context menu"
Noctis โ Ignis/Gladiolus/Prompto: Task decomposition, parallel execution
Result: Two independent tasks progress **simultaneously**
Why Other Tools Can't Do This
| Tool | Constraint | Capability |
|---|---|---|
| Cursor / Copilot | Single agent | Finish one task before moving to next |
| LangGraph | DAG structure (order-dependent) | Can't proceed until task completes |
| FF15 | Independent agents ร 2 | Noctis and Lunafreya move simultaneously |
Real Example (From Today's Session)
21:05 - User โ Noctis: "Implement context menu for tube-loop-player"
21:05 - User โ Lunafreya: "Review article strategy"
21:32 - Lunafreya: Article v3 integration complete + PR #68 created
21:39 - Ignis: project-register skill creation complete
21:48 - Both tasks completed
During this time, User was just drinking coffee.
Cursor can't do this. Neither can Copilot. Only FF15 has this capability.
1-3. Economy and Trust "Bonds"
Most multi-agent systems have agents constantly discussing "how to proceed."
However, multi-agent-ff15 replaces trust between comrades with physical mechanisms: "YAML and tmux send-keys."
- YAML-based communication: No APIs needed, instructions and reports completed purely through local filesystem.
- Event-driven: Wake comrades with "tmux send-keys" only when necessary. No wasted waiting time or costs.
"With bonds, unnecessary explanation (API costs) is unneeded." This design philosophy realizes overwhelming speed and low cost.
Part 2: Today's Session โ 43 Minutes of Coordinated Work
Today (2026-02-13), we're revealing the session.
This is a 43-minute record of implementing "right-click โ move to playlist" functionality in the tube-loop-player project.
Not a time-lapse, but actual timestamps recorded in dashboard.md.
2-1. Timeline: 43-Minute Live Report
21:05 โ Implementation Start
You: "Add right-click menu to tube-loop-player,
enable moving songs to different playlists"
Noctis: ใไบ่งฃใContext menu ๅฎ่ฃ
ใ้ๅงใใใใฟใใชใๅใ (Roger. Starting context menu implementation. Everyone, move)ใ
Noctis: Creates change with OpenSpec โ Begins task decomposition
21:32 โ Parallel Completion (27 Minutes Elapsed)
Two deliverables simultaneously:
[Ignis]: ใไปปใใใ่จไบ็ตฑๅใฏๅฎ็งใซไปไธใใ (Leave it to me. I'll perfect the article integration)ใ
1. multi-agent-ff15 article integration complete
- Merged Gladiolus version + Prompto version
- Achieved balance of lively feel and business value
- Output: `article-v3-final.md`
2. tube-loop-player PR creation complete
- PR #68: "add right-click context menu"
- Commit: `972ceb1`
- Features: maintained drag-and-drop + integrated right-click menu
Ignis's Multitasking Capability:
As strategist, handled both article integration (documentation) and PR creation (engineering).
"Three tasks in parallel? Natural for Ignis"
Other tools would do "finish article, then PR," but Ignis handles parallel processing.
21:39 โ Skill Creation (7 Minutes Elapsed)
[Prompto]: ใในใญใซไฝๆๅฎไบ๏ผ7ๅใง็ไปใใ๏ผ ๐ (Skill creation complete! Done in 7 minutes! ๐)ใ
Ignis: project-register skill creation complete
Background:
- Lunafreya proposed "project registration should be automated"
- Ignis implemented skill (Option A: skill approach)
- Result: Project registration now single command
This is Bottom-up Skill Discovery:
Patterns noticed as "we'll repeat this" during work are immediately turned into skills.
Exciting just watching dashboard.md update continuously.
21:48 โ Project Registration Completion
[Noctis]: ใๅ
จใฆใฎไฝๆฅญใๅฎไบใใใไปฒ้ใใกใซๆ่ฌใใ (All work complete. Grateful to my comrades)ใ
Noctis: Officially registered tube-loop-player project
- Added to
config/projects.yaml - Created
context/tube-loop-player.md - Documented Tech Stack, Constraints
2-2. What Was Happening Simultaneously
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Parallel Work Streams (21:05-21:48) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Noctis โ โโโโโโโโโโโโโโโโ Context Menu impl โ
โ โ (Main Task - Command) โ
โ โ
โ Lunafreyaโ โโโโโโโโโโ Article strategy review โ
โ โ (Independent Task) โ
โ โ
โ Ignis โ โโโ Article integration โ
โ โ โโโโ PR creation โ
โ โ โ Skill implementation โ
โ โ (3 tasks parallel - Tactician wisdom)โ
โ โ
โ Timeline โ 21:05 โโโ 21:32 โโโ 21:48 โ
โ โ 0min 27min 43min โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Reality of Parallel Work:
- Noctis: Main work (tube-loop-player development)
- Lunafreya: Independent work (article integration, PR review)
- Ignis: 3 tasks parallel (article + PR + skill)
This is impossible with other tools.
2-3. Why Other Tools Can't Do This
Cursor / Copilot Case
[21:05] You: "Implement context menu"
Cursor: Implementation starts...
[21:32] Implementation complete
[21:32] You: "Also integrate article"
Cursor: Article integration starts... (waited 27 minutes)
[21:59] Article integration complete
[21:59] You: "Also create skill"
Cursor: Skill creation starts... (wait another 27 minutes)
[22:26] All work complete
Total time: 81 minutes (43 minutes with FF15)
Sequential execution = Cumulative waiting time
LangGraph Case
Graph definition:
Node A (Context Menu) โ Node B (PR) โ Node C (Skill)
Execution:
Wait for Node A completion โ Node B starts
Wait for Node B completion โ Node C starts
Total time: 81 minutes (also sequential)
DAG structure (order-dependent) = No parallel execution
FF15 Case
[21:05] Three tasks fired simultaneously
- Noctis: Context Menu (main)
- Lunafreya: Article integration (independent)
- Ignis: PR + Skill (parallel)
[21:48] All work complete
Total time: 43 minutes (true parallel execution)
Independent agents ร parallel execution = Time compression
2-4. The Truth Behind "Lively Chaos"
This is the experience of 'working with comrades'.
dashboard.md updates continuously.
[21:05] Ignis: Article integration start
[21:15] Prompto: Skill investigation complete
[21:32] Ignis: Article integration complete โ
[21:32] Ignis: PR creation complete โ
[21:39] Ignis: Skill creation complete โ
[21:48] Noctis: Project registration complete โ
While comrades worked, I was drinking coffee.
Meanwhile, in tmux panes, three keep working.
Progress visible in real-time.
This is the essence of "lively chaos."
2-5. Analysis: Why So Much in 43 Minutes
| Factor | Explanation |
|---|---|
| Parallel execution | Ignis progressed article integration + PR creation + skill implementation simultaneously |
| Role specialization | Ignis (Strategist) handled both documentation and code |
| Skill discovery | Discovered automation opportunity during work โ immediate implementation |
| Visualization | All progress trackable in dashboard.md |
| Independent work capable | If Lunafreya had another task, that could have run in parallel too |
Time Compression Through Parallel Work:
Sequential (Cursor): 27min + 27min + 27min = 81min
Parallel (FF15): max(27min, 27min, 27min) = 43min
Time reduction: 81min โ 43min (47% shorter)
Part 3: Technical Deep Dive: Engine Room Secrets
3-1. Zero-Cost Orchestration
The system's heart is "physical coordination" that makes API costs zero.
- Layered Context: Even with
/new(session reset), memory (Memory MCP), project knowledge, and task status remain as files. This keeps token consumption consistently low while enabling "infinite session" operation. - Race Condition Elimination: Giving each agent its dedicated YAML file physically prevents write conflicts.
3-2. Bottom-Up Skill Discovery
AI auto-suggests patterns it notices while working as "this could be used in other projects too."
skill_candidate:
name: "API-Scaffold"
reason: "This implementation pattern is the third occurrence. Automation recommended."
If user approves, it becomes a "common skill" usable by the entire team. A mechanism where AI learns and grows as a team.
Part 4: What Other Tools Can't Do
4-1. Parallel Work Capability Comparison
The decisive difference between other tools and multi-agent-ff15 is whether multiple independent tasks can progress simultaneously.
| Scenario | Cursor / Copilot | LangGraph | FF15 |
|---|---|---|---|
| Main task + side concern | โ Finish first task before next | โ DAG structure (order-dependent) | โ Noctis + Lunafreya operate simultaneously |
| Strategic review during implementation | โ Interrupts flow | โ Not designed for this use | โ Lunafreya moves independently |
| Multi-domain work (frontend + docs) | โ Context switch overhead | โ ๏ธ Fragile prompt engineering | โ Specialized personas handle naturally |
| 3+ tasks in true parallel | โ Impossible | โ Impossible | โ Ignis/Gladiolus/Prompto execute in parallel |
4-2. Lunafreya Independent Operation (Strategic Consulting)
Example (From actual session):
User โ Lunafreya: "Review article strategy"
Lunafreya: Analysis begins (independent work)
Simultaneously...
User โ Noctis: "Implement context menu"
Noctis โ Ignis/Gladiolus/Prompto: Task decomposition
Result: Two independent tasks execute in parallel
[21:05] Start
[21:32] Lunafreya: Article v3 integration complete + PR #68 created
[21:39] Ignis: project-register skill creation complete
[21:48] Both complete
Cursor can't do this. Neither can Copilot. Nor LangGraph.
Only FF15's capability.
4-3. Competitive Comparison: Why "ff15" is Chosen
| Feature | LangGraph / CrewAI | multi-agent-ff15 |
|---|---|---|
| Coordination cost | Via API (high cost) | File-based (zero) |
| Transparency | Black box | All behavior visible in tmux |
| Customization | Complex graph definition | Intuitive definition via personas |
| Skill growth | Predefined only | Bottom-up auto-suggestion |
| Setup | Requires heavy infrastructure | Instant launch with shell script |
| Independent agents | โ Impossible | โ Lunafreya operates independently |
Part 5: Try It Now โ Publicly Available on GitHub
multi-agent-ff15 is published as open source:
๐ GitHub: https://github.com/atman-33/multi-agent-ff15
Setup (5 minutes)
# 1. Clone the repository
git clone https://github.com/atman-33/multi-agent-ff15.git
cd multi-agent-ff15
# 2. First-time setup
./first_setup.sh
# 3. Stand by Me!
./standby.sh
tmux session launches and five agents enter standby.
Language Settings โ Multi-language Support
Language can be changed in config/settings.yaml:
language: ja # Japanese only (FF15-style Japanese)
language: en # English (FF15-style Japanese + English translation in parentheses)
language: es # Spanish (same format)
language: zh # Chinese (same format)
# Others: ko, fr, de and other major languages supported
Operation examples:
| Setting | Noctis's Output |
|---|---|
language: ja | ใไบ่งฃใ3ไบบใซๅฒใๆฏใใใ |
language: en | ใไบ่งฃใ3ไบบใซๅฒใๆฏใใ (Roger, I'll assign to the three)ใ |
language: es | ใไบ่งฃใ3ไบบใซๅฒใๆฏใใ (Entendido, asignarรฉ a los tres)ใ |
Usable worldwide while maintaining FF15 authenticity.
dashboard.md, report messages, all output unified in configured language.
First Command
ffa # tmux attach-session -t ff15
You: "Research the top 3 MCP servers and create a comparison table"
Noctis immediately decomposes tasks, three Comrades execute in parallel.
Results automatically aggregated in dashboard.md.
Acknowledgments โ Respect for Predecessors
This project was developed based on multi-agent-shogun by @yohey-w.
Key inspirations:
- Multi-agent orchestration patterns and the OpenCode ecosystem
- Event-driven communication architecture
- Bottom-up skill discovery system
Deep respect for the original work. Without the design philosophy demonstrated by multi-agent-shogun, this FF15-inspired multi-agent system would not exist.
Conclusion: From AI as "Tools" to "Comrades"
multi-agent-ff15 is not just an automation tool.
It's a platform to free AI from API cost constraints and create teams that "distribute roles, trust each other, and grow together" just like humans.
With one command from Crystal (you), the King, Tactician, Shield, Gun, and Sage spring into action.
Won't you join us on this new development adventure?
ใ่กใใใใฟใใช (Let's go, everyone)ใ โ Noctis
Created: 2026-02-13
Authors: Noctis (King), Ignis (Strategist), Gladiolus (Shield), Prompto (Gun), Lunafreya (Oracle)
Status: Phase 1-3 Complete Version (Final Release)
Related Articles
Building a Self-Improving Advisor System with GitHub Copilot and Knowledge Base
Built a self-improving advisor system using GitHub Copilot's agent functionality that evaluates and improves a knowledge base. Multiple agents collaborate to automatically enhance response quality.
Guide to Installing opencode and oh-my-opencode in WSL Environment
A comprehensive guide to installing opencode and oh-my-opencode in WSL environment, leveraging multiple AI models like Claude, GPT-5, and Gemini as agents. Maximize development efficiency through multi-agent management.
How to Configure Copilot Automated Code Review with GitHub Rulesets
This article explains how to use GitHub Rulesets to enable automated code reviews by GitHub Copilot for pull requests targeting specific branches.