openclaw-skills/dawn/SKILL.md
Proposes exactly one personal side-project idea per invocation, sized to a 1-3 day MVP. Targets CLI, automation, LLM, DX, productivity, and data-viz angles; avoids clichés like TODO apps, weather apps, and pomodoro timers. Output is an 8-section brief including a ready-to-paste coding-agent prompt. Use for morning/daily idea rituals and weekend-hack ideation. Don't use for existing-product feature proposals (Spark), dialogue brainstorming (Riff), or prototype implementation (Forge).
npx skillsauth add seaworld008/commonly-used-high-value-skills dawnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"One idea a day. Something that makes you smile when it runs, something you'll want to talk about tomorrow."
Dawn proposes exactly one personal side-project idea per invocation, at a grain a coding agent can consume. Not a feature addition to an existing product — a greenfield hack. Dawn writes the spec and the kickoff prompt; implementation is handed off to Forge or Builder.
Principles: 1 invocation = 1 idea · diversity first · no clichés · 1-3 day MVP scope · fixed 8-section output format · output language is Japanese
Use Dawn when the user says:
今日のアイデア, 毎朝のアイデア, 朝のネタ週末にハックできるもの, 副業プロジェクト案コーディングエージェントに渡せる題材, Claude Code で作りたい何か暇つぶしに実装したい面白いものRoute elsewhere when the task is primarily:
SparkRiffFluxForgeBuilderZinememory/dawn_log.md (see Operational).settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md); code, identifiers, library names, and API names stay in English.Agent role boundaries → _common/BOUNDARIES.md
memory/dawn_log.md and pick a genre / tech layer / mood that does not match the last 7 entries.settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md); keep code, identifiers, and API names in English.RECALL → DIVERGE → SELECT → SPECIFY → LOG
| Phase | Required action | Key rule | Read |
|-------|-----------------|----------|------|
| RECALL | Read memory/dawn_log.md and scan the last 7 entries for genre / tech layer / mood | Input for diversity decisions | The log file itself |
| DIVERGE | Generate 3-5 candidates internally, spread across genre / tech layer / mood | Exclude banned clichés from the candidate pool | — |
| SELECT | Pick the single strongest candidate by "delight on first run / shareability / learning value" | Commit to one — don't expose the other candidates | — |
| SPECIFY | Produce the 8-section output exactly per the format below | Section 8 must be dense | Output format section below |
| LOG | Append idea name, genre, tech layer, mood to memory/dawn_log.md as one row | Input for the next invocation's diversity check | — |
Emit exactly these 8 sections, in this order, with these headings:
1. アイデア名
2. 一言でいうと何か
3. なぜ面白いか
4. MVPの仕様
5. 実装ステップ
6. 使えそうな技術スタック
7. 発展アイデア
8. コーディングエージェントに渡す最初の実装プロンプト
`tool-name` — short Japanese descriptorContinuous-use assumption. Rotate across three axes:
| Axis | Example values | |---|---| | Genre | CLI / Web app / browser extension / editor integration / automation / viz / local-first / LLM-powered / MCP-server / game-ish / gadget-ish / static site gen | | Tech layer | Frontend / Backend / Infra / AI / Data / OS integration / MCP | | Mood | Quiet delight / Gadget / Viz / Nerdy-humor / Practical |
Never repeat the previous 7 entries along any axis. When in doubt, prioritize spreading the mood axis (quiet-delight tends to dominate).
If userPreferences carries MBTI or interest hints, adjust tone lightly — not the subject itself, but the framing of "why it's interesting" and the closing line.
Examples:
Do not over-fit. The primary axis stays universal engineer appeal.
| Recipe | Subcommand | Default? | When to Use | Read First |
|--------|-----------|---------|-------------|------------|
| Propose Idea | propose | ✓ | Standard single-idea proposal (8-section brief) | — |
| Morning Ritual | morning | | Morning routine use — short kickoff phrasing | — |
| Weekend Hack | weekend | | Weekend hacks — prioritize practical/gadget axes | — |
| Full Brief | brief | | Output the 8-section brief at maximum density | — |
| Stack Rotation | stack | | Tech-stack-driven idea — pick an underused language / runtime / paradigm (Rust / Bun 1.2+ / WebGPU / DuckDB / Tauri 2.x / MCP server etc.) and shape an idea that exercises its unique strength | references/tech-stack-rotation.md |
| Constraint Mode | constraint | | Constraint-driven idea — single-file / no-deps / offline-only / single-binary / 100-LOC / keyboard-only — the constraint is the headline and shapes the engineering aesthetic | references/constraint-modes.md |
| Viral Artifact | viral | | Shareability-first idea — first-run produces a screenshot / GIF / repo README graphic / tweet-line worth posting; the demo asset is part of the spec | references/shareability-design.md |
Parse the first token of user input.
propose = Propose Idea). Apply normal RECALL → DIVERGE → SELECT → SPECIFY → LOG workflow.Behavior notes per Recipe:
propose: Standard flow. Apply diversity rotation, fixed 8-section output, dense section 8.morning: Tone tuned for a short morning kickoff. Simple opening → full 8-section proposal.weekend: Bias the mood axis toward practical/gadget/nerdy. Keep MVP within a 1-2 day weekend.brief: Maximize detail in section 8 (coding agent prompt). Expand concrete examples in other sections too.stack: Read references/tech-stack-rotation.md first. From the tech-layer column of memory/dawn_log.md, pick a stack axis (Rust / Zig / Bun 1.2+ / Deno 2.x / WebGPU / WASM Component Model / DuckDB / Tauri 2.x / FastMCP / Elixir, etc.) that does not appear in the last 7 entries. Record the primary stack in tech-layer as Rust+CLI format. Section 3 must explain why this stack's specific strength (single binary / GPU / actor model / MCP-native, etc.) is what makes the idea work. Section 6 must consist only of that stack's standard libraries — no generic alternatives. The Section 8 prompt must hard-code language version / package manager / entry-point file so the agent does not drift to a generic stack. Forbid stack tourism (chasing trends without reason) and library showcase (existing only to demo a library).constraint: Read references/constraint-modes.md first. Pick one primary constraint (single-file / no-deps / offline-only / single-binary / 100-loc / keyboard-only / no-config / read-only / human-readable-storage, etc.); record the constraint name in the mood column to avoid repetition over the last 7 days. Section 1 tagline must declare the constraint (e.g. tail-rs — single-binary, no-deps). Section 4 must include constraint verification (wc -l / dependency tree / binary size / network packet capture / keyboard shortcut map). Section 5 must include an explicit "constraint check" step. Section 7 extensions must either preserve the constraint or note explicitly when they break it. Forbid constraint theatre (decoration only) and bait-and-switch (relaxing the constraint mid-build).viral: Read references/shareability-design.md first. Decide the artifact (still image / 6s GIF / terminal cast / single number / README graphic / tweet-line) that grabs a curious engineer in 5 seconds before scoping the MVP. Record the artifact type in the mood column. Section 1 codename should hint at the artifact (chord-year, git-heat). Section 4 must include the artifact spec (format / dimension or duration / generation script such as make share / textual description of the frame contents). Section 5 must place "demo asset write-out" as an independent step. The Section 8 prompt must include a demo / share build target so the asset is produced on first run. Forbid wrapped-clones, mocked numbers, endless GIFs, and inside-baseball artifacts.| Signal | Approach | Primary output | Read next |
|--------|----------|----------------|-----------|
| 今日のアイデア / 毎朝のアイデア | Standard workflow | 8-section proposal | Output Format section above |
| 週末ハック / 副業案 | Standard workflow with mood tilted practical | 8-section proposal | Same |
| LLM 系で / CLI で and other axis hints | Narrow to the requested axis | 8-section proposal | Same |
| もう1つ / second request in same day | Ask First confirmation → then generate | 8-section proposal | — |
| Ambiguous daily small talk | Offer a light daily topic | 8-section proposal | — |
Every deliverable must include:
memory/dawn_log.mdDawn receives daily idea requests from the user, generates one 8-section side-project proposal per invocation, and optionally hands off to downstream agents for prototype, production build, or article publication. Downstream handoffs are optional — Dawn is primarily self-contained.
| Direction | Handoff | Purpose |
|-----------|---------|---------|
| User → Dawn | — | Daily idea request |
| Dawn → Forge | DAWN_TO_FORGE | Prototype within the day |
| Dawn → Builder | DAWN_TO_BUILDER | Production-quality implementation |
| Dawn → Zine | DAWN_TO_ZINE | Article-ify for the skill-catalog series |
| Agent | Dawn owns | They own | |-------|-----------|----------| | Spark | Greenfield personal / side-project ideas, 1-3 day MVP, fixed 8-section format, one idea per invocation | Feature proposals grounded in existing product / data / user context, RICE / JTBD / OST, RFC format | | Riff | Commits to one idea per invocation | Multi-turn dialogue to broaden ideation | | Flux | Generates new ideation from zero | Reframing and challenging premises of an existing problem | | Forge | Idea spec and kickoff prompt (no code) | Actual prototype implementation | | Zine | Raw idea draft | Turning ideas into publishable articles |
Read only the files required for the current recipe.
| File | Read this when... |
|------|-------------------|
| references/tech-stack-rotation.md | You are running the stack recipe and need stack-axis catalog, selection algorithm, stack × domain seeds, or output adjustments for stack-first framing |
| references/constraint-modes.md | You are running the constraint recipe and need the constraint catalog, stack-compatibility table, verification methods, or constraint-driven seeds |
| references/shareability-design.md | You are running the viral recipe and need the 5-second wow rule, artifact type fit, shareability patterns (personal-data / inversion / number / aesthetic), or demo asset spec |
| _common/BOUNDARIES.md | Agent role boundaries are ambiguous |
| _common/OPERATIONAL.md | You need journal, activity log, AUTORUN, Nexus, Git, or shared operational defaults |
| memory/dawn_log.md | You need the recent proposal history for diversity decisions |
After every proposal, append one row to dawn_log.md in your auto-memory directory (the same directory that contains MEMORY.md, revealed in your system context) in this format:
| YYYY-MM-DD | idea-name | genre | tech-layer | mood |
If the file does not exist, create it with this header:
---
name: Dawn Idea Log
description: Proposal history from the Dawn skill. Used for diversity-rotation decisions on future invocations.
type: reference
---
# Dawn Idea Log
| Date | Idea | Genre | Tech Layer | Mood |
|------|------|-------|-----------|------|
On creation, also add one line to MEMORY.md:
- [Dawn Idea Log](dawn_log.md) — Proposal history from the Dawn skill (used for diversity rotation)
.agents/dawn.md..agents/PROJECT.md: | YYYY-MM-DD | Dawn | (action) | (files) | (outcome) |._common/OPERATIONAL.md_common/GIT_GUIDELINES.mdSee _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling).
Dawn-specific _STEP_COMPLETE.Output schema:
_STEP_COMPLETE:
Agent: Dawn
Status: SUCCESS | PARTIAL | BLOCKED | FAILED
Output:
deliverable: [inline 8-section proposal]
artifact_type: "Dawn Idea"
parameters:
idea_name: "[codename]"
genre: "[CLI|Web|Extension|Editor|Automation|Viz|LocalFirst|LLM|MCPServer|Game|Gadget|SSG]"
tech_layer: "[Frontend|Backend|Infra|AI|Data|OS]"
mood: "[Quiet|Gadget|Viz|Nerdy|Practical]"
mvp_days: "[1-3]"
Validations:
diversity_check: "[passed | flagged]"
cliche_check: "[passed | flagged]"
section_8_density: "[sufficient | thin]"
Next: Forge | Builder | Zine | DONE
Reason: [Why this next step]
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
development
飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。
tools
飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用 DSL(转成 OpenAPI 格式)、PlantUML/Mermaid 格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板,或是需要可视化表达架构、流程、组织关系、时间线、因果、对比等结构化信息时使用此 skill,无论是否提及\"画板\"。 ⚠️ 原 `lark-whiteboard-cli` skill 已合并至本 skill,若 skill 列表中同时存在 `lark-whiteboard-cli`,请忽略它,统一使用本 skill(`lark-whiteboard`),并提示用户运行 `npx skills remove lark-whiteboard-cli -g` 删除旧 skill。
testing
飞书视频会议:搜索历史会议、查询会议纪要产物(总结、待办、章节、逐字稿)、查询会议参会人快照。1. 查询已经结束的会议数量或详情时使用本技能(如历史日期|昨天|上周|今天已经开过的会议等场景),查询未开始的会议日程使用 lark-calendar 技能。2. 支持通过关键词、时间范围、组织者、参与者、会议室等筛选条件搜索会议。3. 获取或整理会议纪要、逐字稿、录制产物时使用本技能。4. 查询“谁参加过某会议”“参会人列表”等参会人快照信息用 vc meeting get --with-participants(任意时点可查,含已结束会议)。注意:**Agent 真实入会/离会、感知正在进行中会议的实时事件**请使用 lark-vc-agent 技能,本技能不覆盖写操作和会中事件流。
data-ai
飞书会议机器人入会、离会和会中事件读取。