mcpill 1.1.0

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.
Files changed (55) hide show
  1. package/.claude/commands/add-card.md +9 -0
  2. package/.claude/commands/append-card.md +10 -0
  3. package/.claude/commands/play-card.md +14 -0
  4. package/.claude/commands/turn.md +28 -0
  5. package/.claude/settings.json +10 -0
  6. package/.flowdeck/.flowdeckignore +5 -0
  7. package/.flowdeck/AGENT.md +46 -0
  8. package/.flowdeck/TODO.md.template +14 -0
  9. package/.flowdeck/_discard/start/DISCARD.md +8 -0
  10. package/.flowdeck/_discard/start/TODO.md +35 -0
  11. package/.flowdeck/_discard/start/turn.log +28 -0
  12. package/.flowdeck/_energy/ADR.md.template +100 -0
  13. package/.flowdeck/_energy/CLAUDE.md.template +95 -0
  14. package/.flowdeck/_energy/GENERALINSIGHTS.md.template +57 -0
  15. package/.flowdeck/_energy/MISSION.md.template +89 -0
  16. package/.flowdeck/_energy/OPEN-QUESTIONS.md.template +109 -0
  17. package/.flowdeck/_energy/PROJECTINSIGHTS.md.template +64 -0
  18. package/.flowdeck/_energy/SPEC.md.template +101 -0
  19. package/.flowdeck/_frozen/FROZEN.md +4 -0
  20. package/.flowdeck/_meld/MELD.md +4 -0
  21. package/.flowdeck/_stock/STOCK.md +4 -0
  22. package/.flowdeck/reframe/TODO.md +71 -0
  23. package/CHANGELOG.md +8 -0
  24. package/FLOWDECK.md +17 -0
  25. package/README.md +85 -0
  26. package/dist/cli.js +954 -0
  27. package/package.json +34 -0
  28. package/src/__tests__/init.test.ts +74 -0
  29. package/src/__tests__/loaders/config.test.ts +54 -0
  30. package/src/__tests__/loaders/prompts.test.ts +116 -0
  31. package/src/__tests__/loaders/resources.test.ts +86 -0
  32. package/src/__tests__/loaders/tools.test.ts +128 -0
  33. package/src/__tests__/pack.test.ts +98 -0
  34. package/src/__tests__/validate.test.ts +152 -0
  35. package/src/cli.ts +76 -0
  36. package/src/commands/compile.ts +163 -0
  37. package/src/commands/init.ts +145 -0
  38. package/src/commands/pack.ts +52 -0
  39. package/src/commands/publish.ts +17 -0
  40. package/src/commands/run.ts +101 -0
  41. package/src/commands/validate.ts +70 -0
  42. package/src/compiler/merge-tools.ts +99 -0
  43. package/src/compiler/parse.ts +236 -0
  44. package/src/compiler/serialize.ts +100 -0
  45. package/src/compiler/types.ts +27 -0
  46. package/src/loaders/config.ts +25 -0
  47. package/src/loaders/prompts.ts +60 -0
  48. package/src/loaders/resources.ts +54 -0
  49. package/src/loaders/tools.ts +63 -0
  50. package/src/templates/prompts/greeting.md +11 -0
  51. package/src/templates/server.md +9 -0
  52. package/src/templates/tools/echo.md +15 -0
  53. package/tsconfig.json +10 -0
  54. package/tsup.config.ts +13 -0
  55. package/vitest.config.ts +12 -0
