Skip to content

Commit 26f8b13

Browse files
feat(skills): add openkb-deck-neon (dark Aurora Glass) + make it the default deck skill (#101)
* feat(skills): add openkb-deck-neon — dark Aurora Glass deck skill A neon / glassmorphism deck visual direction parallel to openkb-deck-editorial: near-black canvas, teal/sky/magenta accents, aurora atmosphere, glass panels, and a scale-to-fit 16:9 stage that letterbox-fills any viewport (no fixed 1280px card).
1 parent 293783b commit 26f8b13

6 files changed

Lines changed: 401 additions & 7 deletions

File tree

openkb/agent/chat.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,8 @@ async def _handle_slash_deck(arg: str, kb_dir: Path, style: Style) -> None:
659659
model = config.get("model", DEFAULT_CONFIG["model"])
660660

661661
from openkb.skill.generator import Generator
662-
skill_label = skill_name if skill_name else "openkb-deck-editorial (default)"
662+
from openkb.deck.creator import DEFAULT_DECK_SKILL
663+
skill_label = skill_name if skill_name else f"{DEFAULT_DECK_SKILL} (default)"
663664
_fmt(
664665
style,
665666
("class:slash.help", f"Generating deck '{name}' via skill {skill_label}...\n"),

openkb/cli.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2261,8 +2261,10 @@ def deck():
22612261
"--skill", "skill_name",
22622262
metavar="SKILL_NAME",
22632263
default=None,
2264+
# NOTE: 'openkb-deck-neon' below must stay in sync with
2265+
# DEFAULT_DECK_SKILL in openkb/deck/creator.py.
22642266
help=(
2265-
"Which deck skill to use. Defaults to 'openkb-deck-editorial' "
2267+
"Which deck skill to use. Defaults to 'openkb-deck-neon' "
22662268
"(the built-in). Pass e.g. 'deck-guizang-editorial' to route to "
22672269
"a third-party skill installed under ~/.openkb/skills/."
22682270
),
@@ -2341,7 +2343,8 @@ def deck_new(ctx, name, intent, yes_flag, critique_flag, skill_name):
23412343

23422344
# Run the generator.
23432345
from openkb.skill.generator import Generator
2344-
skill_label = skill_name if skill_name else "openkb-deck-editorial (default)"
2346+
from openkb.deck.creator import DEFAULT_DECK_SKILL
2347+
skill_label = skill_name if skill_name else f"{DEFAULT_DECK_SKILL} (default)"
23452348
click.echo(f"Generating deck '{name}' via skill {skill_label}...")
23462349
gen = Generator(
23472350
target_type="deck",

openkb/deck/creator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Thin CLI/Generator wrapper around any deck-producing skill.
22
33
The actual deck generation lives in skill packages — by default
4-
``skills/openkb-deck-editorial/SKILL.md``, but the caller may pass
4+
``skills/openkb-deck-neon/SKILL.md``, but the caller may pass
55
``skill_name`` to route to a different one (e.g.
66
``deck-guizang-editorial`` from open-design). Skill execution runs
77
through :func:`openkb.agent.skill_runner.run_skill`, which also handles
@@ -29,7 +29,7 @@
2929
from openkb.deck import deck_dir
3030

3131

32-
DEFAULT_DECK_SKILL = "openkb-deck-editorial"
32+
DEFAULT_DECK_SKILL = "openkb-deck-neon"
3333
"""Skill name routed to when the CLI / chat doesn't pass ``--skill``."""
3434

3535
CRITIC_SKILL = "openkb-html-critic"
@@ -52,7 +52,7 @@ async def run_deck_create(
5252
5353
Args:
5454
skill_name: Which deck skill to run. Defaults to the built-in
55-
``openkb-deck-editorial``. Pass ``"deck-guizang-editorial"``
55+
``openkb-deck-neon``. Pass ``"deck-guizang-editorial"``
5656
etc. to route to a third-party skill installed under
5757
``~/.openkb/skills/``.
5858

openkb/skill/generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
"""Args:
7070
skill_name: For ``target_type="deck"``, which deck skill to use.
7171
Defaults to :data:`openkb.deck.creator.DEFAULT_DECK_SKILL`
72-
(``"openkb-deck-editorial"``). Ignored for skill target.
72+
(``"openkb-deck-neon"``). Ignored for skill target.
7373
"""
7474
if target_type not in ("skill", "deck"):
7575
raise ValueError(

0 commit comments

Comments
 (0)