Skip to content

Commit 2cb514c

Browse files
committed
bd init: initialize beads issue tracking
1 parent 41263b3 commit 2cb514c

125 files changed

Lines changed: 10513 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/beads/SKILL.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
name: beads
3+
description: Use when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory. Trigger when the user asks to find ready work, claim or close tasks, create follow-up work, inspect blockers, recover project context, or choose between local planning and persistent project tracking.
4+
---
5+
6+
# Beads
7+
8+
Use Beads as the shared project task system. Local plans, scratch files, and personal memories are useful, but they are not the durable source of truth for project work.
9+
10+
## First Step
11+
12+
Run:
13+
14+
```bash
15+
bd prime
16+
```
17+
18+
If that prints nothing, check whether the repository has an active Beads workspace:
19+
20+
```bash
21+
bd where
22+
```
23+
24+
## Preferred Route
25+
26+
Use the `bd` CLI when shell access is available. It is the most compact and direct Beads interface.
27+
28+
## Core CLI Workflow
29+
30+
1. Find work:
31+
32+
```bash
33+
bd ready
34+
bd list --status=open
35+
bd list --status=in_progress
36+
```
37+
38+
2. Inspect before editing:
39+
40+
```bash
41+
bd show <id>
42+
```
43+
44+
3. Claim work atomically:
45+
46+
```bash
47+
bd update <id> --claim
48+
```
49+
50+
4. Create durable follow-up work when implementation reveals new tasks:
51+
52+
```bash
53+
bd create "Short title" --description="Why this exists and what needs to be done" --type=task --priority=2
54+
```
55+
56+
5. Close completed work:
57+
58+
```bash
59+
bd close <id> --reason="Completed"
60+
```
61+
62+
## What Belongs In Beads
63+
64+
Use Beads for:
65+
66+
- shared project tasks
67+
- blockers and dependencies
68+
- discovered follow-up work
69+
- work that must survive thread reset, compaction, or handoff
70+
- status that another person or agent should be able to resume
71+
72+
Use agent-local planning tools only for the current turn's execution checklist. Do not treat them as shared project state.
73+
74+
## Rules
75+
76+
- Do not create markdown TODO files as the source of truth when Beads is available.
77+
- Do not use `bd edit`; it opens an interactive editor. Use `bd update` flags instead.
78+
- Prefer `--json` when parsing `bd` output programmatically.
79+
- If hooks are installed, `bd prime` may already be injected. Run it manually when context is missing.
80+
- Do not auto-close or mutate tasks unless the work is actually complete.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
interface:
2+
display_name: "Beads"
3+
short_description: "Project task tracking with bd"
4+
default_prompt: "Use $beads to inspect ready work and manage durable project tasks."

.agents/skills/hallmark/SKILL.md

Lines changed: 558 additions & 0 deletions
Large diffs are not rendered by default.

.agents/skills/hallmark/references/anti-patterns.md

Lines changed: 418 additions & 0 deletions
Large diffs are not rendered by default.

.agents/skills/hallmark/references/assets.md

