@simpleapps-com/augur-skills 2026.4.15 → 2026.4.16
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/package.json
CHANGED
|
@@ -56,7 +56,7 @@ The parent `{project}/` is NOT a git repo. It keeps code and wiki side-by-side.
|
|
|
56
56
|
| Temporary files | `tmp/` | Scratch space: commit msgs, PR bodies, intermediate output. Full access. |
|
|
57
57
|
| SimpleApps config | `.simpleapps/` | Settings, site profile, credentials (see below) |
|
|
58
58
|
|
|
59
|
-
**WIP**: Research, plans, decisions, test results. MUST NOT contain secrets, final docs, or code.
|
|
59
|
+
**WIP**: Research, plans, decisions, test results. MUST NOT contain secrets, final docs, or code. See `simpleapps:wip` for the frontmatter schema, status lifecycle, retention rule, and daily processing via `/process-wips`.
|
|
60
60
|
|
|
61
61
|
**tmp/**: Fully available for scratch work: commit messages, PR bodies, issue comments, intermediate output, and any throwaway files. Read, write, and delete freely without asking. Create the folder if missing. Clean up files after use.
|
|
62
62
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wip
|
|
3
|
+
description: WIP file conventions. Frontmatter schema, status lifecycle, retention, promotion to wiki, and daily processing rules. Use when creating, updating, or retiring files in wip/.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# WIP
|
|
7
|
+
|
|
8
|
+
WIP files (`wip/*.md`) hold active task context: the issue or request, investigation notes, the plan, implementation decisions, and post-ship notes. They are gitignored and local to each project. This skill defines the format and lifecycle so tools and agents treat them consistently.
|
|
9
|
+
|
|
10
|
+
## Frontmatter schema
|
|
11
|
+
|
|
12
|
+
Every WIP file MUST start with YAML frontmatter. The `/wip` command writes it on scaffold; other commands update it as the work progresses.
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
---
|
|
16
|
+
issue: https://github.com/simpleapps-com/<repo>/issues/<N>
|
|
17
|
+
branch: <type>/<N>-<slug>
|
|
18
|
+
status: open
|
|
19
|
+
created: 2026-04-22
|
|
20
|
+
last_reviewed: 2026-04-22
|
|
21
|
+
shipped_at:
|
|
22
|
+
pr:
|
|
23
|
+
disposition:
|
|
24
|
+
wiki_candidates:
|
|
25
|
+
---
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Fields:
|
|
29
|
+
|
|
30
|
+
| Field | Values | Written by | Notes |
|
|
31
|
+
|-------|--------|------------|-------|
|
|
32
|
+
| `issue` | URL or empty | `/wip` | GitHub URL, Basecamp URL, or empty for freeform WIPs |
|
|
33
|
+
| `branch` | string | `/wip`, `/implement` | Feature branch the work lands on |
|
|
34
|
+
| `status` | `open` \| `in-progress` \| `shipped` \| `abandoned` | lifecycle commands | See state machine below |
|
|
35
|
+
| `created` | ISO date | `/wip` | Never changes |
|
|
36
|
+
| `last_reviewed` | ISO date | every lifecycle command | Used to detect stale WIPs |
|
|
37
|
+
| `shipped_at` | ISO date or empty | `/submit` (after CI green) | Set exactly once, when status flips to `shipped` |
|
|
38
|
+
| `pr` | URL or SHA | `/submit` | PR URL if one exists, otherwise the commit SHA |
|
|
39
|
+
| `disposition` | `keep` \| `promote` \| `delete` or empty | `/process-wips` or user | Empty means "not yet decided" |
|
|
40
|
+
| `wiki_candidates` | comma-separated wiki page names | `/process-wips` (draft) or user | Optional; only meaningful when `disposition: promote` |
|
|
41
|
+
|
|
42
|
+
Freeform WIPs (no issue) leave `issue`, `branch`, and `pr` empty. Everything else still applies.
|
|
43
|
+
|
|
44
|
+
## Status lifecycle
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
open ──┬─▶ in-progress ──▶ shipped ──▶ (retained 7d) ──▶ retired
|
|
48
|
+
└─▶ abandoned ──▶ (retained 7d) ──▶ retired
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
| Status | Set when | Set by |
|
|
52
|
+
|--------|----------|--------|
|
|
53
|
+
| `open` | Scaffold — issue exists, no work started | `/wip` |
|
|
54
|
+
| `in-progress` | Research or code work is underway | `/investigate`, `/implement` |
|
|
55
|
+
| `shipped` | Work is on main and CI is green | `/submit` (after push + CI pass) |
|
|
56
|
+
| `abandoned` | User decides not to pursue | User edits manually, or `/process-wips` on request |
|
|
57
|
+
|
|
58
|
+
`/implement` marks `in-progress` on entry (it's starting work). `/submit` marks `shipped` only after confirming the push landed and CI went green; if either fails it leaves status unchanged so the user can re-run after fixing.
|
|
59
|
+
|
|
60
|
+
## Retention rule
|
|
61
|
+
|
|
62
|
+
A shipped or abandoned WIP is retained for **7 days** after `shipped_at` (or the date abandoned) to give the user time to lift content into the wiki. After 7 days:
|
|
63
|
+
|
|
64
|
+
- `disposition: delete` → auto-deleted by `/process-wips`
|
|
65
|
+
- `disposition: promote` → flagged for interactive review; deleted once promotion completes
|
|
66
|
+
- `disposition:` empty → flagged for interactive review; the user chooses between promote and delete in the review table
|
|
67
|
+
|
|
68
|
+
`open` and `in-progress` WIPs are never auto-deleted. `last_reviewed` is advisory: if it has not moved in 30 days, `/process-wips` surfaces the file with a "stale, likely abandoned" note for the user to confirm.
|
|
69
|
+
|
|
70
|
+
## Daily processing (`/process-wips`)
|
|
71
|
+
|
|
72
|
+
`/process-wips` walks `wip/*.md` and classifies each file into one of three buckets based on frontmatter plus ground truth (gh issue state, branch merge, `shipped_at` age):
|
|
73
|
+
|
|
74
|
+
1. **Auto-delete** (silent, reported in summary): `status: shipped` or `abandoned`, `shipped_at` > 7 days ago, `disposition: delete`. Deleted without prompting.
|
|
75
|
+
2. **Confirm promotion** (interactive, per-row): `disposition: promote` and older than 7 days. The command drafts the proposed wiki edit (which page, what content), shows it to the user, and writes on `y`. Delete the WIP after the wiki commits.
|
|
76
|
+
3. **Leave alone** (no action): anything with `status` in `open`/`in-progress`, or shipped/abandoned within the 7-day window, or with `disposition` empty and recently shipped.
|
|
77
|
+
|
|
78
|
+
### Reconciliation
|
|
79
|
+
|
|
80
|
+
Before classifying, the command reconciles frontmatter against ground truth and overwrites stale fields:
|
|
81
|
+
|
|
82
|
+
- If `issue` is set and `gh issue view` shows `state: CLOSED` but the WIP still reads `status: open`/`in-progress`, flip to `shipped` and set `shipped_at` to the issue's `closed_at`.
|
|
83
|
+
- If `branch` is set and `git log origin/main` shows it merged, the work shipped even if the frontmatter claims otherwise.
|
|
84
|
+
- If no frontmatter exists at all (legacy file), the command treats the whole file as the migration case: read the file, infer initial values, write frontmatter, set `last_reviewed` to today, report as migrated.
|
|
85
|
+
|
|
86
|
+
Reconciliation runs on every invocation so users can edit source of truth (GitHub) and let the daily run propagate.
|
|
87
|
+
|
|
88
|
+
## Promotion to wiki
|
|
89
|
+
|
|
90
|
+
A WIP is worth promoting when it contains **evergreen content**: new conventions, gotchas, architectural decisions, patterns other agents will encounter again. Task-specific details (the exact PR, the exact bug, the specific file paths) are NOT evergreen and should be left to delete.
|
|
91
|
+
|
|
92
|
+
When the user marks `disposition: promote`, the agent's job at `/process-wips` time is to:
|
|
93
|
+
|
|
94
|
+
1. Scan the WIP for sections that generalize (Analysis > Suggested approach, Research > "gotcha" notes, Implementation > Deviations with reasoning).
|
|
95
|
+
2. Match those against existing wiki pages (`wiki/*.md`). If a page exists on the topic, propose an append or inline edit. If no page fits, propose a new page and note it in the draft.
|
|
96
|
+
3. Draft the exact wiki edit (full new content, not a summary) and present it for user confirmation before writing.
|
|
97
|
+
4. After the user approves and the wiki edit commits, delete the WIP.
|
|
98
|
+
|
|
99
|
+
Do NOT promote the whole WIP. A WIP is scaffolding; only the load-bearing bits belong in the wiki. If no section generalizes, change `disposition` to `delete` and let the next run clean it up.
|
|
100
|
+
|
|
101
|
+
## Freeform WIPs
|
|
102
|
+
|
|
103
|
+
Not every WIP has an issue. Investigation notes, spike results, meeting takeaways, and one-off plans are legitimate. Freeform WIPs:
|
|
104
|
+
|
|
105
|
+
- Leave `issue`, `branch`, and `pr` empty
|
|
106
|
+
- Use a descriptive filename (no `GH`/`BC` prefix) like `wip/bin-scripts-and-tmux.md`
|
|
107
|
+
- Still have `status`, `created`, `last_reviewed`, `disposition`
|
|
108
|
+
- Transition to `shipped` manually when the user is done, or `abandoned` when the user walks away
|
|
109
|
+
|
|
110
|
+
They follow the same retention rule once `status` is terminal. `/process-wips` leaves them alone while `status` is `open` or `in-progress`.
|
|
111
|
+
|
|
112
|
+
## What NOT to put in a WIP
|
|
113
|
+
|
|
114
|
+
- Secrets, tokens, credentials
|
|
115
|
+
- Final user-facing documentation (that's the wiki)
|
|
116
|
+
- Production code (that's the repo)
|
|
117
|
+
- Large binary attachments (link to them instead)
|
|
118
|
+
|
|
119
|
+
## Related
|
|
120
|
+
|
|
121
|
+
- `/wip` — scaffold a WIP from an issue or URL; writes frontmatter
|
|
122
|
+
- `/investigate` — research; bumps `last_reviewed`, sets `status: in-progress`
|
|
123
|
+
- `/implement` — build; bumps `last_reviewed`, keeps `status: in-progress`
|
|
124
|
+
- `/submit` — commit and push; after CI green, flips `status: shipped` and fills `shipped_at` / `pr`
|
|
125
|
+
- `/process-wips` — daily reconciliation and retention pass
|
|
@@ -92,6 +92,8 @@ The three shipping commands (`/submit`, `/deploy`, `/publish`) read project-spec
|
|
|
92
92
|
|
|
93
93
|
Commands like `/research` and `/discuss` can be used at any stage. `/quality`, `/verify`, `/curate-wiki`, and `/wiki-audit` can run independently.
|
|
94
94
|
|
|
95
|
+
`/process-wips` runs daily (outside the lifecycle above) to reconcile WIP frontmatter with ground truth, auto-delete shipped WIPs older than 7 days, and confirm wiki promotions. See `simpleapps:wip` for the frontmatter schema and retention rule.
|
|
96
|
+
|
|
95
97
|
## References
|
|
96
98
|
|
|
97
99
|
- See `simpleapps:basecamp` skill for MCP tools, Chrome fallback, and Basecamp navigation
|