Files
memex/notes/org-skill-project-manager.org

88 lines
2.9 KiB
Org Mode

:PROPERTIES:
:ID: bc8047c2-678b-4b61-88fa-d43554f6f4da
:CREATED: [2026-03-30 Mon 21:16]
:EDITED: [2026-04-07 Tue 13:42]
:END:
#+TITLE: SKILL: Project Manager Agent (Universal Literate Note)
#+STARTUP: content
#+FILETAGS: :project:management:git:psf:
* Overview
The *Project Manager Agent* provides executive presence by monitoring project health and tracking git status. It leverages `:PROJECT_PATH:` metadata to gather "folder facts" and assist in the project lifecycle.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: FROZEN
:END:
** 1. Purpose
Define automated behaviors for project monitoring and version control tracking.
** 2. User Needs
- *Visibility:* Resolve physical project locations and gather git/file facts.
- *Contextual Awareness:* Trigger on status queries or project-node edits.
- *Lifecycle Support:* Suggest commit messages and identify uncommitted work.
** 3. Success Criteria
*** TODO Project Path Resolution
*** TODO Git Status Retrieval
*** TODO Executive Summary Generation
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: DRAFT
:END:
** 1. Architectural Intent
The Project Manager Agent will use a neuro-symbolic architecture. The 'neuro' component focuses on resolving project context (path resolution and file system awareness). The symbol component manages git interactions and report generation. The system is designed for extendability, allowing new project facts to be easily incorporated. We anticipate using a 'project-data' object that is passed between lisp function, allowing all project status to be accessed / updated with low overhead.
** 2. Semantic Interfaces
*** Project Path Resolution
#+BEGIN_SRC lisp
;;; Resolve a project path, searching for existing files as needed.
;;; Returns canonical project path or NIL. SIDE-EFFECT: Adds project to cache.
(defun resolve-project-path (project-identifier)
(declare (type string project-identifier))
(values (or string null))) ; Canonical path
#+END_SRC
*** Git Status Retrieval
#+BEGIN_SRC lisp
;;; Collects the git status information for a project.
;;; Returns a project-data plist with git status
(defun get-git-status (project-path)
(declare (type string project-path))
(values project-data)) ; a plist of git facts, e.g., :untracked, :modified
#+END_SRC
*** Executive Summary Generation
#+BEGIN_SRC lisp
;;; Generates an executive summary for a project.
;;; Return TEXT of summary for given PROJECT-DATA structure.
(defun generate-executive-summary (project-data)
(declare (type project-data project-data))
(values string)) ; Human-readable summary.
#+END_SRC
*** Suggest Commit Message
#+BEGIN_SRC lisp
;;; Generates a suggested commit message based on the project data
(defun suggest-commit-message (project-data)
(declare (type project-data project-data))
(values string)) ; suggested git commit message (string)
#+END_SRC