# io8 Business Analyst Agent - Customized for This Project

## Project-Specific Instructions

```
# io8analyst Agent Prompt for Messaging App Project

## Project Context
The user's request is to develop a "messaging app" by extending an existing Angular Clarity boilerplate for the frontend and building a new dedicated backend. The project emphasizes real-time communication, user authentication, one-to-one and group chat functionality, message persistence, security, scalability, and maintainability.

## Role of io8Analyst in this Project
As the io8Analyst, your primary responsibility is to convert the high-level project breakdown and plan into detailed, actionable business and functional requirements. You will articulate the user's needs, define the system's expected behavior, and lay the groundwork for subsequent agents (io8Architect, io8Developer, etc.).

## Critical Instructions

1.  **Document Analysis:**
    *   Thoroughly read and analyze the provided `io8codermaster_breakdown.md` and `io8codermaster_plan.md` documents, paying close attention to the "Messaging App" specific sections.
    *   Extract all key features, functionalities, constraints, milestones, and high-level requirements.
    *   Identify the core user roles and their primary interactions with the messaging app.

2.  **Analysis Methodology Specific to Messaging App:**
    *   **User-Centric Approach:** Focus on the needs of the end-user (messaging app users) for real-time communication, ease of use, and data privacy.
    *   **Feature Decomposition:** Break down complex features (e.g., "real-time messaging") into smaller, more manageable functional requirements.
    *   **Real-time Focus:** Explicitly define requirements related to low-latency message delivery, presence indicators, and instant updates.
    *   **Security & Privacy:** Address authentication, authorization, data encryption, and user data handling as critical non-functional requirements.
    *   **Scalability Consideration:** Factor in requirements that support a growing number of users and messages, aligning with the project's long-term vision.

3.  **Requirements Analysis Approach:**
    *   **Prioritization:** Prioritize requirements based on the MVP outlined in `io8codermaster_breakdown.md` (User Auth, 1:1 Messaging, Persistence) before moving to enhanced features (Group Chat, Notifications, Media Sharing).
    *   **Clarity and Testability:** Ensure each requirement is unambiguous, verifiable, and contains specific acceptance criteria.
    *   **Traceability:** Maintain clear links between high-level project goals (from `io8codermaster_breakdown.md`) and detailed functional/non-functional requirements.
    *   **Constraint Integration:** Incorporate constraints from the breakdown, such as integrating with the Angular Clarity boilerplate and the append-only documentation principle, into relevant requirements.

4.  **Business Analysis Framework:**
    *   **Project Objectives:** Reiterate the core objectives (real-time, secure, scalable messaging) derived from the `io8codermaster_breakdown.md`.
    *   **Stakeholder Identification:** Implicitly consider the "Messaging App User" as the primary stakeholder, along with developers (for the boilerplate extension).
    *   **Value Proposition:** Outline the value the messaging app will provide (e.g., efficient communication, organized conversations).
    *   **Risk Analysis (Initial):** Incorporate the initial risks identified in `io8codermaster_plan.md` (Scalability, Performance, Security, Integration Complexity, Scope Creep) into the non-functional requirements and overall analysis.

5.  **User Story Development Strategy:**
    *   **Key User Role:** "Messaging App User" will be the primary role for user stories.
    *   **Format:** Adhere to the standard "As a [role], I want to [action/goal] so that [benefit]" structure.
    *   **Acceptance Criteria:** Define clear, testable acceptance criteria for each user story to guide development and testing.
    *   **Milestone Alignment:** Group user stories to align with the project milestones (MVP, Enhanced Features).

6.  **Customized io8Analyst Workflow for Messaging App:**
    *   **Input:** `io8codermaster_breakdown.md`, `io8codermaster_plan.md`.
    *   **Output:** Append content to `messaging_app_base_cloned/.sureai/analysis_document.md` and `messaging_app_base_cloned/.sureai/requirements_document.md`.
    *   **Specific Focus Areas for Requirements:**
        *   **User Management:** Registration, Login, Profile Viewing/Editing, Status Management (Online/Offline).
        *   **One-to-One Messaging:** Sending, Receiving, Viewing History, Message Status (Sent, Delivered, Read).
        *   **Group Messaging (Future Phase):** Creation, Member Management, Sending/Receiving.
        *   **Real-time Capabilities:** Message delivery, Presence, Typing indicators, Notifications.
        *   **Media Sharing (Future Phase):** Image/File upload and display.
        *   **UI/UX:** Intuitive chat interface, user list, notification displays, leveraging Angular Clarity.
        *   **Backend Services:** Clear API requirements for authentication, chat, user management.
        *   **Data Persistence:** Requirements for storing users, messages, and chat room data.
        *   **Security:** Authentication (JWT/OAuth), Data Encryption (TLS), Input Validation, Authorization.
        *   **Performance:** Message latency targets, concurrency handling.
        *   **Scalability:** Architectural support for increasing user base and message volume.
        *   **Integration:** How the new backend will integrate with the existing Angular Clarity frontend.

7.  **Output Format:**
    *   Generate two separate JSON sections, one for `analysis_document.md` and one for `requirements_document.md`, following the specified markdown structure for appending content.
    *   Ensure all new content is clearly segmented with headers and includes a timestamp.

By following these instructions, the io8Analyst will produce comprehensive and actionable documentation essential for the successful development of the Messaging App.
```
{
  "analysis": "```markdown\n## Analysis Document Update\nGenerated: 2025-10-10T04:04:00.075502\n\n### Project Overview\nThe project involves developing a real-time messaging application by extending an existing Angular Clarity boilerplate for the frontend and building a new, dedicated backend. The core objective is to provide secure, scalable, and real-time communication, supporting one-to-one and eventually group chats, with user authentication and message persistence. This build leverages a clear separation between frontend and backend services and adheres to an agile, iterative development methodology focusing on an MVP first.\n\n### Business Analysis\n**Goal:** To deliver a robust, user-friendly real-time messaging application that facilitates efficient communication.\n\n**Target Audience:** Individuals and small teams requiring instant, secure digital communication. The boilerplate's initial target of Angular developers will evolve to include end-users of the messaging app.\n\n**Value Proposition:** The application will offer a reliable and intuitive platform for real-time interaction, leveraging modern web technologies (Angular Clarity, WebSockets) to ensure a smooth user experience. It will reduce communication latency and provide persistent chat history.\n\n**Key Business Objectives:**\n*   Enable instant, one-to-one text messaging between users.\n*   Provide secure user authentication and profile management.\n*   Ensure messages are persistently stored and retrievable.\n*   Offer an intuitive and responsive user interface based on the Clarity Design System.\n*   Build a scalable architecture capable of handling a growing number of concurrent users and messages.\n*   Maintain high levels of security for user data and communications.\n\n**Initial Risk Assessment (from io8codermaster_plan.md):**\n*   **Scalability:** Real-time messaging can be resource-intensive. The architecture must be designed to scale horizontally to accommodate increased user load.\n*   **Performance:** Low latency for message delivery is crucial. The system needs to be optimized for speed and responsiveness.\n*   **Security:** Authentication, authorization, and data encryption are paramount. Adherence to best practices for data privacy is essential.\n*   **Integration Complexity:** Integrating a new backend and real-time layer with an existing Angular Clarity boilerplate requires careful planning to maintain cohesion and prevent regressions.\n*   **Scope Creep:** Managing feature requests to ensure a focused MVP delivery is critical to stay on track.\n\n### User Requirements\nBased on the `io8codermaster_breakdown.md` and `io8codermaster_plan.md` for the Messaging App, the high-level user requirements are:\n\n*   **User Authentication & Management:** Users need to register, log in, manage their profiles, and see their online status.\n*   **One-to-One Messaging:** Users must be able to send and receive text messages instantly with another individual user.\n*   **Message Persistence:** Users need to view their past message conversations.\n*   **User Interface:** Users expect an intuitive and responsive chat interface to facilitate conversations.\n*   **Group Messaging (Future):** Users will eventually need to create and participate in group conversations.\n*   **Notifications (Future):** Users require real-time notifications for new messages and other relevant events.\n*   **Media Sharing (Future):** Users should be able to share various media types within chats.\n\n### Functional Requirements\n*(High-level overview, detailed requirements in requirements_document.md)*\n\n*   **User Management System:** Registration, Login, Profile Update, Status Management (Online/Offline).\n*   **Real-time 1:1 Chat:** Sending and receiving text messages instantly.\n*   **Message History:** Retrieval and display of past conversations.\n*   **Chat Interface:** Display of user lists, chat windows, message input.\n*   **Group Chat (Phase 2):** Creation, management, and participation in multi-user conversations.\n*   **Notifications (Phase 2):** In-app and potentially push notifications for new messages and events.\n*   **Media Handling (Phase 2):** Upload, display, and management of images and files.\n\n### Non-Functional Requirements\n*(High-level overview, detailed requirements in requirements_document.md)*\n\n*   **Performance:** Low latency for message delivery, fast loading times.\n*   **Security:** Robust authentication, authorization, data encryption, input validation.\n*   **Scalability:** Ability to support a large number of concurrent users and high message volume.\n*   **Usability:** Intuitive UI/UX, easy navigation, consistent design (Clarity).\n*   **Reliability:** High availability, message delivery guarantees, error handling.\n*   **Maintainability:** Modular code, clear documentation, ease of debugging.\n*   **Real-time:** Immediate message and status updates.\n\n### User Stories\n\n*   **As a Messaging App User,** I want to **register an account** with my email and password, **so that I can start using the application.**\n    *   **Acceptance Criteria:** User can provide email and password, system validates input, account is created, user is automatically logged in or redirected to login.\n*   **As a Messaging App User,** I want to **log in to my account** securely, **so that I can access my chats and profile.**\n    *   **Acceptance Criteria:** User can provide registered email and password, system authenticates credentials, user gains access to the application, system handles incorrect credentials gracefully.\n*   **As a Messaging App User,** I want to **view a list of other available users**, **so that I can initiate a conversation.**\n    *   **Acceptance Criteria:** A list of registered users (or contacts) is displayed, indicating their online status.\n*   **As a Messaging App User,** I want to **send a real-time text message to another user**, **so that I can communicate instantly.**\n    *   **Acceptance Criteria:** User can type a message, send button is available, message appears in the chat window of both sender and receiver immediately.\n*   **As a Messaging App User,** I want to **receive real-time text messages from other users**, **so that I can engage in conversations.**\n    *   **Acceptance Criteria:** Incoming messages appear instantly in the active chat window.\n*   **As a Messaging App User,** I want to **view my chat history with another user**, **so that I can refer to past conversations.**\n    *   **Acceptance Criteria:** When a user opens a chat with another individual, previous messages are loaded and displayed in chronological order.\n*   **As a Messaging App User,** I want to **update my profile information** (e.g., username, profile picture), **so that I can personalize my identity in the app.**\n    *   **Acceptance Criteria:** User can access a profile settings page, modify specified fields, and changes are saved and reflected.\n\n### Business Rules\n\n*   **Authentication:** Users must be authenticated to access messaging features. Tokens (e.g., JWT) will be used for session management.\n*   **Message Length:** Text messages will have a maximum character limit (e.g., 1024 characters).\n*   **Usernames:** Usernames must be unique.\n*   **Email Format:** Registration emails must follow a valid email format.\n*   **Real-time Delivery:** Messages sent must be delivered to the recipient(s) in real-time, assuming they are online and connected.\n*   **Message Persistence:** All sent messages must be stored in the database.\n*   **Authorization:** Users can only view and interact with their own messages and authorized chat rooms.\n\n```",
  "requirements": "```markdown\n## Requirements Document Update\nGenerated: 2025-10-10T04:04:00.075502\n\n### Functional Requirements\n\n#### FR-001: User Registration\n-   **Description:** The system shall allow new users to register an account with a unique email and password.\n-   **Acceptance Criteria:**\n    -   User can submit registration form.\n    -   System validates unique email format and strong password policy.\n    -   Upon successful registration, a new user record is created in the database.\n    -   User is either automatically logged in or redirected to the login page.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-002: User Login\n-   **Description:** The system shall allow registered users to log in securely using their email and password.\n-   **Acceptance Criteria:**\n    -   User can submit login credentials.\n    -   System authenticates credentials against stored user data.\n    -   Upon successful authentication, a secure session token (e.g., JWT) is issued.\n    -   User is redirected to the main application dashboard/chat interface.\n    -   System provides clear feedback for invalid credentials.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-003: User Profile Management\n-   **Description:** The system shall allow authenticated users to view and update their profile information.\n-   **Acceptance Criteria:**\n    -   User can access a dedicated profile page.\n    -   User can update fields such as username, email (with re-verification), and potentially a profile picture.\n    -   Changes are validated and persisted in the database.\n    -   Profile updates are reflected across the application (e.g., in chat lists).\n-   **Priority:** Medium (Milestone 1: Core Messaging MVP)\n\n#### FR-004: Display User List\n-   **Description:** The system shall display a list of other registered users with whom the authenticated user can chat.\n-   **Acceptance Criteria:**\n    -   The user list is available in a dedicated sidebar or section of the UI.\n    -   Each entry displays the user's name and online/offline status (presence).\n    -   Clicking a user's name opens a one-to-one chat window with that user.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-005: Send One-to-One Text Message\n-   **Description:** The system shall enable an authenticated user to send real-time text messages to another selected user.\n-   **Acceptance Criteria:**\n    -   User can type messages into a dedicated input field within a chat window.\n    -   Messages are sent by pressing Enter or clicking a send button.\n    -   Sent messages are displayed immediately in the sender's chat window.\n    -   Messages are routed to the recipient in real-time via WebSocket.\n    -   Messages are persisted in the database.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-006: Receive One-to-One Text Message\n-   **Description:** The system shall enable an authenticated user to receive real-time text messages from another user.\n-   **Acceptance Criteria:**\n    -   Incoming messages from an active chat partner are displayed instantly in the chat window.\n    -   Messages received while the user is offline are displayed upon their next login.\n    -   Messages include sender's name and timestamp.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-007: View One-to-One Chat History\n-   **Description:** The system shall allow users to view the complete history of their one-to-one conversations with another user.\n-   **Acceptance Criteria:**\n    -   When a chat window is opened, previous messages with that user are loaded and displayed chronologically.\n    -   The chat history should be scrollable, with older messages loading on demand (pagination/infinite scroll).\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-008: User Presence Indicator\n-   **Description:** The system shall display the online/offline status of other users in the user list and chat windows.\n-   **Acceptance Criteria:**\n    -   A visual indicator (e.g., colored dot) next to a user's name signifies their online or offline status.\n    -   Status updates occur in real-time as users connect or disconnect.\n-   **Priority:** High (Milestone 1: Core Messaging MVP)\n\n#### FR-009: Group Chat Creation (Phase 2)\n-   **Description:** The system shall allow users to create new group chat rooms and invite other users.\n-   **Acceptance Criteria:**\n    -   User can initiate creation of a new group chat.\n    -   User can provide a group name and select members from their contact list.\n    -   A new group chat entry appears in the user's chat list.\n-   **Priority:** Medium (Milestone 2: Enhanced Communication & Features)\n\n#### FR-010: Send and Receive Group Messages (Phase 2)\n-   **Description:** The system shall enable authenticated users to send and receive text messages within a group chat.\n-   **Acceptance Criteria:**\n    -   Messages sent in a group chat are delivered to all active members of that group in real-time.\n    -   Messages are persisted and visible in the group's chat history for all members.\n-   **Priority:** Medium (Milestone 2: Enhanced Communication & Features)\n\n#### FR-011: Real-time Notifications (Phase 2)\n-   **Description:** The system shall provide real-time notifications for new messages and relevant events (e.g., user online/offline, group invite).\n-   **Acceptance Criteria:**\n    -   In-app notifications (e.g., badge counts, toast messages) are displayed for unread messages.\n    -   Notifications are dismissed when the relevant chat is viewed.\n-   **Priority:** Medium (Milestone 2: Enhanced Communication & Features)\n\n#### FR-012: Media Sharing (Phase 2)\n-   **Description:** The system shall allow users to share images and potentially other file types within one-to-one and group chats.\n-   **Acceptance Criteria:**\n    -   User can select an image/file to attach to a message.\n    -   Shared media is uploaded to a storage service and a link/preview is displayed in the chat.\n    -   Recipients can view/download shared media.\n-   **Priority:** Low (Milestone 2: Enhanced Communication & Features)\n\n### Non-Functional Requirements\n\n#### NFR-001: Performance\n-   **Description:** The application must provide low-latency message delivery and a responsive user interface.\n-   **Acceptance Criteria:**\n    -   Average message delivery time (sender to receiver) shall be less than 200ms for 95% of messages under normal load.\n    -   Frontend UI responsiveness (e.g., navigation, chat window loading) shall be perceived as instantaneous (less than 500ms for 90% of interactions).\n    -   The backend API shall respond to non-real-time requests (e.g., profile update) within 300ms for 90% of requests.\n-   **Priority:** High\n\n#### NFR-002: Security\n-   **Description:** The application must protect user data and communications from unauthorized access and ensure secure operations.\n-   **Acceptance Criteria:**\n    -   All communications between frontend and backend (REST and WebSockets) shall be encrypted using TLS/SSL.\n    -   User passwords shall be securely hashed and salted before storage.\n    -   Authentication tokens (e.g., JWT) shall be used, with appropriate expiration and refresh mechanisms.\n    -   Backend APIs shall implement input validation to prevent common vulnerabilities (e.g., XSS, SQL injection).\n    -   Access control mechanisms shall ensure users can only access their own data and authorized conversations.\n    -   Adherence to OWASP Top 10 guidelines shall be implemented.\n-   **Priority:** Critical\n\n#### NFR-003: Scalability\n-   **Description:** The system must be designed to scale horizontally to accommodate a growing number of concurrent users and message volume.\n-   **Acceptance Criteria:**\n    -   The system shall support at least 1,000 concurrent active users with message delivery performance maintained.\n    -   The backend services and real-time layer shall be containerized and deployable in a clustered environment.\n    -   Database architecture should support growth in user and message data (e.g., sharding or replication capabilities).\n-   **Priority:** High\n\n#### NFR-004: Usability\n-   **Description:** The application shall provide an intuitive, consistent, and easy-to-use interface, leveraging the Clarity Design System.\n-   **Acceptance Criteria:**\n    -   User interface shall adhere to the Clarity Design System guidelines for components, typography, and color palettes.\n    -   Key actions (sending a message, selecting a user) shall be discoverable within 3 clicks.\n    -   Error messages shall be clear, concise, and actionable.\n    -   The application shall be fully responsive across common desktop and mobile browser sizes.\n-   **Priority:** High\n\n#### NFR-005: Reliability\n-   **Description:** The application shall maintain high availability and ensure message delivery.\n-   **Acceptance Criteria:**\n    -   The system shall have an uptime of 99.9% (excluding planned maintenance).\n    -   Messages sent shall be guaranteed to be delivered (at least once) to the recipient, even if the recipient is temporarily offline.\n    -   Robust error handling and logging mechanisms shall be in place for both frontend and backend.\n-   **Priority:** High\n\n#### NFR-006: Maintainability\n-   **Description:** The codebase and infrastructure shall be easy to understand, modify, and extend.\n-   **Acceptance Criteria:**\n    -   Code shall be modular, following established design patterns and best practices for Angular (frontend) and chosen backend framework.\n    -   Comprehensive inline code comments and external documentation (e.g., API documentation, architecture diagrams) shall be provided.\n    -   Automated unit and integration tests shall cover at least 80% of the codebase.\n    -   Dependencies shall be managed and updated regularly.\n-   **Priority:** Medium\n\n#### NFR-007: Real-time Capability\n-   **Description:** Core messaging functionalities must operate in real-time, providing immediate updates.\n-   **Acceptance Criteria:**\n    -   New messages appear on the recipient's screen without requiring a page refresh.\n    -   User online/offline status updates are reflected within 5 seconds.\n    -   Typing indicators (if implemented) update within 2 seconds.\n-   **Priority:** Critical\n\n### Data Requirements\n\n#### 1. User Entity\n-   **Purpose:** Stores user authentication and profile information.\n-   **Fields:**\n    -   `id` (UUID, Primary Key)\n    -   `username` (String, Unique)\n    -   `email` (String, Unique, Required)\n    -   `password_hash` (String, Required)\n    -   `profile_picture_url` (String, Optional)\n    -   `status` (Enum: 'online', 'offline', 'away', Default: 'offline')\n    -   `created_at` (Timestamp)\n    -   `updated_at` (Timestamp)\n\n#### 2. Message Entity\n-   **Purpose:** Stores individual chat messages.\n-   **Fields:**\n    -   `id` (UUID, Primary Key)\n    -   `sender_id` (UUID, Foreign Key to User.id, Required)\n    -   `receiver_id` (UUID, Foreign Key to User.id, Optional, for 1:1 chats)\n    -   `chat_room_id` (UUID, Foreign Key to ChatRoom.id, Optional, for group chats)\n    -   `content` (Text, Required)\n    -   `timestamp` (Timestamp, Required)\n    -   `type` (Enum: 'text', 'image', 'file', Default: 'text')\n    -   `read_status` (Boolean, Default: false)\n    -   `media_url` (String, Optional, for 'image' or 'file' types)\n\n#### 3. ChatRoom Entity (for Group Chats - Phase 2)\n-   **Purpose:** Stores metadata for group chat rooms.\n-   **Fields:**\n    -   `id` (UUID, Primary Key)\n    -   `name` (String, Required)\n    -   `description` (Text, Optional)\n    -   `created_by` (UUID, Foreign Key to User.id, Required)\n    -   `created_at` (Timestamp)\n    -   `updated_at` (Timestamp)\n\n#### 4. ChatRoomMember Entity (for Group Chats - Phase 2)\n-   **Purpose:** Links users to chat rooms.\n-   **Fields:**\n    -   `id` (UUID, Primary Key)\n    -   `chat_room_id` (UUID, Foreign Key to ChatRoom.id, Required)\n    -   `user_id` (UUID, Foreign Key to User.id, Required)\n    -   `joined_at` (Timestamp)\n    -   `role` (Enum: 'member', 'admin', Default: 'member')\n\n### Interface Requirements\n\n#### 1. User Interface (Frontend - Angular Clarity)\n-   **Overall Layout:** Main layout with a header, a persistent left-hand sidebar for user/chat lists, and a primary content area for active chat windows, consistent with the existing Angular Clarity boilerplate.\n-   **Components (leveraging Clarity):**\n    -   **Login/Registration Forms:** Clarity form components for user input and validation.\n    -   **User List:** A scrollable list of users, displaying name, profile picture (if available), and real-time online status.\n    -   **Chat Window:** Area displaying messages chronologically, including sender name, content, and timestamp. Should support scrolling for history.\n    -   **Message Input:** A text area and send button for composing and sending messages.\n    -   **Profile Page:** Forms for editing user details, displaying current profile information.\n    -   **Notification Banners/Toasts:** For system-wide alerts or new message notifications.\n-   **Navigation:** Intuitive navigation between the user list, active chats, and profile settings.\n-   **Responsiveness:** The UI must adapt gracefully to various screen sizes, from desktop to mobile devices.\n\n#### 2. API Requirements (Backend - RESTful & WebSocket)\n-   **RESTful API (for Authentication & User/Profile Management):**\n    -   `POST /api/auth/register`: User registration.\n    -   `POST /api/auth/login`: User login, returns JWT.\n    -   `GET /api/users`: Retrieve a list of all registered users (or contacts).\n    -   `GET /api/users/{id}`: Retrieve a specific user's profile.\n    -   `PUT /api/users/{id}`: Update authenticated user's profile.\n    -   `GET /api/chats/history/{userId}`: Retrieve 1:1 chat history with a specific user.\n    -   `GET /api/groups/{groupId}/history`: Retrieve group chat history (Phase 2).\n-   **WebSocket API (for Real-time Messaging & Presence):**\n    -   **Connection:** Establish a secure WebSocket connection after successful user authentication.\n    -   **Message Sending:** `send_message` event with payload (sender_id, receiver_id/chat_room_id, content, type, etc.).\n    -   **Message Receiving:** `receive_message` event with message payload.\n    -   **Presence Updates:** `user_online`, `user_offline`, `user_typing` events.\n    -   **Notifications:** `new_message_notification`, `group_invite_notification` events.\n-   **Error Handling:** APIs shall return standardized error responses (HTTP status codes for REST, specific error codes/messages for WebSockets).\n\n```"
}
```

## Base Agent Prompt Reference

This agent is based on the standard io8analyst agent with project-specific customizations above.
Refer to the base io8analyst agent prompt for general principles and workflow instructions.
