A personal AI workspace for product management, engineering oversight, and analytics in the Local SEO niche. Built on Claude Code.
A coordinated set of AI roles (PM, Architect, Analyst, PMM) and automation pipelines
(jira-to-pr, context-to-prd, etc.) that share common knowledge about your products
and your industry.
The goal is to cover expertise gaps and to compress repetitive product work.
- A chatbot. There is no single "agent" — there are pipelines and roles.
- A replacement for thinking. The roles surface considerations; you make decisions.
- A black box. Every subagent is a markdown file you can read and edit.
- Claude Code installed (https://docs.claude.com/claude-code)
- Git (for the workspace itself)
# Clone or unzip into your preferred location
cd ai-workspace
# (Optional) initialize git if you want version control
git init
git add .
git commit -m "Initial workspace"
# Open in Claude Code
claude- Open
CLAUDE.mdin the root — it explains the architecture - Open
products/BrightLocal/CONTEXT.mdand fill in what's relevant for your product - Open
shared/domain/local-seo.mdand add any niche-specific knowledge - Try the first pipeline:
agents/context-to-prd/README.md
ai-workspace/
├── CLAUDE.md # Architecture overview (read first)
├── README.md # This file
│
├── shared/ # Cross-cutting knowledge
│ ├── personas/ # PM, Architect, Analyst, PMM as system prompts
│ ├── domain/ # Local SEO concepts, Shape Up method
│ ├── templates/ # PRD template, user story template
│ └── style/ # Voice and tone (optional)
│
├── personal/ # Personal settings (gitignored)
│
├── skills/ # Methodology modules
│ ├── product/ # PRD writing, story decomposition, etc.
│ ├── engineering/
│ ├── analytics/
│ └── marketing/
│
├── agents/ # Autonomous pipelines
│ └── context-to-prd/ # Free context → PRD draft
│
└── products/ # Product-specific context
├── BrightLocal/
└── pet-project/
Each product has its own folder under products/. To switch the active product,
set the environment variable before invoking a pipeline:
export ACTIVE_PRODUCT=BrightLocal
# or
export ACTIVE_PRODUCT=pet-projectPipelines read products/$ACTIVE_PRODUCT/CONTEXT.md automatically.
- Create
products/{your-product-slug}/ - Copy
products/BrightLocal/CONTEXT.mdas a starting point - Fill in the questions in CONTEXT.md
- (Optional) add
architecture.mdandglossary.mdfor richer context
That's it. No code changes needed.
- Create
shared/personas/{role}.md— the system prompt for the role - Reference it from any subagent that should adopt this perspective
- Create
agents/{pipeline-name}/ - Add
CLAUDE.md(orchestrator),.claude/agents/*.md(subagents),scripts/run.sh(entry point), andREADME.md(how to use) - Use
agents/context-to-prd/as a reference
If you decide to share with teammates:
- Make sure
.gitignoreis excludingpersonal/,products/*/working/, and any*.envor credential files - Push to a private repo
- Have teammates clone and run their own
personal/setup
Subagent doesn't have product context.
Check that ACTIVE_PRODUCT is set and that products/$ACTIVE_PRODUCT/CONTEXT.md exists.
Subagent ignores the persona. Verify the subagent's frontmatter includes the persona file in its context loading.
Working doc not appearing.
Check products/$ACTIVE_PRODUCT/working/ exists and is writable. It's in .gitignore
by default, so newly created folders won't be tracked.