Polaris boilerplate: PARA vault, AGENTS.md rulebook, eight polaris skills
This commit is contained in:
commit
0ca9086de5
39 changed files with 1829 additions and 0 deletions
145
.agents/skills/polaris-daily/SKILL.md
Normal file
145
.agents/skills/polaris-daily/SKILL.md
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
---
|
||||
name: polaris-daily
|
||||
description: "Close today's daily note in an Polaris vault's 0. Inbox/ and write tomorrow's — or write a weekly sweep. The daily note: Focus, Since the last note, one section per workstream that owes something (where it stands · yours · waiting on · a Notes line), Loose, the open-questions manifest, People with what each is tied to, Standing. Carries unanswered questions with a plain-language count and forces a do-it-or-drop-it choice at the third ask. Hard cap 150 lines. The weekly sweep lists every Area, workstream, thread and person with one line each and room to write. Does not ingest — run polaris-ingest first, polaris-cascade after. Triggers on: daily note, tomorrow's note, close the day, weekly sweep, sweep note."
|
||||
---
|
||||
|
||||
# polaris-daily — the daily note and the weekly sweep
|
||||
|
||||
`hot.md` says what's true. **The daily note says what only the owner can answer, and what's quietly drifting.** It is a working surface: the owner writes into it all day, `polaris-ingest` files what they write, and this skill builds the next one.
|
||||
|
||||
| | Daily note | Weekly sweep |
|
||||
|---|---|---|
|
||||
| **Job** | What's owed today and what's drifting | Everything tracked, one line each, room to write |
|
||||
| **Length** | 150 lines, hard | No cap — one line per item |
|
||||
| **File** | `0. Inbox/YYYY-MM-DD daily.md` | `0. Inbox/YYYY-MM-DD weekly-sweep.md` |
|
||||
| **Tag** | `daily-note` | `weekly-sweep` |
|
||||
| **Skeleton** | `6. Templates/daily-note.md` | `6. Templates/weekly-sweep.md` |
|
||||
|
||||
**The usual sequence at close of day:** `ingest` → `daily note` → `cascade`.
|
||||
|
||||
⛔ Fenced paths (`AGENTS.md`, *Fences*) are named, never read.
|
||||
|
||||
---
|
||||
|
||||
## Before anything: is the current note fully filed?
|
||||
|
||||
Check every `>` line in the current note. **A question or `> Notes:` line with text after it and no `✓ filed` marker means ingest hasn't run. Stop and say so.** Generating a successor around unfiled text loses it.
|
||||
|
||||
**If a hold is open** (`wiki/meta/holds.md`): don't generate a note unprompted. If asked, render no ages, don't increment ask counts, and say at the top that a hold is open and nothing is late.
|
||||
|
||||
---
|
||||
|
||||
## Daily note
|
||||
|
||||
### 1. Read
|
||||
|
||||
The current note and the last week of notes (current first) · every live `*_hub.md` · `3. Resources/People/` · `3. Resources/Threads/` · open decisions in `4. Decisions/` · `wiki/meta/open-questions.md` · `wiki/meta/holds.md` · `wiki/log.md` entries since the last note.
|
||||
|
||||
### 2. Carry what wasn't answered
|
||||
|
||||
For every `>` line in the current note:
|
||||
|
||||
| State | Action |
|
||||
|---|---|
|
||||
| Answered, `✓ filed` | Done. Don't carry |
|
||||
| `> Notes:` with text, `✓ filed` | Done |
|
||||
| Blank question | **Carry it.** Increment its count |
|
||||
| Deferred ("not now", a date) | Carry with the date given |
|
||||
| Empty `> Notes:` | Ignore |
|
||||
|
||||
**Every carried item says how many notes have asked it:** `asked 3 times since Jan 5`. **A blank is data, not a failure — never nag.**
|
||||
|
||||
⚠ **At the third ask, the item becomes a forced choice: do it, or drop it.** Something carried three times isn't a task; it's a decision nobody has made. "Carry it again" is not an option.
|
||||
|
||||
### 3. Gather state
|
||||
|
||||
- **Sends and waits** from live hubs' `next:` — same ageing and hold rules as cascade.
|
||||
- **Workstreams:** ⚠ **an `open` workstream gets a section only when something is owed on it today, the owner worked on it, or something external moved it.** Listing every open workstream daily is a nag list. The weekly sweep lists all of them.
|
||||
- **People:** relationship tier — overdue, due today, due within 7 days — **and for each, what they're tied to** (a workstream, a send, a thread), read from their page and the hubs that name them. Never inferred. Spent follow-ups compute a live date → `_contracts.md`.
|
||||
- **Open questions:** the full register.
|
||||
|
||||
### 4. Surface something — only if it's real
|
||||
|
||||
One to three findings from the vault that sit on no tracked list: two blocked items that are really one conversation · a person best placed to answer a question nobody asked them · a claim asserted and never verified · a follow-up pointing at work that has closed. Put each inside the workstream it concerns, or under `## Loose`.
|
||||
|
||||
**If nothing qualifies, surface nothing.** Padding teaches the owner to skim the one part worth reading.
|
||||
|
||||
### 5. Write it
|
||||
|
||||
Sections, in order:
|
||||
|
||||
1. **`## Focus`** — what today is about. Three lines, no lists.
|
||||
2. **`## Since the last note`** — up to five bullets. Omit if nothing changed.
|
||||
3. **One `##` per workstream that owes something** — the owner's own work first, then work waiting on others:
|
||||
|
||||
```markdown
|
||||
## WEB-3 · Pricing Page — quote owed to the designer
|
||||
|
||||
**Where it stands:** one or two plain sentences. → [[<hub path>|hub]]
|
||||
|
||||
**Yours:**
|
||||
- [ ] Send Sam the revised quote — 6 days, asked twice since Jan 5
|
||||
|
||||
**Waiting on:** Sam Example — copy review, 3 days · or nobody
|
||||
|
||||
> Notes:
|
||||
```
|
||||
|
||||
The heading is **ID · Name — what is actually owed**. `Where it stands`, `Yours` and `Waiting on` always appear. Every workstream section ends with `> Notes:`.
|
||||
4. **`## Loose`** — real items belonging to no single workstream, one `###` each, each ending `> Notes:`. Omit if empty.
|
||||
5. **`## Open questions — N live`** — every live question from the register, numbered, `- [ ]` where the owner can close it. Every note.
|
||||
6. **`## People`** — `N armed · N overdue · N defects`, then Overdue (oldest first) and Due in the next 7 days, each with what they're tied to. **Say plainly when a follow-up points at closed work.** Every note — "nobody is due" is an answer.
|
||||
7. **`## Standing`** — holds, structural facts. Three lines max.
|
||||
|
||||
### Question blocks — three tests
|
||||
|
||||
A `> **Question?**` block is how the owner answers things. Every block must pass all three:
|
||||
|
||||
1. **Is it the owner's to decide?** If you can act, act.
|
||||
2. **Does anything change based on the answer?** If both answers lead to the same action, there's no question.
|
||||
3. **Is the premise still live?**
|
||||
|
||||
**If you can't write the question, there isn't one.** Keep the finding, drop the block. `> Notes:` lines aren't questions and are exempt.
|
||||
|
||||
### Format
|
||||
|
||||
- **Plain language.** `asked 3 times since Jan 5`, `19 days`, `12 days overdue (Jan 3)`. Only `✓ filed` and IDs stay machine-shaped.
|
||||
- Real `##`/`###` headings for every section — they're how the note is navigated and collapsed.
|
||||
- **Bold** for the decision point and the three labels. At most two or three ⚠ in the whole note.
|
||||
- **Don't reproduce `hot.md`'s tables.** A send named inside its own workstream is context, not restatement.
|
||||
- **150 lines, hard.** Cut in this order: context the owner already knows · prose restating a question · *Since the last note* to three bullets · surfaced findings beyond the strongest two.
|
||||
|
||||
### 6. Retire the old note
|
||||
|
||||
**Only after the new note exists on disk**, move the old one to `0. Inbox/processed/YYYY-MM/`. Refuse, and say why, if any line is unfiled or the successor wasn't written. **This skill is the only thing that retires a daily note.**
|
||||
|
||||
---
|
||||
|
||||
## Weekly sweep
|
||||
|
||||
On request (`weekly sweep`), or offered in `## Standing` when a week has passed since the last one. **Never auto-generated.**
|
||||
|
||||
**Everything, one line each**, from `6. Templates/weekly-sweep.md`:
|
||||
|
||||
- **Every standing Area**, with **every workstream** under it — open and paused, status named. Fenced Areas named with no contents.
|
||||
- **Every thread.**
|
||||
- **Every person:** relationship tier individually, with what they're tied to · **Released** — relationship-tier people named on a `Released:` line in `wiki/log.md` since the last sweep (written by `polaris-close`/`polaris-archive`), or whose follow-up points only at closed work · contacts grouped by Area, one line each (`Unplaced` for people tied to nothing live).
|
||||
- **A `> Notes:` line under every workstream and thread**, and one per contact group.
|
||||
- **The open-questions manifest.**
|
||||
|
||||
A checkbox means **reviewed**, not a task. A ticked box with no note means nothing changed. **Tier and follow-up dates are the owner's call** — the sweep lists, it doesn't change them.
|
||||
|
||||
**Retiring a sweep:** when the next sweep is generated or the owner says it's done — and only once every Notes line with text is `✓ filed`.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- **Never generate a successor around unfiled text.**
|
||||
- **Blank is data. Carry it, count it, never nag. Three asks forces do-it-or-drop-it.**
|
||||
- **Workstream sections: Where it stands · Yours · Waiting on · Notes.** Same shape every time.
|
||||
- **People lines say what each person is tied to.**
|
||||
- **Surfaced findings are real or absent.**
|
||||
- **150 lines for the daily note.** One line per item for the sweep.
|
||||
- **An open hold suppresses every age and freezes ask counts.**
|
||||
- **Doesn't ingest, doesn't cascade.** Only this skill retires a daily note or sweep.
|
||||
Loading…
Add table
Add a link
Reference in a new issue