- Each issue flows independently through: implement → review → fix → review
- Don't wait for all workers before starting reviews
- Print status update as each step completes
- Poll loop checks all tasks, advances each issue independently
- State machine: implementing → reviewing → fixing → approved/failed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
spawn-issues now orchestrates the full workflow:
- Phase 1: Spawn issue-workers in parallel, wait for completion
- Phase 2: Review loop - spawn code-reviewer, if needs work spawn pr-fixer
- Phase 3: Report final status
issue-worker simplified:
- Removed Task tool and review loop
- Just implements, creates PR, cleans up
- Returns structured result for orchestrator to parse
Benefits:
- Better visibility into progress
- Reuses pr-fixer agent
- Clean separation of concerns
- Orchestrator controls review cycle
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The inline prompt in spawn-issues.md was missing the review loop
that was added to issue-worker/agent.md. Now includes:
- Step 7: Spawn code-reviewer synchronously, fix and re-review if needed
- Step 9: Concise final summary output
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Task tool to spawn code-reviewer synchronously
- Add review loop: fix issues and re-review until approved (max 3 iterations)
- Add final summary format for cleaner output to spawning process
- Reviewer works in same worktree, cleanup only after review completes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Background agents need skills specified in frontmatter rather than
using @ syntax which may not expand for Task-spawned agents.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New command that spawns background agents to work on multiple
issues simultaneously, each in an isolated git worktree.
- commands/spawn-issues.md: Entry point, parses args, spawns agents
- agents/issue-worker/agent.md: Autonomous agent that implements
a single issue (worktree setup, implement, PR, cleanup)
Worktrees are automatically cleaned up after PR creation.
Branch remains on remote for follow-up work if needed.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds guidance to prefer vertical slices (user-visible value) over
horizontal slices (technical layers) when planning and writing issues.
roadmap-planning skill:
- New "Vertical vs Horizontal Slices" section
- Demo test: "Can a user demo/test this independently?"
- Good vs bad examples table
- When horizontal slices are acceptable
issue-writing skill:
- New "Vertical Slices" section
- Demo test guidance
- Good vs bad issue titles table
- User-focused issue framing examples
Closes#31
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skills are knowledge modules referenced by commands, not
directly invoked by users. Added user-invocable: false to:
- backlog-grooming (used by /groom)
- claude-md-writing (used by /update-claude-md)
- code-review (used by /review-pr)
- issue-writing (used by /create-issue)
- roadmap-planning (used by /plan-issues)
- vision-management (used by /vision, /manifesto)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates or creates CLAUDE.md with:
- Organization context section (links to manifesto, repos.md, vision)
- Current project structure from filesystem scan
- Architecture patterns inferred or asked
Preserves existing custom content, shows diff before writing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create claude-md-writing skill with best practices for CLAUDE.md files
- Create repos.md registry of all repos with status (Active/Planned/Splitting)
- Update /create-repo to include organization context section
- Update repo-conventions to reference new skill
Each repo's CLAUDE.md now links to manifesto, repos.md, and vision.md
so Claude always understands the bigger picture.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skill documents standard repo structure, naming conventions,
open vs proprietary guidance, and CI/CD patterns.
Command scaffolds new repos with vision.md, CLAUDE.md, Makefile,
CI workflow, and .gitignore - all linked to the architecture repo.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Software should run well on modest hardware. ARM64-native where possible.
Bloated software is a sign of poor engineering.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Product repos find the manifesto at ../architecture/manifesto.md.
This allows the architecture repo to be a sibling of product repos.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rebuild vision.md to trace personas, jobs, and principles back to manifesto
- Improve /vision command with inheritance guidance and templates
- Update vision-management skill with explicit inheritance rules and formats
Product visions now explicitly extend (not duplicate) organization manifesto.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Shift from developer-centric personas (solo dev, small team) to the actual
mission: empowering domain experts to create software without coding.
- Who We Serve: Domain experts, Agencies, Organizations (small → enterprise)
- Added "Empowering Domain Experts" beliefs section
- Integrated "build in public" into Who We Are
- Updated non-goals to align with new focus
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated all internal references for the rename:
- CLAUDE.md: New purpose statement, updated structure, added manifesto info
- README.md: Updated title, clone URL, folder structure
- commands/retro.md: Changed flowmade-one/ai to flowmade-one/architecture
The actual Gitea rename should be done after merging this PR.
Closes#44🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Restructured skill to clearly distinguish:
- Manifesto: Organization-level (architecture repo)
- Vision: Product-level (product repos)
Key additions:
- Architecture table showing all three levels with commands
- Manifesto section with structure, when to update, creation steps
- Vision section clarified as product-level extending manifesto
- Relationship diagram showing inheritance model
- Example of persona inheritance (org → product)
- Continuous improvement loop including retro → encoding flow
- Quick reference table for common questions
Closes#43🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed the retro flow to:
1. Retro (any repo) → Issue (architecture repo)
2. Later: Encode issue into learning file + skill/command/agent
Key changes:
- Retro now only creates issues, not learning files
- Learning files are created when the issue is worked on
- All issues go to architecture repo regardless of source repo
- Added "When the Issue is Worked On" section for encoding guidance
- Clearer separation between capturing insights and encoding them
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Clarifies /vision is for product-level vision, distinct from /manifesto
which handles organization-level vision.
Changes:
- Added architecture table showing org vs product vs goals levels
- Process now checks for manifesto first for org context
- Output format includes Organization Context section
- Guidelines clarify when to use /manifesto vs /vision
- Product personas/jobs extend (not duplicate) org-level ones
Closes#41🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds new command to view and manage the organization-level manifesto.
Distinct from /vision which handles product-level vision.
Features:
- Guides manifesto creation if none exists
- Displays formatted summary of existing manifesto
- References vision-management skill
- Clear output format for all sections
Closes#40🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds learnings folder for capturing insights from retros and daily work.
Learnings serve as historical record, governance reference, and encoding
source for skills/commands/agents.
README includes:
- Purpose explanation (historical + governance + encoding)
- Learning template with all sections
- Encoding process and destination guide
- Periodic review guidance
- Naming conventions
Closes#39🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Defines the foundational organization-level vision:
- Who We Are: Small, focused AI-native builders
- Personas: Solo developer, Small team, Agency/Consultancy
- Jobs to Be Done: Ship fast, maintain quality, stay in flow
- Beliefs: AI-augmented development, quality without ceremony, sustainable pace
- Guiding Principles: Encode don't document, small teams big leverage, etc.
- Non-Goals: Enterprise compliance, every platform, replacing judgment
Closes#38🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The vision system now guides defining WHO we build for and WHAT they're
trying to achieve before jumping into goals and issues.
Updated vision-management skill:
- New vision.md structure with Personas and Jobs to Be Done sections
- Guidance for defining good personas (specific, characterized, limited)
- Guidance for jobs to be done (outcome-focused, in their voice, pain-aware)
- Milestones now tied to personas and jobs with structured descriptions
- Issue alignment checks persona/job fit before milestone fit
Updated vision command:
- Guides through persona and JTBD definition when creating vision
- Output format shows personas and jobs prominently
- Guidelines emphasize traceability to personas
Updated plan-issues command:
- Identifies persona and job before breaking down work
- Plan presentation includes For/Job/Supports context
- Flags misalignment with persona/job, not just goals
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated skills and commands to identify and formally link issue
dependencies using tea CLI:
Skills updated:
- issue-writing: Document deps in description + link with tea CLI
- backlog-grooming: Check for formal dependency links in checklist
- roadmap-planning: Link dependencies after creating issues
Commands updated:
- create-issue: Ask about and link dependencies for new issues
- plan-issues: Create in dependency order, link with tea issues deps add
- groom: Check dependency status, suggest missing links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated work-issue and review-pr commands to use --comments flag,
ensuring discussion context is available when working on issues or
reviewing pull requests.
Closes#32🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Refactored the vision system to separate concerns:
- vision.md remains the stable "north star" philosophy document
- Gitea milestones now track goals with automatic progress via issue counts
- Updated /vision, /retro, and /create-issue commands to auto-assign milestones
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Transforms the product-manager from a reactive backlog manager into a
vision-driven system with continuous improvement capabilities.
New components:
- vision-management skill: How to create, maintain, and evolve product vision
- /vision command: View, create, or update product vision (syncs to Gitea)
- /improve command: Identify gaps between vision goals and backlog
Enhanced existing components:
- product-manager agent: Now vision-aware with strategic prioritization
- /retro command: Connects learnings back to vision updates
- /plan-issues command: Shows vision alignment for planned work
The vision lives in two places: vision.md (source of truth) and a Gitea
issue labeled "vision" for integration with the issue workflow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Document tea pulls merge as the correct merge method
- Add warning against using Gitea API with admin credentials
- Document tea comment as alternative to interactive tea pulls review
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The approval step was failing on self-authored PRs and stopping the
merge flow. Since LGTM verdict already indicates approval, just merge
directly without the separate tea pulls approve command.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The tea CLI doesn't have a command to output PR diff content directly.
The -f diff flag only returns a URL. Updated docs to use tea pulls
checkout followed by git diff main...HEAD.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The skills are already listed in frontmatter (skills: gitea, issue-writing,
backlog-grooming, roadmap-planning), so the "Use the gitea skill"
instruction was unnecessary.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skills have only ~20% auto-activation rate when referenced by name.
Using @~/.claude/skills/*/SKILL.md guarantees skill content is loaded.
Updated all commands to use file references instead of "Use the X skill".
Updated docs/writing-commands.md with new pattern and examples.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated all skill descriptions with proper trigger terms following
the pattern: "What it does. Use when [trigger terms]."
Skills updated:
- code-review: triggers on PR review, code quality, bugs, security
- issue-writing: triggers on creating issues, bug reports, features
- backlog-grooming: triggers on grooming, reviewing issue quality
- roadmap-planning: triggers on planning features, breaking down work
Updated docs/writing-skills.md:
- Added YAML frontmatter requirements section
- Documented required and optional fields
- Added guidance on writing effective descriptions
- Updated "How Skills are Loaded" to reflect model-invoked behavior
- Added note about subagent skill access
- Updated checklist with frontmatter requirements
- Added reference to official documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The description now follows the documented pattern:
1. What it does: specific actions (view, create, manage)
2. When to use: trigger terms users would mention (issues, PRs, tea, gitea)
This helps Claude know when to automatically apply the skill.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The allowed-tools field in skills RESTRICTS which tools can be used,
not grants permission. The tea CLI permissions are already configured
in settings.json via permissions.allow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When the gitea skill is active, Claude can now use tea CLI commands
without asking permission. This enables smoother workflow when using
commands like /work-issue that rely on the gitea skill.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skills require YAML frontmatter with name and description fields
for Claude Code to automatically discover and load them. Added
frontmatter to all five skill files:
- gitea: CLI for issues, PRs, and repository management
- code-review: Guidelines for reviewing code changes
- issue-writing: How to write clear, actionable issues
- backlog-grooming: Review and improve existing issues
- roadmap-planning: Plan features and create issues
Closes#12🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Heredoc syntax causes tea comment to be backgrounded and fail silently.
Updated Comments section to:
- Use quoted strings with literal newlines for multiline comments
- Add warning about avoiding heredoc syntax
Closes#10🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents that tea CLI uses --description/-d flag for PR body content,
not --body like the gh CLI. This helps avoid failed commands when
transitioning from gh CLI.
Closes#5🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allow all tea and git commands without approval prompts.
This enables the code-reviewer agent to post comments
and merge PRs automatically.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Comments section to gitea skill with examples
- Update code-reviewer agent with explicit tea CLI commands
for posting comments, approving, and merging PRs
Closes#6🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The tea CLI doesn't have a `view` subcommand - use `tea issues <number>`
directly instead of `tea issues view <number>`.
- Fix example in ARCHITECTURE.md
- Add clarifying tip in gitea skill to prevent this common mistake
Closes#2🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Captures learnings from completed AI-assisted work and creates
improvement issues in the AI repo. Creates a feedback loop where
friction points and insights get tracked as actionable issues.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace fj CLI with tea CLI across all commands
- Create new gitea skill, remove forgejo skill
- Update all agents to use gitea skill
- Update commands to use skill-based approach (reference skills instead of embedding CLI commands)
- Update all documentation (README, ARCHITECTURE, VISION, writing guides)
- Swap git remotes: origin now points to git.flowmade.one (Gitea)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>