Commit Graph

1464 Commits

Author SHA1 Message Date
Claude c9fa698884
feat: SEO audit fixes — meta description, robots.txt, sitemap, noindex
- Add <meta name="description"> block to base template
- Add <meta name="robots" content="noindex, nofollow"> on preview, error,
  flow-step, and not-available pages (ephemeral content)
- Add og:locale meta tag for pt_BR
- Add robots block and canonical block to base layout
- Create robots.txt (disallow /health, reference sitemap)
- Add dynamic /sitemap.xml route from flow registry
- Create SVG favicon and update link tag
- All 60 tests passing

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-09 00:38:37 +00:00
Claude 2a05f926ab
chore: add seo-audit skill configuration
https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-09 00:31:51 +00:00
Claude 014c4b3bf5
feat: Prepare Vercel deployment with serverless adapter
- Extract buildApp() from server.ts into app.ts for reuse
- Create api/index.ts as Vercel serverless function entry point
- Add vercel.json with rewrites (static assets + catch-all to API)
- Build script now copies static assets to public/ and templates to dist/
- Include src/templates/** in serverless function bundle
- Local dev and tests continue to work unchanged (60/60 passing)

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-09 00:18:29 +00:00
Claude e966049169
feat: Complete all 10 legal flows, OpenRouter/Gemini integration, and tests
- Switch LLM provider to OpenRouter with Gemini 2.5 Flash as default
- Add 4 trabalhista flows: rescisão indireta, dano moral, acúmulo de
  função, contestação trabalhista
- Add 5 cível flows: cobrança, indenização, obrigação de fazer,
  contestação cível, contrato (revisão)
- Register all 10 flows in the flow registry
- Write 36 unit tests (sanitize, parse-flow-state, prompt-builder,
  url-builder, flow-engine, llm-client)
- Write 24 integration tests (all routes, deep links, step flow)
- All 60 tests passing, all 12 routes verified at runtime

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-09 00:12:08 +00:00
Claude 001bd7de0a
feat: Add Jus IA Start Kit — MPA wizard for legal prompt assembly
Fastify v5 + TypeScript + Nunjucks + Tailwind CSS v4 application that
guides Brazilian lawyers through a step-by-step flow to collect case
details and assemble optimized prompts for Jus IA.

Includes:
- Flow engine with registry pattern for area/subtipo flows
- Complete trabalhista/horas-extras flow (2 steps, legal references)
- MPA state management via hidden form fields
- Chip-selector UI with 44px touch targets
- Optional LLM integration for contextual refinement questions
- Prompt builder with template interpolation and URL delivery
- Progressive enhancement JS (copy-to-clipboard)
- Deep link support (/:area/:subtipo)
- Brand design tokens from Jusbrasil guidelines

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-09 00:00:28 +00:00
Claude 872d4ca147
Align UX spec with Jusbrasil/Jus IA brand guidelines
Replace assumed blue/gold palette with real Jus IA colors extracted via
Firecrawl: primary green #007A5F, text #5C6F8A, border #B3C0D0.
Keep gold #D4A843 for legal badges only. Add brand-guidelines.md reference.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 22:49:16 +00:00
Claude 65e8127261
Complete Architecture Decision Document (Steps 1-8)
Architecture for Jus IA Start Kit: Fastify + Nunjucks + Tailwind CSS MPA.
Key decisions: zero persistence, server-side LLM proxy, progressive
enhancement, feature-based organization, hidden form fields for state.
Includes implementation patterns, project structure, and validation.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 22:46:40 +00:00
Claude 6e55d58206
Complete UX Design Specification (Steps 3-14)
Full autonomous pass through all workflow steps with party mode team:

- Step 3: Core Experience validated and enriched
- Step 4: Emotional response mapping (Carla: segurança→surpresa→confiança,
  Rafael: alívio→revelação→empoderamento, micro-emotions defined)
- Step 5: Inspiration analysis (WhatsApp, iFood, Nubank, Typeform patterns)
- Step 6: Design system choice (Tailwind CSS + custom components for MPA)
- Step 7: Defining experience mechanics (5-screen flow detailed)
- Step 8: Visual foundation (blue/gold palette, Inter typeface, 4px grid)
- Step 9: Design direction ("Consulta Jurídica Digital" concept)
- Step 10: User journey flows with Mermaid diagrams (4 journeys)
- Step 11: Component strategy (6 custom components: ChipSelector,
  StepperProgress, PreviewCard, LegalBadge, LoadingState, CopyFallback)
- Step 12: UX consistency patterns (buttons, feedback, forms, navigation)
- Step 13: Responsive design (mobile-only + desktop adaptation) and
  accessibility (WCAG 2.1 AA guideline)
- Step 14: Workflow completion

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 22:32:24 +00:00
Claude caa7e51026
Add Core Experience Definition with party mode team insights
Incorporates 5 key decisions from multi-agent discussion:
- Invisible AI transition: AI questions indistinguishable from structured ones
- Quantified speed: max 4-5 screens grouped by mental moment
- Preview as legal trust contract: show CLT articles/TST precedents
- Recovery moment as Critical Success Moment: back button + state preservation
- Effortless interactions: one tap per decision, contextual placeholders

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 22:20:05 +00:00
Claude fdc53aa85a
Add UX Executive Summary with project understanding (Step 2)
Append target users, key design challenges, and design opportunities
to ux-design-specification.md. Ready for Step 3: Core Experience.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:59:03 +00:00
Claude bd8ad124bd
Initialize UX Design Specification workflow
Create ux-design-specification.md from template with input documents
tracked in frontmatter. Ready for Step 2: UX Discovery.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:49:51 +00:00
Claude 8fc0279030
Refine PRD: fix 3 validation findings
- FR30: replace subjective "claramente" with concrete behavior
- NFR1: add loose performance guideline (<5s 3G, <2s 4G)
- Add Target Users persona summary table before journeys

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:47:06 +00:00
Claude c915dc87a7
Add PRD validation report - all 12 checks passed (4/5 rating)
Ran full BMAD validation pipeline against the polished PRD:
- Format: BMAD Standard (6/6 core sections)
- Density, Traceability, Implementation Leakage: Pass (0 violations)
- Brief Coverage: ~98%, Domain/Project-Type Compliance: 100%
- SMART Requirements: avg 4.5/5.0, 90% scoring >=4
- Holistic Quality: Good (4/5), 6.5/7 BMAD principles met
- 3 minor findings, 0 critical — approved for downstream work

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:43:40 +00:00
Claude 2b82aa5746
Polish PRD document: consolidate duplications, improve flow and density
- Remove duplicate "Product Scope" section (absorbed into "Project Scoping")
- Remove redundant "Journey Requirements Summary" table (covered by FRs)
- Consolidate Go/No-Go criteria into single location (Success Criteria)
- Move Project Classification after Success Criteria for better flow
- Condense Domain Requirements from verbose to concise format
- Unify stateless architecture references into Web App section
- Update frontmatter with step-11-polish completed

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:11:09 +00:00
Claude 2ceb1a2e7b
Append Non-Functional Requirements to PRD (Step 10)
12 NFRs across 4 categories: performance (loading/LLM latency),
security (no data persistence, no logging), integration (Jus IA URL
format, overflow validation), compatibility (evergreen browsers,
mobile-first, WhatsApp OG tags). Lean approach - no SLAs.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:05:16 +00:00
Claude 44ddc03061
Append Functional Requirements to PRD (Step 9)
31 FRs across 7 capability areas: task selection, guided flow,
AI refinement, prompt assembly, URL overflow, sharing, analytics,
edge cases. Complete capability contract for downstream work.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:03:38 +00:00
Claude bb7e65286a
Append Scoping & Phased Development to PRD (Step 8)
11 must-have MVP capabilities with justifications. 3-phase roadmap.
5 risks with mitigations (URL overflow, prompt quality, LLM cost,
low adoption, flow limits). Problem-solving MVP philosophy.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:02:00 +00:00
Claude 0512ccf615
Append Web App Specific Requirements to PRD (Step 7)
MPA mobile-first, evergreen browsers, no SEO priority,
request-response with loading state for LLM calls,
no accessibility priority for MVP. Stateless architecture.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 21:00:21 +00:00
Claude 0e432f5efa
Skip Innovation step in PRD (Step 6)
No breakthrough innovation detected. Product is smart execution of
existing concepts (dynamic forms + LLM + parameterized URL + verified
legal base). Innovation is in the approach, not the technology.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:52:28 +00:00
Claude 9efae7597d
Append Domain-Specific Requirements to PRD (Step 5)
Legaltech high-complexity concerns (OAB ethics, data retention,
attorney-client privilege, court integration) don't apply to Start Kit:
no data persistence, no login, no court integration, redirect-only.
Only residual constraint: domain knowledge for prompt template creation.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:49:46 +00:00
Claude 65284afcd1
Append User Journeys to PRD (Step 4)
4 narrative journeys: Carla happy path, Rafael revelation moment
(viralidade orgânica), Carla URL overflow edge case (graceful
degradation), Marcos governance-by-deep-link. Party Mode added
URL limit edge case, deep link governance, referral tracking.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:44:40 +00:00
Claude 125d77e9ad
Append Success Criteria and Product Scope to PRD
Step 3 complete. Lean approach: no retention metrics (one-shot by design),
no redirect-to-subscriber conversion (out of scope), best-effort technical
SLAs. Go/No-Go: >500 redirects/mth + >40% completion rate.
Vision trimmed to community + bidirectional Jus IA integration only.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:32:34 +00:00
Claude 43f65bbdda
Append Executive Summary and Project Classification to PRD
Party Mode review applied 5 improvements: value-first framing,
removed Go/No-Go metrics (belongs in Success Criteria), explicit
+4.2pp facilitation data, corrected value attribution (Start Kit =
query quality, Jus IA = verified base), simplified jargon.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:28:05 +00:00
Claude b4f359a903
Update PRD frontmatter: complete step-02b-vision
Added step-02b-vision to stepsCompleted. Vision discovery established:
adaptive guided flow, conditional interactivity, lean validation mindset,
GTM expansion timing.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:24:49 +00:00
Claude 91bdd61158
Save PRD classification from Step 2 discovery
Web App | Legaltech | Medium complexity (high domain knowledge) | Greenfield.
Party Mode revised complexity from High to Medium based on stateless/anonymous
architecture with no data retention or court integration.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:16:42 +00:00
Claude d9a26c6117
Rename to Jus IA Start Kit and initialize PRD workflow
- Updated all JusPrompt references to Jus IA Start Kit in product brief
- Updated Party Mode insights to reflect decisions made (name, AI in MVP)
- Created PRD document from template with Step 1 initialization complete
- Discovered and loaded 7 input documents (1 brief, 1 research, 1 brainstorm, 4 project docs)

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:10:00 +00:00
Claude 4a136179ac
Add MVP Scope section to product brief (Step 5)
Defines 10 hybrid flows (deterministic + AI), zero-friction experience
(no login, mobile-first, independent domain), URL redirect to Jus IA,
and basic analytics. Clear out-of-scope boundaries and go/no-go criteria.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 20:04:24 +00:00
Claude 3d8d9e3b8a
Add Success Metrics section to product brief
Completed Step 4 with North Star metric (1000 redirects/month),
user success metrics, business objectives, and funnel KPIs.
Product is one-shot by design - no retention loop.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 19:58:02 +00:00
Claude ede9dd1905
Add Target Users section with personas and user journey
Completed Step 3 (Target Users Discovery) with three personas:
- Dra. Carla (never used AI, pragmatic resistor)
- Dr. Rafael (uses AI poorly, digital overload)
- Dr. Marcos (office owner, Shadow AI concerns)
Includes detailed user journey for labor law petition flow.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 19:51:57 +00:00
Claude 034f9f9d36
Add Executive Summary and Core Vision to product brief
Completed Step 2 (Vision Discovery) of the BMAD product brief workflow
for JusPrompt - a conversational assistant that guides lawyers through
building optimized requests for Jus IA without prompt engineering knowledge.
Includes Party Mode insights on naming, URL limits, and MVP strategy.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 19:46:45 +00:00
Claude d8123cc305
Initialize product brief for Jus IA Tools
Set up the product brief document with frontmatter tracking workflow state
and input documents discovered during Phase 1 Analysis (brainstorm, research,
and 4 detailed idea explorations).

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 11:35:28 +00:00
Claude 1262d42d70
docs: add comprehensive competitive analysis for all 4 ideas
Research covers:
- Prompt Library: 8+ BR competitors mapped, white space in verified-data-connected prompts
- Calculator: 10+ competitors including Jusfy (R$50M+ revenue, 118% YoY), gap in AI end-to-end
- Dashboard: No BR competitor exists but better as feature (80% don't measure AI ROI)
- Community: 4-5 paid communities exist (personality-driven), better absorbed as Library feature

Final prioritization: (1) Prompt Library, (2) Calculator, (3/4) Dashboard+Community as features

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 11:12:00 +00:00
Claude a8314a721d
docs: add Jusbrasil primary research data and prioritization analysis
Incorporate proprietary survey data from Jusbrasil (Aug 2025, n=2861; Mar 2026, n=977)
covering adoption rates, tool usage, trust levels, non-user barriers, and conversion
factors. Add section 3 with data-driven implications for each of the 4 selected ideas.

Key findings: Prompt Library has highest relevance (ease of use +4.2pp as conversion
factor), Dashboard is more retention than acquisition, Community is better as a feature
than standalone product.

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 10:47:51 +00:00
Claude 84d679bdaf
docs: add jus-ia project planning files
Add structured documentation for the Jus IA external tools brainstorming project:
- Research context on AI legal tools in Brazil and lawyer pain points
- Full brainstorm with 23 ideas across 5 categories
- 4 selected ideas with detailed descriptions: Prompt Library, Legal Calculator,
  Productivity Dashboard, and Prompts Community
- README with project overview, principles, and next steps

https://claude.ai/code/session_01CvrcMDqfCKWV2hC3xpRbx3
2026-03-08 10:45:03 +00:00
Alex Verkhovsky db8f856fce
docs: update terminology from commands to skills across all documentation (#1850)
Align documentation with the skills-based architecture migration by
replacing references to "commands", "slash commands", and legacy command
names with the new "skills" terminology and skill names.
2026-03-07 16:14:25 -07:00
Alex Verkhovsky ec973ebcf3
refactor: convert workflow.yaml to workflow.md (steps 1-3) (#1842)
* refactor(sprint-status): convert workflow.yaml + instructions.md to single workflow.md

Merge workflow config and instruction content into a unified workflow.md
with YAML frontmatter, following the established convention for converted
workflows. Update module-help.csv reference accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(sprint-status): restore no-time-estimates rule dropped during conversion

The <critical> preamble removal incorrectly classified this behavioral
rule as boilerplate. It is an actual output constraint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: add comprehensive workflow conversion test results

- 14 test fixtures covering data and validate modes
- Tested across Opus, Sonnet, and Haiku models
- OLD format (yaml+md) vs NEW format (workflow.md)
- Confirms zero regressions in conversion
- Includes reproduction instructions for future sessions

* fix(sprint-status): consolidate no-time-estimates into role line

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor(qa-generate-e2e-tests): convert workflow.yaml + instructions.md to single workflow.md

Task 2 of yaml-to-md conversion plan. Merges config variables into
INITIALIZATION section, inlines instructions into EXECUTION section.
Drops non-consumed yaml keys (required_tools, tags, execution_hints).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor(retrospective): convert workflow.yaml + instructions.md to single workflow.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: update workflow.yaml references to workflow.md for converted workflows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: remove test results file from version control

SPRINT_STATUS_CONVERSION_TEST_RESULTS.md contains hardcoded local
filesystem paths and is a session-specific test artifact. Added to
.bare/info/exclude to keep it ignored across all worktrees.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:11:34 -07:00
cccczl 4974cd847f
docs: fix chinese documentation translation errors (#1848) 2026-03-07 14:34:12 -06:00
Alex Verkhovsky 5aab72caba
feat(skills): migrate all remaining platforms to native skills format (#1841)
* feat(skills): migrate Roo Code installer to native skills format

Move Roo Code from legacy `.roo/commands/` flat files to native
`.roo/skills/{skill-name}/SKILL.md` directory output. Verified
skill discovery in Roo Code v3.51 with 43 skills installed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test(skills): add native skills tests for Claude Code, Codex, and Cursor

Add dedicated test suites covering config validation, fresh install,
legacy cleanup, and ancestor conflict detection for Claude Code, Codex
CLI, and Cursor. Updates migration checklist to reflect verified status.

84 assertions now pass (up from 50).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test(skills): add Roo Code reinstall/upgrade test

Verify that running Roo setup over existing skills output succeeds
and preserves SKILL.md output. Checks off the last Roo checklist item.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(skills): migrate GitHub Copilot to config-driven native skills

Replace 699-line custom installer with config-driven skill_format.
Output moves from .github/agents/ + .github/prompts/ to
.github/skills/{skill-name}/SKILL.md. Legacy cleanup strips BMAD
markers from copilot-instructions.md and removes old directories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: update migration checklist with Copilot and Roo verified results

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(skills): migrate Cline to config-driven native skills

Move Cline installer from .clinerules/workflows to .cline/skills with
SKILL.md directory output. Add legacy cleanup and 9 test assertions.

* feat(skills): migrate CodeBuddy to config-driven native skills

Move CodeBuddy installer from .codebuddy/commands to .codebuddy/skills
with SKILL.md directory output. Add legacy cleanup and 9 test assertions.

* feat(skills): migrate Crush to config-driven native skills

Move Crush installer from .crush/commands to .crush/skills with
SKILL.md directory output. Add legacy cleanup and 9 test assertions.

* feat(skills): migrate Trae to config-driven native skills

Move Trae installer from .trae/rules to .trae/skills with SKILL.md
directory output. Add legacy cleanup and 9 test assertions.

* feat(skills): migrate KiloCoder to config-driven native skills

Replace 269-line custom kilo.js installer with config-driven entry in
platform-codes.yaml targeting .kilocode/skills/ with skill_format: true.

- Add installer config: target_dir, skill_format, template_type, legacy_targets
- Add cleanupKiloModes() to strip BMAD modes from .kilocodemodes on cleanup
- Remove kilo.js from manager.js customFiles and Kilo-specific result handling
- Delete tools/cli/installers/lib/ide/kilo.js
- Add test Suite 22: 11 assertions (config, install, legacy cleanup, modes, reinstall)
- Update migration checklist with verified results

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(skills): migrate Gemini CLI to config-driven native skills

Replace TOML-based .gemini/commands output with native SKILL.md output
in .gemini/skills/. Gemini CLI confirms native skills support per
geminicli.com/docs/cli/skills/.

- Update platform-codes.yaml: target_dir, skill_format, legacy_targets
- Add test Suite 23: 9 assertions (config, install, legacy, reinstall)
- Add Gemini CLI section to migration checklist

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(skills): migrate iFlow, QwenCoder, and Rovo Dev to native skills

Complete the native skills migration for all remaining platforms:

- iFlow: .iflow/commands → .iflow/skills (config change)
- QwenCoder: .qwen/commands → .qwen/skills (config change)
- Rovo Dev: replace 257-line custom rovodev.js with config-driven
  .rovodev/skills, add cleanupRovoDevPrompts() for prompts.yml cleanup

All platforms now use config-driven native skills. No custom installer
files remain. Manager.js customFiles array is now empty.

- Add test suites 24-26: 20 new assertions (173 total)
- Update migration checklist: all summary gates passed
- Delete tools/cli/installers/lib/ide/rovodev.js

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(installer): preserve bmad-os-* skills during cleanup

The cleanupTarget method removed all entries starting with "bmad" from
IDE skills directories, which would also wipe version-controlled
bmad-os-* skills from the BMAD-METHOD repo. Add exclusion for the
bmad-os- prefix so those skills survive reinstalls.

* docs: flag all unverified platforms for manual IDE testing

Add NEEDS MANUAL IDE VERIFICATION to KiloCoder, Gemini CLI, iFlow,
QwenCoder, and Rovo Dev checklists. CodeBuddy, Crush, and Trae already
had the flag.

* fix(installer): suspend Kilo Code and add verified Gemini/Crush results

Kilo Code does not support the Agent Skills standard — the migration
from modes+workflows to skills was based on a false fork assumption.

- Add suspended field to platform-codes.yaml, hiding Kilo from the IDE
  picker and blocking setup with a clear message
- Fail the installer early (before writing _bmad/) if all selected IDEs
  are suspended, protecting existing installations from being corrupted
- Still clean up legacy Kilo artifacts (.kilocodemodes, .kilocode/workflows)
  when users switch to a different IDE
- Mark Crush and Gemini CLI as manually verified (both work end-to-end)
- Replace Suite 22 install tests with suspended-behavior tests (7 assertions)

* docs: update KiloCoder checklist to reflect suspended status

* fix(skills): add canonicalIds for BMM research and PRD workflows

Drop the bmm module prefix from 6 workflow skill names so they
install as bmad-create-prd, bmad-domain-research, etc. instead of
bmad-bmm-create-prd, bmad-bmm-domain-research, etc.

* fix(installer): address PR review findings from automated reviewers

Triage of 18 findings from Augment and CodeRabbit reviews on PR #1841:

Source code fixes:
- Exclude bmad-os-* from findAncestorConflict to match cleanupTarget
- Wrap cleanupCopilotInstructions in try/catch (best-effort, not fatal)
- Wrap suspended-platform cleanup in try/catch (failure boundary)
- Clean up temp backup dirs in catch block when install aborts
- Normalize IDE keys to lowercase before suspended lookup
- Delete dead loadCustomInstallerFiles method and stale references
- Rename "Roo Cline" to "Roo Code" in both platform-codes.yaml files
- Fix Gemini CLI package name (@google/gemini-cli, not @anthropic-ai)

Test improvements:
- Add name/frontmatter invariant check to 6 missing platform suites
- Assert stale bmad-architect skill is removed after cleanup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 12:30:49 -07:00
Alex Verkhovsky 434e7efab6
fix: add missing skill manifests for research and PRD workflows (#1839)
These manifests were missed during the all-is-skills migration (#1834),
leaving 6 workflows undiscoverable by the native skills installer.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:59:27 -07:00
Alex Verkhovsky 0d3b317598
refactor: all-is-skills - Convert BMAD to skills-based architecture (#1834)
* feat(skills): add canonical bmad- naming via skill manifests

Add bmad-skill-manifest.yaml sidecars to all 38 capabilities (tasks,
agents, workflows) declaring canonicalId as the single source of truth
for skill names. Update Claude Code and Codex installers to prefer
canonicalId over path-derived names, with graceful fallback.

- 24 manifest files covering 38 capabilities
- New shared skill-manifest.js utility for manifest loading
- resolveSkillName() in path-utils.js bridges manifest → installer
- All command generators propagate canonicalId through CSV manifests
- Drops bmm module prefix from all user-facing skill names

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(skills): claude-code installer outputs .claude/skills/<name>/SKILL.md

Refactor the config-driven installer to emit Agent Skills Open Standard
format for Claude Code: directory-per-skill with SKILL.md entrypoint,
unquoted YAML frontmatter, and full canonical names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor(installer): migrate codex to config-driven pipeline

Delete the custom codex.js installer (441 lines) and route Codex
through the config-driven pipeline via platform-codes.yaml. This
fixes 7 task/tool descriptions that were generic due to bypassing
manifests, and eliminates duplicate transformToSkillFormat code.

Key changes:
- Add codex entry to platform-codes.yaml with skill_format + legacy_targets
- Remove codex from custom installer list in manager.js
- Add installCustomAgentLauncher() to config-driven for custom agent support
- Add detect() override for skill_format platforms (bmad-prefix check)
- Set configDir from target_dir for base-class detect() compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(installer): guard codex skill installs in nested directories

* fix(installer): warn on stale global legacy skill dirs

* feat(installer): migrate cursor to native skills

* Migrate Windsurf installer to native skills

* Clarify Windsurf skill invocation in checklist

* feat(installer): migrate kiro to native skills

* docs: record kiro skill visibility verification

* Migrate Antigravity installer to native skills

* Document Antigravity ancestor skill verification

* Synchronize native skills migration checklist

* Migrate Auggie installer to native skills

* Migrate OpenCode installer to native skills

* Document live skill verification for Auggie and OpenCode

* fix(test): replace _bmad filesystem dependency with self-contained fixture

The installation component tests walked up the filesystem looking for a
pre-installed _bmad directory, which exists locally but not in CI. Replace
findInstalledBmadDir() with createTestBmadFixture() that creates a minimal
temp directory with fake compiled agents, making tests fully self-contained.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-03-06 21:39:19 -06:00
Chandan Veerabhadrappa 09ce8559f2
fix: use last_updated instead of generated for sprint-status staleness check (#1836)
The staleness warning in sprint-status always fired after 7 days because
it checked the 'generated' timestamp, which is only set once during
sprint-planning. Other workflows (dev-story, create-story, code-review,
retrospective) update statuses but never touched 'generated'.

This adds a 'last_updated' field that is:
- Set initially alongside 'generated' during sprint-planning
- Bumped to current date by every workflow that modifies sprint-status.yaml
- Used by the staleness check (with fallback to 'generated' for backward
  compatibility)

Fixes bmad-code-org/BMAD-METHOD#1820

Co-authored-by: Oz <oz-agent@warp.dev>
2026-03-06 20:25:59 -06:00
Alex Verkhovsky e3ffdf9c90
fix(create-story): replace missing validate-workflow invoke with explicit checklist action (#1837)
Co-authored-by: Brian <bmadcode@gmail.com>
2026-03-06 20:24:13 -06:00
Alex Verkhovsky d812205470
fix(quick-flow): add input trust guardrail to step 1 clarify-and-route (#1825)
Prevent the agent from treating detailed, plan-like input as a validated
plan and short-circuiting the workflow. The new rule ensures the full
workflow is followed regardless of input specificity.
2026-03-06 20:22:56 -06:00
Alex Verkhovsky ed76f57a19
feat(i18n): add zh-CN locale support (#1822)
* feat(i18n): add zh-cn locale support with Starlight routing

Reorganize Chinese translations from docs_cn/ into docs/zh-cn/
following Starlight's i18n content structure. Configure Starlight
with root locale (en, unprefixed) and zh-cn (/zh-cn/ prefix).

- Move 28 files from docs_cn/*_cn.md to docs/zh-cn/*.md
- Fix 21 internal links to remove _cn suffixes
- Add defaultLocale + locales config to astro.config.mjs
- Add .gitignore exception for docs/zh-cn/ (overrides z*/ rule)
- Language switcher activates automatically via existing Header
- hreflang tags auto-generated by Starlight on all pages

