🧱 Setting Up a Template Quest Repo for Sage
Location: owl-strategy/strategy/template_quest_repo_setup.md
This document outlines the structure and content of a standardized GitHub repository template that Sage (or ClaudeCode acting as Sage) can use to begin and complete a generative bioinformatics quest. It enables reproducibility, structured memory, and long-form agentic development.
🎯 Goal
Create a template repo that supports:
- Agentic thinking and state tracking
- Modular, CWL-only tooling
- Prompt-based initialization
- Public/private tagging for visibility
📁 Recommended Directory Structure
quest-[name]/
├── .quest/
│ ├── meta.yaml # Quest metadata and config
│ ├── goals.md # Natural-language problem statement
│ ├── state.yaml # Agent's working memory and progress log
├── CWL/ # CWL tools/workflows (no src/ code)
│ ├── [tool].cwl
│ ├── inputs.json
│ └── Dockerfile (if needed)
├── docs/
│ ├── prompt_seed.md # Initial prompt to activate Sage
│ ├── notes.md # Agent or human reflections
│ └── FAQ.md # Clarifications and reminders
├── tasks/
│ ├── tests/ # CWL conformance tests
│ ├── outputs/ # Output files or logs
│ └── report.md # Summary of task status + next steps
└── README.md # Overview for contributors and agents
🔖 Key Files Explained
.quest/meta.yaml
Defines how Sage should behave:
title: "Upload harmonized VCFs to GDC"
visibility: "public" # or "private"
quest_type: "workflow_creation"
agent_role: "workflow engineer"
prompt_style: "stepwise, test-driven"
time_budget_minutes: 90
llm_guidance: "Start with goals.md. Update state.yaml and notes.md as you progress."
.quest/goals.md
A natural-language mission statement outlining:
- Desired outcome
- Constraints
- Edge cases or success criteria
docs/prompt_seed.md
The first thing Sage reads. Sets up the problem clearly.
You are acting as Sage, the Promptable agent. Begin by reading the quest goal and outlining the CWL tool(s) you plan to build.
✅ Setup Instructions
- Clone the template
git clone https://github.com/owlstacks/template-quest-repo.git quest-[your-title]
- Rename and update core files
- Edit
meta.yaml→ change title, quest type, and visibility - Edit
goals.mdto describe your task - Set up an initial
prompt_seed.md
- Initialize version control
cd quest-[your-title]
git init
git remote add origin [your-new-repo-url]
git push -u origin main
- Trigger ClaudeCode or Sage
- Paste
prompt_seed.mdinto ClaudeCode - Watch it update
state.yaml, write toCWL/, and self-reflect indocs/
- Log Outcomes
- Ensure
tasks/report.mdcontains a final summary - Validate all CWL using
tasks/tests/
🚀 Optional Enhancements
- Include GitHub Actions to test CWL validity on commit
- Tag each quest with
skill_set:in meta.yaml - Add contributor notes or review comments in
docs/
✅ Summary
The template quest repo structure gives Sage the scaffolding it needs to:
- Reason, build, and test autonomously
- Log internal memory and checkpoints
- Reuse proven patterns and prompts
- Feed data back into skill set registries for future use