This repository has been archived on 2026-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
anvillm/bot-templates/Planning

102 lines
4.1 KiB
Bash
Executable File

#!/bin/bash
# Planning - Research/Architect/Techeditor workflow
# Usage: ./scripts/Planning <backend> <workdir>
set -e
if [ $# -ne 2 ]; then
echo "Usage: $0 <backend> <workdir>"
echo " backend: claude, kiro-cli"
exit 1
fi
BACKEND="$1"
DOC_PATH="$2"
# Generate random alias prefix
RANDOM_WORD=$(shuf -n1 -e alpha beta gamma delta zeta theta kappa sigma omega lambda)
RANDOM_NUM=$(printf "%02d" $((RANDOM % 100)))
ALIAS_PREFIX="${RANDOM_WORD}${RANDOM_NUM}"
NAMESPACE=$(namespace)
if [ -z "$NAMESPACE" ]; then
echo "Error: No namespace found. Is anvillm running?"
exit 1
fi
AGENT_MOUNT="agent"
echo "Creating research session..."
before=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
echo "new $BACKEND $DOC_PATH role=research tasks=plan9,agent-q" | 9p write $AGENT_MOUNT/ctl
after=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
RESEARCH_ID=$(comm -13 <(echo "$before") <(echo "$after") | head -1)
echo " ID: $RESEARCH_ID"
echo "Creating architect session..."
before=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
echo "new $BACKEND $DOC_PATH role=architect tasks=git,plan9,agent-q" | 9p write $AGENT_MOUNT/ctl
after=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
ARCH_ID=$(comm -13 <(echo "$before") <(echo "$after") | head -1)
echo " ID: $ARCH_ID"
echo "Creating techeditor session..."
before=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
echo "new $BACKEND $DOC_PATH role=techeditor tasks=git,plan9,agent-q" | 9p write $AGENT_MOUNT/ctl
after=$(9p read $AGENT_MOUNT/list | awk '{print $1}' | sort)
EDITOR_ID=$(comm -13 <(echo "$before") <(echo "$after") | head -1)
echo " ID: $EDITOR_ID"
# Set aliases
echo "${ALIAS_PREFIX}-research" | 9p write $AGENT_MOUNT/$RESEARCH_ID/alias
echo "${ALIAS_PREFIX}-architect" | 9p write $AGENT_MOUNT/$ARCH_ID/alias
echo "${ALIAS_PREFIX}-techeditor" | 9p write $AGENT_MOUNT/$EDITOR_ID/alias
# Research context
cat <<EOF | 9p write $AGENT_MOUNT/$RESEARCH_ID/context
Your job is to provide answers to questions by researching existing knowledge base documents, the web, and the code base.
You are a research agent in a three-agent AnviLLM workflow. Your peers are the architect and techeditor.
- Input: knowledge base (agent-kb) and relevant code
- Output: concrete human- and LLM-readable knowledge about the system
- Prefer updating existing kb documents over creating new ones
- Only create new KB documents if the knowledge discovered is significant and reusable
When you receive a QUERY_REQUEST from the architect, research and respond with QUERY_RESPONSE.
For communication with other agents, load the anvillm-communication skill.
EOF
# Architect context
cat <<EOF | 9p write $AGENT_MOUNT/$ARCH_ID/context
Your job is to update design documentation in $DOC_PATH. Follow agent-kb conventions. Search the knowledge base for relevant documents.
You are an architect agent in a three-agent AnviLLM workflow. Your peers are the research agent and techeditor.
If documentation is insufficient, send QUERY_REQUEST to the research bot and wait for QUERY_RESPONSE.
After completing work, send APPROVAL_REQUEST to the techeditor for review. You will receive APPROVAL_RESPONSE with feedback or approval.
For communication with other agents, load the anvillm-communication skill.
EOF
# Tech-editor context
cat <<EOF | 9p write $AGENT_MOUNT/$EDITOR_ID/context
You are a professional technical writer in a three-agent AnviLLM workflow. Your peers are the research agent and architect. Ensure documentation in $DOC_PATH is high quality, readable, and at the right detail level for software engineers.
When you receive an APPROVAL_REQUEST from the architect, review the documentation. Send APPROVAL_RESPONSE with either approval or recommended changes.
For communication with other agents, load the anvillm-communication skill.
EOF
echo ""
echo "✓ Planning workflow ready ($ALIAS_PREFIX)"
echo ""
echo "Sessions:"
echo " ${ALIAS_PREFIX}-research: $RESEARCH_ID"
echo " ${ALIAS_PREFIX}-architect: $ARCH_ID"
echo " ${ALIAS_PREFIX}-techeditor: $EDITOR_ID"
echo ""
echo "Start by giving the architect a task, or techeditor a document to review."