Releases: SunnyDevendranadh/Bloom
v1.4.0 — Token-optimized bloom-plan with output-quality improvements
Token Optimization
bloom-plan + bloom-core combined: 3,001 tokens (42% reduction from 5,224). Fits 200k+ context windows at 75% utilization.
Performance Audit — 9 Output Quality Gaps Fixed
Each fix addresses where a tersely-instructed agent would produce worse output than the original verbose skill:
| # | Area | Fix |
|---|---|---|
| 1 | Decision tables | Real Prisma/Drizzle/Sequelize example — agents now produce concrete benchmarks, not vague descriptors |
| 2 | Scale detection | Explicit "When to use" column — no more gray area between Greenfield and Brownfield |
| 3 | Context section | Good vs bad contrast — "JWT-based REST API so mobile app can auth without session cookies" not "building an API" |
| 4 | File paths | Must be src/config/auth.ts line 24-38 not "update config" |
| 5 | Risk assessment | low/med/high mandatory on likelihood and impact |
| 6 | Approval gate | All 4 user actions explained: approve, edit, reject, scope down |
| 7 | Verify phase | Failure loop: fix → re-verify → update plan |
| 8 | Self-check | Structured 9-item checkbox list (was single-line, easily skipped) |
| 9 | Research phase | Strengthened "MUST NOT" prohibitions |
Technical
- All 13 bloom-validator tests pass
- All example HTML artifacts validate clean
- 25 behavioral parity checks pass
- 6 harness files synced (Cursor, Claude Code, AGENTS.md, GEMINI.md, plugin marketplace)
Bloom v1.3.0 — Decision-Transparent Planning
What's New
bloom-plan: Decision-Transparent Planning Skill
Bloom now ships a planning skill alongside the HTML artifact mode. Activate with /bloom-plan or /plan in any supported harness.
How it works — Plan-Execute-Verify loop:
- Research (read-only) — explores codebase, gathers context, asks clarifying questions
- Plan — writes
.plan.md+ interactive.plan.htmlcompanion to.cursor/plans/ - Approve — pauses for your explicit approval before making any changes
- Execute — implements step-by-step after you approve
- Verify — re-reads files, runs lint/test, confirms against the plan
Decision transparency — every decision includes 3-4 alternatives:
| # | Option | Example | Benchmark | Why not chosen |
|---|---|---|---|---|
| ✅ | Chosen | Concrete library/pattern | Measurable metric | — |
| 2 | Alt | Concrete example | Metric | Specific reason |
Adaptive planning scale:
- Greenfield — full-scope (tech stack, architecture, tooling, security, performance)
- Brownfield — execution-level (scope, pattern consistency, step order, risk)
- Phase Planning — task-level (atomic steps, prerequisites, verification, edge cases)
HTML companion features: decision cards (--clay highlight), implementation checklist (localStorage), risk matrix (--rust/--clay/--olive), status timeline, scale badge, copy-as-markdown, print stylesheet.
Harness Support
Both /bloom and /bloom-plan work across all supported harnesses:
| Harness | Bloom Plan install |
|---|---|
| Claude Code | .claude/skills/bloom-plan/SKILL.md |
| Cursor | .cursor/rules/bloom-plan.mdc |
| Codex CLI/App, OpenCode, Copilot CLI, Aider | Included in AGENTS.md (auto-synced) |
| Gemini CLI | Included in GEMINI.md (auto-synced) |
| Factory Droid | Copy droids/bloom-plan.md to .factory/droids/ |
| Continue | Copy droids/bloom-plan.md to .continue/rules/ |
| Windsurf, Copilot VS Code, Pi | Append snippet to rules file |
Open-Source Cleanliness
.gitignorehardened: excludesscratch/,.cursor/plans/,node_modules/,.env, editor artifacts- LICENSE copyright updated to 2025-2026
- No secrets, no proprietary code, no hardcoded paths in tracked files
- Runtime directories (
.factory/,.continue/) are NOT tracked — users copy fromdroids/ - All harness installs reference
droids/as the canonical source
Verification
- All 13 validator tests pass
- All templates, skeletons, and examples pass
bloom-validate - No placeholder content (Lorem, TODO) in any artifact
- File tree in README matches actual filesystem
Full Changelog: v1.2.0...v1.3.0
v1.2.0 — Version sync tooling
Version sync tooling
This release fixes the plugin manifest versioning workflow so both files stay in sync on every release. Same version string = no reinstall.
What's new
scripts/bump-version.sh— atomically bumps version in both.claude-plugin/marketplace.jsonandplugins/bloom/.claude-plugin/plugin.json. Accepts SemVer or 40-char commit SHA. Running without args shows current versions.scripts/check-versions.sh— CI-friendly validation (exit 0 = synced, exit 1 = mismatch). Drop into a pre-commit hook or GitHub Actions.- Manifests bumped to 1.2.0 — marketplace.json and plugin.json now agree on
"version": "1.2.0".
The invariant
Both manifest files carry the same version string. When they match, Claude Code sees no change and skips reinstall. When they differ (as happened between v1.0.0 and v1.1.0), it triggers an unnecessary reinstall.
Usage
# Bump both manifests at once
./scripts/bump-version.sh 1.3.0
# Or use a commit SHA
./scripts/bump-version.sh $(git rev-parse HEAD)
# Check sync in CI
./scripts/check-versions.shv1.1.0 — Stub rules implemented, new rules, interactive templates, doc restructure
Validator: 13 → 19 rules
Implemented (were stubs returning []):
aria-landmarks— flag<svg>withoutaria-labelorrole="img"contrast-minimum— warn on hard-coded color + background hex pairsfocus-visible— require:focus-visiblestyles with interactive elementslang-attribute— enforce<html lang="...">no-empty-elements— catch empty<div>,<span>,<p>,<section>,<article>no-inline-styles-except-root— reject inlinestyle=attributesprint-media-query— require@media printblockresponsive-images— checkmax-width: 100%andaltattributes
New rules:
no-external-urls— reject external<img src="http(s)://...">and<link href="http(s)://...">no-placeholder-content— flag lorem ipsum, TODO, placeholder dates, Company Name stubs in<body>responsive-breakpoints— require@media (max-width: 640px)and960pxeditor-export-hint— warn if triage/board/editor artifacts lack clipboard export
Security hardening:
- S7 — block
clipboard.writeText(...innerHTML); build export text programmatically
Templates
- 2 new interactive templates:
triage-board.html(drag-and-drop with markdown export),animation-sandbox.html(easing curve playground) - Upstream reorganization: production templates in
templates/+ 10 starter skeletons withdata-template=slots intemplates/skeletons/ - All 20 template/example files pass
validate-all
Docs
- Split
droids/bloom.mdintobloom-core.md(~210 lines) andbloom-patterns.md(~400 lines) to fit harness context limits - Added
docs/harness-capabilities.md— slash commands, stickiness, context size per harness - Added
docs/skill-smoke-test.md— reproducible smoke test checklist
Harness support
AGENTS.mdandGEMINI.mdat repo root (universal entry points for Codex CLI, Codex App, OpenCode, Copilot CLI, Aider, Gemini CLI, and more).cursor/rules/bloom.mdcfor Cursorscripts/sync-skill-files.sh— regenerate all harness files fromdroids/source
Infrastructure
.gitignore— ignore.bloommarker andbloom/output directory.github/workflows/ci.yml— validator tests + artifact validation on pushscripts/check-skill-sizes.sh— verify synced files fit harness context limitsbloom-validator/src/rule-registry.ts— unified registry for all 19 rulesnpm run validate-allworks cross-platform (Node resolves the file list)
Bloom v1.0.0
What's Changed
- Add Session Mode to HTML Effectiveness skill by @SunnyDevendranadh in #1
- Rename skill to Bloom and expand harness coverage to 8 agents by @SunnyDevendranadh in #2
- Package Bloom as a Claude Code plugin with marketplace listing by @SunnyDevendranadh in #3
- Rebrand HTML.md to Bloom across all documentation and configs by @SunnyDevendranadh in #4
- Add design system v2, status report template, and bloom-validator by @SunnyDevendranadh in #5
- Address PR #5 review: tighten validator and template by @SunnyDevendranadh in #6
- Add design-system-v2, construction-rules-v2, and bloom-validator CLI by @SunnyDevendranadh in #7
- Exclude validator test fixtures from GitHub language stats by @SunnyDevendranadh in #8
- Add worked examples, skeleton templates, and validator rule registry by @SunnyDevendranadh in #9
- Improve validator coverage and add feature flag editor example by @SunnyDevendranadh in #11
Full Changelog: https://github.com/SunnyDevendranadh/Bloom/commits/v1.0.0