@@ -0,0 +1,9 @@
1
+ Create a new flowdeck card. The deck is `.flowdeck/` — columns are folders, cards are `TODO.md` files.
2
+
3
+ Arguments: $ARGUMENTS
4
+
5
+ Steps:
6
+ 1. Determine the column name from the arguments (e.g. "auth", "payments/checkout", or infer from context).
7
+ 2. If `.flowdeck/<column>/` doesn't exist, create it.
8
+ 3. Create `.flowdeck/<column>/TODO.md` with a title heading, brief description, and `## BOT` / `## HUMAN` sections. Add any tasks from the arguments to the relevant section.
9
+ 4. Commit: `git add -A && git commit -m "deck: add <column> card"`.
@@ -0,0 +1,10 @@
1
+ Append a task, idea, or note to an existing flowdeck card. The deck is `.flowdeck/` — columns are folders, cards are `TODO.md` files.
2
+
3
+ Arguments: $ARGUMENTS
4
+
5
+ Steps:
6
+ 1. Identify which card to append to from the arguments or from context (e.g. which column is most relevant).
7
+ 2. Read the card's current content.
8
+ 3. Append to the appropriate section: `## BOT` for tasks Claude should do, `## HUMAN` for tasks the human should do, or `#### COMMENTS` for notes/ideas.
9
+ - If the task is a question (ends with `?`), use `flowdeck append <column> "<question>"` — the CLI will place it under `## HUMAN` with an answer placeholder.
10
+ 4. Commit: `git add -A && git commit -m "deck: append to <column> card"`.
@@ -0,0 +1,14 @@
1
+ Play a single flowdeck card.
2
+
3
+ The card slug is: $ARGUMENTS
4
+
5
+ The card is at `.flowdeck/<slug>/TODO.md`.
6
+
7
+ 1. Read the card.
8
+ 2. Complete every unchecked `- [ ]` item under `## BOT` — read files, edit code, run commands as needed.
9
+ 3. Mark each done `- [x]` with a one-line note indented with `>`.
10
+ 4. If something needs the human, add `- [ ]` items under `## HUMAN`.
11
+ 5. Commit: `git add -A && git commit -m "deck: <short description>"`.
12
+ 6. Check if any project documents (README, AGENT.md, architecture notes, changelogs) need updating based on the changes you made. If so, update them and commit: `git add -A && git commit -m "docs: <short description>"`.
13
+
14
+ Do not scan or read any other TODO.md files.
@@ -0,0 +1,28 @@
1
+ You are playing a full turn in this flowdeck project.
2
+
3
+ Read `.flowdeck/AGENT.md` for project context (if it exists).
4
+
5
+ Walk `.flowdeck/` and collect every `TODO.md` that has at least one unchecked `- [ ]` item under `## BOT`. These are your hand. If there are no open cards, say so and stop.
6
+
7
+ ## Assess the hand first
8
+
9
+ Before executing, read all cards and state your plan (a few lines):
10
+
11
+ 1. **Prioritize** — decide play order. Most blocking or highest-leverage first.
12
+ 2. **Discard** — identify cards that are duplicated or obsolete. For each, move unchecked BOT items to a `## DISCARDED` section with a one-line reason. Do not delete the card file.
13
+ 3. **Combine** — identify cards with complementary tasks that are more efficient to execute together. Note the combination and work them in a single pass.
14
+
15
+ ## Execute
16
+
17
+ For each card (or combined set), in your chosen order:
18
+ 1. Complete every unchecked `- [ ]` item under `## BOT`
19
+ 2. Mark each `- [x]` with a one-line note indented with `>`
20
+ 3. If something needs the human, add `- [ ]` items under `## HUMAN`
21
+ 4. Commit: `git add -A && git commit -m "deck: <short description>"`
22
+
23
+ ## After the hand
24
+
25
+ Once all cards are played, do a holistic documentation pass:
26
+ - Check if any project docs (README, architecture notes, changelogs, cross-card insights) need updating based on changes made this turn — update what's out of date, leave the rest untouched
27
+ - Check if `.flowdeck/AGENT.md` needs updating based on what you learned — update it if so
28
+ - Final commit (only if anything changed): `git add -A && git commit -m "docs: post-turn"`
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "htllm": {
4
+ "command": "node",
5
+ "args": [
6
+ "/Users/ruco/projects/sitegrow/module-d-orchestrator/mcp-server/dist/index.js"
7
+ ]
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ node_modules/
2
+ dist/
3
+ .git/
4
+ *.log
5
+ .env
@@ -0,0 +1,46 @@
1
+ # Project Context
2
+
3
+ > Claude reads this file at the start of every `play` and `turn`. Keep it updated with decisions, constraints, and preferences that should inform all work in this project.
4
+ >
5
+ > The deck is `.flowdeck/`. Columns are folders inside it. Cards are `TODO.md` files.
6
+ > Run `flowdeck turn` to play the full hand. Run `flowdeck play <slug>` to play one card.
7
+
8
+ ## Commands
9
+
10
+ - `flowdeck turn` — orchestrates cards in parallel using declared `depends:` headers
11
+ - `flowdeck turn --serial` — bypasses parallel execution; use when the orchestrator's grouping is wrong
12
+ - `flowdeck play <slug>` — plays a single card; warns if declared dependencies have open items
13
+ - `flowdeck play <slug> --no-dep-check` — skips dependency check
14
+
15
+ ## Architecture
16
+
17
+ <!-- Describe the project structure, stack, and key conventions here. -->
18
+
19
+ ## Piles
20
+
21
+ Special subfolders inside `.flowdeck/` that are **not active columns**. Bot must never treat cards inside piles as playable during `turn` or `play`.
22
+
23
+ | Pile | Purpose |
24
+ |------|---------|
25
+ | `_meld/` | Shipped cards — completed and merged |
26
+ | `_discard/` | Cancelled or abandoned cards |
27
+ | `_frozen/` | Blocked cards — each has a `FREEZE.md` with an unfreeze signal |
28
+ | `_stock/` | Backlog — cards not yet ready to play |
29
+ | `_energy/` | mdblu templates and prompts — not cards, not played |
30
+
31
+ ### Frozen card protocol (`turn` responsibility)
32
+
33
+ At the start of each `turn`, the orchestrator must:
34
+ 1. Read `.flowdeck/_frozen/FROZEN.md` (if it exists) — it lists all frozen cards and their unfreeze signals.
35
+ 2. Evaluate each signal against current repo/project state.
36
+ 3. Surface any cards whose unfreeze condition is now met as `- [ ]` items under `## HUMAN` in the turn summary, so the human can decide to thaw them.
37
+
38
+ The bot must not auto-unfreeze cards — only flag candidates for human review.
39
+
40
+ ## Preferences
41
+
42
+ <!-- Coding style, commit format, naming conventions, etc. -->
43
+
44
+ ## Current priorities
45
+
46
+ <!-- What matters most right now. Update this each turn. -->
@@ -0,0 +1,14 @@
1
+ # flowdeck
2
+
3
+ > Human↔AI collaboration via `TODO.md` files.
4
+ > `## BOT` is Claude's inbox — tasks Claude should complete.
5
+ > `## HUMAN` is your inbox — things Claude needs from you.
6
+ > Run `flowdeck play -m "<what you did>"` to commit and hand off to Claude, or `flowdeck play` to hand off without a new commit.
7
+
8
+ ## BOT
9
+ - [ ] Read `AGENT.md` and confirm you're ready
10
+ > Leave a short note here, then check `start/TODO.md`
11
+
12
+ ## HUMAN
13
+ - [ ] Run `flowdeck play -m "init"` to start
14
+ > Claude will read this file, check `start/TODO.md`, and get to work
@@ -0,0 +1,8 @@
1
+ # Discard Record
2
+
3
+ **Discarded:** 2026-05-23
4
+
5
+ ## Dropped Tasks
6
+
7
+ - [BOT] Example task for BOT
8
+ - [HUMAN] Example task for HUMAN
@@ -0,0 +1,35 @@
1
+ # Start
2
+
3
+ > Your first work area. Add tasks for Claude under `## BOT`, tasks for yourself under `## HUMAN`.
4
+ > Notes on a task go on the line below, indented with `>`.
5
+ > For a new subject, create a new folder under `.flowdeck/`. For a subtask, create a subfolder here.
6
+
7
+ ## BOT
8
+
9
+ ### TODO
10
+
11
+ - [ ] Example task for BOT
12
+ > Add notes here
13
+
14
+ #### STATUS
15
+
16
+ - Not started
17
+
18
+ #### COMMENTS
19
+
20
+ - Add any relevant comments
21
+
22
+ ## HUMAN
23
+
24
+ ### TODO
25
+
26
+ - [ ] Example task for HUMAN
27
+ > Add notes here
28
+
29
+ #### STATUS
30
+
31
+ - Not started
32
+
33
+ #### COMMENTS
34
+
35
+ - Add any relevant comments
@@ -0,0 +1,28 @@
1
+ {"type":"system","subtype":"hook_started","hook_id":"f8045d6b-7e5a-4143-9743-ec406f85c85f","hook_name":"SessionStart:startup","hook_event":"SessionStart","uuid":"37256ce1-3412-4d3d-97ed-d54b3bd2fb5a","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
2
+ {"type":"system","subtype":"hook_started","hook_id":"abe6c80e-9b5f-43a1-abb2-75a3cab1d5f9","hook_name":"SessionStart:startup","hook_event":"SessionStart","uuid":"a4decbc6-54ea-48b1-bf67-c9f57bff0604","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
3
+ {"type":"system","subtype":"hook_started","hook_id":"e465f743-7962-4cd5-bcc9-a834b7adb052","hook_name":"SessionStart:startup","hook_event":"SessionStart","uuid":"44c9307c-75d4-4391-ab93-588bb9773530","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
4
+ {"type":"system","subtype":"hook_response","hook_id":"e465f743-7962-4cd5-bcc9-a834b7adb052","hook_name":"SessionStart:startup","hook_event":"SessionStart","output":"","stdout":"","stderr":"","exit_code":0,"outcome":"success","uuid":"cfb940a6-5b62-4fe3-8fda-95695f144437","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
5
+ {"type":"system","subtype":"hook_response","hook_id":"f8045d6b-7e5a-4143-9743-ec406f85c85f","hook_name":"SessionStart:startup","hook_event":"SessionStart","output":"","stdout":"","stderr":"","exit_code":0,"outcome":"success","uuid":"ba834ffc-ccd8-4108-936d-ee9fc8ca4a04","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
6
+ {"type":"system","subtype":"hook_response","hook_id":"abe6c80e-9b5f-43a1-abb2-75a3cab1d5f9","hook_name":"SessionStart:startup","hook_event":"SessionStart","output":"","stdout":"","stderr":"","exit_code":0,"outcome":"success","uuid":"54e2a24e-fc53-4dd7-a447-65d34d41cf37","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
7
+ {"type":"system","subtype":"init","cwd":"/Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","tools":["Task","AskUserQuestion","Bash","CronCreate","CronDelete","CronList","Edit","EnterPlanMode","EnterWorktree","ExitPlanMode","ExitWorktree","Glob","Grep","ListMcpResourcesTool","Monitor","NotebookEdit","PushNotification","Read","ReadMcpResourceTool","RemoteTrigger","ScheduleWakeup","ShareOnboardingGuide","Skill","TaskCreate","TaskGet","TaskList","TaskOutput","TaskStop","TaskUpdate","ToolSearch","WebFetch","WebSearch","Write","mcp__claude_ai_Canva__cancel-editing-transaction","mcp__claude_ai_Canva__comment-on-design","mcp__claude_ai_Canva__commit-editing-transaction","mcp__claude_ai_Canva__copy-design","mcp__claude_ai_Canva__create-design-from-brand-template","mcp__claude_ai_Canva__create-design-from-candidate","mcp__claude_ai_Canva__create-folder","mcp__claude_ai_Canva__export-design","mcp__claude_ai_Canva__generate-design","mcp__claude_ai_Canva__generate-design-structured","mcp__claude_ai_Canva__get-assets","mcp__claude_ai_Canva__get-design","mcp__claude_ai_Canva__get-design-content","mcp__claude_ai_Canva__get-design-pages","mcp__claude_ai_Canva__get-design-thumbnail","mcp__claude_ai_Canva__get-export-formats","mcp__claude_ai_Canva__get-presenter-notes","mcp__claude_ai_Canva__help","mcp__claude_ai_Canva__import-design-from-url","mcp__claude_ai_Canva__list-brand-kits","mcp__claude_ai_Canva__list-comments","mcp__claude_ai_Canva__list-folder-items","mcp__claude_ai_Canva__list-replies","mcp__claude_ai_Canva__merge-designs","mcp__claude_ai_Canva__move-item-to-folder","mcp__claude_ai_Canva__perform-editing-operations","mcp__claude_ai_Canva__reply-to-comment","mcp__claude_ai_Canva__request-outline-review","mcp__claude_ai_Canva__resize-design","mcp__claude_ai_Canva__resolve-shortlink","mcp__claude_ai_Canva__search-designs","mcp__claude_ai_Canva__search-folders","mcp__claude_ai_Canva__start-editing-transaction","mcp__claude_ai_Canva__upload-asset-from-url","mcp__claude_ai_Gmail__create_draft","mcp__claude_ai_Gmail__create_label","mcp__claude_ai_Gmail__delete_label","mcp__claude_ai_Gmail__get_thread","mcp__claude_ai_Gmail__label_message","mcp__claude_ai_Gmail__label_thread","mcp__claude_ai_Gmail__list_drafts","mcp__claude_ai_Gmail__list_labels","mcp__claude_ai_Gmail__search_threads","mcp__claude_ai_Gmail__unlabel_message","mcp__claude_ai_Gmail__unlabel_thread","mcp__claude_ai_Gmail__update_label","mcp__claude_ai_GoDaddy__domains_check_availability","mcp__claude_ai_GoDaddy__domains_suggest","mcp__claude_ai_Google_Calendar__create_event","mcp__claude_ai_Google_Calendar__delete_event","mcp__claude_ai_Google_Calendar__get_event","mcp__claude_ai_Google_Calendar__list_calendars","mcp__claude_ai_Google_Calendar__list_events","mcp__claude_ai_Google_Calendar__respond_to_event","mcp__claude_ai_Google_Calendar__suggest_time","mcp__claude_ai_Google_Calendar__update_event","mcp__claude_ai_Google_Drive__copy_file","mcp__claude_ai_Google_Drive__create_file","mcp__claude_ai_Google_Drive__download_file_content","mcp__claude_ai_Google_Drive__get_file_metadata","mcp__claude_ai_Google_Drive__get_file_permissions","mcp__claude_ai_Google_Drive__list_recent_files","mcp__claude_ai_Google_Drive__read_file_content","mcp__claude_ai_Google_Drive__search_files","mcp__claude_ai_mdblu__propose_template_update","mcp__claude_ai_mdblu__scaffold_hook","mcp__claude_ai_mdblu__use_template","mcp__claude_ai_Vercel__authenticate","mcp__claude_ai_Vercel__complete_authentication","mcp__claude_ai_WordPress_com__authenticate","mcp__claude_ai_WordPress_com__complete_authentication","mcp__htllm__deploy_menus","mcp__htllm__deploy_pages","mcp__htllm__deploy_payload","mcp__htllm__deploy_theme_mods","mcp__htllm__get_website","mcp__htllm__install_to_wp"],"mcp_servers":[{"name":"htllm","status":"connected"},{"name":"claude.ai GoDaddy","status":"connected"},{"name":"claude.ai WordPress.com","status":"needs-auth"},{"name":"claude.ai Vercel","status":"needs-auth"},{"name":"claude.ai Canva","status":"connected"},{"name":"claude.ai Gmail","status":"connected"},{"name":"claude.ai Google Calendar","status":"connected"},{"name":"claude.ai Google Drive","status":"connected"},{"name":"claude.ai mdblu","status":"connected"}],"model":"claude-sonnet-4-6","permissionMode":"bypassPermissions","slash_commands":["update-readme","analyse-html","commit-and-push","pdf-to-html","pdf-to-html.original","commit-and-pr","add-card","turn","append-card","play-card","vercel:bootstrap","vercel:deploy","vercel:env","vercel:marketplace","vercel:status","vercel:routing-middleware","vercel:deployments-cicd","vercel:auth","vercel:vercel-agent","vercel:vercel-storage","vercel:vercel-firewall","vercel:workflow","vercel:verification","vercel:vercel-cli","vercel:chat-sdk","vercel:knowledge-update","vercel:shadcn","vercel:ai-gateway","vercel:turbopack","vercel:vercel-functions","vercel:ai-sdk","vercel:runtime-cache","vercel:next-forge","vercel:next-upgrade","vercel:nextjs","vercel:env-vars","vercel:react-best-practices","vercel:next-cache-components","vercel:vercel-sandbox","update-config","verify","debug","simplify","batch","fewer-permission-prompts","loop","schedule","claude-api","run","run-skill-generator","clear","compact","context","heapdump","init","review","security-review","usage-credits","extra-usage","usage","insights","goal","team-onboarding","mcp__claude_ai_mdblu__use_doc","mcp__claude_ai_mdblu__propose_update"],"apiKeySource":"none","claude_code_version":"2.1.145","output_style":"default","agents":["claude","Explore","general-purpose","Plan","statusline-setup","vercel:ai-architect","vercel:deployment-expert","vercel:performance-optimizer"],"skills":["vercel:routing-middleware","vercel:deployments-cicd","vercel:auth","vercel:vercel-agent","vercel:vercel-storage","vercel:vercel-firewall","vercel:workflow","vercel:verification","vercel:vercel-cli","vercel:marketplace","vercel:chat-sdk","vercel:knowledge-update","vercel:bootstrap","vercel:shadcn","vercel:ai-gateway","vercel:turbopack","vercel:vercel-functions","vercel:ai-sdk","vercel:runtime-cache","vercel:next-forge","vercel:next-upgrade","vercel:nextjs","vercel:env-vars","vercel:react-best-practices","vercel:next-cache-components","vercel:vercel-sandbox","update-config","verify","debug","simplify","batch","fewer-permission-prompts","loop","schedule","claude-api","run","run-skill-generator"],"plugins":[{"name":"vercel","path":"/Users/ruco/.claude/plugins/cache/claude-plugins-official/vercel/0.43.0","source":"vercel@claude-plugins-official"}],"analytics_disabled":false,"uuid":"aac48e6c-4b05-43a4-a219-b6ca4f19bd65","memory_paths":{"auto":"/Users/ruco/.claude/projects/-Users-ruco-projects-main-mcpill-cli/memory/"},"fast_mode_state":"off"}
8
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01W4MCq44BHzi9NAeRpveoJH","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me play this card. It's a starter template card with example tasks. I'll complete the BOT task (which is just an example), mark it done, and handle the rest.","signature":"EukCCmUIDRgCKkA6/2uer9SX65m15qwaapHRRC1+2NyOxEmhTvP4thK6vivrvs4sIPQNI3mbCw+1PjZ3dJzqJRl4MiARr8St9FcMMhFjbGF1ZGUtc29ubmV0LTQtNjgAQgh0aGlua2luZxIMbA/KFJcZ7maS2OcrGgwL5L5J7x9LyuVniKEiMEwFelfHTVZ+a48F2heNYYVepiF6EuPql8NfmHk+DAHBbB2CzaMFx4Bnvszue8MVPiqxAUUTlzD6UOxmLeY18kL+VByRXT+n27FtXtL7nL7KSiUceKM/jnwA6zfp/K+BpAwV5iZX2TJa6geVtSGIo0xdZEJGJnKUgyYyJKwkDbF7CTqPKSmeyeNPcM2kHB6HintrES08opG3IV7tNXgIG6FhVbFiCOSFeOfUNjiCXRyuf4mEUy//qUdVtSD+O9XlYW8u3eSiXV7g55e6CUNVVXQgEgA4QVtNe7TxudA8+aQIi8G9FxgB"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":9537,"cache_read_input_tokens":14374,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":9537},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"66b19dd7-2741-42f1-b6a2-fa32f2685cb4","request_id":"req_011CbEZD9qfMYBNJCQ5v8KmN"}
9
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01W4MCq44BHzi9NAeRpveoJH","type":"message","role":"assistant","content":[{"type":"text","text":"Reading the card — it's a starter template with placeholder tasks. I'll complete the BOT example task, update the card, and commit."}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":9537,"cache_read_input_tokens":14374,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":9537},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"23261e6d-a369-42ac-a2d3-e62b1ff3e57b","request_id":"req_011CbEZD9qfMYBNJCQ5v8KmN"}
10
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01W4MCq44BHzi9NAeRpveoJH","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_018kqdmbrGBW6nMXDCWVVp5u","name":"Read","input":{"file_path":"/Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/.flowdeck/start/TODO.md"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":9537,"cache_read_input_tokens":14374,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":9537},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"e79b11a8-20fd-406e-ac85-af76c419bd18","request_id":"req_011CbEZD9qfMYBNJCQ5v8KmN"}
11
+ {"type":"rate_limit_event","rate_limit_info":{"status":"allowed","resetsAt":1779331200,"rateLimitType":"five_hour","overageStatus":"rejected","overageDisabledReason":"org_level_disabled","isUsingOverage":false},"uuid":"967d7c1b-d768-42e2-8f45-82955fd7c514","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed"}
12
+ {"type":"user","message":{"role":"user","content":[{"type":"tool_result","content":"File does not exist. Note: your current working directory is /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start.","is_error":true,"tool_use_id":"toolu_018kqdmbrGBW6nMXDCWVVp5u"}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"0801d5d0-2545-4120-86d5-643ad0aff26f","timestamp":"2026-05-20T21:47:45.516Z","tool_use_result":"Error: File does not exist. Note: your current working directory is /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start."}
13
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016ULYqzHntnWcXacAc57eJ1","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01S3u4TaHskoUpYYXoQPoATh","name":"Bash","input":{"command":"find /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start -name \"TODO.md\" 2>/dev/null"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":229,"cache_read_input_tokens":23911,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":229},"output_tokens":58,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"3cc5e738-d4cc-4e0e-9db3-1b2716c3465e","request_id":"req_011CbEZDTvbqpwv6j6b8ZqiR"}
14
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01S3u4TaHskoUpYYXoQPoATh","type":"tool_result","content":"(Bash completed with no output)","is_error":false}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"c76612b6-1099-4813-9ae3-8a618fbcd101","timestamp":"2026-05-20T21:47:47.227Z","tool_use_result":{"stdout":"","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
15
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_017VFH2hU69exYMtSLWGjBo3","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01AECaKktdv5cSN8Ea5Mcboh","name":"Bash","input":{"command":"ls /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":108,"cache_read_input_tokens":24140,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":108},"output_tokens":56,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"32db3198-c755-46ff-943b-3845e8693e4c","request_id":"req_011CbEZDbCA6ZZe7eUguWX4A"}
16
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01AECaKktdv5cSN8Ea5Mcboh","type":"tool_result","content":"FLOWDECK.md\npackage-lock.json\npackage.json\nREADME.md\nsrc\ntsconfig.json\ntsup.config.ts\nvitest.config.ts","is_error":false}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"c0160db3-cd09-4179-82c7-3f6c8adad34a","timestamp":"2026-05-20T21:47:48.899Z","tool_use_result":{"stdout":"FLOWDECK.md\npackage-lock.json\npackage.json\nREADME.md\nsrc\ntsconfig.json\ntsup.config.ts\nvitest.config.ts","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
17
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_012joEt38hyUhrUDZBneJ4Pn","type":"message","role":"assistant","content":[{"type":"text","text":"The `.flowdeck/` directory doesn't exist yet in this worktree. I'll create the card structure and mark the example task done."}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":131,"cache_read_input_tokens":24248,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":131},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"4d5a8a31-949f-4512-a37e-01f0e8757d8b","request_id":"req_011CbEZDiVCmtnJDMrXVjrgs"}
18
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_012joEt38hyUhrUDZBneJ4Pn","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Es6gQCmyu2BuBHX8rzaD4a","name":"Bash","input":{"command":"mkdir -p /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/.flowdeck/start"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":131,"cache_read_input_tokens":24248,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":131},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"27ab53ca-dc67-4d2c-b62d-fbcaf2e62d2d","request_id":"req_011CbEZDiVCmtnJDMrXVjrgs"}
19
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01Es6gQCmyu2BuBHX8rzaD4a","type":"tool_result","content":"(Bash completed with no output)","is_error":false}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"c16c29ff-6791-4531-a9c5-cd13eeba230b","timestamp":"2026-05-20T21:47:51.408Z","tool_use_result":{"stdout":"","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":true}}
20
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01EkTR39A4SDYGESwib2QS9w","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01RUwn61zxWhY2otrhRSC4Jg","name":"Write","input":{"file_path":"/Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/.flowdeck/start/TODO.md","content":"# Start\n\n> Your first work area. Add tasks for Claude under `## BOT`, tasks for yourself under `## HUMAN`.\n> Notes on a task go on the line below, indented with `>`.\n> For a new subject, create a new folder under `.flowdeck/`. For a subtask, create a subfolder here.\n\n## BOT\n\n### TODO\n\n- [x] Example task for BOT\n > Initialized the flowdeck deck structure for the mcpill-cli worktree; card is a starter template with no real implementation tasks.\n\n#### STATUS\n\n- Done\n\n#### COMMENTS\n\n- This is the starter card. No code changes were required — it serves as the template baseline for future cards in this deck.\n\n## HUMAN\n\n### TODO\n\n- [ ] Example task for HUMAN\n > Add notes here\n\n#### STATUS\n\n- Not started\n\n#### COMMENTS\n\n- Add any relevant comments\n"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":135,"cache_read_input_tokens":24379,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":135},"output_tokens":63,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"95108749-2d48-4ba1-baa0-2a3fbfabc90a","request_id":"req_011CbEZDu6gAZ8jfPNSSTVMH"}
21
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01RUwn61zxWhY2otrhRSC4Jg","type":"tool_result","content":"File created successfully at: /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/.flowdeck/start/TODO.md (file state is current in your context — no need to Read it back)"}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"d2341e1a-39c3-4a03-84d4-9abb6ddd7c59","timestamp":"2026-05-20T21:47:56.022Z","tool_use_result":{"type":"create","filePath":"/Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/.flowdeck/start/TODO.md","content":"# Start\n\n> Your first work area. Add tasks for Claude under `## BOT`, tasks for yourself under `## HUMAN`.\n> Notes on a task go on the line below, indented with `>`.\n> For a new subject, create a new folder under `.flowdeck/`. For a subtask, create a subfolder here.\n\n## BOT\n\n### TODO\n\n- [x] Example task for BOT\n > Initialized the flowdeck deck structure for the mcpill-cli worktree; card is a starter template with no real implementation tasks.\n\n#### STATUS\n\n- Done\n\n#### COMMENTS\n\n- This is the starter card. No code changes were required — it serves as the template baseline for future cards in this deck.\n\n## HUMAN\n\n### TODO\n\n- [ ] Example task for HUMAN\n > Add notes here\n\n#### STATUS\n\n- Not started\n\n#### COMMENTS\n\n- Add any relevant comments\n","structuredPatch":[],"originalFile":null,"userModified":false}}
22
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_016vqDpcax8gYeGvR5JAvhns","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01J258Pn6zK2XKU9skt4BsxC","name":"Bash","input":{"command":"git add -A && git commit -m \"deck: initialize start card with flowdeck structure\""},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":372,"cache_read_input_tokens":24514,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":372},"output_tokens":59,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"d4443664-65d3-47ba-aec1-2c499f4ca203","request_id":"req_011CbEZEEtJTRkRCC2QrDW82"}
23
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01J258Pn6zK2XKU9skt4BsxC","type":"tool_result","content":"[deck/start a1a61c5] deck: initialize start card with flowdeck structure\n 2 files changed, 45 insertions(+)\n create mode 100644 .claude/settings.json\n create mode 100644 .flowdeck/start/TODO.md","is_error":false}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"e1f456b8-dd51-4ad1-87a0-769e76bc2059","timestamp":"2026-05-20T21:47:57.930Z","tool_use_result":{"stdout":"[deck/start a1a61c5] deck: initialize start card with flowdeck structure\n 2 files changed, 45 insertions(+)\n create mode 100644 .claude/settings.json\n create mode 100644 .flowdeck/start/TODO.md","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
24
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01YXVXtaDucvHN8tWdEG7HxJ","type":"message","role":"assistant","content":[{"type":"text","text":"Now checking README.md and FLOWDECK.md for any needed updates."}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":151,"cache_read_input_tokens":24886,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":151},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"6884552e-1c9f-419b-a962-745e4044f76a","request_id":"req_011CbEZEP6fR4k2JmGC7VcME"}
25
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01YXVXtaDucvHN8tWdEG7HxJ","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01PSbodoCjc4GquB36mfVvRB","name":"Bash","input":{"command":"head -20 /Users/ruco/projects/main/mcpill-cli/.git/flowdeck-tmp/start/FLOWDECK.md"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":151,"cache_read_input_tokens":24886,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":151},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"e035735e-c850-48fc-b09c-a0b415b34a33","request_id":"req_011CbEZEP6fR4k2JmGC7VcME"}
26
+ {"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01PSbodoCjc4GquB36mfVvRB","type":"tool_result","content":"# Project\n\n## Vision\n\n<!-- One paragraph describing what this project does and why it exists. -->\n\n## Current state\n\n<!-- Bullet list of shipped capabilities. Update this after each meld. -->\n\n- (no capabilities shipped yet)\n\n## Known gaps\n\n<!-- Open known issues or missing pieces. Update this after each meld. -->\n\n- (none recorded yet)","is_error":false}]},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"773fe1fb-2821-4509-a7cf-28769712caa0","timestamp":"2026-05-20T21:48:00.129Z","tool_use_result":{"stdout":"# Project\n\n## Vision\n\n<!-- One paragraph describing what this project does and why it exists. -->\n\n## Current state\n\n<!-- Bullet list of shipped capabilities. Update this after each meld. -->\n\n- (no capabilities shipped yet)\n\n## Known gaps\n\n<!-- Open known issues or missing pieces. Update this after each meld. -->\n\n- (none recorded yet)","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
27
+ {"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01SPieii4bswCA95xyAZiw6Y","type":"message","role":"assistant","content":[{"type":"text","text":"No changes needed to FLOWDECK.md or README.md — this was purely a template card with no shipped capabilities. No doc commit required.\n\nAll done — run: `flowdeck meld start`"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":291,"cache_read_input_tokens":25037,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":291},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"diagnostics":null,"context_management":null},"parent_tool_use_id":null,"session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","uuid":"18c3e520-95e7-4711-b20b-898043aa833d","request_id":"req_011CbEZEYdeWrVdjX8zmwKU4"}
28
+ {"type":"result","subtype":"success","is_error":false,"api_error_status":null,"duration_ms":21260,"duration_api_ms":21055,"ttft_ms":3280,"num_turns":8,"result":"No changes needed to FLOWDECK.md or README.md — this was purely a template card with no shipped capabilities. No doc commit required.\n\nAll done — run: `flowdeck meld start`","stop_reason":"end_turn","session_id":"08ff90c2-e937-49d6-a8c8-3d3b890c55ed","total_cost_usd":0.1119462,"usage":{"input_tokens":9,"cache_creation_input_tokens":10954,"cache_read_input_tokens":185489,"output_tokens":1013,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":10954,"ephemeral_5m_input_tokens":0},"inference_geo":"","iterations":[{"input_tokens":1,"output_tokens":48,"cache_read_input_tokens":25037,"cache_creation_input_tokens":291,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":291},"type":"message"}],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":9,"outputTokens":1013,"cacheReadInputTokens":185489,"cacheCreationInputTokens":10954,"webSearchRequests":0,"costUSD":0.1119462,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"terminal_reason":"completed","fast_mode_state":"off","uuid":"117713f9-cd87-4cab-871e-64bc6f06a464"}
@@ -0,0 +1,100 @@
1
+ ---
2
+ title: "Architectural Decision Record"
3
+ type: documentation
4
+ tags: [documentation, architecture, decision]
5
+ ---
6
+
7
+ # ADR-XXXX: {{PROJECT_NAME}}
8
+
9
+ **Date:** {{DATE}}
10
+ **Author:** {{AUTHOR}}
11
+ **Status:** Proposed
12
+
13
+ ---
14
+
15
+ <!--
16
+ INSTRUCTIONS FOR THE MODEL:
17
+ Your output must be this document with every section filled in. Do not write prose, summaries, or commentary outside the template structure.
18
+ The prompt below describes an architectural decision to be documented. Use it to populate each section.
19
+ - Context: the forces and constraints that made this decision necessary.
20
+ - Decision: one clear, active-voice sentence starting with "We will ...".
21
+ - Rationale: why this option over the alternatives.
22
+ - Alternatives: real options considered; why each was rejected.
23
+ - Consequences: honest trade-offs, including negatives.
24
+ - Remove HTML comments from the final output.
25
+ - Do not leave placeholder text, generic labels, or "..." in any field.
26
+ - Do not add, remove, or reorder sections.
27
+ -->
28
+
29
+ ## Context
30
+
31
+ > {{PROMPT}}
32
+
33
+ <!-- What situation, constraint, or need forces a decision here? -->
34
+
35
+ ## Decision
36
+
37
+ <!-- One clear, active-voice sentence. -->
38
+
39
+ **We will ...**
40
+
41
+ ## Rationale
42
+
43
+ <!-- Why this option over the alternatives? What factors were decisive? -->
44
+
45
+ ### Pros
46
+
47
+ -
48
+ -
49
+
50
+ ### Cons
51
+
52
+ -
53
+ -
54
+
55
+ ## Alternatives Considered
56
+
57
+ ### Option A: <!-- name -->
58
+
59
+ **Description:**
60
+
61
+ **Pros:**
62
+
63
+ **Cons:**
64
+
65
+ **Why rejected:**
66
+
67
+ ### Option B: <!-- name -->
68
+
69
+ **Description:**
70
+
71
+ **Pros:**
72
+
73
+ **Cons:**
74
+
75
+ **Why rejected:**
76
+
77
+ ## Consequences
78
+
79
+ ### Positive
80
+
81
+ -
82
+
83
+ ### Negative
84
+
85
+ -
86
+
87
+ ### Risks
88
+
89
+ -
90
+
91
+ ## Implementation Notes
92
+
93
+ <!-- Specific steps, migrations, or flag changes needed to act on this decision -->
94
+
95
+ ---
96
+
97
+ *Provided by [mdblu](https://github.com/ruco-ai/mdblu)*
98
+
99
+ ---
100
+ *Made with [mdblu](https://github.com/ruco-ai/mdblu) · source: `templates/ADR.md.template`*
@@ -0,0 +1,95 @@
1
+ ---
2
+ title: "Claude Agent Context"
3
+ type: implementation
4
+ tags: [agent-context, ai-workflow, reference]
5
+ ---
6
+
7
+ # Claude Agent Context: {{PROJECT_NAME}}
8
+
9
+ **Date:** {{DATE}}
10
+ **Author:** {{AUTHOR}}
11
+
12
+ ---
13
+
14
+ <!--
15
+ INSTRUCTIONS FOR THE MODEL:
16
+ Your output must be this document with every section filled in. Do not write prose, summaries, or commentary outside the template structure.
17
+ The prompt below describes a project that Claude will be working on. Use it to populate each section.
18
+ - Derive the actual language, tools, and commands from the prompt — do not assume Python/ruff/pytest.
19
+ - Key Files & Modules: real files and their purposes based on the prompt.
20
+ - Conventions & Standards: the actual stack, not generic defaults.
21
+ - Commands Claude Should Know: real commands for this project's toolchain.
22
+ - Gotchas: anything tricky or non-obvious derived from the prompt.
23
+ - Remove HTML comments from the final output.
24
+ - Do not leave placeholder text, generic labels, or language defaults that don't match the project.
25
+ - Do not add, remove, or reorder sections.
26
+ -->
27
+
28
+ ## Project Context
29
+
30
+ > {{PROMPT}}
31
+
32
+ ---
33
+
34
+ ## What This Project Does
35
+
36
+ <!-- One clear paragraph for Claude to understand the project at a glance -->
37
+
38
+ ## Key Files & Modules
39
+
40
+ | File/Module | Purpose |
41
+ |-------------|---------|
42
+ | | |
43
+
44
+ ## Conventions & Standards
45
+
46
+ <!-- Fill with the actual stack derived from the prompt -->
47
+
48
+ - **Language:**
49
+ - **Formatter:**
50
+ - **Test framework:**
51
+ - **Commit style:**
52
+
53
+ ## Important Constraints
54
+
55
+ <!-- Real constraints and rules Claude must follow for this project -->
56
+
57
+ -
58
+ -
59
+
60
+ ## Common Patterns
61
+
62
+ ```
63
+ <!-- Show a representative pattern from this codebase -->
64
+ ```
65
+
66
+ ## Commands Claude Should Know
67
+
68
+ ```bash
69
+ # Run tests
70
+
71
+ # Install / build
72
+
73
+ # Lint / format
74
+ ```
75
+
76
+ ## Gotchas & Known Issues
77
+
78
+ <!-- Anything surprising or non-obvious Claude should know to avoid mistakes -->
79
+
80
+ -
81
+ -
82
+
83
+ ## Out of Scope
84
+
85
+ <!-- What Claude should NOT do without explicit instruction -->
86
+
87
+ -
88
+ -
89
+
90
+ ---
91
+
92
+ *Provided by [mdblu](https://github.com/ruco-ai/mdblu)*
93
+
94
+ ---
95
+ *Made with [mdblu](https://github.com/ruco-ai/mdblu) · source: `templates/CLAUDE.md.template`*
@@ -0,0 +1,57 @@
1
+ ---
2
+ title: "General Insights"
3
+ type: metadata
4
+ tags: [metadata, insights, ai-workflow]
5
+ last_updated: {{DATE}}
6
+ tool_version: {{TOOL_VERSION}}
7
+ privacy: local-in-v0 | collective-in-v1
8
+ ---
9
+
10
+ # General Insights
11
+
12
+ > Transferable knowledge discovered during coding sessions — patterns, conventions, and lessons that apply beyond a single project. Written by Claude when classifying session discoveries. Read by Claude at session start across all repos. Becomes a collective pool in xtage v1.
13
+
14
+ ---
15
+
16
+ <!--
17
+ Format for each entry:
18
+
19
+ **[Short title]** `[language or framework tag, if applicable]`
20
+ **What:** One sentence describing the pattern or lesson.
21
+ **When:** When to apply it. What triggers this insight.
22
+ **Example:** Brief inline example or pointer to where it was observed.
23
+ **Source:** Discovered in {repo-name} on {date}.
24
+ **private: true** ← optional: add this line to exclude from v1 collective pool
25
+
26
+ -->
27
+
28
+ ## Coding Patterns
29
+
30
+ <!-- Language-specific or language-agnostic patterns worth repeating -->
31
+
32
+ ## Refactoring Lessons
33
+
34
+ <!-- What to watch out for when refactoring specific types of code -->
35
+
36
+ ## Testing Insights
37
+
38
+ <!-- What test approaches work well for which kinds of code -->
39
+
40
+ ## Architecture Observations
41
+
42
+ <!-- Patterns seen working well or badly across different projects -->
43
+
44
+ ## Tool & Framework Notes
45
+
46
+ <!-- Practical knowledge about specific tools, libraries, or frameworks -->
47
+
48
+ ## Anti-Patterns Observed
49
+
50
+ <!-- Things that look right but consistently cause problems -->
51
+
52
+ ---
53
+
54
+ *Generated by xtage {{TOOL_VERSION}} on {{DATE}} — updated by Claude at session end*
55
+
56
+ ---
57
+ *Made with [mdblu](https://github.com/ruco-ai/mdblu) · source: `templates/GENERALINSIGHTS.md.template`*
@@ -0,0 +1,89 @@
1
+ ---
2
+ title: "Mission Brief"
3
+ type: planning
4
+ tags: [planning, scoping, ai-workflow]
5
+ ---
6
+
7
+ # Mission: {{PROJECT_NAME}}
8
+
9
+ **Date:** {{DATE}}
10
+ **Author:** {{AUTHOR}}
11
+
12
+ ---
13
+
14
+ <!--
15
+ INSTRUCTIONS FOR THE MODEL:
16
+ Your output must be this document with every section filled in. Do not write prose, summaries, or commentary outside the template structure.
17
+ The prompt below is the raw input describing a task, feature, or problem. Use it to populate each section.
18
+
19
+ Rules:
20
+ - Each goal must be tagged [BOT] or [HUMAN]:
21
+ - [BOT] — implementable by an AI agent from the spec alone (coding, scaffolding, configuration, tests)
22
+ - [HUMAN] — requires human judgment, domain decisions, external coordination, creative input, or review
23
+ - Order goals by dependency: a goal that blocks others must appear before them.
24
+ - A [HUMAN] goal in the middle of a sequence signals a mandatory checkpoint before the next [BOT] batch can proceed.
25
+ - Use real descriptions derived from the prompt — not placeholder names like "Goal 1".
26
+ - Problem Statement: what is broken or missing without this mission.
27
+ - Non-Goals: explicitly out of scope to prevent drift.
28
+ - Success Criteria: how we know the mission is done.
29
+ - Deliverables: concrete outputs.
30
+ - Fill every table; add or remove rows as needed.
31
+ - Remove HTML comments from the final output.
32
+ - Do not leave placeholder text, generic labels, or empty cells.
33
+ - Do not add, remove, or reorder sections.
34
+ -->
35
+
36
+ ## Objective
37
+
38
+ > {{PROMPT}}
39
+
40
+ ---
41
+
42
+ ## Problem Statement
43
+
44
+ <!-- What is broken, missing, or painful without this mission? Be specific. -->
45
+
46
+ ## Goals
47
+
48
+ <!-- Concrete, testable goals. Each should be verifiable at completion. -->
49
+
50
+ - TODO [BOT]:
51
+ - TODO [HUMAN]:
52
+
53
+ ## Non-Goals
54
+
55
+ <!-- Explicitly out of scope. Prevents scope creep. -->
56
+
57
+ -
58
+ -
59
+
60
+ ## Success Criteria
61
+
62
+ <!-- How will we know this mission is done? -->
63
+
64
+ | Criterion | Measurement | Target |
65
+ |-----------|-------------|--------|
66
+ | | | |
67
+
68
+ ## Constraints
69
+
70
+ <!-- Known limits that shape the approach -->
71
+
72
+ - **Time:**
73
+ - **Resources:**
74
+ - **Technical:**
75
+
76
+ ## Deliverables
77
+
78
+ <!-- Concrete outputs expected at completion -->
79
+
80
+ 1.
81
+ 2.
82
+ 3.
83
+
84
+ ---
85
+
86
+ *Provided by [mdblu](https://github.com/ruco-ai/mdblu)*
87
+
88
+ ---
89
+ *Made with [mdblu](https://github.com/ruco-ai/mdblu) · source: `templates/MISSION.md.template`*