Lines changed: 406 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Colour
2+
3+
Most AI-generated UI fails on colour. It picks blue. It uses pure black. It draws a gradient from purple to cyan. It leaves accents on 30% of the page. Fix all of this.
4+
5+
## Principles
6+
7+
- **OKLCH only.** Perceptually uniform; predictable lightness; consistent hue across tints. `hsl()` and `rgb()` lie about brightness.
8+
- **One accent.** Maximum two. Everything else is neutral. The accent should occupy **3% or less** of any given viewport.
9+
- **No pure extremes.** No `#000`, no `#fff`. Always tint with a trace of chroma toward the palette's anchor hue.
10+
- **Tint the greys.** If your anchor hue is orange, your neutrals lean warm. If it's blue, they lean cool. A page with a warm accent and cool grey body copy looks wrong and most people can't name why.
11+
12+
## Palette construction
13+
14+
A complete Hallmark palette has four layers.
15+
16+
1. **Paper** — the base surface. `oklch(96–98% 0.005–0.015 <anchor hue>)` for light mode, `oklch(12–16% 0.008–0.015 <anchor hue>)` for dark.
17+
2. **Ink** — the primary text. `oklch(16–22% 0.005–0.015 <anchor hue>)` for light mode, `oklch(92–96% 0.005–0.01 <anchor hue>)` for dark.
18+
3. **Neutrals** — 5 to 9 steps between Paper and Ink, each with the anchor's chroma tint at low values (0.005–0.015).
19+
4. **Accent** — one saturated colour with meaningful chroma (0.12–0.22). Used for links, active states, highlights, focus rings. Never as a background fill that covers more than a few percent of the surface.
20+
21+
Example (warm-oat anchor, hue 80):
22+
23+
```css
24+
:root {
25+
--color-paper: oklch(96% 0.012 80);
26+
--color-paper-2: oklch(93% 0.014 80);
27+
--color-rule: oklch(82% 0.010 80);
28+
--color-neutral: oklch(56% 0.008 80);
29+
--color-muted: oklch(40% 0.008 70);
30+
--color-ink: oklch(18% 0.010 60);
31+
--color-accent: #FC4C02; /* signal orange */
32+
--color-focus: oklch(55% 0.19 55);
33+
}
34+
```
35+
36+
Example (midnight anchor, hue 40):
37+
38+
```css
39+
:root {
40+
--color-paper: oklch(14% 0.008 40);
41+
--color-paper-2: oklch(18% 0.010 40);
42+
--color-rule: oklch(30% 0.008 40);
43+
--color-neutral: oklch(58% 0.008 40);
44+
--color-muted: oklch(72% 0.006 40);
45+
--color-ink: oklch(94% 0.006 80);
46+
--color-accent: #FC4C02;
47+
--color-focus: oklch(70% 0.19 55);
48+
}
49+
```
50+
51+
## Contrast
52+
53+
Use the APCA contrast check when you can; otherwise WCAG 2.1 ratios.
54+
55+
| Content | Minimum | Target |
56+
| --- | --- | --- |
57+
| Body text | 4.5:1 | 7:1 |
58+
| Large text (≥ 18.66px bold or 24px) | 3:1 | 4.5:1 |
59+
| UI component boundaries | 3:1 | 4.5:1 |
60+
| Placeholder / helper text | 4.5:1 | 4.5:1 |
61+
62+
Verify with the browser devtools vision-deficiency emulator before shipping.
63+
64+
## Dark mode recipe
65+
66+
- Paper: lightness 12–18% (not `#000`).
67+
- Ink: lightness 92–96% (not `#fff`).
68+
- Body font-weight: reduce by 50 units (400 → 350) to compensate for the optical weight of light text on dark.
69+
- Accent: reduce chroma by 0.02–0.04; increase lightness by 5–10%.
70+
- Elevation: higher surfaces are *lighter*, not darker. Add ~3% lightness per level.
71+
- Never switch the hue between modes. Keep the anchor. Only lightness and chroma move.
72+
73+
## Bans
74+
75+
- **Pure `#000000`** anywhere. Use `oklch(16% 0.01 <hue>)` or similar.
76+
- **Pure `#ffffff`** as a base surface. Use a tinted paper.
77+
- **Flat grey** (`oklch(L 0 H)` with zero chroma). Add at least 0.005.
78+
- **Purple-to-cyan gradients, purple-to-blue gradients, orange-to-pink gradients.** Every LLM picks these. Don't.
79+
- **Accent as background fill** covering more than ~5% of any view.
80+
- **Grey text on coloured background.** Always reads washed out.
81+
- **Red–green pairing as the only signal.** Add an icon or pattern.
82+
- **Alpha transparency as the definition of a colour.** If it's a named token, it's opaque. Transparency is a *modifier* for overlays and shadows, not a palette.
83+
- **Three-colour gradients.** Two-stop gradients only. The third stop is vanity.
84+
85+
## Use of the accent
86+
87+
The accent is a highlighter, not a colour block. Reach for it to:
88+
89+
- Mark an active nav item.
90+
- Draw a focus ring.
91+
- Underline a link on hover.
92+
- Indicate a primary CTA's border or text.
93+
- Place a small square beside a heading as a visual anchor.
94+
95+
Do not fill giant buttons with it. Do not set whole sections on it. Do not use it for decorative gradients. If you feel the urge to use more, that's the slop defaulting. Use less.

0 commit comments

Comments
 (0)