claude-dev-env 1.68.0 → 1.69.1
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/_shared/CLAUDE.md +13 -0
- package/_shared/pr-loop/CLAUDE.md +24 -0
- package/_shared/pr-loop/scripts/CLAUDE.md +30 -0
- package/_shared/pr-loop/scripts/pr_loop_shared_constants/CLAUDE.md +21 -0
- package/_shared/pr-loop/scripts/tests/CLAUDE.md +32 -0
- package/agents/CLAUDE.md +29 -0
- package/audit-rubrics/CLAUDE.md +41 -0
- package/audit-rubrics/category_rubrics/CLAUDE.md +36 -0
- package/audit-rubrics/prompts/CLAUDE.md +36 -0
- package/bin/CLAUDE.md +28 -0
- package/commands/CLAUDE.md +25 -0
- package/docs/CLAUDE.md +28 -0
- package/docs/references/CLAUDE.md +13 -0
- package/hooks/CLAUDE.md +31 -0
- package/hooks/advisory/CLAUDE.md +16 -0
- package/hooks/blocking/CLAUDE.md +107 -0
- package/hooks/blocking/code_rules_constants_config.py +7 -4
- package/hooks/blocking/code_rules_dead_config_field.py +284 -50
- package/hooks/blocking/code_rules_docstrings.py +97 -0
- package/hooks/blocking/code_rules_enforcer.py +4 -0
- package/hooks/blocking/config/CLAUDE.md +22 -0
- package/hooks/blocking/test_code_rules_enforcer_class_docstring_methods.py +262 -0
- package/hooks/blocking/test_code_rules_enforcer_dead_config_field.py +336 -3
- package/hooks/blocking/test_code_rules_enforcer_dead_module_constant.py +36 -0
- package/hooks/blocking/test_code_rules_enforcer_file_global_constants.py +9 -0
- package/hooks/diagnostic/CLAUDE.md +43 -0
- package/hooks/diagnostic/migrations/CLAUDE.md +16 -0
- package/hooks/diagnostic/queries/CLAUDE.md +19 -0
- package/hooks/git-hooks/CLAUDE.md +28 -0
- package/hooks/git-hooks/git_hooks_constants/CLAUDE.md +21 -0
- package/hooks/hooks_constants/CLAUDE.md +60 -0
- package/hooks/hooks_constants/blocking_check_limits.py +2 -0
- package/hooks/lifecycle/CLAUDE.md +18 -0
- package/hooks/observability/CLAUDE.md +16 -0
- package/hooks/session/CLAUDE.md +21 -0
- package/hooks/validation/CLAUDE.md +19 -0
- package/hooks/validators/CLAUDE.md +49 -0
- package/hooks/workflow/CLAUDE.md +22 -0
- package/package.json +1 -1
- package/rules/CLAUDE.md +46 -0
- package/rules/docstring-prose-matches-implementation.md +1 -1
- package/scripts/CLAUDE.md +34 -0
- package/scripts/dev_env_scripts_constants/CLAUDE.md +14 -0
- package/scripts/sync_to_cursor/CLAUDE.md +23 -0
- package/scripts/tests/CLAUDE.md +18 -0
- package/skills/CLAUDE.md +66 -0
- package/skills/_shared/CLAUDE.md +11 -0
- package/skills/_shared/pr-loop/CLAUDE.md +27 -0
- package/skills/_shared/pr-loop/prompts/CLAUDE.md +9 -0
- package/skills/_shared/pr-loop/scripts/CLAUDE.md +23 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +19 -0
- package/skills/anthropic-plan/CLAUDE.md +34 -0
- package/skills/anthropic-plan/SKILL.md +1 -1
- package/skills/anthropic-plan/scripts/CLAUDE.md +11 -0
- package/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/CLAUDE.md +16 -0
- package/skills/anthropic-plan/templates/CLAUDE.md +13 -0
- package/skills/anthropic-plan/workflow/CLAUDE.md +14 -0
- package/skills/auditing-claude-config/CLAUDE.md +20 -0
- package/skills/autoconverge/CLAUDE.md +30 -0
- package/skills/autoconverge/reference/CLAUDE.md +12 -0
- package/skills/autoconverge/workflow/CLAUDE.md +23 -0
- package/skills/autoconverge/workflow/autoconverge_report_constants/CLAUDE.md +16 -0
- package/skills/bdd-protocol/CLAUDE.md +26 -0
- package/skills/bdd-protocol/references/CLAUDE.md +10 -0
- package/skills/bg-agent/CLAUDE.md +17 -0
- package/skills/bugteam/CLAUDE.md +30 -0
- package/skills/bugteam/reference/CLAUDE.md +22 -0
- package/skills/bugteam/reference/obstacles/CLAUDE.md +24 -0
- package/skills/bugteam/scripts/CLAUDE.md +36 -0
- package/skills/bugteam/scripts/bugteam_scripts_constants/CLAUDE.md +20 -0
- package/skills/caveman/CLAUDE.md +15 -0
- package/skills/code/CLAUDE.md +17 -0
- package/skills/copilot-review/CLAUDE.md +17 -0
- package/skills/deep-research/CLAUDE.md +17 -0
- package/skills/doc-gist/CLAUDE.md +25 -0
- package/skills/doc-gist/references/CLAUDE.md +9 -0
- package/skills/doc-gist/references/examples/CLAUDE.md +25 -0
- package/skills/doc-gist/scripts/CLAUDE.md +27 -0
- package/skills/doc-gist/scripts/doc_gist_scripts_constants/CLAUDE.md +10 -0
- package/skills/everything-search/CLAUDE.md +17 -0
- package/skills/findbugs/CLAUDE.md +20 -0
- package/skills/fixbugs/CLAUDE.md +19 -0
- package/skills/fresh-branch/CLAUDE.md +15 -0
- package/skills/gh-paginate/CLAUDE.md +18 -0
- package/skills/gotcha/CLAUDE.md +33 -0
- package/skills/implement/CLAUDE.md +27 -0
- package/skills/implement/scripts/CLAUDE.md +22 -0
- package/skills/implement/scripts/implement_scripts_constants/CLAUDE.md +22 -0
- package/skills/logifix/CLAUDE.md +36 -0
- package/skills/logifix/scripts/CLAUDE.md +16 -0
- package/skills/monitor-open-prs/CLAUDE.md +34 -0
- package/skills/monitor-open-prs/scripts/CLAUDE.md +17 -0
- package/skills/pr-consistency-audit/CLAUDE.md +34 -0
- package/skills/pr-consistency-audit/reference/CLAUDE.md +16 -0
- package/skills/pr-converge/CLAUDE.md +29 -0
- package/skills/pr-converge/pr_converge_skill_constants/CLAUDE.md +26 -0
- package/skills/pr-converge/reference/CLAUDE.md +27 -0
- package/skills/pr-converge/reference/obstacles/CLAUDE.md +23 -0
- package/skills/pr-converge/scripts/CLAUDE.md +36 -0
- package/skills/pr-converge/scripts/pr_converge_scripts_constants/CLAUDE.md +17 -0
- package/skills/pr-converge/workflows/CLAUDE.md +16 -0
- package/skills/pr-review-responder/CLAUDE.md +35 -0
- package/skills/pre-compact/CLAUDE.md +24 -0
- package/skills/qbug/CLAUDE.md +40 -0
- package/skills/rebase/CLAUDE.md +32 -0
- package/skills/recall/CLAUDE.md +30 -0
- package/skills/refine/CLAUDE.md +44 -0
- package/skills/refine/templates/CLAUDE.md +17 -0
- package/skills/remember/CLAUDE.md +31 -0
- package/skills/research-mode/CLAUDE.md +35 -0
- package/skills/session-log/CLAUDE.md +31 -0
- package/skills/session-tidy/CLAUDE.md +36 -0
- package/skills/skill-builder/CLAUDE.md +45 -0
- package/skills/skill-builder/references/CLAUDE.md +19 -0
- package/skills/skill-builder/templates/CLAUDE.md +14 -0
- package/skills/skill-builder/workflows/CLAUDE.md +17 -0
- package/skills/structure-prompt/CLAUDE.md +42 -0
- package/skills/structure-prompt/reference/CLAUDE.md +28 -0
- package/skills/task-build/CLAUDE.md +28 -0
- package/skills/update/CLAUDE.md +38 -0
- package/skills/verified-build/CLAUDE.md +33 -0
- package/system-prompts/CLAUDE.md +17 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# pr-review-responder
|
|
2
|
+
|
|
3
|
+
Mandatory systematic protocol for responding to GitHub PR review comments.
|
|
4
|
+
|
|
5
|
+
**Trigger:** "address feedback", "fix review comments", "respond to code review", "handle PR feedback", "reply to reviewer".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Prevents missed review comments by enforcing a strict fetch-then-checklist-then-fix order. The skill is declared `MANDATORY` — any PR review response that skips it is an automatic failure per the skill body.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — the seven mandatory rules and the final report format |
|
|
16
|
+
| `EXAMPLES.md` | Concrete good and bad reply examples |
|
|
17
|
+
| `PRINCIPLES.md` | Design rationale behind the protocol |
|
|
18
|
+
| `README.md` | Overview for readers new to the skill |
|
|
19
|
+
| `TESTING.md` | Testing guidance for the skill |
|
|
20
|
+
|
|
21
|
+
## Seven mandatory rules
|
|
22
|
+
|
|
23
|
+
1. Fetch ALL review comments with `per_page=100` before touching any file.
|
|
24
|
+
2. Create a `TodoWrite` checklist — one item per comment — before any fix.
|
|
25
|
+
3. Fix one comment at a time, marking each todo complete before moving on.
|
|
26
|
+
4. Write reply text for every comment; never post directly.
|
|
27
|
+
5. Create ONE new commit for all fixes from this review round; never squash with the original.
|
|
28
|
+
6. Push — the git pre-push hook fires automatically.
|
|
29
|
+
7. Verify the draft count matches the comment count before reporting done.
|
|
30
|
+
|
|
31
|
+
## Conventions
|
|
32
|
+
|
|
33
|
+
- GitHub MCP (`pull_request_read`) with `per_page=100` is the required fetch path.
|
|
34
|
+
- Draft replies are presented for the user to post; Claude never posts them directly.
|
|
35
|
+
- The pre-push hook (`npx claude-dev-env`) runs on `git push` with no manual invocation.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# pre-compact
|
|
2
|
+
|
|
3
|
+
Composes the `/compact` focus directive for the current session and copies the full `/compact <directive>` string to the clipboard.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/pre-compact` or any request to "prep for compaction".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
`/compact [instructions]` accepts a directive that steers the compaction summarizer toward high-signal content. This skill builds that directive from live session state — validated against the actual git branch, PR, HEAD SHA, and worktree path — and delivers it ready to paste.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — five steps (confirm intent, validate live state, write directive, copy to clipboard, hand off). No companion files. |
|
|
16
|
+
|
|
17
|
+
## How the skill runs
|
|
18
|
+
|
|
19
|
+
1. Asks the operator what they plan to work on next (via `AskUserQuestion`).
|
|
20
|
+
2. Reads each identifier live (`git branch --show-current`, `git rev-parse --short HEAD`, `gh pr view`, `pwd`) rather than relying on conversation context.
|
|
21
|
+
3. Produces a `Preserve:` block scoped to what the next task actually needs.
|
|
22
|
+
4. Writes the full `/compact <directive>` string to a temp file, copies it via `pwsh Set-Clipboard`, then cleans up.
|
|
23
|
+
|
|
24
|
+
`disable-model-invocation: true` is set — this skill runs without a secondary LLM call; it is pure procedural text assembly.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# qbug
|
|
2
|
+
|
|
3
|
+
Quick baseline PR audit: one clean-coder subagent loops audit → fix → commit → push until the PR is clean or stuck.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/qbug`, "quick bug audit", "solo bug audit", "baseline PR review", "bugteam without a team".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
`/qbug` is the required baseline review for every new PR. It runs the same A–N bug category rubric and CODE_RULES gate as `/bugteam` but with a single persistent subagent (no TeamCreate, no per-loop clean-room, no loop cap). Escalate to `/bugteam` when bias isolation across loops matters.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — four steps (pre-flight, resolve PR scope, spawn subagent cycle, final report). Self-contained with full subagent XML prompt inline. |
|
|
16
|
+
|
|
17
|
+
## Shared artifacts (referenced by path, not copied)
|
|
18
|
+
|
|
19
|
+
The skill references shared scripts from `../_shared/pr-loop/scripts/`:
|
|
20
|
+
|
|
21
|
+
| Script | Role |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `preflight.py` | Git hooks path check, pytest, optional pre-commit |
|
|
24
|
+
| `code_rules_gate.py` | CODE_RULES gate run before every AUDIT |
|
|
25
|
+
| `post_audit_thread.py` | Posts one GitHub review per loop (APPROVE or REQUEST_CHANGES) |
|
|
26
|
+
| `audit-reply-template.md` | Unified reply body shape for resolved threads |
|
|
27
|
+
|
|
28
|
+
Bug category rubric A–N lives at `../bugteam/PROMPTS.md`. Audit contract (finding schema, proof-of-absence, Haiku secondary, self-audit) lives at `../bugteam/reference/audit-contract.md`.
|
|
29
|
+
|
|
30
|
+
## Subagent structure
|
|
31
|
+
|
|
32
|
+
- **Primary:** `clean-coder` — runs the full audit → fix → commit → push cycle internally.
|
|
33
|
+
- **Secondary:** `code-quality-agent` (Haiku model) — audit-only, read-only; findings merged before FIX step.
|
|
34
|
+
- No `TeamCreate`. No loop cap. Exits on `converged`, `stuck`, or `error`.
|
|
35
|
+
|
|
36
|
+
## Conventions
|
|
37
|
+
|
|
38
|
+
- The lead resolves the temp directory via Python's `tempfile.gettempdir()` and passes the absolute path to the subagent.
|
|
39
|
+
- Each loop: one `code_rules_gate.py` pre-audit, one GitHub review posted, one commit on fix.
|
|
40
|
+
- Self-PR toggle: `post_audit_thread.py` detects author-equals-reviewer and switches to an alternate `gh` account automatically.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# rebase
|
|
2
|
+
|
|
3
|
+
Rebase a branch onto its base ref with verification gates that catch logically broken results before pushing.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/rebase`, "rebase this branch", "PR has merge conflicts", "rebase onto main", force-push to update remote branch history.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
The default failure mode for a rebase is shipping code that compiled but does not run. This skill prevents that by running real import checks, test collection, and symbol scans after every rebase — not just syntax validation.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — four phases (pre-rebase analysis, during rebase, verification gates, push). No companion files. |
|
|
16
|
+
|
|
17
|
+
## Four phases
|
|
18
|
+
|
|
19
|
+
| Phase | Key actions |
|
|
20
|
+
|---|---|
|
|
21
|
+
| 1 — Pre-rebase analysis | Resolve base via `gh pr view`, classify scenario (stacked/squash/long-lived), fetch fresh, scan commit messages for deleted/renamed symbols |
|
|
22
|
+
| 2 — During rebase | Verify `--skip` with a diff, audit auto-merged files with `git diff --name-only --diff-filter=M ORIG_HEAD` |
|
|
23
|
+
| 3 — Verification gates | `python -m compileall`, `pytest --collect-only -q`, targeted test run, reference scan for removals |
|
|
24
|
+
| 4 — Push | Explicit authorization required; `--force-with-lease=<branch>:<sha>` only; verify mergeability after push |
|
|
25
|
+
|
|
26
|
+
## Conventions
|
|
27
|
+
|
|
28
|
+
- Force-push requires explicit operator authorization every time — auto mode does not bypass this.
|
|
29
|
+
- `--force-with-lease=<branch>:<sha>` only; bare `--force` is refused.
|
|
30
|
+
- Never force-push `main`, `master`, `release/*`, `production`, or any multi-author branch.
|
|
31
|
+
- Symbol scans prefer Serena (`find_referencing_symbols`) then the Grep tool, then shell grep as a last resort.
|
|
32
|
+
- `ORIG_HEAD` is the correct ref for auto-merged file audits mid-rebase; `HEAD@{1}` shifts per step.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# recall
|
|
2
|
+
|
|
3
|
+
Retrieves prior session context and decisions from the Obsidian vault for the current project.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/recall [search query or project name]`.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Surfaces relevant session reports, decision notes, and research from the Obsidian vault before starting work. Prevents repeating decisions already made or missing known gotchas.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — six steps (resolve query, frontmatter search, content search, read top matches, present with attribution, handle no results). No companion files. |
|
|
16
|
+
|
|
17
|
+
## How the skill runs
|
|
18
|
+
|
|
19
|
+
1. Uses `$ARGUMENTS` as the search query, or infers the project name from conversation context.
|
|
20
|
+
2. Searches by frontmatter first (`mcp__obsidian__search_notes` with `searchFrontmatter: true`) to catch session reports and decision notes tagged with the project.
|
|
21
|
+
3. Falls back to content keyword search when frontmatter search returns few results.
|
|
22
|
+
4. Reads the top 3 most relevant notes via `mcp__obsidian__read_note`, preferring recent notes and decision summaries over raw research.
|
|
23
|
+
5. Reports each note with its path, date, relevant excerpts, and whether any decisions are marked `status: Superseded`.
|
|
24
|
+
6. States clearly when no vault history exists — never infers or invents history.
|
|
25
|
+
|
|
26
|
+
## Conventions
|
|
27
|
+
|
|
28
|
+
- `disable-model-invocation: true` is not set; this skill does invoke the model to synthesize results.
|
|
29
|
+
- The skill is read-only: it never writes to the vault.
|
|
30
|
+
- Companion to `/remember` (which writes decisions) and `/session-log` (which writes session reports).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# refine
|
|
2
|
+
|
|
3
|
+
Interview-driven plan refiner with a built-in audit loop: fans out research agents, interviews via `AskUserQuestion`, writes the plan to the Obsidian vault, then loops audit and fix until clean.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/refine`, "refine this", "turn this into a plan", "flesh this out", "make a spec for this", "let's plan this out".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Walks a half-formed plan to a complete, audited implementation spec. The output always lands in the Obsidian vault at `Research/<topic>/<slug>.md`. The interview step is mandatory and cannot be suppressed by autonomous-mode or no-clarifying-questions directives.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — 10-step process, gotchas, constraints, file index |
|
|
16
|
+
| `templates/plan-template.md` | Required structure for the written plan (YAML frontmatter + H1 + sections) |
|
|
17
|
+
| `templates/implementation-notes-template.html` | Skeleton the fix agent appends to during the audit-fix loop |
|
|
18
|
+
|
|
19
|
+
## Subdirectories
|
|
20
|
+
|
|
21
|
+
| Directory | Purpose |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `templates/` | Output structures for the plan and the iteration notes file |
|
|
24
|
+
|
|
25
|
+
## Ten-step process (summary)
|
|
26
|
+
|
|
27
|
+
1. Resolve the topic (from `$ARGUMENTS`, file path, or conversation)
|
|
28
|
+
2. Layered fan-out via Explore agent (vault + repo + draft)
|
|
29
|
+
3. Existing-match decision (refine a prior plan or start fresh)
|
|
30
|
+
4. Interview loop via `AskUserQuestion` (mandatory, never skipped)
|
|
31
|
+
5. Confirm slug and path (`Research/<topic>/<slug>.md`)
|
|
32
|
+
6. Write the plan inline via `mcp__obsidian__write_note`
|
|
33
|
+
7. First audit via `general-purpose` agent (plan-quality rubric, not code rubric)
|
|
34
|
+
8. Audit-fix loop (up to 10 iterations; fix agent appends to HTML notes file)
|
|
35
|
+
9. Halt and surface open findings if cap reached
|
|
36
|
+
10. Report vault path, iteration count, and notes-file path
|
|
37
|
+
|
|
38
|
+
## Conventions
|
|
39
|
+
|
|
40
|
+
- Output goes to the Obsidian vault only — never to `docs/plans/`, `.claude/plans/`, or the cwd.
|
|
41
|
+
- HTML notes file (`<slug>-implementation-notes.html`) is append-only; each iteration adds one `<section>`.
|
|
42
|
+
- Slug and topic must match `^[a-z0-9-]+$`; path separators and uppercase letters are rejected.
|
|
43
|
+
- `Research/` prefix is fixed and cannot be overridden by a local plans folder.
|
|
44
|
+
- Audit uses `general-purpose` — not `code-quality-agent` or `clean-coder`, which target source code.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# refine/templates
|
|
2
|
+
|
|
3
|
+
Output structure templates for the `/refine` skill.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `plan-template.md` | Required plan structure: YAML frontmatter (project, date, status, tags), H1 title, and sections (Goal, Non-goals, Current state, Implementation, Decisions log, Risks, Open questions, Acceptance). The `/refine` skill loads this on Step 6 and fills every placeholder before writing to the vault. |
|
|
10
|
+
| `implementation-notes-template.html` | Skeleton HTML file the fix agent copies on iteration 1 of the audit-fix loop, then appends to on each later iteration. Each iteration adds one `<section class="iteration">` block before `</body>`. The template has an HTML-commented reference block showing the section markup shape. |
|
|
11
|
+
|
|
12
|
+
## Conventions
|
|
13
|
+
|
|
14
|
+
- `plan-template.md` is for `mcp__obsidian__write_note` (Markdown only); the skill writes it to the vault directly.
|
|
15
|
+
- `implementation-notes-template.html` is for filesystem Write/Edit tools; `mcp__obsidian__write_note` cannot write `.html`.
|
|
16
|
+
- Both files have `{{slug}}` and other placeholder tokens that the skill substitutes before writing.
|
|
17
|
+
- Do not write to these templates directly — they are read-only reference structures consumed by the `/refine` workflow.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# remember
|
|
2
|
+
|
|
3
|
+
Saves a decision, gotcha, or architectural choice to the Obsidian vault as a structured note.
|
|
4
|
+
|
|
5
|
+
**Trigger:** User-initiated only. `/remember [what to remember]`.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Writes a decision, fact, procedure, or gotcha to `decisions/[Project] - [Short Title].md` in the Obsidian vault. Each note carries structured frontmatter and a body shaped by its type, making it searchable and readable via `/recall`.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — six steps (parse input, classify type, infer project, generate title, write to vault, confirm). No companion files. |
|
|
16
|
+
|
|
17
|
+
## Four note types
|
|
18
|
+
|
|
19
|
+
| Type | Body format |
|
|
20
|
+
|---|---|
|
|
21
|
+
| `decision` | Decision + Reasoning + Alternatives + Consequences |
|
|
22
|
+
| `gotcha` | Gotcha + Symptom + Fix |
|
|
23
|
+
| `procedural` | 1–3 clear sentences describing the how-to |
|
|
24
|
+
| `fact` | 1–3 clear sentences stating the fact |
|
|
25
|
+
|
|
26
|
+
## Conventions
|
|
27
|
+
|
|
28
|
+
- `disable-model-invocation: true` is set — runs without a secondary LLM call.
|
|
29
|
+
- Writes via `mcp__obsidian__write_note` only; never edits existing notes.
|
|
30
|
+
- Path pattern: `decisions/[Project] - [Short Title].md`.
|
|
31
|
+
- Companion to `/recall` (reads vault) and `/session-log` (triggers decision extraction at session end).
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# research-mode
|
|
2
|
+
|
|
3
|
+
Activates three anti-hallucination constraints: cite every claim, say "I don't know" when evidence is lacking, and quote directly from source documents.
|
|
4
|
+
|
|
5
|
+
**Trigger:** "research mode", "toggle research", `/research-mode`.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Enforces factual accuracy for research tasks by requiring citations and explicit uncertainty. Stays active until the user exits with "exit research mode".
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — three constraints, source authority hierarchy, exit condition. No companion files. |
|
|
16
|
+
|
|
17
|
+
## Three active constraints (all simultaneous)
|
|
18
|
+
|
|
19
|
+
1. **Say "I don't know"** when no credible source backs a claim.
|
|
20
|
+
2. **Verify with citations** — every recommendation cites a specific source (project file, URL, named expert, or official docs).
|
|
21
|
+
3. **Direct quotes for factual grounding** — extract actual text before analyzing; ground in word-for-word quotes.
|
|
22
|
+
|
|
23
|
+
## Source authority hierarchy
|
|
24
|
+
|
|
25
|
+
1. Official vendor/creator documentation
|
|
26
|
+
2. Files in the current project
|
|
27
|
+
3. Academic papers, named researchers
|
|
28
|
+
4. Reputable external sources with URLs
|
|
29
|
+
5. Blog posts and community content (lowest; never cited alone when official docs exist)
|
|
30
|
+
|
|
31
|
+
## Conventions
|
|
32
|
+
|
|
33
|
+
- This mode is not the default; it applies only after the trigger fires.
|
|
34
|
+
- Creative thinking and brainstorming are out of scope for this mode.
|
|
35
|
+
- The global `~/.claude/rules/research-mode.md` carries the same three constraints as always-on background rules; this skill makes them explicit and surfaced during the session.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# session-log
|
|
2
|
+
|
|
3
|
+
Logs a session report as a gallery-shaped HTML file in the Obsidian vault, auto-publishes it as a secret gist, extracts unrecorded decisions, tidies the project session folder, and outputs a `/rename` command.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/session-log`, "journal this session", "log this work", "session report", "save session", "capture session", "document what we did".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Produces a self-contained HTML session report shaped to the session's character (feature build, incident, research, etc.) rather than a fixed template. The skill owns the vault path, session numbering, frontmatter contract, decision extraction, and folder hygiene; it delegates HTML authorship to `doc-gist`.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — six steps, gotchas, backend detection, frontmatter contract, run-and-report checklist. Single-file skill; no companion files. |
|
|
16
|
+
|
|
17
|
+
## Six steps
|
|
18
|
+
|
|
19
|
+
1. **Backend detection** — headless vault (`ob --version` + `OBSIDIAN_VAULT_PATH`) then local vault (`~/.claude/vault/`). Session number from `[N]. *.html` and `[N]. *.md` files in the project folder.
|
|
20
|
+
2. **Session metadata** — project name, session number, session ID from `CLAUDE_CODE_SESSION_ID`, date, title.
|
|
21
|
+
3. **HTML via doc-gist shape principles** — gallery-anchored design (e.g., `17-pr-writeup.html` for feature builds, `12-incident-report.html` for incidents). `<!-- @publish-as-gist -->` marker triggers auto-publish hook on Write/Edit.
|
|
22
|
+
4. **Vault context tracking** — two Edit calls set `vault_context_retrieved` and append a vault-context line. The URL from the final Edit is canonical.
|
|
23
|
+
5. **Decision extraction** — scans conversation for unrecorded decisions; prompts user via `AskUserQuestion` before invoking `/remember`.
|
|
24
|
+
6. **Session tidy** — audits `.html` files in the project folder for naming and frontmatter; auto-fixes minor issues.
|
|
25
|
+
|
|
26
|
+
## Conventions
|
|
27
|
+
|
|
28
|
+
- The `<!-- @publish-as-gist -->` marker must appear exactly as shown; each Edit re-fires the hook and produces a new gist ID.
|
|
29
|
+
- Session reports use HTML; `.md` paths are blocked by `md_to_html_blocker` for session paths.
|
|
30
|
+
- `write_existing_file_blocker` rejects Write on existing paths — use Edit for all vault-context updates.
|
|
31
|
+
- Final step copies `/rename [Project] - [Primary Outcome]` to the clipboard via `pwsh Set-Clipboard`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# session-tidy
|
|
2
|
+
|
|
3
|
+
Audits, cleans, and consolidates session logs in the Obsidian vault — fixes format drift, resolves orphaned next-steps, updates stale statuses, and generates project rollup summaries.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/session-tidy`, "tidy sessions", "clean up session logs", "session audit".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Maintenance utility for the `sessions/[Project]/` vault directories. Enforces the session-log format contract, moves uncategorized files into project subfolders, and generates `Summary.md` rollup files for projects with 3+ sessions.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — four phases (preflight, audit, propose changes, execute + verify). No companion files. |
|
|
16
|
+
|
|
17
|
+
## Format contract enforced
|
|
18
|
+
|
|
19
|
+
- **Path:** `sessions/[Project]/[N]. [Title].md`
|
|
20
|
+
- **Frontmatter:** `type`, `project`, `session`, `date`, `status`, `blocked`, `tags` — all needed.
|
|
21
|
+
- **Status rules:** `completed` + `blocked: true` is contradictory; `in-progress` or `blocked` older than 7 days is stale.
|
|
22
|
+
- **Content:** outcome-oriented `###` headers with one emoji; no play-by-play narration.
|
|
23
|
+
|
|
24
|
+
## Four phases
|
|
25
|
+
|
|
26
|
+
1. **Preflight** — resolve backend (headless vault, Obsidian MCP, or local vault).
|
|
27
|
+
2. **Audit** — check each file for naming, frontmatter completeness, status coherence, orphaned next-steps, and categorization.
|
|
28
|
+
3. **Propose changes** — report findings; wait for user approval before changing anything.
|
|
29
|
+
4. **Execute + verify** — rename files, fix frontmatter, update statuses, clean orphaned next-steps, generate `Summary.md` rollups.
|
|
30
|
+
|
|
31
|
+
## Conventions
|
|
32
|
+
|
|
33
|
+
- `disable-model-invocation: true` is set.
|
|
34
|
+
- Changes need explicit user approval from Phase 2's report — the skill never auto-applies without approval.
|
|
35
|
+
- Companion to `/session-log` (creates sessions) and `/recall` (reads vault).
|
|
36
|
+
- `/session-tidy` targets Markdown session format; HTML sessions from `/session-log` may be mis-audited or get incorrect rename proposals.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# skill-builder
|
|
2
|
+
|
|
3
|
+
Orchestrates the complete skill-building lifecycle: classify the skill type, scaffold folders, write via `skill-writer`, self-audit against a 38-point checklist, and refine from real usage observations.
|
|
4
|
+
|
|
5
|
+
**Trigger:** "build a skill", "new skill workflow", "improve this skill", "optimize skill description", "skill development lifecycle".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
The expert that enforces craft standards. For quick one-off SKILL.md edits, use `/skill-writer` directly. This skill classifies, scaffolds, gathers context, delegates writing, and self-audits the result.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — routing, 9-type taxonomy table, core principles, file index |
|
|
16
|
+
| `references/skill-types.md` | 9-type taxonomy with folder structures per type |
|
|
17
|
+
| `references/progressive-disclosure.md` | Hub pattern, folder conventions, hard rules |
|
|
18
|
+
| `references/self-audit-checklist.md` | 38-point mandatory post-build audit |
|
|
19
|
+
| `references/delegation-map.md` | Subagent handoff patterns and transcript guidance |
|
|
20
|
+
| `references/thariq-x-post-skills.json` | Source reference — lessons from building Claude Code skills |
|
|
21
|
+
| `workflows/new-skill.md` | Full lifecycle for new skills (6 steps) |
|
|
22
|
+
| `workflows/improve-skill.md` | Observation-first flow for existing skills (6 steps) |
|
|
23
|
+
| `workflows/polish-skill.md` | Description audit and final validation (5 steps) |
|
|
24
|
+
| `templates/gap-analysis.md` | Template for documenting skill gaps |
|
|
25
|
+
|
|
26
|
+
## Subdirectories
|
|
27
|
+
|
|
28
|
+
| Directory | Purpose |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `references/` | Best-practice specs and the audit checklist |
|
|
31
|
+
| `workflows/` | Step-by-step workflows for each lifecycle phase |
|
|
32
|
+
| `templates/` | Reusable templates for skill artifacts |
|
|
33
|
+
|
|
34
|
+
## Routing
|
|
35
|
+
|
|
36
|
+
- **New skill** → `workflows/new-skill.md`
|
|
37
|
+
- **Improve existing** → `workflows/improve-skill.md`
|
|
38
|
+
- **Final polish only** → `workflows/polish-skill.md`
|
|
39
|
+
- **Ambiguous** → ask the user which one applies
|
|
40
|
+
|
|
41
|
+
## Conventions
|
|
42
|
+
|
|
43
|
+
- Every build ends with the 38-point self-audit at `references/self-audit-checklist.md`; fix failures before delivery.
|
|
44
|
+
- `skill-builder` orchestrates; `skill-writer` authors. The handoff packet must include type, gap analysis, degree-of-freedom assessment, and constraints.
|
|
45
|
+
- The Claude A / Claude B pattern: Claude A (this session) designs; Claude B (subagents) tests by running the built skill on real tasks.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# skill-builder/references
|
|
2
|
+
|
|
3
|
+
Best-practice specifications and the mandatory self-audit checklist for the `/skill-builder` skill.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `self-audit-checklist.md` | 38-point checklist run after every build, improvement, or polish pass. Every item must pass before delivery. |
|
|
10
|
+
| `skill-types.md` | 9-type skill taxonomy with folder structures per type (Library & API Reference, Product Verification, Data Fetching, Business Process, Code Scaffolding, Code Quality, CI/CD, Runbooks, Infrastructure). |
|
|
11
|
+
| `progressive-disclosure.md` | Hub pattern, folder conventions, and hard rules: SKILL.md under 500 lines, detail in reference/, scripts execute without context load, references one level deep. |
|
|
12
|
+
| `delegation-map.md` | Subagent handoff patterns and transcript guidance for the skill-builder → skill-writer handoff. |
|
|
13
|
+
| `thariq-x-post-skills.json` | Source reference data from Anthropic lessons on building Claude Code skills. |
|
|
14
|
+
|
|
15
|
+
## Conventions
|
|
16
|
+
|
|
17
|
+
- These files are loaded on demand by `SKILL.md` routing — not all are loaded on every run.
|
|
18
|
+
- `self-audit-checklist.md` is always loaded at the end of a build cycle.
|
|
19
|
+
- `thariq-x-post-skills.json` is source reference data, not executable content.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# skill-builder/templates
|
|
2
|
+
|
|
3
|
+
Reusable template for skill-building artifacts.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `gap-analysis.md` | Template for documenting gaps in an existing skill. Used during the "improve existing skill" workflow (Step 2 observation gathering) to structure findings before writing a new version. |
|
|
10
|
+
|
|
11
|
+
## Conventions
|
|
12
|
+
|
|
13
|
+
- The gap-analysis template is loaded by the `improve-skill.md` workflow, not the `new-skill.md` workflow.
|
|
14
|
+
- Fill in the template inline during the workflow; do not commit completed gap analyses to this directory.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# skill-builder/workflows
|
|
2
|
+
|
|
3
|
+
Step-by-step workflow files for each skill lifecycle phase, loaded on demand by `SKILL.md` routing.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `new-skill.md` | Full lifecycle for creating a new skill: 6 steps from intent capture through type classification, folder scaffolding, writing via skill-writer, self-audit, and delivery. |
|
|
10
|
+
| `improve-skill.md` | Observation-first flow for improving an existing skill: 6 steps starting from real usage failures, gap analysis, targeted rewrite, and re-audit. |
|
|
11
|
+
| `polish-skill.md` | Description audit and final validation: 5 steps for description optimization, trigger phrase review, and checklist sign-off. |
|
|
12
|
+
|
|
13
|
+
## Conventions
|
|
14
|
+
|
|
15
|
+
- `SKILL.md` routes to exactly one workflow file per invocation based on the user's intent (new / improve / polish).
|
|
16
|
+
- Each workflow references `../references/self-audit-checklist.md` at its final step.
|
|
17
|
+
- Load only the workflow that matches the active task; the other two stay out of context.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# structure-prompt
|
|
2
|
+
|
|
3
|
+
Restructures a prompt in one pass: orders blocks, converts persona framing to task constraints, enforces per-category dispositions, expands placeholder tokens, adds `file:line` citations, marks the canonical sub-bucket, and sharpens adversarial-pass phrasing.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/structure-prompt`, "optimize this prompt", "minimally invasive edit" to a prompt artifact, "tighten this prompt".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Applies a spoke-based ruleset to a prompt artifact. Each spoke targets a specific structural problem (persona framing, narrative directives, missing citations, etc.). One pass per invocation.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — pre-flight, first-invocation reads, spoke routing table |
|
|
16
|
+
| `reference/block-classification.md` | How to classify each block in the input prompt |
|
|
17
|
+
| `reference/research.md` | When a spoke needs information not in the input |
|
|
18
|
+
| `reference/output-contract.md` | How to emit the rewritten prompt |
|
|
19
|
+
| `reference/structure.md` | Re-ordering blocks and handling large content regions |
|
|
20
|
+
| `reference/persona.md` | Converting role assignments to task constraints |
|
|
21
|
+
| `reference/per-category.md` | Enforcing per-category dispositions |
|
|
22
|
+
| `reference/directives.md` | Rewriting performance directives |
|
|
23
|
+
| `reference/constraints.md` | Rewriting narrative directives |
|
|
24
|
+
| `reference/instantiation.md` | Expanding placeholder tokens |
|
|
25
|
+
| `reference/citation-depth.md` | Adding `file:line` citations |
|
|
26
|
+
| `reference/canonical-case.md` | Marking the canonical sub-bucket with ⭐ |
|
|
27
|
+
| `reference/adversarial-tuning.md` | Sharpening adversarial-pass phrasing |
|
|
28
|
+
| `reference/cleanup.md` | Fixing typos, mixed bullet styles, untagged code blocks |
|
|
29
|
+
| `reference/examples.md` | Spoke-matched examples for situations not covered above |
|
|
30
|
+
|
|
31
|
+
## Subdirectories
|
|
32
|
+
|
|
33
|
+
| Directory | Purpose |
|
|
34
|
+
|---|---|
|
|
35
|
+
| `reference/` | One file per spoke; loaded on demand based on the routing table in `SKILL.md` |
|
|
36
|
+
|
|
37
|
+
## Conventions
|
|
38
|
+
|
|
39
|
+
- On first invocation, read `block-classification.md`, `research.md`, and `output-contract.md` before anything else.
|
|
40
|
+
- The input arrives as the user's message body, a fenced block within it, or a file path argument.
|
|
41
|
+
- Emit the result as a single fenced block (paste mode) or rewrite the file in place (file-path mode).
|
|
42
|
+
- Load only the reference files the input situation matches — not all of them.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# structure-prompt/reference
|
|
2
|
+
|
|
3
|
+
One reference file per optimization spoke, loaded on demand by the routing table in `SKILL.md`.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `block-classification.md` | How to classify each block in the input prompt (mission, metadata, framework, questions, output spec, data body). Read on every invocation. |
|
|
10
|
+
| `research.md` | Steps to take when a spoke needs information not in the input. Read on every invocation. |
|
|
11
|
+
| `output-contract.md` | How to emit the rewritten prompt (fenced paste mode or in-place file rewrite). Read on every invocation. |
|
|
12
|
+
| `structure.md` | Re-ordering blocks and handling large content regions (≥500 chars, fenced code, diffs, transcripts). |
|
|
13
|
+
| `persona.md` | Converting role assignments ("You are…", "Act as…") to task constraints. |
|
|
14
|
+
| `per-category.md` | Enforcing per-category dispositions when the prompt names 2+ categories or criteria. |
|
|
15
|
+
| `directives.md` | Rewriting performance directives ("be thorough", "think step by step"). |
|
|
16
|
+
| `constraints.md` | Rewriting narrative directives ("try to", "make sure", "consider"). |
|
|
17
|
+
| `instantiation.md` | Expanding placeholder tokens (`[REPO/ARTIFACT]`, `[N]`, etc.). |
|
|
18
|
+
| `citation-depth.md` | Adding `file:line` citations to sub-bucket bullets that reference identifiers. |
|
|
19
|
+
| `canonical-case.md` | Marking the ⭐ canonical sub-bucket when a framework has 5+ sub-buckets and none is marked. |
|
|
20
|
+
| `adversarial-tuning.md` | Sharpening generic adversarial-pass phrasing. |
|
|
21
|
+
| `cleanup.md` | Fixing typos, mixed bullet styles, untagged code blocks, trailing whitespace. |
|
|
22
|
+
| `examples.md` | Spoke-matched examples for situations not covered by the named spokes above. |
|
|
23
|
+
|
|
24
|
+
## Conventions
|
|
25
|
+
|
|
26
|
+
- Read `block-classification.md`, `research.md`, and `output-contract.md` on every first invocation of a session.
|
|
27
|
+
- For all other files: load only the one(s) that match the input situation — the `SKILL.md` routing table maps each situation to its spoke file.
|
|
28
|
+
- Never load the full set; spoke files are designed for on-demand use to keep context lean.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# task-build
|
|
2
|
+
|
|
3
|
+
Gathers every open task in the current session and registers each one on the task list with `TaskCreate`.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/task-build`, "build my task list", "capture these tasks", "add open tasks to the task list", "track these".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Collects outstanding work from the conversation, `$ARGUMENTS`, and any plan documents or `TodoWrite` items raised this session, then creates one task per open item — skipping anything already tracked or already complete.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — four steps (read current list, find open tasks, create one task per item, report). No companion files. |
|
|
16
|
+
|
|
17
|
+
## How the skill runs
|
|
18
|
+
|
|
19
|
+
1. Calls `TaskList` to read what is already tracked — prevents duplicates.
|
|
20
|
+
2. Scans `$ARGUMENTS`, the conversation, and any plan or checklist items for open, actionable work.
|
|
21
|
+
3. Calls `TaskCreate` for each untracked item with a short imperative `subject`, a `description` of what done looks like, and an optional `activeForm` for the spinner.
|
|
22
|
+
4. Reports how many tasks were added and how many were already tracked.
|
|
23
|
+
|
|
24
|
+
## Conventions
|
|
25
|
+
|
|
26
|
+
- This skill only records tasks — it does not start, assign, or complete them.
|
|
27
|
+
- Use `TaskUpdate` to set status or owner after the list is built.
|
|
28
|
+
- `disable-model-invocation: true` is not set; the skill uses model judgment to classify open vs. complete items.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# update
|
|
2
|
+
|
|
3
|
+
Fast-forwards a local git repository's `main` branch to a chosen remote's `main`.
|
|
4
|
+
|
|
5
|
+
**Trigger:** `/update`, "update main", "fast-forward main", "sync main from origin", "pull latest main into <path>", "bring main up to date".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Advances the `main` ref in a safe, confirmed, fast-forward-only way. Never forces, never merges. Confirms the repo path and source remote before any write. Offers to switch the checkout to `main` after the ref moves, with a clean-tree safety check.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — five phases, refusals, gotchas. Flat by design; no companion files. |
|
|
16
|
+
|
|
17
|
+
## Five phases
|
|
18
|
+
|
|
19
|
+
| Phase | Key action |
|
|
20
|
+
|---|---|
|
|
21
|
+
| 1 — Resolve path | `git -C "<path>" rev-parse --show-toplevel` |
|
|
22
|
+
| 2 — Confirm path + remote | One `AskUserQuestion` listing remote/URL pairs; recommends `origin/main` first |
|
|
23
|
+
| 3 — Fetch + fast-forward | Fetch, check ancestry with `merge-base --is-ancestor`, apply via `merge --ff-only` (on main) or `fetch main:main` (off main) |
|
|
24
|
+
| 4 — Report | Old SHA → new SHA, checkout state, dirty tracked files |
|
|
25
|
+
| 5 — Offer to land on disk | `AskUserQuestion` to switch checkout to `main` (only when tree is clean and `main` is not held by another worktree) |
|
|
26
|
+
|
|
27
|
+
## Refusals (first match wins)
|
|
28
|
+
|
|
29
|
+
- Path is not a git repository → stated error, stop.
|
|
30
|
+
- Remote has no `main` → stated error, stop.
|
|
31
|
+
- Local `main` has diverged (not a fast-forward) → stated error, stop. Use `/rebase` to reconcile.
|
|
32
|
+
|
|
33
|
+
## Conventions
|
|
34
|
+
|
|
35
|
+
- Every command uses `git -C "<path>"` — never `cd` into the repo.
|
|
36
|
+
- Path confirmation is mandatory even when the path comes from the argument.
|
|
37
|
+
- The skill never switches to any branch other than `main`, and only in Phase 5 with operator approval.
|
|
38
|
+
- `origin` is not always the source of truth; the confirmed remote may be `upstream` or another name.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# verified-build
|
|
2
|
+
|
|
3
|
+
Runs a code task through the two-phase verified workflow: scoped coder agents write the changes, then a fresh-context `code-verifier` agent re-derives and runs every check itself.
|
|
4
|
+
|
|
5
|
+
**Trigger:** "verified build", "run this verified", "two-phase build", "build and verify", "verified implementation".
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Ensures that `git commit`/`git push` open only after a clean, hook-minted verifier verdict bound to the live change surface. The `verified_commit_gate` hook blocks commits and pushes until a verdict covers the current branch diff.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | The complete skill — workflow checklist, gotchas. No companion files. |
|
|
16
|
+
|
|
17
|
+
## Workflow (copy-this checklist)
|
|
18
|
+
|
|
19
|
+
- [ ] Record baselines (test command + exact failure set) before coders start
|
|
20
|
+
- [ ] Scope assignments into file-disjoint tasks with named checks
|
|
21
|
+
- [ ] Spawn one `clean-coder` (or Sonnet) agent per assignment; each consults `code-advisor` on decisions it cannot resolve
|
|
22
|
+
- [ ] Settle the tree after coders finish (run formatters, stage nothing)
|
|
23
|
+
- [ ] Spawn `code-verifier` (fresh context) with task texts, diff scope, and baselines
|
|
24
|
+
- [ ] Repair only reported findings; re-spawn verifier after each repair
|
|
25
|
+
- [ ] Land in one commit + push + draft PR as soon as verdict is clean
|
|
26
|
+
|
|
27
|
+
## Conventions
|
|
28
|
+
|
|
29
|
+
- Any file change after the verifier stops re-locks the gate — run formatters before spawning the verifier.
|
|
30
|
+
- The verifier must end with a ` ```verdict ` fence; the `verifier_verdict_minter` hook mints the verdict from that fence.
|
|
31
|
+
- The minter keys on agent type string `code-verifier` — the same prompt under another agent type mints nothing.
|
|
32
|
+
- Docs/image-only diffs, docstring-only Python diffs, and pytest test files (`test_*.py`, `*_test.py`, `conftest.py`) are exempt from the gate automatically.
|
|
33
|
+
- Record the test baseline before coders start; without it, new breakage hides inside old noise.
|