Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
2612d52
Fix: Use full_name instead of name for User model
kivo360 Jan 3, 2026
f4c29df
Add debug endpoint to send test billing emails via taskiq
kivo360 Jan 3, 2026
3aa2753
feat(auth): ignore omoios.db and add auth and proxy.ts
kivo360 Jan 3, 2026
2cc92f6
Trigger rebuild for taskiq worker
kivo360 Jan 3, 2026
54c54ad
Add debug endpoint to view taskiq queue status
kivo360 Jan 3, 2026
66ee256
Add structured logging to taskiq worker with middleware
kivo360 Jan 3, 2026
d6d163d
Add Redis result backend and improved logging to taskiq broker
kivo360 Jan 3, 2026
c8199f7
Fix structlog event parameter conflict in taskiq broker
kivo360 Jan 3, 2026
aac9d98
Reduce taskiq scheduler log noise by setting scheduler.run to WARNING…
kivo360 Jan 3, 2026
af194b5
Use OMOIOS_ENV to control log format in taskiq broker (production = J…
kivo360 Jan 3, 2026
1088f5e
feat(api): add multi-tenant access control helpers
kivo360 Jan 4, 2026
7edb55e
feat(workflow): add phase progression hooks and artifact collection
kivo360 Jan 4, 2026
1895121
feat(workers): improve exploration mode, validation, and diff generation
kivo360 Jan 4, 2026
9230c53
feat(api): enhance tasks and tickets routes with multi-tenant support
kivo360 Jan 4, 2026
10f8162
feat(services): enhance task queue and logging
kivo360 Jan 4, 2026
7f0e6e8
feat(debug): add debug routes and test scripts
kivo360 Jan 4, 2026
a92fa73
docs: add security audit and testing documentation
kivo360 Jan 4, 2026
d1a563f
fix(proxy): exclude OG images and SEO files from auth middleware
kivo360 Jan 5, 2026
6d0d781
feat(onboarding): add extended checklist sidebar and completion tracking
kivo360 Jan 5, 2026
19b3257
docs(tasks): add Sentry & PostHog integration tasks for Claude Code web
kivo360 Jan 5, 2026
eae51e8
feat(monitoring): add Sentry error tracking and performance monitoring
claude Jan 5, 2026
c244a24
feat(analytics): integrate PostHog for session recording and event tr…
claude Jan 5, 2026
041e577
feat(observability): add Sentry error tracking and PostHog analytics
claude Jan 5, 2026
e6e0ace
Merge pull request #18 from kivo360/claude/setup-posthog-session-reco…
kivo360 Jan 5, 2026
f68e4f6
Merge main into claude/setup-sentry-frontend-uCbQK
kivo360 Jan 5, 2026
3b811b8
Add board components, hooks, and update task docs
kivo360 Jan 5, 2026
2f8565f
Merge pull request #19 from kivo360/claude/setup-sentry-frontend-uCbQK
kivo360 Jan 5, 2026
70e46a0
Merge pull request #20 from kivo360/claude/setup-sentry-fastapi-CoRLF
kivo360 Jan 5, 2026
b7d786a
docs: add environment variables deployment guide
kivo360 Jan 5, 2026
34c7694
feat(sentry): add metrics API and task tracking
kivo360 Jan 5, 2026
fe50c7f
feat(tickets): add user_id ownership for ticket filtering
kivo360 Jan 6, 2026
678b232
fix(observability): fix Sentry and PostHog initialization errors
kivo360 Jan 6, 2026
c7ff2dc
fix(sentry): disable default integrations to avoid anthropic SDK mism…
kivo360 Jan 6, 2026
86d4fd2
chore(deps): upgrade pydantic-ai to 1.39.1 and logfire to 4.16.0
kivo360 Jan 6, 2026
ded783b
feat(analytics): add PostHog proxy to bypass ad blockers
kivo360 Jan 6, 2026
523c407
fix(analytics): add missing /flags and /static proxy endpoints
kivo360 Jan 6, 2026
f662856
fix(analytics): add /i/v0/e/ and catch-all proxy routes
kivo360 Jan 6, 2026
a47c914
feat(tickets): auto-create project when repo selected without existin…
kivo360 Jan 7, 2026
09250d8
fix(command): show all GitHub repos in repo selector, not just connec…
kivo360 Jan 7, 2026
6f1505e
feat(logging): add comprehensive logging for git clone debugging
kivo360 Jan 7, 2026
fa6ade0
fix(orchestrator): use ticket.id not ticket_id in logging
kivo360 Jan 7, 2026
e486271
fix(orchestrator): fallback to ticket.user_id when project.created_by…
kivo360 Jan 7, 2026
d25d1ee
feat(tickets): add logging for create_ticket payload debugging
kivo360 Jan 7, 2026
63c52d7
debug: add console.log for repo selection debugging
kivo360 Jan 7, 2026
9d86913
fix(command): prevent auto-project selection from overriding repo sel…
kivo360 Jan 7, 2026
ec022a7
fix(tickets): use correct User.memberships attribute name
kivo360 Jan 7, 2026
bf6748e
fix(tickets): query memberships inside session to avoid DetachedInsta…
kivo360 Jan 7, 2026
a769700
fix(cost_record): change billing_account_id from String to UUID
kivo360 Jan 7, 2026
37703a5
fix(config): add env_file to OmoiBaseSettings and RedisSettings
kivo360 Jan 7, 2026
4dc532b
fix(command): spec-driven mode now spawns sandbox and redirects to board
kivo360 Jan 7, 2026
51a07bd
fix(skill): enforce YAML frontmatter on all spec-driven-dev files
kivo360 Jan 7, 2026
0b391ff
feat(skill): sync sandbox spec-driven-dev skill with project-level ve…
kivo360 Jan 7, 2026
71169b1
feat(spec-cli): inject OMOIOS_API_URL and OMOIOS_PROJECT_ID for autom…
kivo360 Jan 7, 2026
940f704
fix(spawner): clone feature branch instead of default main branch
kivo360 Jan 7, 2026
9c40e73
fix(spawner): always explicitly checkout feature branch after clone
kivo360 Jan 7, 2026
dc13fa5
fix(events): ensure WebSocket events are published for all task lifec…
kivo360 Jan 7, 2026
d374a4c
docs(rag): add requirements analysis for rapid application generator
github-actions[bot] Jan 7, 2026
4f299da
fix(events): handle continuous.completed for in-sandbox validation
kivo360 Jan 7, 2026
89e199e
fix(spec-skill): use production API URL as default and improve docs
kivo360 Jan 7, 2026
acaeeac
feat(exploration): force skill usage with mandatory prompts
kivo360 Jan 7, 2026
183fbb6
feat(spec-skill): add REQUIRE_SPEC_SKILL flag for enforced skill usage
kivo360 Jan 7, 2026
499adeb
feat(spawner): add project_id and omoios_api_key params for spec CLI
kivo360 Jan 7, 2026
74b69d7
feat(tasks): add execution_config for frontend skill selection
kivo360 Jan 7, 2026
2098d3d
feat(tickets): pass workflow_mode to task execution_config
kivo360 Jan 7, 2026
de49910
docs: add transcripts for spec-driven-dev continuation and browser te…
kivo360 Jan 8, 2026
ba8b7d2
docs: add user authentication system requirements specification
github-actions[bot] Jan 8, 2026
a59fac5
fix(spec-skill): improve skill loading instructions and add comprehen…
kivo360 Jan 8, 2026
b470b78
fix(orchestrator): pass require_spec_skill and project_id to spawner
kivo360 Jan 8, 2026
ace54d8
docs: add real-time notification system requirements specification
github-actions[bot] Jan 8, 2026
57bc459
fix(services): improve default branch detection and add LLM retry logic
kivo360 Jan 8, 2026
b118522
docs: add WebSocket infrastructure specification for AI agent streaming
github-actions[bot] Jan 8, 2026
7c3fee1
fix(worker): make spec-driven-dev instructions unmistakably clear
kivo360 Jan 8, 2026
3beae86
docs(testing): add browser agent test instructions for spec-driven wo…
kivo360 Jan 8, 2026
722345b
feat(containers): add AI agent dev containers for Daytona sandboxes
kivo360 Jan 8, 2026
926c1af
fix(railway): expand orchestrator watch patterns to cover all depende…
kivo360 Jan 8, 2026
67b8a08
fix(worker): add explicit cd command for sync step in spec-driven-dev…
kivo360 Jan 8, 2026
d2941fb
feat(worker): add auto-sync reminder hook for spec-driven workflow
kivo360 Jan 8, 2026
5eedaf1
perf(worker): only run spec-sync detection when REQUIRE_SPEC_SKILL=true
kivo360 Jan 8, 2026
1eac069
feat(tickets): add dependencies support and improve auto-sync detection
kivo360 Jan 8, 2026
a50053c
docs: add Agent Memory Consolidation System requirements analysis
github-actions[bot] Jan 8, 2026
c47d7f6
debug: add console logging for event deduplication
kivo360 Jan 8, 2026
61f8952
fix(sandbox): disable AskUserQuestion tool and remove debug logging
kivo360 Jan 8, 2026
a7a2519
feat(sandbox): add Python dependency management instructions to syste…
kivo360 Jan 8, 2026
986fc4d
feat(sandbox): add Node.js dependency management to system prompt
kivo360 Jan 8, 2026
ca7dc9c
feat(sandbox): add common Python tool examples to dependency instruct…
kivo360 Jan 8, 2026
44f7518
chore(config): rename snapshot from claude-agent-sdk-medium to ai-age…
kivo360 Jan 8, 2026
5786234
fix(sandbox): fix auto-sync hook accessing wrong attribute
kivo360 Jan 8, 2026
01ce55c
feat(sandbox): auto-install dependencies before agent starts
kivo360 Jan 8, 2026
49c27ce
feat(sandbox): search subdirs for deps & add status to prompt
kivo360 Jan 8, 2026
301edd7
refactor(sandbox): use rglob for dependency file search
kivo360 Jan 8, 2026
62135f0
fix(railway): broaden orchestrator watch patterns
kivo360 Jan 8, 2026
67964d5
fix(sandbox): install skill deps and upgrade PostToolUse logging
kivo360 Jan 8, 2026
f083889
fix(sandbox): handle dict system_prompt when appending dep status
kivo360 Jan 8, 2026
22d9d8b
config: update LLM model to glm-4.7
kivo360 Jan 8, 2026
38ad93c
config: fix LLM model to openai/glm-4.7
kivo360 Jan 8, 2026
5a8271d
feat(auth): add Claude Code OAuth token support and switch to Opus 4.5
kivo360 Jan 8, 2026
34c1652
feat(logging): add comprehensive prompt/config logging to Claude sand…
kivo360 Jan 8, 2026
0673453
feat(logging): add comprehensive continuous mode iteration prompt log…
kivo360 Jan 8, 2026
4bad060
feat(logging): add comprehensive spec-driven development logging
kivo360 Jan 8, 2026
91e2b17
fix(sandbox): fix OAuth token and model env vars for Claude Agent SDK
kivo360 Jan 8, 2026
42e94b6
fix(sandbox): correct IterationState attribute name in logging
kivo360 Jan 8, 2026
8a52337
fix(spec-cli): add PEP 723 metadata and fix import issues
kivo360 Jan 8, 2026
d548bfa
chore: bump version to 0.1.1 to trigger orchestrator update
kivo360 Jan 8, 2026
ca59257
fix: update Claude model names to latest 4.5 versions
kivo360 Jan 8, 2026
b94624d
fix: update all Claude model references to 4.5 versions
kivo360 Jan 8, 2026
a9f76b2
fix(spec-driven-dev): add missing required fields to SKILL.md templates
kivo360 Jan 8, 2026
667785f
fix(oauth): separate backend and frontend URLs for OAuth flow
kivo360 Jan 9, 2026
3acd8e5
fix(onboarding): fix layout and add debug logging for next button
kivo360 Jan 9, 2026
f479bd7
feat(onboarding): add server-synced onboarding with Zustand store
kivo360 Jan 9, 2026
48ec49c
feat(specs): add design improvements, version history, and markdown r…
kivo360 Jan 10, 2026
78e59d8
fix(ui): improve mermaid fullscreen viewer with zoom controls
kivo360 Jan 10, 2026
3915c45
docs: add spec execution stability architecture document
kivo360 Jan 10, 2026
51bc051
feat(schemas): add Pydantic models for spec generation state machine
kivo360 Jan 10, 2026
1c313b5
feat(spec-driven-dev): add rich API and DataModel frontmatter support
kivo360 Jan 10, 2026
71e30fd
refactor(sandbox): sync spec-driven-dev skill from .claude/skills
kivo360 Jan 10, 2026
c0b9c58
feat(skill): update SKILL.md with state machine architecture
kivo360 Jan 10, 2026
70c2b5c
feat(skill): add JSON reference files for phase outputs
kivo360 Jan 10, 2026
8645668
chore(sandbox): sync spec-driven-dev skill to sandbox_skills
kivo360 Jan 10, 2026
35bcbf8
docs: add comprehensive spec execution stability guide
kivo360 Jan 10, 2026
b373045
feat(api): implement real project stats endpoint
kivo360 Jan 10, 2026
511f6ff
feat(frontend): make tasks with sandboxes clickable
kivo360 Jan 10, 2026
7d87866
feat(specs): add create-repository feature specification
kivo360 Jan 10, 2026
4de882e
feat(spec-execution): implement spec-driven state machine for stable …
kivo360 Jan 10, 2026
061d6ad
feat(spec-dedup): add pgvector-based deduplication for specs, require…
kivo360 Jan 11, 2026
911b1be
feat: remove waitlist, enable direct registration
kivo360 Jan 12, 2026
9972b43
feat(promo-codes): implement promo code functionality for discounts a…
kivo360 Jan 12, 2026
40c5238
feat(onboarding): add skip buttons to GitHub and repo selection steps
kivo360 Jan 12, 2026
da58a22
fix(auth): auto-approve new users - billing is the gate now
kivo360 Jan 12, 2026
2966962
feat(github): add admin endpoints for GitHub disconnect
kivo360 Jan 13, 2026
97f86b5
fix(github): use is_super_admin for admin check
kivo360 Jan 13, 2026
fdff4f9
feat(oauth): add connect flow for linking GitHub to existing accounts
kivo360 Jan 13, 2026
f3ec75d
feat(onboarding): add skip button to first spec step
kivo360 Jan 13, 2026
8e402a4
refactor(oauth): use single callback URL for both login and connect f…
kivo360 Jan 13, 2026
509d918
chore: add spec-driven development docs and safe storage utility
kivo360 Jan 13, 2026
63a46ab
feat: complete spec-driven workflow with real-time updates
kivo360 Jan 14, 2026
36392bb
docs: add raw unclean posts to swipe file
kivo360 Jan 14, 2026
31d6dad
fix(specs): correct billing service call in launch_spec endpoint
kivo360 Jan 14, 2026
6da6276
fix(specs): add project existence check in _create_spec_async
kivo360 Jan 14, 2026
a5de21d
fix(database): add connection resilience with pool health and timeouts
kivo360 Jan 14, 2026
f4887ec
fix(api): change CostRecordResponse.id type from int to str
kivo360 Jan 14, 2026
21bb768
fix(auth): add OAuth redirect URI and fix multiple backend issues
kivo360 Jan 15, 2026
35b2faa
chore: update uv.lock after removing passlib dependency
kivo360 Jan 15, 2026
0e0f021
fix(event_bus): add get_event_bus factory function
kivo360 Jan 15, 2026
65d0a5f
fix(stripe): use STRIPE_SECRET_KEY env var instead of STRIPE_API_KEY
kivo360 Jan 15, 2026
091d7f6
fix(worker): gracefully fallback when SpecStateMachine unavailable in…
kivo360 Jan 15, 2026
17d50ad
feat(sandbox): upload SpecStateMachine modules and fix callback URL
kivo360 Jan 15, 2026
21215a9
fix(sandbox): add heartbeat reporting for spec state machine execution
kivo360 Jan 15, 2026
028573b
fix(sandbox): handle spec sandboxes in event processing
kivo360 Jan 15, 2026
8878780
fix(specs): persist phase_data from spec sandbox to database
kivo360 Jan 15, 2026
ede23d3
feat(scripts): add local spec worker script for debugging
kivo360 Jan 15, 2026
32099c0
feat(backend): add RepositoryService for GitHub repository operations
github-actions[bot] Jan 16, 2026
5447a55
chore: update .gitignore to exclude node_modules and system files
github-actions[bot] Jan 16, 2026
e17b081
feat(autonomous): add project-level autonomous execution toggle
kivo360 Jan 16, 2026
b2b03ec
feat(workspace): add uv workspaces monorepo structure with sandbox-ru…
kivo360 Jan 16, 2026
bbdf155
feat(subsystems): implement spec-sandbox for spec-driven development
kivo360 Jan 16, 2026
698351a
fix(docker): support uv workspace dependencies in Docker builds
kivo360 Jan 17, 2026
1289ead
chore(ui): disable phases, analytics, and model selector
kivo360 Jan 18, 2026
9353d0b
fix(task-queue): bypass autonomous_execution_enabled for quick mode t…
kivo360 Jan 18, 2026
57b1c37
chore(migrations): add missing spec_context column migration
kivo360 Jan 18, 2026
6461ba1
feat(backend): add spec-driven workflow infrastructure
kivo360 Jan 18, 2026
1fda214
feat(frontend): add workflow mode support to board page
kivo360 Jan 18, 2026
5fe7978
feat(marketing): update landing page and marketing sections
kivo360 Jan 18, 2026
822142f
feat(spec-sandbox): expand spec execution runtime
kivo360 Jan 18, 2026
f470d7d
feat(scripts): add marketing automation scripts for Typefully
kivo360 Jan 18, 2026
b026168
chore: update uv.lock with new dependencies
kivo360 Jan 18, 2026
b313bee
docs: add project-level CLAUDE.md instructions
kivo360 Jan 18, 2026
23d63e7
fix(daytona): extract branch name from .result attribute correctly
kivo360 Jan 18, 2026
c1c078d
fix(sandbox): add authentication headers to MCP tools
kivo360 Jan 18, 2026
4a32463
fix(spawner): generate proper JWT tokens for sandbox API auth
kivo360 Jan 18, 2026
f5ecd95
feat(board): add autonomous execution toggle to board page
kivo360 Jan 18, 2026
167aacb
feat(board): add Spec Gen badge for spec-driven tickets
kivo360 Jan 18, 2026
c71117a
fix(projects): pass autonomous_execution_enabled to update function
kivo360 Jan 18, 2026
450b414
fix(board): reorganize header into two rows to prevent overflow
kivo360 Jan 18, 2026
75b153b
docs: add comprehensive ticket analysis guide
github-actions[bot] Jan 18, 2026
894fa31
feat(scaffolding): add scaffolding trigger for spec-driven workflows
github-actions[bot] Jan 18, 2026
e393dd0
feat(tasks): add ability to mark running/pending tasks as failed
kivo360 Jan 18, 2026
2ba9ec1
feat(github): auto-complete tasks and move tickets on PR merge
kivo360 Jan 18, 2026
f307d96
fix(models): import TicketPullRequest to fix SQLAlchemy mapper error
kivo360 Jan 18, 2026
0c43bf3
refactor(models): consolidate TicketCommit and TicketPullRequest into…
kivo360 Jan 18, 2026
fcee036
fix(board): sync status and phase_id to keep board columns consistent
kivo360 Jan 18, 2026
7e0f5cb
feat(spec-sandbox): integrate spec-sandbox subsystem for proper spec.…
kivo360 Jan 19, 2026
d8b72a0
fix(spawner): explicitly set CONTINUOUS_MODE=false in spawn_for_phase
kivo360 Jan 19, 2026
c404acb
fix(sandbox): include subsystems in Docker image for spec-sandbox upload
kivo360 Jan 19, 2026
e804b17
fix(sandbox): add pyyaml to spec-sandbox dependencies
kivo360 Jan 19, 2026
8474c3b
fix(spec-sandbox): pass sandbox_id and spec_id to HTTPReporter
kivo360 Jan 19, 2026
104c086
fix(spec): update progress and improve logging when phase_data received
kivo360 Jan 19, 2026
f00c24f
fix(spawner): run ALL spec phases in single sandbox
kivo360 Jan 19, 2026
7ef7a5e
fix(spec): set SPEC_PHASE=all to trigger spec state machine
kivo360 Jan 19, 2026
beff533
fix(spec-sandbox): include phase in HTTPReporter event_data
kivo360 Jan 19, 2026
5275ff7
feat(spec): incremental phase_data sync on spec.phase_completed
kivo360 Jan 19, 2026
726b80e
fix(spec-sandbox): use static markdown generator by default
kivo360 Jan 19, 2026
4a99844
feat(sandbox): sync phase outputs to spec tables for UI display
kivo360 Jan 19, 2026
dcf1940
fix(worker): exit spec sandbox after completion instead of waiting
kivo360 Jan 19, 2026
0eead79
fix(frontend): fix EventTimeline scroll not working
kivo360 Jan 19, 2026
5d97508
fix(sandbox): include spec phase events in handler block
kivo360 Jan 19, 2026
80c5bb2
fix(spec): emit spec.* events with phase_output from SpecStateMachine
kivo360 Jan 19, 2026
7f14033
fix(specs): handle dict format for task dependencies in API response
kivo360 Jan 19, 2026
e4e9b6e
fix(specs): handle spec-sandbox design format for ApiEndpoint model
kivo360 Jan 19, 2026
0056b71
fix(specs): handle empty dict format for DesignArtifact fields
kivo360 Jan 19, 2026
a4eea1f
feat(specs): convert design artifacts to Mermaid diagrams
kivo360 Jan 19, 2026
a49c2db
fix(specs): compute linked_tickets from spec_context if source_ticket…
kivo360 Jan 19, 2026
ba4bb8f
feat(spec-sync): create Ticket records when syncing spec tasks
kivo360 Jan 19, 2026
50ed11d
refactor(spec-sync): support proper tickets/tasks hierarchy from TASK…
kivo360 Jan 19, 2026
b84d3c7
fix(sandbox): generate requirement ID before creating acceptance crit…
kivo360 Jan 19, 2026
ce03b80
feat(spec-sandbox): change default markdown generator from static to …
kivo360 Jan 19, 2026
17672a4
Front-end changes
kivo360 Jan 19, 2026
b0034d1
fix(board): resolve N+1 query issue in get_board_view
kivo360 Jan 19, 2026
c115f26
feat(specs): add LLM-powered title generation for spec creation
kivo360 Jan 19, 2026
4737987
fix(quick-mode): enable continuous mode and LLM title generation
kivo360 Jan 21, 2026
019debc
chore: add marketing assets, OG images, and misc frontend updates
kivo360 Jan 21, 2026
47acebe
fix(frontend): handle snake_case Edit tool input fields
kivo360 Jan 21, 2026
231c42b
fix(backend): keep spec status as executing during phase updates
kivo360 Jan 21, 2026
468826c
fix(frontend): improve spec data loading reliability
kivo360 Jan 21, 2026
a76b41e
fix(frontend): always poll spec data to keep UI in sync
kivo360 Jan 21, 2026
c49f697
fix: include current_phase in spec API response
kivo360 Jan 21, 2026
bab4fe7
feat(spec-sandbox): add PRD phase and enhance all phase prompts
kivo360 Jan 21, 2026
2b48eb5
test: add comprehensive evaluator tests and fix PRD generator tests
kivo360 Jan 21, 2026
b75624e
fix(spawner): set CWD=/workspace for spec-sandbox execution
kivo360 Jan 21, 2026
9d88b06
fix(backend): add PRD phase to progress calculations
kivo360 Jan 22, 2026
26b8bef
feat(frontend): add PRD phase to phase progress indicator
kivo360 Jan 22, 2026
7a0f9fb
Add phase manager service and improve spec task execution
kivo360 Jan 22, 2026
aa360c1
Add task context builder service and demo phase flow script
kivo360 Jan 22, 2026
a716143
fix(spec-sandbox): prevent premature sandbox termination and improve …
kivo360 Jan 22, 2026
7d2fe02
Increase idle sandbox monitor timeouts for spec-sandbox
kivo360 Jan 22, 2026
c10a26d
Fix idle monitor to recognize spec.heartbeat events
kivo360 Jan 22, 2026
41feb6b
docs: Add database connection pattern using get_app_settings()
kivo360 Jan 22, 2026
72256f8
Refactor idle monitor from allowlist to blocklist approach
kivo360 Jan 22, 2026
10869b5
Add canonical event type definitions and double idle thresholds
kivo360 Jan 22, 2026
9c36770
Disable Daytona auto-stop to prevent premature sandbox termination
kivo360 Jan 22, 2026
860357b
Add phase completion detection and stuck-between-phases termination
kivo360 Jan 22, 2026
546243b
Make linked tickets count clickable in spec detail sidebar
kivo360 Jan 22, 2026
17ebf35
Fix spec dropdown switcher to navigate on selection
kivo360 Jan 22, 2026
37b489e
Fix phase_id mismatch preventing tickets from appearing on board
kivo360 Jan 22, 2026
4962a07
Add script to fix ticket phase_id values for board display
kivo360 Jan 23, 2026
81abcc3
Fix tickets missing user_id causing them to not show on board
kivo360 Jan 23, 2026
19f1a04
Fix spec archiving and task dependency resolution
kivo360 Jan 23, 2026
a44a0fd
Add SpecDrivenSettingsService for spec-driven settings persistence
github-actions[bot] Jan 23, 2026
af82ae0
test(frontend): add vitest component tests for SpecDrivenSettingsPanel
github-actions[bot] Jan 23, 2026
f114760
Fix design phase failing when phase_data is empty
kivo360 Jan 23, 2026
8c15a7d
Fix frontend build: correct apiClient import and exclude vitest files…
kivo360 Jan 23, 2026
3832dc8
Fix sandbox lifecycle: terminate completed sandboxes and reduce timeouts
kivo360 Jan 23, 2026
b73226b
Revert agent_completed termination - continuous agents emit it multip…
kivo360 Jan 23, 2026
1856976
Add admin endpoint to clear tracked sandboxes
kivo360 Jan 23, 2026
87d0cbd
Fix design phase failing due to unescaped curly braces in DESIGN_PROMPT
kivo360 Jan 23, 2026
e92818b
Filter archived specs from list by default
kivo360 Jan 23, 2026
2b2b959
Add markdown rendering to task descriptions in ticket detail view
kivo360 Jan 23, 2026
0bc390f
Optimize ticket detail page tab switching for better INP
kivo360 Jan 23, 2026
4dd5ecf
Show 'coming soon' for commits and code changes sections
kivo360 Jan 23, 2026
ae1cbed
Fix onboarding to use spec-driven workflow instead of direct sandbox
claude Jan 24, 2026
551b814
Add /hello greeting endpoint for user hello requests
github-actions[bot] Mar 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
240 changes: 240 additions & 0 deletions .claude/skills/agent-browser/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
---
name: agent-browser
description: |
Headless browser automation CLI for AI agents. Use for web scraping, testing, form filling,
screenshots, and any browser interaction. Triggers: "browse", "open website", "click button",
"fill form", "screenshot", "scrape", "test login flow", "automate browser", "web automation".
---

# agent-browser

CLI browser automation optimized for AI. Use refs from snapshots for reliable element selection.
93% less context than Playwright MCP, 95% first-try success rate.

## Core Workflow

```bash
agent-browser open <url> # Navigate
agent-browser snapshot -i # Get interactive elements with refs
agent-browser click @e2 # Click by ref
agent-browser fill @e3 "text" # Fill by ref
agent-browser snapshot -i # Re-snapshot after changes
agent-browser close # Close browser
```

## Snapshot (Most Important)

Get accessibility tree with element refs for deterministic selection:

```bash
agent-browser snapshot # Full tree
agent-browser snapshot -i # Interactive only (buttons, inputs, links)
agent-browser snapshot -c # Compact (no empty elements)
agent-browser snapshot -d 3 # Limit depth
agent-browser snapshot -i -c --json # Combine for AI parsing
```

Output example:
```
- heading "Example Domain" [ref=e1]
- button "Submit" [ref=e2]
- textbox "Email" [ref=e3]
```

Use refs with `@` prefix: `agent-browser click @e2`

## Essential Commands

### Navigation
```bash
agent-browser open <url> # Go to URL
agent-browser back # Go back
agent-browser forward # Go forward
agent-browser reload # Reload page
```

### Interaction
```bash
agent-browser click @ref # Click element
agent-browser fill @ref "text" # Clear and fill input
agent-browser type @ref "text" # Type into element
agent-browser press Enter # Press key
agent-browser select @ref "value" # Select dropdown option
agent-browser check @ref # Check checkbox
agent-browser hover @ref # Hover element
agent-browser scroll down 500 # Scroll (up/down/left/right)
```

### Get Info
```bash
agent-browser get text @ref # Get text content
agent-browser get value @ref # Get input value
agent-browser get title # Page title
agent-browser get url # Current URL
```

### Check State
```bash
agent-browser is visible @ref # Check visibility
agent-browser is enabled @ref # Check if enabled
agent-browser is checked @ref # Check if checked
```

### Wait
```bash
agent-browser wait @ref # Wait for element visible
agent-browser wait 2000 # Wait milliseconds
agent-browser wait --text "Welcome" # Wait for text
agent-browser wait --load networkidle # Wait for network idle
```

### Screenshot/Output
```bash
agent-browser screenshot # Base64 to stdout
agent-browser screenshot page.png # Save to file
agent-browser screenshot --full # Full page
agent-browser pdf output.pdf # Save as PDF
```

## Testing Patterns

### Login Flow Test
```bash
agent-browser open https://app.example.com/login
agent-browser snapshot -i
# Identify: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Sign In" [ref=e3]
agent-browser fill @e1 "[email protected]"
agent-browser fill @e2 "password123"
agent-browser click @e3
agent-browser wait --url "**/dashboard"
agent-browser snapshot -i # Verify dashboard loaded
agent-browser get text @e1 # Verify welcome message
```

### Form Submission Test
```bash
agent-browser open https://app.example.com/contact
agent-browser snapshot -i
agent-browser fill @e1 "John Doe" # Name field
agent-browser fill @e2 "[email protected]" # Email field
agent-browser fill @e3 "Hello world" # Message field
agent-browser click @e4 # Submit button
agent-browser wait --text "Thank you" # Verify success message
agent-browser snapshot -i # Confirm state
```

### Authentication State (Reuse Login)
```bash
# Save auth after login
agent-browser open https://app.example.com/login
agent-browser snapshot -i && agent-browser fill @e1 "[email protected]"
agent-browser fill @e2 "password" && agent-browser click @e3
agent-browser wait --load networkidle
agent-browser state save auth.json # Save cookies/storage

# Reuse in later tests
agent-browser state load auth.json # Load saved state
agent-browser open https://app.example.com/dashboard # Already logged in
```

### E2E Workflow Test
```bash
# Test complete user journey
agent-browser open https://shop.example.com
agent-browser snapshot -i

# Search for product
agent-browser fill @e1 "laptop" # Search box
agent-browser click @e2 # Search button
agent-browser wait --load networkidle
agent-browser snapshot -i

# Add to cart
agent-browser click @e5 # First product
agent-browser wait --load networkidle
agent-browser snapshot -i
agent-browser click @e3 # Add to cart button
agent-browser wait --text "Added to cart"

# Checkout
agent-browser click @e4 # Cart icon
agent-browser snapshot -i
agent-browser click @e2 # Checkout button
agent-browser wait --url "**/checkout"
```

### Visual Regression
```bash
agent-browser open https://app.example.com/component
agent-browser wait --load networkidle
agent-browser screenshot baseline.png --full
# Make changes, then compare
agent-browser screenshot current.png --full
```

### Error State Testing
```bash
agent-browser open https://app.example.com/form
agent-browser snapshot -i
agent-browser click @e5 # Submit without filling required fields
agent-browser wait 500
agent-browser snapshot -i # Capture error states
agent-browser get text @e1 # Verify error message text
```

## Parallel Testing with Sessions

```bash
# Run tests in isolated sessions
agent-browser --session test1 open https://app.example.com/feature-a
agent-browser --session test2 open https://app.example.com/feature-b

# Each session has separate cookies/storage
agent-browser --session test1 snapshot -i
agent-browser --session test2 snapshot -i

# List active sessions
agent-browser session list
```

## Debugging Tests

```bash
agent-browser open url --headed # See browser window
agent-browser console # View console messages
agent-browser errors # View page errors
agent-browser highlight @e3 # Highlight element visually
agent-browser trace start # Record trace
# ... run test steps ...
agent-browser trace stop trace.zip # Save for analysis
```

## CSS/Text Selectors (Alternative)

When refs aren't available:

```bash
agent-browser click "#submit"
agent-browser click ".btn-primary"
agent-browser click "text=Sign In"
agent-browser find role button click --name "Submit"
```

## Options

| Flag | Description |
|------|-------------|
| `--session <name>` | Use isolated session |
| `--json` | JSON output (for parsing) |
| `--headed` | Show browser window |
| `--full` | Full page screenshot |

## Best Practices for Testing

1. **Always snapshot first** - Get refs before interacting
2. **Use `wait` after actions** - Ensure page state settles
3. **Re-snapshot after navigation** - Refs change between pages
4. **Use `--json` for assertions** - Parse structured output
5. **Save auth state** - Avoid repeated login flows
6. **Use sessions for parallel tests** - Isolated browser instances
7. **Use `--headed` for debugging** - See what's happening
Loading