@hiai-gg/hiai-opencode 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +4 -0
- package/AGENTS.md +34 -38
- package/ARCHITECTURE.md +4 -3
- package/LICENSE.md +14 -0
- package/README.md +52 -21
- package/config/hiai-opencode.schema.json +11 -13
- package/dist/agents/{bob.d.ts → bob/claude.d.ts} +6 -2
- package/dist/agents/bob/core.d.ts +6 -0
- package/dist/agents/bob/gpt.d.ts +11 -0
- package/dist/agents/bob/index.d.ts +3 -0
- package/dist/agents/coder/core.d.ts +4 -0
- package/dist/agents/coder/gpt.d.ts +1 -4
- package/dist/agents/coder/index.d.ts +1 -0
- package/dist/agents/manager/agent.d.ts +1 -1
- package/dist/agents/manager/default-prompt-sections.d.ts +3 -3
- package/dist/agents/manager/guard-integration.d.ts +1 -0
- package/dist/agents/prompt-library/index.d.ts +0 -1
- package/dist/agents/prompt-library/shared-execution.d.ts +9 -0
- package/dist/agents/strategist/behavioral-summary.d.ts +1 -1
- package/dist/agents/strategist/identity-constraints.d.ts +1 -1
- package/dist/agents/strategist/plan-generation.d.ts +1 -1
- package/dist/agents/types.d.ts +2 -1
- package/dist/config/defaults.d.ts +1 -0
- package/dist/config/platform-schema.d.ts +26 -26
- package/dist/config/schema/agent-names.d.ts +6 -6
- package/dist/config/schema/agent-overrides.d.ts +0 -128
- package/dist/config/schema/hiai-opencode-config.d.ts +0 -128
- package/dist/config/types.d.ts +2 -2
- package/dist/features/background-agent/manager-notifier.d.ts +46 -0
- package/dist/features/background-agent/manager-types.d.ts +40 -0
- package/dist/features/background-agent/manager.d.ts +3 -19
- package/dist/features/background-agent/polling-manager.d.ts +51 -0
- package/dist/features/boulder-state/storage.d.ts +1 -0
- package/dist/features/builtin-commands/templates/loop.d.ts +2 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
- package/dist/features/builtin-skills/skills/interview-me.d.ts +2 -0
- package/dist/features/builtin-skills/skills/planning-and-task-breakdown.d.ts +2 -0
- package/dist/hooks/reasoning-content-cache/hook.d.ts +11 -0
- package/dist/hooks/reasoning-content-cache/index.d.ts +1 -0
- package/dist/hooks/session-recovery/checkpoint.d.ts +48 -0
- package/dist/hooks/session-recovery/enhanced-hook.d.ts +30 -0
- package/dist/hooks/session-recovery/state-backup.d.ts +76 -0
- package/dist/hooks/shared/compaction-in-progress.d.ts +4 -0
- package/dist/hooks/start-work/git-operations.d.ts +47 -0
- package/dist/hooks/token-budget.d.ts +30 -0
- package/dist/index.js +1185 -1078
- package/dist/mcp/rate-limiter.d.ts +68 -0
- package/dist/plugin/chat-message.d.ts +8 -0
- package/dist/plugin/command-execute-before.d.ts +1 -1
- package/dist/plugin/event-handlers/message-updated.d.ts +2 -0
- package/dist/plugin/event-handlers/session-error.d.ts +2 -0
- package/dist/plugin/event-handlers/session-status.d.ts +2 -0
- package/dist/plugin/event-handlers/types.d.ts +62 -0
- package/dist/plugin/event-handlers/utils.d.ts +11 -0
- package/dist/plugin/event.d.ts +1 -1
- package/dist/shared/data-path.d.ts +1 -1
- package/dist/shared/errors.d.ts +70 -0
- package/dist/shared/extract-session-id.d.ts +8 -0
- package/dist/shared/git-worktree/get-git-state-summary.d.ts +14 -0
- package/dist/shared/index.d.ts +67 -68
- package/dist/shared/internal-initiator-marker.d.ts +1 -1
- package/dist/shared/logger.d.ts +5 -1
- package/dist/shared/reasoning-content-cache.d.ts +68 -0
- package/dist/shared/safe-create-hook.d.ts +4 -4
- package/dist/tools/call-hiai-agent/constants.d.ts +2 -2
- package/dist/tools/delegate-task/sub-agent.d.ts +1 -1
- package/dist/tools/look-at/constants.d.ts +1 -1
- package/docs/architecture/bob-manager-architecture.md +244 -0
- package/docs/hiai-opencode/adr/ADR-001-agent-identity-section-injection.md +66 -0
- package/docs/hiai-opencode/adr/ADR-002-anti-loop-guard-priority.md +63 -0
- package/docs/hiai-opencode/adr/ADR-003-compaction-mechanism.md +71 -0
- package/docs/hiai-opencode/adr/ADR-004-session-recovery.md +76 -0
- package/docs/hiai-opencode/api.md +305 -0
- package/docs/hiai-opencode/hooks-architecture.md +225 -0
- package/docs/hiai-opencode/migration.md +209 -0
- package/docs/skill-discovery.md +288 -0
- package/package.json +1 -1
- package/skills/agent-browser/SKILL.md +193 -0
- package/skills/apple-hig/SKILL.md +43 -0
- package/skills/article-magazine/SKILL.md +46 -0
- package/skills/article-magazine/example.html +81 -0
- package/skills/article-magazine/example.md +38 -0
- package/skills/canvas-design/SKILL.md +45 -0
- package/skills/design-templates/audio-jingle/SKILL.md +132 -0
- package/skills/design-templates/audio-jingle/example.html +128 -0
- package/skills/design-templates/blog-post/SKILL.md +80 -0
- package/skills/design-templates/blog-post/example.html +80 -0
- package/skills/design-templates/clinical-case-report/SKILL.md +209 -0
- package/skills/design-templates/clinical-case-report/example.html +698 -0
- package/skills/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
- package/skills/design-templates/clinical-case-report/references/case-formats.md +94 -0
- package/skills/design-templates/clinical-case-report/references/checklist.md +41 -0
- package/skills/design-templates/critique/SKILL.md +258 -0
- package/skills/design-templates/critique/example.html +671 -0
- package/skills/design-templates/dashboard/SKILL.md +76 -0
- package/skills/design-templates/dashboard/example.html +118 -0
- package/skills/design-templates/dating-web/SKILL.md +92 -0
- package/skills/design-templates/dating-web/example.html +265 -0
- package/skills/design-templates/dcf-valuation/SKILL.md +140 -0
- package/skills/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
- package/skills/design-templates/digital-eguide/SKILL.md +94 -0
- package/skills/design-templates/digital-eguide/example.html +204 -0
- package/skills/design-templates/docs-page/SKILL.md +80 -0
- package/skills/design-templates/docs-page/example.html +122 -0
- package/skills/design-templates/email-marketing/SKILL.md +84 -0
- package/skills/design-templates/email-marketing/example.html +159 -0
- package/skills/design-templates/eng-runbook/SKILL.md +51 -0
- package/skills/design-templates/eng-runbook/example.html +250 -0
- package/skills/design-templates/finance-report/SKILL.md +61 -0
- package/skills/design-templates/finance-report/example.html +242 -0
- package/skills/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
- package/skills/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
- package/skills/design-templates/flowai-live-dashboard-template/example.html +13 -0
- package/skills/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
- package/skills/design-templates/gamified-app/SKILL.md +108 -0
- package/skills/design-templates/gamified-app/example.html +292 -0
- package/skills/design-templates/github-dashboard/SKILL.md +130 -0
- package/skills/design-templates/github-dashboard/example.html +473 -0
- package/skills/design-templates/github-dashboard/references/README.md +10 -0
- package/skills/design-templates/github-dashboard/references/artifact-example.json +15 -0
- package/skills/design-templates/github-dashboard/references/example-data.json +138 -0
- package/skills/design-templates/github-dashboard/references/provenance-example.json +92 -0
- package/skills/design-templates/github-dashboard/references/template.html +473 -0
- package/skills/design-templates/guizang-ppt/LICENSE +21 -0
- package/skills/design-templates/guizang-ppt/README.en.md +119 -0
- package/skills/design-templates/guizang-ppt/README.md +120 -0
- package/skills/design-templates/guizang-ppt/README.pt-BR.md +121 -0
- package/skills/design-templates/guizang-ppt/SKILL.md +313 -0
- package/skills/design-templates/guizang-ppt/assets/example-slides.html +318 -0
- package/skills/design-templates/guizang-ppt/assets/template.html +647 -0
- package/skills/design-templates/guizang-ppt/references/checklist.md +265 -0
- package/skills/design-templates/guizang-ppt/references/components.md +363 -0
- package/skills/design-templates/guizang-ppt/references/layouts.md +630 -0
- package/skills/design-templates/guizang-ppt/references/styles.md +195 -0
- package/skills/design-templates/guizang-ppt/references/themes.md +122 -0
- package/skills/design-templates/hr-onboarding/SKILL.md +52 -0
- package/skills/design-templates/hr-onboarding/example.html +219 -0
- package/skills/design-templates/html-ppt/.clawscan-allow +12 -0
- package/skills/design-templates/html-ppt/LICENSE +21 -0
- package/skills/design-templates/html-ppt/README.md +234 -0
- package/skills/design-templates/html-ppt/README.pt-BR.md +239 -0
- package/skills/design-templates/html-ppt/README.zh-CN.md +238 -0
- package/skills/design-templates/html-ppt/SKILL.md +250 -0
- package/skills/design-templates/html-ppt/assets/animations/animations.css +138 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
- package/skills/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
- package/skills/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
- package/skills/design-templates/html-ppt/assets/base.css +150 -0
- package/skills/design-templates/html-ppt/assets/fonts.css +9 -0
- package/skills/design-templates/html-ppt/assets/runtime.js +960 -0
- package/skills/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
- package/skills/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/aurora.css +20 -0
- package/skills/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
- package/skills/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
- package/skills/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
- package/skills/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
- package/skills/design-templates/html-ppt/assets/themes/dracula.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
- package/skills/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
- package/skills/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
- package/skills/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
- package/skills/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
- package/skills/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
- package/skills/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
- package/skills/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
- package/skills/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
- package/skills/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
- package/skills/design-templates/html-ppt/assets/themes/nord.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
- package/skills/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
- package/skills/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
- package/skills/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
- package/skills/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
- package/skills/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
- package/skills/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
- package/skills/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
- package/skills/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
- package/skills/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
- package/skills/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
- package/skills/design-templates/html-ppt/docs/readme/animations.png +0 -0
- package/skills/design-templates/html-ppt/docs/readme/hero.gif +0 -0
- package/skills/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
- package/skills/design-templates/html-ppt/docs/readme/layouts.png +0 -0
- package/skills/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
- package/skills/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
- package/skills/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
- package/skills/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
- package/skills/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
- package/skills/design-templates/html-ppt/docs/readme/templates.png +0 -0
- package/skills/design-templates/html-ppt/docs/readme/themes.png +0 -0
- package/skills/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
- package/skills/design-templates/html-ppt/references/animations.md +147 -0
- package/skills/design-templates/html-ppt/references/authoring-guide.md +141 -0
- package/skills/design-templates/html-ppt/references/full-decks.md +98 -0
- package/skills/design-templates/html-ppt/references/layouts.md +103 -0
- package/skills/design-templates/html-ppt/references/presenter-mode.md +240 -0
- package/skills/design-templates/html-ppt/references/themes.md +107 -0
- package/skills/design-templates/html-ppt/scripts/new-deck.sh +46 -0
- package/skills/design-templates/html-ppt/scripts/render.sh +71 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
- package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
- package/skills/design-templates/html-ppt/templates/animation-showcase.html +172 -0
- package/skills/design-templates/html-ppt/templates/deck.html +69 -0
- package/skills/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
- package/skills/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
- package/skills/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
- package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
- package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
- package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
- package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
- package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
- package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
- package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
- package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
- package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
- package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
- package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
- package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
- package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
- package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
- package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
- package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
- package/skills/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
- package/skills/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
- package/skills/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
- package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
- package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
- package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
- package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
- package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
- package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
- package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
- package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
- package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
- package/skills/design-templates/html-ppt/templates/full-decks-index.html +82 -0
- package/skills/design-templates/html-ppt/templates/layout-showcase.html +47 -0
- package/skills/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
- package/skills/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
- package/skills/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
- package/skills/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
- package/skills/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
- package/skills/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
- package/skills/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
- package/skills/design-templates/html-ppt/templates/single-page/code.html +33 -0
- package/skills/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
- package/skills/design-templates/html-ppt/templates/single-page/cover.html +32 -0
- package/skills/design-templates/html-ppt/templates/single-page/cta.html +27 -0
- package/skills/design-templates/html-ppt/templates/single-page/diff.html +35 -0
- package/skills/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
- package/skills/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
- package/skills/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
- package/skills/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
- package/skills/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
- package/skills/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
- package/skills/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
- package/skills/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
- package/skills/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
- package/skills/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
- package/skills/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
- package/skills/design-templates/html-ppt/templates/single-page/table.html +33 -0
- package/skills/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
- package/skills/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
- package/skills/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
- package/skills/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
- package/skills/design-templates/html-ppt/templates/single-page/toc.html +26 -0
- package/skills/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
- package/skills/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
- package/skills/design-templates/html-ppt/templates/theme-showcase.html +151 -0
- package/skills/design-templates/html-ppt-course-module/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-course-module/example.html +542 -0
- package/skills/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
- package/skills/design-templates/html-ppt-graphify-dark-graph/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
- package/skills/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
- package/skills/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
- package/skills/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
- package/skills/design-templates/html-ppt-pitch-deck/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-pitch-deck/example.html +495 -0
- package/skills/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
- package/skills/design-templates/html-ppt-product-launch/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-product-launch/example.html +467 -0
- package/skills/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
- package/skills/design-templates/html-ppt-taste-brutalist/example.html +774 -0
- package/skills/design-templates/html-ppt-taste-editorial/SKILL.md +62 -0
- package/skills/design-templates/html-ppt-taste-editorial/example.html +689 -0
- package/skills/design-templates/html-ppt-tech-sharing/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-tech-sharing/example.html +512 -0
- package/skills/design-templates/html-ppt-testing-safety-alert/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
- package/skills/design-templates/html-ppt-weekly-report/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-weekly-report/example.html +489 -0
- package/skills/design-templates/html-ppt-xhs-pastel-card/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
- package/skills/design-templates/html-ppt-xhs-post/SKILL.md +78 -0
- package/skills/design-templates/html-ppt-xhs-post/example.html +487 -0
- package/skills/design-templates/html-ppt-xhs-white-editorial/SKILL.md +77 -0
- package/skills/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
- package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
- package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
- package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
- package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
- package/skills/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
- package/skills/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
- package/skills/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
- package/skills/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
- package/skills/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
- package/skills/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
- package/skills/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
- package/skills/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
- package/skills/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
- package/skills/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
- package/skills/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
- package/skills/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
- package/skills/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
- package/skills/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
- package/skills/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
- package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
- package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
- package/skills/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
- package/skills/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
- package/skills/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
- package/skills/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
- package/skills/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
- package/skills/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
- package/skills/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
- package/skills/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
- package/skills/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
- package/skills/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
- package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
- package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
- package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
- package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
- package/skills/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
- package/skills/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
- package/skills/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
- package/skills/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
- package/skills/figma-code-connect-components/SKILL.md +42 -0
- package/skills/figma-create-design-system-rules/SKILL.md +42 -0
- package/skills/figma-create-new-file/SKILL.md +41 -0
- package/skills/figma-generate-design/SKILL.md +42 -0
- package/skills/figma-generate-library/SKILL.md +42 -0
- package/skills/figma-implement-design/SKILL.md +42 -0
- package/skills/figma-use/SKILL.md +42 -0
- package/skills/full-page-screenshot/SKILL.md +42 -0
- package/skills/interview-me/SKILL.md +64 -0
- package/skills/planning-and-task-breakdown/SKILL.md +52 -0
- package/skills/sora/SKILL.md +43 -0
- package/skills/theme-factory/SKILL.md +43 -0
- package/skills/web-design-guidelines/SKILL.md +42 -0
- package/dist/agents/prompt-library/orchestration.d.ts +0 -4
- package/skills/brainstorming/SKILL.md +0 -164
- package/skills/brainstorming/scripts/frame-template.html +0 -214
- package/skills/brainstorming/scripts/helper.js +0 -88
- package/skills/brainstorming/scripts/server.cjs +0 -354
- package/skills/brainstorming/scripts/start-server.sh +0 -148
- package/skills/brainstorming/scripts/stop-server.sh +0 -56
- package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
- package/skills/brainstorming/visual-companion.md +0 -287
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-hig
|
|
3
|
+
description: |
|
|
4
|
+
Apple Human Interface Guidelines as 14 agent skills covering platforms, foundations, components, patterns, inputs, and technologies for iOS, macOS, visionOS, watchOS, and tvOS.
|
|
5
|
+
triggers:
|
|
6
|
+
- "apple hig"
|
|
7
|
+
- "human interface"
|
|
8
|
+
- "ios design"
|
|
9
|
+
- "macos design"
|
|
10
|
+
- "visionos design"
|
|
11
|
+
od:
|
|
12
|
+
mode: design-system
|
|
13
|
+
category: design-systems
|
|
14
|
+
upstream: "https://github.com/raintree-technology/apple-hig-skills"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# apple-hig
|
|
18
|
+
|
|
19
|
+
> Curated from raintree-technology.
|
|
20
|
+
|
|
21
|
+
## What it does
|
|
22
|
+
|
|
23
|
+
Apple Human Interface Guidelines as 14 agent skills covering platforms, foundations, components, patterns, inputs, and technologies for iOS, macOS, visionOS, watchOS, and tvOS.
|
|
24
|
+
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
- Upstream: https://github.com/raintree-technology/apple-hig-skills
|
|
28
|
+
- Category: `design-systems`
|
|
29
|
+
|
|
30
|
+
## How to use
|
|
31
|
+
|
|
32
|
+
This catalogue entry advertises the skill in Open Design so the agent
|
|
33
|
+
discovers it during planning. To run the full upstream workflow with
|
|
34
|
+
its original assets, scripts, and references, install the upstream
|
|
35
|
+
bundle into your active agent's skills directory:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Inspect the upstream README for exact paths
|
|
39
|
+
open https://github.com/raintree-technology/apple-hig-skills
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Then ask the agent to invoke this skill by name (`apple-hig`) or with
|
|
43
|
+
one of the trigger phrases listed in this skill's frontmatter.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: article-magazine
|
|
3
|
+
zh_name: "杂志文章"
|
|
4
|
+
en_name: "Magazine Article"
|
|
5
|
+
emoji: "📖"
|
|
6
|
+
description: "Huashu / huashu-md-html-inspired magazine article layout for turning Markdown or notes into a polished long-form HTML essay."
|
|
7
|
+
zh_description: "Huashu / huashu-md-html 风格杂志文章版式, 将 Markdown 或笔记转成精排长文 HTML。"
|
|
8
|
+
en_description: "Huashu / huashu-md-html-inspired magazine article layout for turning Markdown or notes into a polished long-form HTML essay."
|
|
9
|
+
category: article
|
|
10
|
+
scenario: marketing
|
|
11
|
+
aspect_hint: "A4 / 长页面"
|
|
12
|
+
featured: 11
|
|
13
|
+
tags: ["blog", "essay", "newsletter", "公众号", "博客", "文章"]
|
|
14
|
+
example_id: sample-article-trq212-html
|
|
15
|
+
example_name: "杂志文章 · HTML 取代 Markdown"
|
|
16
|
+
example_format: markdown
|
|
17
|
+
example_tagline: "灵感来自 @trq212 的推文"
|
|
18
|
+
example_desc: "围绕「AI 时代 HTML > Markdown」的延伸评论, 含原推附注与可点击链接"
|
|
19
|
+
example_source_url: "https://x.com/trq212/status/2052809885763747935"
|
|
20
|
+
example_source_label: "@trq212 / x.com"
|
|
21
|
+
od:
|
|
22
|
+
mode: prototype
|
|
23
|
+
surface: web
|
|
24
|
+
platform: desktop
|
|
25
|
+
scenario: marketing
|
|
26
|
+
upstream: "https://github.com/nexu-io/html-anything"
|
|
27
|
+
preview:
|
|
28
|
+
type: html
|
|
29
|
+
entry: index.html
|
|
30
|
+
reload: debounce-100
|
|
31
|
+
design_system:
|
|
32
|
+
requires: false
|
|
33
|
+
example_prompt: "Use the Magazine Article template to turn my content into a Huashu / huashu-md-html-inspired long-form HTML essay. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
34
|
+
example_prompt_i18n:
|
|
35
|
+
zh-CN: "用「杂志文章」模板把我的内容做成一份「Huashu / huashu-md-html-inspired magazine article layout for turning Markdown or notes into a polished long-form HTML essay」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ipsum 和占位图片。"
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
【模板: 杂志文章】
|
|
39
|
+
- 顶部 hero: 大标题 (text-5xl/6xl) + 可选副标题 + 作者 / 阅读时间 / 日期元数据。
|
|
40
|
+
- 正文: 单栏, 最大宽度约 700px, 居中。段落 `text-lg leading-relaxed text-neutral-700 dark:text-neutral-300`。
|
|
41
|
+
- H2 / H3 标题用 serif 字体, 让正文与标题有视觉对比。
|
|
42
|
+
- 引用块使用左侧粗 accent 色边线 + 斜体。
|
|
43
|
+
- 代码块: 圆角 + 深色背景 + 浅色文字, 显示语言标签。
|
|
44
|
+
- 列表项使用自定义 bullet(小方块 / accent 圆点)。
|
|
45
|
+
- 章节之间用 `<hr>` 分隔, 但样式做成中央居中的小 ornament。
|
|
46
|
+
- 文末加一个简单的 "如果觉得有用,欢迎转发" 行动卡片。
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>我读完 @trq212 那条推之后, 把所有 markdown 都换成了 HTML</title>
|
|
7
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Sans+SC:wght@300;400;500;600&family=Noto+Serif+SC:wght@500;700;900&display=swap" rel="stylesheet">
|
|
11
|
+
<style>
|
|
12
|
+
:root { --ink:#1a1a1a; --paper:#fafaf7; --line:#e7e5e0; --mute:#6b6760; --accent:#b8553a; --twitter:#1d9bf0; }
|
|
13
|
+
body { font-family:'Inter','Noto Sans SC',sans-serif; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; }
|
|
14
|
+
.serif { font-family:'Noto Serif SC',Georgia,serif; }
|
|
15
|
+
.ornament { display:flex; align-items:center; justify-content:center; gap:14px; margin:48px 0; color:var(--mute); }
|
|
16
|
+
.ornament::before, .ornament::after { content:""; flex:1; max-width:60px; height:1px; background:var(--line); }
|
|
17
|
+
.article p { font-size:1.0625rem; line-height:1.8; color:#262421; margin:1.1em 0; max-width:65ch; }
|
|
18
|
+
.article h2 { font-family:'Noto Serif SC',serif; font-size:1.875rem; font-weight:700; margin:2.4em 0 0.8em; letter-spacing:-0.01em; }
|
|
19
|
+
.article blockquote { border-left:3px solid var(--accent); padding:0 0 0 20px; margin:1.6em 0; font-style:italic; color:var(--mute); font-family:'Noto Serif SC',serif; font-size:1.0625rem; line-height:1.7; }
|
|
20
|
+
.article a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
|
|
21
|
+
.grain::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:0.4; background-image:radial-gradient(circle at 12% 18%, rgba(106,92,56,0.05), transparent 45%), radial-gradient(circle at 88% 72%, rgba(106,92,56,0.04), transparent 50%); }
|
|
22
|
+
</style>
|
|
23
|
+
</head>
|
|
24
|
+
<body class="grain">
|
|
25
|
+
<article class="article max-w-[720px] mx-auto px-6 pt-20 pb-32">
|
|
26
|
+
|
|
27
|
+
<!-- Source banner — clearly attributes the inspiration -->
|
|
28
|
+
<a href="https://x.com/trq212/status/2052809885763747935" target="_blank" rel="noopener" class="!no-underline group block mb-10 rounded-2xl border border-[var(--line)] bg-white/70 hover:bg-white transition-colors p-4 flex items-start gap-4">
|
|
29
|
+
<div class="shrink-0 w-10 h-10 rounded-full bg-[var(--twitter)] grid place-items-center text-white">
|
|
30
|
+
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="min-w-0 flex-1">
|
|
33
|
+
<div class="text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--mute)] mb-1">灵感来自 / Source</div>
|
|
34
|
+
<div class="text-[14px] font-medium text-[var(--ink)] leading-snug">@trq212 关于 "在 AI 时代, HTML 已经取代 markdown 成为最终形态" 的推文</div>
|
|
35
|
+
<div class="text-[12px] text-[var(--mute)] mt-1 break-all group-hover:text-[var(--accent)] transition-colors">x.com/trq212/status/2052809885763747935 ↗</div>
|
|
36
|
+
</div>
|
|
37
|
+
</a>
|
|
38
|
+
|
|
39
|
+
<div class="text-[11px] font-medium tracking-[0.22em] uppercase text-[var(--accent)] mb-5">Essay · 2026.05 · 评论 / 延伸</div>
|
|
40
|
+
<h1 class="serif text-[3rem] leading-[1.08] font-black tracking-tight mb-5">
|
|
41
|
+
我读完 <a href="https://x.com/trq212/status/2052809885763747935" target="_blank" rel="noopener" class="italic font-bold !no-underline" style="color:var(--accent)">@trq212</a> 那条推之后,<br/>
|
|
42
|
+
把所有 markdown 都换成了 HTML
|
|
43
|
+
</h1>
|
|
44
|
+
<p class="text-[1.125rem] leading-relaxed text-[var(--mute)] font-light max-w-[60ch] mb-8">
|
|
45
|
+
简而言之: 在 AI 写作 / 编辑器 / 代理时代, markdown 这个 "中间态" 已经撑不住了 —— HTML 才是面向读者的最终形态。
|
|
46
|
+
</p>
|
|
47
|
+
<div class="flex items-center gap-3 text-[12px] text-[var(--mute)] pb-12 border-b border-[var(--line)]">
|
|
48
|
+
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-[#c96442] to-[#e9b94a]"></div>
|
|
49
|
+
<span class="font-medium text-[var(--ink)]">Tom Pan</span>
|
|
50
|
+
<span>·</span><span>5 月 11 日</span>
|
|
51
|
+
<span>·</span><span>4 分钟阅读</span>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<h2>让我点头的三个观察</h2>
|
|
55
|
+
<p><span class="serif font-bold text-[1.5rem] float-left mr-2 leading-none mt-1.5" style="color:var(--accent)">第</span>一, 我们对 markdown 的爱, 主要是写起来爽。但读者从来没投过票。读者拿到的永远是某个 markdown 渲染器吐出来的结果 —— 而那个渲染器属于平台, 不属于你。</p>
|
|
56
|
+
<p>第二, 截图发推这件事, markdown 输了。随便挑一段 markdown, 截图发出去都是被 GitHub 默认主题压扁的灰白方块。HTML 可以是壁纸级图片。</p>
|
|
57
|
+
<p>第三, 公众号 / 知乎 / 小红书 / Notion / 飞书 —— 每一家解释 markdown 的方式都不一样。你写一份, 5 个平台得调 5 次。<strong class="font-semibold text-[var(--ink)]">HTML + 内联 CSS, 一次粘贴, 任何平台都还原</strong>。</p>
|
|
58
|
+
|
|
59
|
+
<h2>但 HTML 太啰嗦, 这是真的</h2>
|
|
60
|
+
<p><code class="px-1.5 py-0.5 rounded bg-[#f0ece5] text-[0.92em] font-mono text-[#7a3d27]"><div class="..."></code> 写多了想吐, 这是事实。之前没人愿意花成本写 HTML, 因为同样的内容, markdown 30 秒, HTML 30 分钟。</p>
|
|
61
|
+
<blockquote>变量是 —— AI 把这 30 分钟降到 30 秒了。<br/>你写 markdown, AI 把它升级成可交付的 HTML。你管最终形态, AI 管啰嗦细节。</blockquote>
|
|
62
|
+
|
|
63
|
+
<h2>我们顺手做了一个工具</h2>
|
|
64
|
+
<p>灵感来自原推, 加上 Claude Code 团队的实践, 我们做了 <a href="#">HTML Anything</a>。左侧贴 markdown / CSV / JSON, 选一个模板 (杂志、PPT、海报、小红书、数据报告 …), 按 ⌘+Enter —— 本地的 Claude / Cursor / Codex 在你<strong class="font-semibold text-[var(--ink)]">已经登录</strong>的 session 里跑, 几秒后右侧就是一份可以直接复制到公众号 / 推特 / 知乎的 HTML。</p>
|
|
65
|
+
<p>不需要 API Key, 不浪费 token (二次编辑只跑 diff)。</p>
|
|
66
|
+
|
|
67
|
+
<h2>结论</h2>
|
|
68
|
+
<p>如果你也觉得 "markdown → 编辑器手动重排" 这件事浪费了你的人生 —— 看一眼原推, 看一眼 Claude Code 团队的迁移, 然后试试任何一个能把 markdown 自动升格为 HTML 的工具。</p>
|
|
69
|
+
|
|
70
|
+
<div class="ornament"><span class="serif italic">· · ·</span></div>
|
|
71
|
+
|
|
72
|
+
<div class="rounded-2xl border border-[var(--line)] bg-white/60 p-6 mt-12 flex items-start gap-4">
|
|
73
|
+
<div class="text-2xl shrink-0">📩</div>
|
|
74
|
+
<div>
|
|
75
|
+
<div class="font-semibold text-[var(--ink)] mb-1">题图致敬: 推文中那个 "everything is HTML" 的瞬间。</div>
|
|
76
|
+
<div class="text-[13px] text-[var(--mute)]">阅读原推 → <a href="https://x.com/trq212/status/2052809885763747935" target="_blank" rel="noopener" style="color:var(--accent)">x.com/trq212/status/2052809885763747935</a></div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</article>
|
|
80
|
+
</body>
|
|
81
|
+
</html>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 我读完 @trq212 那条推之后, 把所有 markdown 都换成了 HTML
|
|
2
|
+
|
|
3
|
+
> 灵感原文: https://x.com/trq212/status/2052809885763747935
|
|
4
|
+
>
|
|
5
|
+
> 简而言之: 在 AI 写作 / 编辑器 / 代理时代, markdown 这个"中间态"已经撑不住了 —— HTML 才是面向读者的最终形态。
|
|
6
|
+
|
|
7
|
+
## 让我点头的三个观察
|
|
8
|
+
|
|
9
|
+
第一, 我们对 markdown 的爱, 主要是写起来爽。但读者从来没投过票。
|
|
10
|
+
读者拿到的永远是某个 markdown 渲染器吐出来的结果 —— 而那个渲染器属于平台, 不属于你。
|
|
11
|
+
|
|
12
|
+
第二, 截图发推这件事, markdown 输了。
|
|
13
|
+
随便挑一段 markdown, 截图发出去都是被 GitHub 默认主题压扁的灰白方块。HTML 可以是壁纸级图片。
|
|
14
|
+
|
|
15
|
+
第三, 公众号 / 知乎 / 小红书 / Notion / 飞书 —— 每一家解释 markdown 的方式都不一样。
|
|
16
|
+
你写一份, 5 个平台得调 5 次。HTML + 内联 CSS, 一次粘贴, 任何平台都还原。
|
|
17
|
+
|
|
18
|
+
## 但 HTML 太啰嗦, 这是真的
|
|
19
|
+
|
|
20
|
+
`<div class="...">` 写多了想吐, 这是事实。
|
|
21
|
+
之前没人愿意花成本写 HTML, 因为同样的内容, markdown 30 秒, HTML 30 分钟。
|
|
22
|
+
|
|
23
|
+
变量是 —— **AI 把这 30 分钟降到 30 秒了**。
|
|
24
|
+
你写 markdown, AI 把它升级成可交付的 HTML。你管最终形态, AI 管啰嗦细节。
|
|
25
|
+
|
|
26
|
+
## 我们顺手做了一个工具
|
|
27
|
+
|
|
28
|
+
灵感来自原推, 加上 Claude Code 团队的实践, 我们做了 [HTML Anything](https://github.com/your-org/html-anything)。
|
|
29
|
+
左侧贴 markdown / CSV / JSON, 选一个模板 (杂志、PPT、海报、小红书、数据报告 …), 按 ⌘+Enter ——
|
|
30
|
+
本地的 Claude / Cursor / Codex 在你**已经登录**的 session 里跑, 几秒后右侧就是一份可以直接复制到公众号 / 推特 / 知乎的 HTML。
|
|
31
|
+
|
|
32
|
+
不需要 API Key, 不浪费 token (二次编辑只跑 diff)。
|
|
33
|
+
|
|
34
|
+
## 结论
|
|
35
|
+
|
|
36
|
+
如果你也觉得 "markdown → 编辑器手动重排" 这件事浪费了你的人生 —— 看一眼原推, 看一眼 Claude Code 团队的迁移, 然后试试任何一个能把 markdown 自动升格为 HTML 的工具。
|
|
37
|
+
|
|
38
|
+
> 题图致敬: 推文中那个 "everything is HTML" 的瞬间。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-design
|
|
3
|
+
description: |
|
|
4
|
+
Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.
|
|
5
|
+
triggers:
|
|
6
|
+
- "canvas design"
|
|
7
|
+
- "visual art"
|
|
8
|
+
- "poster design"
|
|
9
|
+
- "create poster"
|
|
10
|
+
- "illustration"
|
|
11
|
+
- "海报"
|
|
12
|
+
- "插画"
|
|
13
|
+
od:
|
|
14
|
+
mode: image
|
|
15
|
+
category: image-generation
|
|
16
|
+
upstream: "https://github.com/anthropics/skills/tree/main/canvas-design"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# canvas-design
|
|
20
|
+
|
|
21
|
+
> Curated from Anthropic's official skills repository.
|
|
22
|
+
|
|
23
|
+
## What it does
|
|
24
|
+
|
|
25
|
+
Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.
|
|
26
|
+
|
|
27
|
+
## Source
|
|
28
|
+
|
|
29
|
+
- Upstream: https://github.com/anthropics/skills/tree/main/canvas-design
|
|
30
|
+
- Category: `image-generation`
|
|
31
|
+
|
|
32
|
+
## How to use
|
|
33
|
+
|
|
34
|
+
This catalogue entry advertises the skill in Open Design so the agent
|
|
35
|
+
discovers it during planning. To run the full upstream workflow with
|
|
36
|
+
its original assets, scripts, and references, install the upstream
|
|
37
|
+
bundle into your active agent's skills directory:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Inspect the upstream README for exact paths
|
|
41
|
+
open https://github.com/anthropics/skills/tree/main/canvas-design
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Then ask the agent to invoke this skill by name (`canvas-design`) or with
|
|
45
|
+
one of the trigger phrases listed in this skill's frontmatter.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audio-jingle
|
|
3
|
+
description: |
|
|
4
|
+
Audio generation skill — jingles, beds, voiceover, and sound effects.
|
|
5
|
+
Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax
|
|
6
|
+
TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or
|
|
7
|
+
AudioCraft. Output is one MP3/WAV file saved to the project folder.
|
|
8
|
+
triggers:
|
|
9
|
+
- "music"
|
|
10
|
+
- "jingle"
|
|
11
|
+
- "bed"
|
|
12
|
+
- "voiceover"
|
|
13
|
+
- "tts"
|
|
14
|
+
- "sound effect"
|
|
15
|
+
- "音乐"
|
|
16
|
+
- "配音"
|
|
17
|
+
- "音效"
|
|
18
|
+
od:
|
|
19
|
+
mode: audio
|
|
20
|
+
surface: audio
|
|
21
|
+
scenario: marketing
|
|
22
|
+
preview:
|
|
23
|
+
type: html
|
|
24
|
+
entry: example.html
|
|
25
|
+
design_system:
|
|
26
|
+
requires: false
|
|
27
|
+
example_prompt: |
|
|
28
|
+
A 30-second upbeat indie-pop jingle for a coffee shop launch — warm
|
|
29
|
+
electric piano lead, brushed drums, gentle bass, a single sun-soaked
|
|
30
|
+
"ahhh" choir on the chorus. No vocals. Loop-friendly tail.
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# Audio Jingle Skill
|
|
34
|
+
|
|
35
|
+
Three sub-modes. The active project's `audioKind` decides which one
|
|
36
|
+
runs:
|
|
37
|
+
|
|
38
|
+
| `audioKind` | Models we route to | Plan focus |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| `music` | Suno V5 (default), Udio, Lyria 2 | genre + tempo + instrumentation |
|
|
41
|
+
| `speech` | MiniMax TTS (default), Fish, ElevenLabs V3 | script + voice + pacing |
|
|
42
|
+
| `sfx` | ElevenLabs SFX (default), AudioCraft | texture + impact + duration |
|
|
43
|
+
|
|
44
|
+
## Resource map
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
audio-jingle/
|
|
48
|
+
├── SKILL.md
|
|
49
|
+
└── example.html
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Workflow
|
|
53
|
+
|
|
54
|
+
### Step 0 — Read the project metadata
|
|
55
|
+
|
|
56
|
+
`audioKind`, `audioModel`, `audioDuration` (seconds), and (for speech)
|
|
57
|
+
`voice`. Branch by `audioKind` and use the values verbatim — no
|
|
58
|
+
clarifying form unless something is marked `(unknown — ask)`.
|
|
59
|
+
|
|
60
|
+
Important: `voice` is provider-specific. For `minimax-tts`, `--voice`
|
|
61
|
+
must be a valid MiniMax `voice_id` (for example `male-qn-qingse`), not
|
|
62
|
+
a natural-language description. If you only have a prose voice brief
|
|
63
|
+
("warm female narrator", "neutral Mandarin"), keep that in your plan
|
|
64
|
+
but omit `--voice` so the daemon's default voice id applies, or ask the
|
|
65
|
+
user to choose a specific id.
|
|
66
|
+
|
|
67
|
+
### Step 1 — Plan
|
|
68
|
+
|
|
69
|
+
**Music**
|
|
70
|
+
- Genre + reference artists (1-2)
|
|
71
|
+
- Tempo (BPM) + key
|
|
72
|
+
- Instrumentation (3-5 instruments max)
|
|
73
|
+
- Vocals: yes / no / hummed / choir
|
|
74
|
+
- Mood arc (intro → chorus → outro)
|
|
75
|
+
|
|
76
|
+
**Speech**
|
|
77
|
+
- Script (final, not draft — TTS runs verbatim)
|
|
78
|
+
- Voice target + pacing
|
|
79
|
+
For MiniMax this means a real `voice_id`, not prose in `--voice`
|
|
80
|
+
- Pronunciation hints for proper nouns / acronyms
|
|
81
|
+
|
|
82
|
+
**SFX**
|
|
83
|
+
- Texture (impact / whoosh / ambience / foley)
|
|
84
|
+
- Duration + envelope (sharp attack vs. gentle swell)
|
|
85
|
+
- Layering note (single hit vs. stacked)
|
|
86
|
+
|
|
87
|
+
State the plan in 2-3 sentences before dispatching.
|
|
88
|
+
|
|
89
|
+
### Step 2 — Compose the prompt
|
|
90
|
+
|
|
91
|
+
Use the format the upstream model prefers. Bind `audioDuration` to the
|
|
92
|
+
API parameter directly; never put "make it 30 seconds" in prose.
|
|
93
|
+
|
|
94
|
+
### Step 3 — Dispatch via the media contract
|
|
95
|
+
|
|
96
|
+
Use the unified dispatcher — do **not** call provider APIs by hand:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
"$OD_NODE_BIN" "$OD_BIN" media generate \
|
|
100
|
+
--project "$OD_PROJECT_ID" \
|
|
101
|
+
--surface audio \
|
|
102
|
+
--audio-kind "<music|speech|sfx>" \
|
|
103
|
+
--model "<audioModel from metadata>" \
|
|
104
|
+
--duration <audioDuration seconds> \
|
|
105
|
+
[--voice "<provider voice id (speech only)>"] \
|
|
106
|
+
--output "<short-slug>-<duration>s.mp3" \
|
|
107
|
+
--prompt "<assembled prompt from Step 2 — for speech, the literal script>"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The command prints one line of JSON: `{"file": {"name": "...", ...}}`.
|
|
111
|
+
The bytes land in the project; the FileViewer renders the audio
|
|
112
|
+
transport controls automatically.
|
|
113
|
+
|
|
114
|
+
### Step 4 — Hand off
|
|
115
|
+
|
|
116
|
+
Reply with: plan summary, the filename returned by the dispatcher, and
|
|
117
|
+
one sentence on what to try if the user wants a variation (e.g. "swap
|
|
118
|
+
tempo from 92 to 108 BPM" rather than "make it different").
|
|
119
|
+
|
|
120
|
+
## Hard rules
|
|
121
|
+
|
|
122
|
+
- TTS runs your script **literally**. Proof it before dispatching —
|
|
123
|
+
even one stray comma changes the cadence.
|
|
124
|
+
- MiniMax TTS rejects free-form voice prose in `--voice`. Use a real
|
|
125
|
+
MiniMax `voice_id` (for example `male-qn-qingse`) or omit the flag
|
|
126
|
+
and let the daemon's default voice apply.
|
|
127
|
+
- Music: under 30s = single section; 30–90s = intro + body; 90s+ =
|
|
128
|
+
full arc. Don't try to fit a 3-act song into 15 seconds.
|
|
129
|
+
- SFX: prefer one well-described layer over a paragraph of "make it
|
|
130
|
+
cool" — generators reward specific texture words.
|
|
131
|
+
- Save the file every turn. The audio viewer shows transport controls
|
|
132
|
+
the moment the file lands.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Audio jingle — example</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--bg: #f5efe5;
|
|
10
|
+
--panel: #ffffff;
|
|
11
|
+
--ink: #1c1b1a;
|
|
12
|
+
--muted: #8b8579;
|
|
13
|
+
--accent: #c96442;
|
|
14
|
+
--grid: #e6dfd1;
|
|
15
|
+
}
|
|
16
|
+
* { box-sizing: border-box; }
|
|
17
|
+
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink);
|
|
18
|
+
font-family: 'Iowan Old Style', 'Charter', Georgia, serif; }
|
|
19
|
+
body { min-height: 100dvh; display: grid; place-items: center; padding: 32px; }
|
|
20
|
+
.card {
|
|
21
|
+
width: min(640px, 92vw);
|
|
22
|
+
background: var(--panel);
|
|
23
|
+
border-radius: 8px;
|
|
24
|
+
padding: 26px 28px 22px;
|
|
25
|
+
box-shadow: 0 16px 40px rgba(28,27,26,0.10), 0 1px 2px rgba(28,27,26,0.05);
|
|
26
|
+
border: 1px solid rgba(28,27,26,0.06);
|
|
27
|
+
}
|
|
28
|
+
.row1 { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
|
|
29
|
+
.icon {
|
|
30
|
+
width: 44px; height: 44px; border-radius: 50%;
|
|
31
|
+
background: var(--accent); color: #fff;
|
|
32
|
+
display: grid; place-items: center;
|
|
33
|
+
box-shadow: 0 6px 18px rgba(201, 100, 66, 0.35);
|
|
34
|
+
}
|
|
35
|
+
.icon svg { width: 22px; height: 22px; }
|
|
36
|
+
.title { margin: 0; font-size: 20px; line-height: 1.2; }
|
|
37
|
+
.sub { font-family: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
38
|
+
font-size: 11px; color: var(--muted); letter-spacing: 0.14em; text-transform: uppercase; margin-top: 2px; }
|
|
39
|
+
|
|
40
|
+
.wave {
|
|
41
|
+
display: flex; align-items: end; gap: 3px;
|
|
42
|
+
height: 96px; padding: 0 4px;
|
|
43
|
+
border-top: 1px dashed var(--grid);
|
|
44
|
+
border-bottom: 1px dashed var(--grid);
|
|
45
|
+
}
|
|
46
|
+
.wave span {
|
|
47
|
+
flex: 1; background: linear-gradient(180deg, var(--accent), #a4502f);
|
|
48
|
+
border-radius: 2px;
|
|
49
|
+
animation: bob 2s ease-in-out infinite;
|
|
50
|
+
animation-delay: var(--d, 0s);
|
|
51
|
+
}
|
|
52
|
+
@keyframes bob {
|
|
53
|
+
0%, 100% { height: var(--h, 30%); }
|
|
54
|
+
50% { height: calc(var(--h, 30%) * 1.6); }
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.transport {
|
|
58
|
+
margin-top: 14px;
|
|
59
|
+
display: grid; grid-template-columns: auto 1fr auto auto; gap: 12px;
|
|
60
|
+
align-items: center;
|
|
61
|
+
}
|
|
62
|
+
.play {
|
|
63
|
+
width: 36px; height: 36px; border-radius: 50%;
|
|
64
|
+
background: var(--ink); color: #fff;
|
|
65
|
+
display: grid; place-items: center;
|
|
66
|
+
}
|
|
67
|
+
.timeline {
|
|
68
|
+
height: 4px; border-radius: 2px;
|
|
69
|
+
background: linear-gradient(90deg, var(--accent) 0 32%, var(--grid) 32% 100%);
|
|
70
|
+
}
|
|
71
|
+
.time {
|
|
72
|
+
font-family: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
73
|
+
font-size: 11px; color: var(--muted);
|
|
74
|
+
letter-spacing: 0.08em;
|
|
75
|
+
}
|
|
76
|
+
.badge {
|
|
77
|
+
font-family: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
78
|
+
font-size: 10px; color: var(--accent);
|
|
79
|
+
letter-spacing: 0.18em; text-transform: uppercase;
|
|
80
|
+
padding: 4px 8px; border-radius: 999px;
|
|
81
|
+
background: rgba(201, 100, 66, 0.1);
|
|
82
|
+
}
|
|
83
|
+
</style>
|
|
84
|
+
</head>
|
|
85
|
+
<body>
|
|
86
|
+
<div class="card">
|
|
87
|
+
<div class="row1">
|
|
88
|
+
<div class="icon" aria-hidden>
|
|
89
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>
|
|
90
|
+
</div>
|
|
91
|
+
<div>
|
|
92
|
+
<h1 class="title">A 30s coffee-shop launch jingle.</h1>
|
|
93
|
+
<div class="sub">suno-v5 · 92 BPM · loop-friendly tail</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="wave" aria-hidden>
|
|
97
|
+
<span style="--h:24%;--d:0s"></span>
|
|
98
|
+
<span style="--h:38%;--d:.05s"></span>
|
|
99
|
+
<span style="--h:52%;--d:.1s"></span>
|
|
100
|
+
<span style="--h:64%;--d:.15s"></span>
|
|
101
|
+
<span style="--h:48%;--d:.2s"></span>
|
|
102
|
+
<span style="--h:70%;--d:.25s"></span>
|
|
103
|
+
<span style="--h:42%;--d:.3s"></span>
|
|
104
|
+
<span style="--h:58%;--d:.35s"></span>
|
|
105
|
+
<span style="--h:36%;--d:.4s"></span>
|
|
106
|
+
<span style="--h:62%;--d:.45s"></span>
|
|
107
|
+
<span style="--h:26%;--d:.5s"></span>
|
|
108
|
+
<span style="--h:50%;--d:.55s"></span>
|
|
109
|
+
<span style="--h:34%;--d:.6s"></span>
|
|
110
|
+
<span style="--h:46%;--d:.65s"></span>
|
|
111
|
+
<span style="--h:58%;--d:.7s"></span>
|
|
112
|
+
<span style="--h:30%;--d:.75s"></span>
|
|
113
|
+
<span style="--h:44%;--d:.8s"></span>
|
|
114
|
+
<span style="--h:54%;--d:.85s"></span>
|
|
115
|
+
<span style="--h:28%;--d:.9s"></span>
|
|
116
|
+
<span style="--h:48%;--d:.95s"></span>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="transport">
|
|
119
|
+
<div class="play" aria-hidden>
|
|
120
|
+
<svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor"><path d="M6 4v16l14-8z"/></svg>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="timeline" aria-hidden></div>
|
|
123
|
+
<span class="time">00:09 / 00:30</span>
|
|
124
|
+
<span class="badge">MP3</span>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</body>
|
|
128
|
+
</html>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blog-post
|
|
3
|
+
description: |
|
|
4
|
+
A long-form article / blog post — masthead, hero image placeholder,
|
|
5
|
+
article body with figures and pull quotes, author byline, related posts.
|
|
6
|
+
Use when the brief asks for "blog", "article", "post", "essay", or
|
|
7
|
+
"case study".
|
|
8
|
+
triggers:
|
|
9
|
+
- "blog"
|
|
10
|
+
- "blog post"
|
|
11
|
+
- "article"
|
|
12
|
+
- "essay"
|
|
13
|
+
- "case study"
|
|
14
|
+
- "newsletter"
|
|
15
|
+
- "博客"
|
|
16
|
+
- "文章"
|
|
17
|
+
od:
|
|
18
|
+
mode: prototype
|
|
19
|
+
platform: desktop
|
|
20
|
+
scenario: marketing
|
|
21
|
+
preview:
|
|
22
|
+
type: html
|
|
23
|
+
entry: index.html
|
|
24
|
+
design_system:
|
|
25
|
+
requires: true
|
|
26
|
+
sections: [color, typography, layout, components]
|
|
27
|
+
craft:
|
|
28
|
+
requires: [typography, typography-hierarchy, typography-hierarchy-editorial, rtl-and-bidi]
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Blog Post Skill
|
|
32
|
+
|
|
33
|
+
Produce a single long-form article page — editorial layout, no chrome.
|
|
34
|
+
|
|
35
|
+
## Workflow
|
|
36
|
+
|
|
37
|
+
1. **Read the active DESIGN.md** (injected above). Lean into the typography
|
|
38
|
+
tokens — long-form is 70% type, 20% image, 10% chrome.
|
|
39
|
+
2. **Pick the topic** from the brief and write a real article — at least 600
|
|
40
|
+
words across 4–6 H2 sections. No lorem ipsum.
|
|
41
|
+
3. **Sections**, in order:
|
|
42
|
+
- **Masthead** — small wordmark + 4–6 nav links, plain.
|
|
43
|
+
- **Article header** — category eyebrow, headline (display token, large),
|
|
44
|
+
deck (1–2 sentence subhead), author name + role + date.
|
|
45
|
+
- **Hero image** — a 16:9 placeholder block using a DS-tinted gradient or
|
|
46
|
+
solid fill (no external images). Add a 1-line caption underneath.
|
|
47
|
+
- **Body** — alternating prose paragraphs with at least:
|
|
48
|
+
- 1 pull quote (large display type, accent rule on the inline-start edge so the layout flips correctly under `dir="rtl"`).
|
|
49
|
+
- 1 figure (image placeholder + caption).
|
|
50
|
+
- 1 list (numbered or bulleted).
|
|
51
|
+
- 1 inline blockquote.
|
|
52
|
+
- **Author footer** — author avatar (initials in a circle), bio paragraph.
|
|
53
|
+
- **Related** — 3 cards linking to other posts. Each card: tiny image
|
|
54
|
+
block, title, 1-line excerpt, date.
|
|
55
|
+
4. **Write** a single HTML document:
|
|
56
|
+
- `<!doctype html>` through `</html>`, CSS inline.
|
|
57
|
+
- Article body uses the DS body font, centered, max-width per DS layout
|
|
58
|
+
rule (typically 680–720px).
|
|
59
|
+
- Drop caps (`first-letter`) only if the DS mood is editorial / serif —
|
|
60
|
+
skip on tech-y DSes.
|
|
61
|
+
- `data-od-id` on the headline, hero, body, pull quote, related grid.
|
|
62
|
+
5. **Self-check**:
|
|
63
|
+
- Type hierarchy is unambiguous — H1 is clearly the headline; H2s are
|
|
64
|
+
section dividers; pull quotes do not compete with H1.
|
|
65
|
+
- Line length 60–75 chars for body prose.
|
|
66
|
+
- Accent appears at most twice (eyebrow + pull-quote rule, or one link).
|
|
67
|
+
- The page reads like a magazine, not a marketing landing.
|
|
68
|
+
|
|
69
|
+
## Output contract
|
|
70
|
+
|
|
71
|
+
Emit between `<artifact>` tags:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
<artifact identifier="post-slug" type="text/html" title="Article Title">
|
|
75
|
+
<!doctype html>
|
|
76
|
+
<html>...</html>
|
|
77
|
+
</artifact>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
One sentence before the artifact, nothing after.
|