@lifeaitools/rdc-skills 0.14.0 → 0.15.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.
- package/.claude-plugin/plugin.json +44 -1
- package/package.json +1 -1
- package/skills/housekeeping/SKILL.md +166 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight unattended builds with work-item tracking and TDD enforcement.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LIFEAI",
|
|
@@ -954,6 +954,49 @@
|
|
|
954
954
|
"enabled_default": true,
|
|
955
955
|
"codeflow_required": false
|
|
956
956
|
},
|
|
957
|
+
"housekeeping": {
|
|
958
|
+
"name": "housekeeping",
|
|
959
|
+
"slash": "rdc:housekeeping",
|
|
960
|
+
"category": "reporting",
|
|
961
|
+
"usage": "rdc:housekeeping [--fix]",
|
|
962
|
+
"args": {
|
|
963
|
+
"positional": [],
|
|
964
|
+
"flags": [
|
|
965
|
+
{
|
|
966
|
+
"name": "--fix",
|
|
967
|
+
"type": "boolean",
|
|
968
|
+
"default": false,
|
|
969
|
+
"description": "Auto-remediate safe issues (scaffold CLAUDE.md, fix PUBLISH.md URLs, create missing dirs)"
|
|
970
|
+
}
|
|
971
|
+
]
|
|
972
|
+
},
|
|
973
|
+
"requires": [
|
|
974
|
+
"supabase",
|
|
975
|
+
"clauth",
|
|
976
|
+
"coolify",
|
|
977
|
+
"git"
|
|
978
|
+
],
|
|
979
|
+
"produces": [
|
|
980
|
+
".rdc/reports/"
|
|
981
|
+
],
|
|
982
|
+
"default_model": "sonnet",
|
|
983
|
+
"triggers": [
|
|
984
|
+
"weekly maintenance",
|
|
985
|
+
"housekeeping",
|
|
986
|
+
"directory structure audit",
|
|
987
|
+
"verify all apps",
|
|
988
|
+
"check repo health",
|
|
989
|
+
"maintenance audit"
|
|
990
|
+
],
|
|
991
|
+
"follows": [],
|
|
992
|
+
"leads_to": [
|
|
993
|
+
"review"
|
|
994
|
+
],
|
|
995
|
+
"sandbox_aware": true,
|
|
996
|
+
"output_contract": "guides/output-contract.md",
|
|
997
|
+
"enabled_default": true,
|
|
998
|
+
"codeflow_required": false
|
|
999
|
+
},
|
|
957
1000
|
"status": {
|
|
958
1001
|
"name": "status",
|
|
959
1002
|
"slash": "rdc:status",
|
package/package.json
CHANGED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rdc:housekeeping
|
|
3
|
+
description: "Usage `rdc:housekeeping [--fix]` — Weekly maintenance audit: directory structure verification, PUBLISH.md URL validation, CLAUDE.md freshness, orphan detection, places compliance, and stale version scan. Produces `.rdc/reports/YYYY-MM-DD-housekeeping.md`. With `--fix`, auto-remediate safe issues."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
7
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
8
|
+
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
9
|
+
|
|
10
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`), then `{PROJECT_ROOT}/.rdc/guides/engineering-behavior.md` (fallback: `{PROJECT_ROOT}/.rdc/guides/engineering-behavior.md`).
|
|
11
|
+
|
|
12
|
+
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# rdc:housekeeping — Weekly Maintenance Audit
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
- Weekly maintenance (Sunday or session start)
|
|
19
|
+
- After large batch of new apps/packages/sites added
|
|
20
|
+
- Before monthly `workspace-intelligence-audit`
|
|
21
|
+
- When disoriented about repo health
|
|
22
|
+
- Called by `rdc:overnight` as a pre-flight if `--housekeeping` flag set
|
|
23
|
+
|
|
24
|
+
## Arguments
|
|
25
|
+
- `rdc:housekeeping` — audit only, report issues
|
|
26
|
+
- `rdc:housekeeping --fix` — auto-remediate safe issues (scaffold missing CLAUDE.md, fix PUBLISH.md URLs, create missing tracker dirs)
|
|
27
|
+
|
|
28
|
+
## Procedure
|
|
29
|
+
|
|
30
|
+
### 1. Directory Structure Verification
|
|
31
|
+
|
|
32
|
+
Scan every deployable target for required files:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
For each dir in apps/*, sites/*, models/*, workers/*, mcp-servers/*, packages/*:
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
| Target Type | Required Files |
|
|
39
|
+
|-------------|---------------|
|
|
40
|
+
| Next.js app (`apps/*` with next.config) | `package.json`, `CLAUDE.md`, `PUBLISH.md`, `tsconfig.json` |
|
|
41
|
+
| Vite SPA (`models/*`, `sites/*` with vite.config) | `package.json`, `CLAUDE.md`, `PUBLISH.md`, `vite.config.js` or `.ts`, `dist/` |
|
|
42
|
+
| Static site (`sites/*` no vite/next) | `index.html`, `CLAUDE.md`, `PUBLISH.md` |
|
|
43
|
+
| Worker (`workers/*`) | `package.json`, `CLAUDE.md`, `wrangler.toml`, `src/index.ts` |
|
|
44
|
+
| MCP server (`mcp-servers/*`) | `package.json`, `CLAUDE.md`, `ARCHITECTURE.md`, `PUBLISH.md` |
|
|
45
|
+
| Package (`packages/*`) | `package.json`, `CLAUDE.md`, `tsconfig.json`, `src/` |
|
|
46
|
+
|
|
47
|
+
Report: `PASS` / `MISSING: <file list>` per target.
|
|
48
|
+
|
|
49
|
+
**With `--fix`:** Scaffold missing CLAUDE.md files using package.json description + src/ inspection (same pattern as the 2026-06-08 audit). Do NOT auto-create PUBLISH.md (requires domain knowledge).
|
|
50
|
+
|
|
51
|
+
### 2. PUBLISH.md URL Validation
|
|
52
|
+
|
|
53
|
+
For every PUBLISH.md that exists:
|
|
54
|
+
|
|
55
|
+
1. Parse frontmatter: extract `entity_slug`, `environments`, `status`
|
|
56
|
+
2. Query `app_deployments` for the slug:
|
|
57
|
+
```sql
|
|
58
|
+
SELECT app_slug, environment, url, host_type FROM app_deployments WHERE app_slug = '<slug>';
|
|
59
|
+
```
|
|
60
|
+
3. Cross-reference: any URL mentioned in the PUBLISH.md body/notes/SURFACE blocks must match the `app_deployments.url` for that environment
|
|
61
|
+
4. Check domain convention compliance (per `.claude/rules/domain-conventions.md`):
|
|
62
|
+
- Real estate projects → `*.dev.place.fund` (dev) / `*.place.fund` (prod)
|
|
63
|
+
- Class-A brands → `dev.<brand>` (dev) / `<brand>` (prod)
|
|
64
|
+
- Internal tools → `*.dev.regendevcorp.com` (dev) / `*.regendevcorp.com` (prod)
|
|
65
|
+
5. Flag mismatches: `MISMATCH: PUBLISH.md says <X>, app_deployments says <Y>`
|
|
66
|
+
|
|
67
|
+
**With `--fix`:** Update PUBLISH.md URLs to match app_deployments (the DB is the source of truth).
|
|
68
|
+
|
|
69
|
+
### 3. CLAUDE.md Freshness Check
|
|
70
|
+
|
|
71
|
+
For each package with a CLAUDE.md:
|
|
72
|
+
1. Get CLAUDE.md last modified date
|
|
73
|
+
2. Get latest src/ modification date
|
|
74
|
+
3. If src/ changed after CLAUDE.md by >30 days, flag: `STALE: CLAUDE.md older than src/ by <N> days`
|
|
75
|
+
4. Check if new exports were added to `src/index.ts` that aren't mentioned in CLAUDE.md
|
|
76
|
+
|
|
77
|
+
**With `--fix`:** Re-scaffold CLAUDE.md from current src/ state.
|
|
78
|
+
|
|
79
|
+
### 4. Package.json Health
|
|
80
|
+
|
|
81
|
+
For each package:
|
|
82
|
+
1. Check `version` — flag `0.0.0` or `0.1.0` on packages with >5 src files as potentially stale
|
|
83
|
+
2. Check `exports` field exists (required for monorepo packages)
|
|
84
|
+
3. Check `name` matches `@regen/<dir-name>` or `@lifeai/<dir-name>` convention
|
|
85
|
+
4. Flag name mismatches between directory and package.json
|
|
86
|
+
|
|
87
|
+
### 5. Places Compliance
|
|
88
|
+
|
|
89
|
+
For each directory under `places/`:
|
|
90
|
+
1. Check PLACE.md exists with valid frontmatter (`schema_version`, `prt_slug`, `project_type`, `research_status`)
|
|
91
|
+
2. Check HISTORY.md exists (required for real-estate project types per `.claude/rules/history-md-convention.md`)
|
|
92
|
+
3. Check `corpus/INDEX.md` exists
|
|
93
|
+
4. Check `tracker/` directory exists with DECISIONS.md + MILESTONES.md
|
|
94
|
+
5. Check `artifacts/` directory exists
|
|
95
|
+
|
|
96
|
+
**With `--fix`:** Scaffold missing PLACE.md from HISTORY.md frontmatter, create missing tracker/corpus dirs.
|
|
97
|
+
|
|
98
|
+
### 6. Orphan Detection
|
|
99
|
+
|
|
100
|
+
1. **Empty/stub directories:** Any target dir with <3 files and no package.json → flag for removal
|
|
101
|
+
2. **Standalone repo drift:** Check `C:/Dev/` for repos that have monorepo copies and compare versions
|
|
102
|
+
3. **Dead app_deployments rows:** Query for slugs with `status='down'` or `status='broken'`
|
|
103
|
+
|
|
104
|
+
### 7. Stale Coolify Apps on .dev URLs
|
|
105
|
+
|
|
106
|
+
Query Coolify API for apps serving `.dev.*` URLs — these should be on PM2 per domain conventions:
|
|
107
|
+
```bash
|
|
108
|
+
TOKEN=$(curl -s http://127.0.0.1:52437/v/coolify-api)
|
|
109
|
+
curl -s -H "Authorization: Bearer $TOKEN" "https://deploy.regendevcorp.com/api/v1/applications" | \
|
|
110
|
+
python3 -c "import sys,json; [print(a['name'], a.get('fqdn','')) for a in json.load(sys.stdin) if '.dev.' in (a.get('fqdn',''))]"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Flag any .dev apps still on Coolify.
|
|
114
|
+
|
|
115
|
+
### 8. Media CDN Hotlink Allowlist
|
|
116
|
+
|
|
117
|
+
Read `workers/media-cdn/src/index.ts` ALLOWED_SUFFIXES. Cross-reference against all class-A brand domains from `app_deployments`:
|
|
118
|
+
```sql
|
|
119
|
+
SELECT DISTINCT url FROM app_deployments WHERE host_type = 'coolify' AND url NOT LIKE '%.place.fund' AND url NOT LIKE '%.regendevcorp.com';
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Flag any class-A domain NOT in ALLOWED_SUFFIXES.
|
|
123
|
+
|
|
124
|
+
**With `--fix`:** Add missing suffixes to ALLOWED_SUFFIXES and redeploy the worker.
|
|
125
|
+
|
|
126
|
+
### 9. Report
|
|
127
|
+
|
|
128
|
+
Write to `.rdc/reports/YYYY-MM-DD-housekeeping.md`:
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
# Housekeeping Report — YYYY-MM-DD
|
|
132
|
+
|
|
133
|
+
## Summary
|
|
134
|
+
| Check | Pass | Fail | Fixed |
|
|
135
|
+
|-------|------|------|-------|
|
|
136
|
+
|
|
137
|
+
## Directory Structure
|
|
138
|
+
<table of targets with issues>
|
|
139
|
+
|
|
140
|
+
## PUBLISH.md URL Validation
|
|
141
|
+
<table of mismatches>
|
|
142
|
+
|
|
143
|
+
## CLAUDE.md Freshness
|
|
144
|
+
<stale entries>
|
|
145
|
+
|
|
146
|
+
## Package Health
|
|
147
|
+
<version/exports/naming issues>
|
|
148
|
+
|
|
149
|
+
## Places Compliance
|
|
150
|
+
<incomplete places>
|
|
151
|
+
|
|
152
|
+
## Orphans
|
|
153
|
+
<empty dirs, dead deployments>
|
|
154
|
+
|
|
155
|
+
## Media CDN
|
|
156
|
+
<missing allowlist entries>
|
|
157
|
+
|
|
158
|
+
## Verdict: CLEAN / HAS_ISSUES
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Rules
|
|
162
|
+
- Never run `pnpm build` — not needed for this audit
|
|
163
|
+
- Never modify app_deployments — the DB is the source of truth; PUBLISH.md conforms to it
|
|
164
|
+
- The `--fix` flag only auto-remediates safe issues (CLAUDE.md scaffold, missing dirs, URL alignment)
|
|
165
|
+
- Architectural changes (name mismatches, dead package removal) are always flagged, never auto-fixed
|
|
166
|
+
- This skill is read-heavy, write-light — most runs are audit-only
|