aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-25 08:39:40 -0500
committerCraig Jennings <c@cjennings.net>2026-05-25 08:39:40 -0500
commit45dda25fe1fcaceb121d47d23419163a59e6a3c1 (patch)
tree4e1bbb7451870bc2e9bab2f2584d53cf96e2d5a4
parenta1adba82e3097f3f1b14b7bb37a6f5579f36585e (diff)
downloadrulesets-45dda25fe1fcaceb121d47d23419163a59e6a3c1.tar.gz
rulesets-45dda25fe1fcaceb121d47d23419163a59e6a3c1.zip
chore(todo): review and stamp ten stale tasks
Re-grade /research-writer to [#C] (deferred until a real research-writing task triggers it) and tag the two MCP tasks :solo:quick:. The rest confirmed as-is.
-rw-r--r--todo.org36
1 files changed, 33 insertions, 3 deletions
diff --git a/todo.org b/todo.org
index 4e810da..fc7a33c 100644
--- a/todo.org
+++ b/todo.org
@@ -770,8 +770,11 @@ write the specification here.
- [ ] Rate-limit / offline mode: if GitHub is unreachable, should skill fail
or degrade gracefully? Likely degrade; print warning per fork.
-** TODO [#B] Build /research-writer — clean-room synthesis for research-backed long-form
+** TODO [#C] Build /research-writer — clean-room synthesis for research-backed long-form
SCHEDULED: <2026-05-15 Fri>
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
Gap in current rulesets: between =brainstorm= (idea refinement → design doc)
and =arch-document= (arc42 technical docs), there's no skill for
@@ -827,6 +830,9 @@ Upstream reference (do not vendor): ComposioHQ/awesome-claude-skills
** TODO [#C] Try Skill Seekers on a real DeepSat docs-briefing need
SCHEDULED: <2026-05-15 Fri>
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
=Skill Seekers= ([[https://github.com/yusufkaraaslan/Skill_Seekers]]) is a Python
CLI + MCP server that ingests 18 source types (docs sites, PDFs, GitHub
@@ -871,6 +877,9 @@ discard and stick with hand briefing.
despite main's 12.9k — ecosystem thinner than headline adoption
** TODO [#C] Revisit =c4-*= rename if a second notation skill ships
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
Current naming keeps =c4-analyze= and =c4-diagram= as-is (framework prefix
encodes the notation; "C4" is a discoverable brand). Suite membership is
@@ -1013,7 +1022,10 @@ having a skill to generate or check OV-1-shaped artifacts. Don't build
speculatively — defense-specific notations are narrow enough that each
skill should be driven by a concrete contract need, not aspiration.
-** TODO [#C] Add =make uninstall-mcp= + =mcp/install.py --check= for symmetry
+** TODO [#C] Add =make uninstall-mcp= + =mcp/install.py --check= for symmetry :solo:quick:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
Currently the MCP install pipeline only flows one direction. No way to remove rulesets-managed MCP servers in one command. No way to ask "what's the drift between =servers.json= and =claude mcp list=" without eyeballing.
@@ -1031,11 +1043,17 @@ Dry-run mode. Decrypt secrets, but instead of registering, print the drift repor
Useful for diagnosing connection failures and for the eventual =make doctor= integration.
-** TODO [#C] Update =README.org= with MCP install pipeline section
+** TODO [#C] Update =README.org= with MCP install pipeline section :solo:quick:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
=README.org= covers global install, per-project language bundles, and design principles, but doesn't mention =make install-mcp= or the =mcp/= directory. Add a short section after "Per-project language bundles" describing the user-scope MCP install pattern (decrypt → expand → register) and pointing at the eventual =mcp/README.org=.
** TODO [#C] Token-rotation helper for =@a-bonus/google-docs-mcp= OAuth refresh
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
When a Google refresh token gets revoked (re-grant scopes, removed Connected App, account password reset), recovery is currently manual: run =npx -y @a-bonus/google-docs-mcp= with the right env, follow the URL in a browser, kill the process, base64-encode the new =token.json=, decrypt =secrets.env.gpg=, replace the var, re-encrypt. A small =mcp/refresh-google-docs-token.sh <profile>= would chain that into one command.
@@ -1058,6 +1076,9 @@ rm /tmp/secrets.env.tmp
The flow tonight worked but took a handful of manual steps. One script collapses it.
** TODO [#C] Decide on category-3 rule copies in the deepsat tree
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
While symlinking personal-project =.claude/rules/= mirrors to the rulesets canonical on 2026-05-07, two locations didn't fit the "personal mirror → symlink" pattern and were left untouched pending judgment:
@@ -1067,6 +1088,9 @@ While symlinking personal-project =.claude/rules/= mirrors to the rulesets canon
For each: read the file, diff against the rulesets canonical, decide whether it's an intentional diverge (leave alone), stale (sync content), or should canonicalize (replace with symlink and accept the cross-repo dependency). The orchestration_dashboard_mvp pair is the project where Vrezh's PR review surfaced this whole thread, so any decision there has team-visibility implications.
** TODO [#C] Audit language-specific rule files for cross-project duplication
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
The four canonical rules (=commits=, =testing=, =verification=, =subagents=) are now symlinked across the five personal-project mirrors as of 2026-05-07. But several language-specific rule files exist in multiple project mirrors and may be duplicated or drifted:
@@ -1077,6 +1101,9 @@ The four canonical rules (=commits=, =testing=, =verification=, =subagents=) are
The Elisp pair is the most suspicious — three repos using essentially the same rules. Audit: diff these across the projects, check for drift, then decide whether to canonicalize them under =~/code/rulesets/claude-rules/languages/<lang>/= and symlink, or leave them as project-local.
** TODO [#C] Consolidate =claude-templates/Makefile= after fold :chore:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
Sibling follow-up from the fold child (2026-05-15). After the subtree merge, =rulesets/claude-templates/Makefile= still has its standalone =install= / =uninstall= / =list= / =test-scripts= targets. The =install= target's =bin/ai= logic is now duplicated in =rulesets/Makefile=. Both work; the redundancy is harmless but worth cleaning up.
@@ -1088,6 +1115,9 @@ Options:
Triggered by: 2026-05-15 fold session's refactor audit (commit =2d645fc=).
** TODO [#C] Refactor =daily-prep.org= to delegate to =triage-intake.org= for the triage section
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-25
+:END:
=daily-prep.org= still does its own inline triage (Gmail × 3 accounts, Slack, Linear, GHE PRs, calendars) as part of the full prep flow. Now that =triage-intake.org= exists as a standalone scan over the same source set, daily-prep could call it and consume its synthesis instead of duplicating the source-scan logic — DRYs up a 57k-line workflow and keeps both flows in sync when sources change.