feat(creative): deck_builder v0.2.0 baseline — placeholders, quality linting, archetypes, and new layouts (#336) - #337
Open
tusharjamunkar wants to merge 2 commits into
Conversation
…linting, archetypes, and new layouts (ARPAHLS#336)
…n sample image is absent
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #336
Implements the v0.2.0 baseline upgrade for
creative/deck_builder, advancing it from a proof-of-concept slide assembler to an enterprise-grade presentation platform layer for autonomous agents as outlined in #336.Following maintainer guidance (@rosspeili), this baseline PR establishes the core architectural foundations, layout extensions, heuristic linting gates, archetype outlines, and skill chaining pipelines in an incremental, reviewable step.
Key Capabilities Added
Procedural Neutral Image Placeholders & Fit Policies (
placeholders.py):hero,logo,icon,chart_backdrop, andheadshotwith subtle geometric motifs and typography badges.fitpolicies:contain(aspect-ratio preserved with padding),cover/crop_center(symmetrically center-cropped),stretch(direct bounding box scaling), andnative.3 New Slide Layout Types (
timeline,metrics,comparison):timeline: Horizontal milestone roadmaps with chronological connectors, dates, titles, descriptions, and color-coded status pills (completed,in_progress,planned).metrics: KPI big-number cards (up to 4 per slide) with primary numeric callouts, metric labels, trend direction indicators (up,down,neutral), and delta badges.comparison: Structured two-column comparative matrix supporting card dictionaries (title+items) or bullet arrays for contrasting features, tradeoffs, or before/after paradigms.Presentation Quality Gates (
lint_deck):WALL_OF_TEXT: Bullet character caps (>140 chars) and dense text blocks.DECK_TOO_LONG: Decks exceeding 25–30 slides.MISSING_ALT: Images lacking accessibility alt text (strict_a11y: true).ORPHAN_BULLET: Slides with exactly one solitary bullet point.EMPTY_TITLE: Missing or whitespace-only slide titles.CHART_NO_TITLE: Charts missing series names or categories.METRIC_WITHOUT_LABEL: Metric entries lacking descriptive context.LOW_SLIDE_COUNT: Incomplete decks (<3 slides).MONOTONOUS_LAYOUT: 3+ consecutive slides repeating the exact same layout.min_scoreenforcement for CI/agent quality gates.Deterministic Archetype Outlines (
suggest_outline):investor_pitch(11 slides)technical_brief(7 slides)quarterly_review(8 slides)product_launch(8 slides)training_workshop(8 slides)constraints=["no pricing", "no financial"]) automatically removes sensitive sections while keeping narrative coherence.Enterprise Governance & Brand Kit Support:
CONFIDENTIAL,INTERNAL,PUBLIC,RESTRICTED) stamped on slides.legal_footerdisclaimer banner.brand_kitspecification (company_name,logo_path,primary_color,secondary_color,accent_color,font_family).Skill Chaining Pipeline Demo & Tooling:
examples/deck_builder_chain_demo.pyshowcasing composability withcreative/bg_removerto generate a 7-slide enterprise presentation with clean transparent brand assets.deck_build_pipelinenamed chain to.skillware.yaml.example.examples/README.mdand added totests/test_examples_smoke.py.Verification & Test Coverage
skills/creative/deck_builder/test_skill.py.tests/skills/creative/test_deck_builder.py.tests/test_examples_smoke.py.black --checkclean,flake8clean (0 errors),scripts/sync_extras.py --checkOK.test_constitution_offline_no_remote_apisverifies no banned imports in any skill module).