* feat(i18n): add zh-CN UI translations and sidebar labels

- Add website/src/content/i18n/zh-CN.json with Starlight UI strings
- Add sidebar group label translations (欢迎, 路线图, 教程, etc.)
- Register i18n collection in content config to fix deprecation warning

* fix(i18n): exclude 404 pages from sitemap

Custom 404 pages (root and zh-cn) were indexed as regular content in
the sitemap. Add a filter to the @astrojs/sitemap integration that
matches the /404 path segment precisely via regex on the URL pathname.
2026-03-06 20:21:43 -06:00
Alex Verkhovsky f7846fd5eb
feat(skills): add edge case hunter as parallel review layer in PR review (#1791)
* feat(skills): add edge case hunter as parallel review layer in PR review

Wire review-edge-case-hunter.xml into bmad-os-review-pr as a second
review layer running in parallel with the adversarial review. Both
subagents receive the same PR diff concurrently. Findings are merged,
deduplicated, and tagged by source before tone transformation.

* fix(core): resolve contradictions in edge case hunter task spec

- Show array wrapper [{}] in output-format example to match JSON array
  contract, and document empty array [] as valid output
- Consolidate empty-content handling: step 1 now defers to halt-conditions
  instead of defining separate "ask and abort" behavior
- Zero-findings halt no longer contradicts JSON contract: re-analyze once,
  then return [] instead of ambiguous "HALT or re-analyze"
- Soften "Execute ALL steps" to acknowledge halt-conditions can interrupt

* fix(review): address PR #1791 review feedback

- Remove "Task tool" reference per maintainer; use generic "subagents"
- Fix nested triple-backtick fencing with four-tick outer fence
- Widen location format to support multi-line ranges and hunk refs
- Add JSON-safety constraint to guard_snippet field
- Tighten input loading to "strictly from provided input"
- Replace vague "unreadable" with "cannot be decoded as text"
- Replace vague "increased scrutiny" with concrete re-analysis checklist
- Resolve HALT-immediately vs re-analysis conflict in LLM instructions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:21:28 -06:00
Alex Verkhovsky abf3d25f06
fix(core): remove stale tool_supports_subagents and tool_supports_agent_teams config (#1827)
These config keys were added in efc69ffb but never consumed by any
template, conditional logic, or runtime code. They represent platform
capabilities that the agent can determine at runtime — persisting a
stale user guess adds installation friction with zero execution value.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:59:16 -06:00
cccczl 259e8a11ba
docs: add Chinese documentation translation (#1795)
* docs: add Chinese documentation translation

* Update link to modules documentation in Chinese
2026-03-04 14:37:22 -06:00
Alex Verkhovsky 9536e1e6e3
feat(skills): add bmad-os-review-prompt skill (#1806)
PromptSentinel v1.2 - reviews LLM workflow step prompts for known
failure modes including silent ignoring, negation fragility, scope
creep, and 14 other catalog items. Uses parallel review tracks
(adversarial, catalog scan, path tracing) with structured output.
2026-03-03 22:38:58 -06:00
Alex Verkhovsky 7ece8b09fa
feat(skills): add bmad-os-findings-triage HITL triage skill (#1804)
Team-based skill that orchestrates human-in-the-loop triage of review
findings using parallel Opus agents. One agent per finding researches
autonomously, proposes a plan, then holds for human conversation before
a decision is recorded. Team lead maintains scorecard and lifecycle.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:08:55 -06:00
Alex Verkhovsky 35a7f101dd
feat(quick-flow): add quick-dev2 unified workflow (#1807)
* feat(quick-flow): add quick-dev2 unified workflow

Add the quick-dev2 workflow that unifies clarify, plan, implement,
review, and present into a single flow. Register it in the agent
menu, module-help catalog, and test fixtures.

* fix(quick-flow): rename QD2 trigger to QQ for schema compliance

COMPOUND_TRIGGER_PATTERN only allows uppercase letters in shortcuts.
Rename to QQ so quick-dev2 passes agent schema validation.

* fix(quick-flow): address PR review findings for quick-dev2

- step-04-review: fix copy-paste fallback text to say "perform all
  three reviews inline sequentially" instead of "implement directly"
- workflow.md: add missing planning_artifacts to initialization list,
  matching quick-spec and quick-dev siblings
- quick-flow-solo-dev.agent.yaml: change QD and QQ menu entries from
  workflow: to exec: for .md files, matching the exec-for-md convention

* fix(quick-flow): use human-in-the-loop fallback for review without subagents

Sequential inline reviews in the same context suffer from anchoring
bias and context blowout. Instead, generate separate review prompt
files and ask the human to run each in a separate session.

* refactor(quick-flow): rename quick-dev2 to quick-dev-new-preview

Rename directory, update all references in agent menu, module-help,
and workflow internals.
2026-03-02 19:36:14 -06:00