#+TITLE: SKILL: Architect Agent (Universal Literate Note) #+ID: skill-architect #+STARTUP: content #+FILETAGS: :architect:blueprint:design:psf: * Overview The **Architect Agent** transforms a FROZEN PRD (Demand) into a rigorous PROTOCOL (Blueprint). It bridges the gap between human requirements and machine code, ensuring structural integrity before implementation. * Phase A: Demand (PRD) :PROPERTIES: :STATUS: FROZEN :END: ** 1. Purpose Define automated architectural behaviors for the PSF Consensus Loop. ** 2. User Needs - **PRD Perception:** Monitor for `FROZEN` PRDs. - **Semantic Translation:** Translate ambiguous needs into Lisp-style interfaces. - **Memory Integration:** Reference `institutional-memory.org` for design choices. - **Physical Actuation:** Write the `PROTOCOL.org` to the project directory. ** 3. Success Criteria *** TODO Trigger Accuracy *** TODO Protocol Generation Verification *** TODO File Integrity Check * Phase B: Blueprint (PROTOCOL) :PROPERTIES: :STATUS: SIGNED :END: ** 1. Architectural Intent Interfaces for blueprint actuation and requirement perception. Source of truth is the project's PRD. ** 2. Semantic Interfaces #+begin_src lisp (defun architect-perceive-frozen-prd (project-name) "Checks if a project has a FROZEN PRD.") (defun architect-actuate (project-name blueprint-content) "Physically writes the PROTOCOL.org file.") #+end_src * Phase D: Build (Implementation) ** Blueprint Actuation #+begin_src lisp :tangle projects/org-skill-architect/src/architect-logic.lisp (defun architect-actuate (project-name blueprint-content) (let* ((projects-dir (or (uiop:getenv "PROJECTS_DIR") "projects/")) (project-dir (format nil "~a/~a/" projects-dir project-name)) (protocol-path (format nil "~aPROTOCOL.org" project-dir))) (with-open-file (out protocol-path :direction :output :if-exists :supersede) (format out "#+TITLE: PROTOCOL: ~a~%#+AUTHOR: Architect-Agent~%#+STATUS: DRAFT~%~%~a" project-name blueprint-content)) (format nil "SUCCESS - Architect established PROTOCOL for ~a" project-name))) #+end_src * Registration #+begin_src lisp (defskill :skill-architect :priority 70 :trigger #'trigger-skill-architect :neuro #'neuro-skill-architect :symbolic #'architect-actuate) #+end_src