claude-dev-env 2.13.0 → 2.14.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/AGENTS.md +61 -0
- package/CLAUDE.md +1 -57
- package/_shared/AGENTS.md +15 -0
- package/_shared/CLAUDE.md +1 -15
- package/_shared/advisor/AGENTS.md +22 -0
- package/_shared/advisor/CLAUDE.md +1 -22
- package/_shared/pr-loop/AGENTS.md +27 -0
- package/_shared/pr-loop/CLAUDE.md +1 -27
- package/_shared/pr-loop/scripts/AGENTS.md +35 -0
- package/_shared/pr-loop/scripts/CLAUDE.md +1 -35
- package/_shared/pr-loop/scripts/code_rules_gate_parts/AGENTS.md +42 -0
- package/_shared/pr-loop/scripts/code_rules_gate_parts/CLAUDE.md +1 -42
- package/_shared/pr-loop/scripts/pr_loop_shared_constants/AGENTS.md +26 -0
- package/_shared/pr-loop/scripts/pr_loop_shared_constants/CLAUDE.md +1 -26
- package/_shared/pr-loop/scripts/tests/AGENTS.md +44 -0
- package/_shared/pr-loop/scripts/tests/CLAUDE.md +1 -44
- package/_shared/process-tree/AGENTS.md +41 -0
- package/_shared/process-tree/CLAUDE.md +1 -41
- package/agents/AGENTS.md +31 -0
- package/agents/CLAUDE.md +1 -31
- package/agents/clean-coder.md +6 -6
- package/agents/test_agent_frontmatter.py +4 -4
- package/audit-rubrics/AGENTS.md +43 -0
- package/audit-rubrics/CLAUDE.md +1 -43
- package/audit-rubrics/category_rubrics/AGENTS.md +37 -0
- package/audit-rubrics/category_rubrics/CLAUDE.md +1 -37
- package/audit-rubrics/prompts/AGENTS.md +37 -0
- package/audit-rubrics/prompts/CLAUDE.md +1 -37
- package/bin/AGENTS.md +112 -0
- package/bin/CLAUDE.md +1 -112
- package/bin/ever-shipped-skills.mjs +1 -0
- package/bin/install-constants.mjs +6 -7
- package/bin/install.mjs +24 -5
- package/bin/install.test.mjs +34 -0
- package/commands/AGENTS.md +23 -0
- package/commands/CLAUDE.md +1 -23
- package/commands/hook-log-extract.md +3 -3
- package/docs/AGENTS.md +32 -0
- package/docs/CLAUDE.md +1 -32
- package/docs/CODE_RULES.md +1 -1
- package/docs/imagegen.md +22 -0
- package/docs/references/AGENTS.md +17 -0
- package/docs/references/CLAUDE.md +1 -17
- package/hooks/AGENTS.md +31 -0
- package/hooks/CLAUDE.md +1 -31
- package/hooks/_gh_pr_author_swap_utils.py +14 -0
- package/hooks/advisory/AGENTS.md +16 -0
- package/hooks/advisory/CLAUDE.md +1 -16
- package/hooks/blocking/AGENTS.md +123 -0
- package/hooks/blocking/CLAUDE.md +1 -123
- package/hooks/blocking/claude_md_orphan_file_blocker_parts/AGENTS.md +28 -0
- package/hooks/blocking/claude_md_orphan_file_blocker_parts/CLAUDE.md +1 -28
- package/hooks/blocking/code_rules_banned_identifiers.py +1 -1
- package/hooks/blocking/code_rules_dead_module_constant.py +149 -37
- package/hooks/blocking/code_rules_probe_chains.py +6 -2
- package/hooks/blocking/config/AGENTS.md +10 -0
- package/hooks/blocking/config/CLAUDE.md +1 -10
- package/hooks/blocking/gh_pr_author_restore.py +7 -2
- package/hooks/blocking/intent_only_ending_blocker.py +11 -16
- package/hooks/blocking/inventory_intent_records/AGENTS.md +26 -0
- package/hooks/blocking/inventory_intent_records/CLAUDE.md +1 -26
- package/hooks/blocking/package_inventory_stale_blocker_parts/AGENTS.md +26 -0
- package/hooks/blocking/package_inventory_stale_blocker_parts/CLAUDE.md +1 -26
- package/hooks/blocking/pii_prevention_blocker_parts/AGENTS.md +24 -0
- package/hooks/blocking/pii_prevention_blocker_parts/CLAUDE.md +1 -24
- package/hooks/blocking/tdd_enforcer_parts/AGENTS.md +30 -0
- package/hooks/blocking/tdd_enforcer_parts/CLAUDE.md +1 -30
- package/hooks/blocking/test_code_rules_enforcer_banned_prefixes.py +1 -1
- package/hooks/blocking/test_code_rules_enforcer_dead_module_constant.py +171 -0
- package/hooks/blocking/test_code_rules_enforcer_magic_allowlist.py +1 -1
- package/hooks/blocking/test_gh_pr_author_restore.py +2 -1
- package/hooks/blocking/test_intent_only_ending_blocker.py +4 -0
- package/hooks/diagnostic/AGENTS.md +43 -0
- package/hooks/diagnostic/CLAUDE.md +1 -43
- package/hooks/diagnostic/hook_log_extractor.py +2 -2
- package/hooks/diagnostic/migrations/AGENTS.md +16 -0
- package/hooks/diagnostic/migrations/CLAUDE.md +1 -16
- package/hooks/diagnostic/queries/AGENTS.md +19 -0
- package/hooks/diagnostic/queries/CLAUDE.md +1 -19
- package/hooks/diagnostic/test_hook_log_extractor.py +2 -2
- package/hooks/git-hooks/AGENTS.md +31 -0
- package/hooks/git-hooks/CLAUDE.md +1 -31
- package/hooks/git-hooks/git_hooks_constants/AGENTS.md +21 -0
- package/hooks/git-hooks/git_hooks_constants/CLAUDE.md +1 -21
- package/hooks/git-hooks/git_hooks_constants/__init__.py +4 -6
- package/hooks/git-hooks/pre_push.py +47 -34
- package/hooks/git-hooks/test_pre_push.py +111 -7
- package/hooks/hooks_constants/AGENTS.md +104 -0
- package/hooks/hooks_constants/CLAUDE.md +1 -104
- package/hooks/hooks_constants/hook_log_extractor_constants.py +1 -2
- package/hooks/hooks_constants/task_list_loop_starter_constants.py +4 -3
- package/hooks/hooks_constants/working_style_prompt_constants.py +29 -20
- package/hooks/lifecycle/AGENTS.md +18 -0
- package/hooks/lifecycle/CLAUDE.md +1 -18
- package/hooks/observability/AGENTS.md +20 -0
- package/hooks/observability/CLAUDE.md +1 -20
- package/hooks/session/AGENTS.md +33 -0
- package/hooks/session/CLAUDE.md +1 -33
- package/hooks/session/gh_pr_author_session_cleanup.py +7 -2
- package/hooks/session/task_list_loop_starter.py +3 -3
- package/hooks/session/test_gh_pr_author_session_cleanup.py +2 -1
- package/hooks/session/test_task_list_loop_starter.py +10 -2
- package/hooks/session/test_working_style_prompt.py +9 -4
- package/hooks/validation/AGENTS.md +20 -0
- package/hooks/validation/CLAUDE.md +1 -20
- package/hooks/validators/AGENTS.md +51 -0
- package/hooks/validators/CLAUDE.md +1 -51
- package/hooks/validators/health_check.py +52 -19
- package/hooks/validators/python_style_checks.py +1 -1
- package/hooks/validators/test_health_check.py +112 -27
- package/hooks/workflow/AGENTS.md +16 -0
- package/hooks/workflow/CLAUDE.md +1 -16
- package/installable-surfaces.manifest.json +1 -0
- package/output-styles/AGENTS.md +15 -0
- package/output-styles/CLAUDE.md +1 -15
- package/package.json +2 -1
- package/rules/AGENTS.md +61 -0
- package/rules/CLAUDE.md +1 -61
- package/rules/code-standards.md +5 -9
- package/rules/doc-prose-cuts.md +1 -1
- package/scripts/AGENTS.md +62 -0
- package/scripts/CLAUDE.md +1 -62
- package/scripts/codex_compat_materializer.py +4 -0
- package/scripts/dev_env_scripts_constants/AGENTS.md +21 -0
- package/scripts/dev_env_scripts_constants/CLAUDE.md +1 -21
- package/scripts/sync_to_cursor/AGENTS.md +23 -0
- package/scripts/sync_to_cursor/CLAUDE.md +1 -23
- package/scripts/test_validate_instruction_pairs.py +90 -0
- package/scripts/test_verify_installable_package.py +5 -1
- package/scripts/tests/AGENTS.md +33 -0
- package/scripts/tests/CLAUDE.md +1 -33
- package/scripts/tests/test_codex_compat_materializer.py +36 -1
- package/scripts/validate_instruction_pairs.py +183 -0
- package/skills/AGENTS.md +72 -0
- package/skills/CLAUDE.md +1 -72
- package/skills/_shared/AGENTS.md +44 -0
- package/skills/_shared/CLAUDE.md +1 -44
- package/skills/_shared/advisor/AGENTS.md +9 -0
- package/skills/_shared/advisor/CLAUDE.md +1 -9
- package/skills/_shared/pr-loop/AGENTS.md +50 -0
- package/skills/_shared/pr-loop/CLAUDE.md +1 -50
- package/skills/_shared/pr-loop/prompts/AGENTS.md +9 -0
- package/skills/_shared/pr-loop/prompts/CLAUDE.md +1 -9
- package/skills/_shared/pr-loop/scripts/AGENTS.md +35 -0
- package/skills/_shared/pr-loop/scripts/CLAUDE.md +1 -35
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/AGENTS.md +24 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +1 -24
- package/skills/anthropic-plan/AGENTS.md +34 -0
- package/skills/anthropic-plan/CLAUDE.md +1 -34
- package/skills/anthropic-plan/scripts/AGENTS.md +11 -0
- package/skills/anthropic-plan/scripts/CLAUDE.md +1 -11
- package/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +16 -0
- package/skills/anthropic-plan/scripts/anthropic_plan_scripts_constants/CLAUDE.md +1 -16
- package/skills/anthropic-plan/templates/AGENTS.md +13 -0
- package/skills/anthropic-plan/templates/CLAUDE.md +1 -13
- package/skills/anthropic-plan/workflow/AGENTS.md +14 -0
- package/skills/anthropic-plan/workflow/CLAUDE.md +1 -14
- package/skills/auditing-claude-config/AGENTS.md +21 -0
- package/skills/auditing-claude-config/CLAUDE.md +1 -21
- package/skills/autoconverge/AGENTS.md +36 -0
- package/skills/autoconverge/CLAUDE.md +1 -36
- package/skills/autoconverge/reference/AGENTS.md +16 -0
- package/skills/autoconverge/reference/CLAUDE.md +1 -16
- package/skills/autoconverge/workflow/AGENTS.md +26 -0
- package/skills/autoconverge/workflow/CLAUDE.md +1 -26
- package/skills/autoconverge/workflow/autoconverge_report_constants/AGENTS.md +16 -0
- package/skills/autoconverge/workflow/autoconverge_report_constants/CLAUDE.md +1 -16
- package/skills/bugteam/AGENTS.md +30 -0
- package/skills/bugteam/CLAUDE.md +1 -30
- package/skills/bugteam/reference/AGENTS.md +20 -0
- package/skills/bugteam/reference/CLAUDE.md +1 -20
- package/skills/bugteam/reference/obstacles/AGENTS.md +24 -0
- package/skills/bugteam/reference/obstacles/CLAUDE.md +1 -24
- package/skills/bugteam/scripts/AGENTS.md +30 -0
- package/skills/bugteam/scripts/CLAUDE.md +1 -30
- package/skills/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +18 -0
- package/skills/bugteam/scripts/bugteam_scripts_constants/CLAUDE.md +1 -18
- package/skills/closeout/reference/handoff-prompt-template.md +1 -1
- package/skills/codex-review/AGENTS.md +46 -0
- package/skills/codex-review/CLAUDE.md +1 -46
- package/skills/codex-review/reference/AGENTS.md +15 -0
- package/skills/codex-review/reference/CLAUDE.md +1 -15
- package/skills/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +18 -0
- package/skills/codex-review/scripts/codex_review_scripts_constants/CLAUDE.md +1 -18
- package/skills/codex-review/test_skill_scaffold.py +3 -3
- package/skills/copilot-review/AGENTS.md +18 -0
- package/skills/copilot-review/CLAUDE.md +1 -18
- package/skills/everything-search/AGENTS.md +17 -0
- package/skills/everything-search/CLAUDE.md +1 -17
- package/skills/fresh-branch/AGENTS.md +14 -0
- package/skills/fresh-branch/CLAUDE.md +1 -14
- package/skills/grok-spawn/AGENTS.md +28 -0
- package/skills/grok-spawn/CLAUDE.md +1 -28
- package/skills/pr-converge/AGENTS.md +32 -0
- package/skills/pr-converge/CLAUDE.md +1 -32
- package/skills/pr-converge/pr_converge_skill_constants/AGENTS.md +26 -0
- package/skills/pr-converge/pr_converge_skill_constants/CLAUDE.md +1 -26
- package/skills/pr-converge/reference/AGENTS.md +28 -0
- package/skills/pr-converge/reference/CLAUDE.md +1 -28
- package/skills/pr-converge/reference/obstacles/AGENTS.md +23 -0
- package/skills/pr-converge/reference/obstacles/CLAUDE.md +1 -23
- package/skills/pr-converge/scripts/AGENTS.md +46 -0
- package/skills/pr-converge/scripts/CLAUDE.md +1 -46
- package/skills/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +18 -0
- package/skills/pr-converge/scripts/pr_converge_scripts_constants/CLAUDE.md +1 -18
- package/skills/pr-converge/workflows/AGENTS.md +16 -0
- package/skills/pr-converge/workflows/CLAUDE.md +1 -16
- package/skills/prototype/reference/honest-limitations.md +1 -1
- package/skills/rebase/AGENTS.md +32 -0
- package/skills/rebase/CLAUDE.md +1 -32
- package/skills/recall/AGENTS.md +30 -0
- package/skills/recall/CLAUDE.md +1 -30
- package/skills/remember/AGENTS.md +31 -0
- package/skills/remember/CLAUDE.md +1 -31
- package/skills/reviews/SKILL.md +1 -1
- package/skills/session-log/AGENTS.md +32 -0
- package/skills/session-log/CLAUDE.md +1 -32
- package/skills/session-tidy/AGENTS.md +36 -0
- package/skills/session-tidy/CLAUDE.md +1 -36
- package/skills/skill-builder/AGENTS.md +49 -0
- package/skills/skill-builder/CLAUDE.md +1 -49
- package/skills/skill-builder/references/AGENTS.md +25 -0
- package/skills/skill-builder/references/CLAUDE.md +1 -25
- package/skills/skill-builder/references/deterministic-elements.md +1 -1
- package/skills/skill-builder/templates/AGENTS.md +14 -0
- package/skills/skill-builder/templates/CLAUDE.md +1 -14
- package/skills/skill-builder/workflows/AGENTS.md +19 -0
- package/skills/skill-builder/workflows/CLAUDE.md +1 -19
- package/skills/task-build/AGENTS.md +29 -0
- package/skills/task-build/CLAUDE.md +1 -29
- package/skills/update/AGENTS.md +38 -0
- package/skills/update/CLAUDE.md +1 -38
- package/system-prompts/AGENTS.md +17 -0
- package/system-prompts/CLAUDE.md +1 -17
- package/system-prompts/software-engineer.xml +3 -3
- package/skills/imagegen/SKILL.md +0 -21
- package/skills/imagegen/scripts/config/__init__.py +0 -1
- package/skills/imagegen/scripts/config/constants.py +0 -28
- package/skills/imagegen/scripts/imagegen.py +0 -45
- package/skills/imagegen/scripts/imagegen_core.py +0 -528
- package/skills/imagegen/scripts/test_imagegen.py +0 -204
|
@@ -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.
|
|
@@ -1,36 +1 @@
|
|
|
1
|
-
|
|
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.
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# skill-builder
|
|
2
|
+
|
|
3
|
+
Orchestrates the skill-building lifecycle: classify type, scaffold folders, write via the `skill-writer-agent` agent, enforce modularity (sub-skills / composition), write description as a trigger catalog, require deterministic steps as code, self-audit, and refine from real usage.
|
|
4
|
+
|
|
5
|
+
**Trigger:** build a skill, new skill workflow, improve this skill, optimize skill description, skill development lifecycle, skill modularity, description trigger catalog, deterministic skill scripts.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Enforces craft standards for new and existing skills. For quick one-off SKILL.md edits, spawn the `skill-writer-agent` agent directly. This skill classifies, scaffolds, gathers context (composition plan, description triggers, deterministic inventory), delegates writing, and self-audits.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Hub — routing, 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/skill-modularity.md` | Cross-skill modularity, sub-skills, composition plan |
|
|
19
|
+
| `references/description-field.md` | Description as trigger catalog (not story prose) |
|
|
20
|
+
| `references/deterministic-elements.md` | Deterministic steps as code/task seeds; no markdown checkbox boards |
|
|
21
|
+
| `references/self-audit-checklist.md` | Post-build audit task seeds (TaskCreate / TodoWrite) |
|
|
22
|
+
| `references/delegation-map.md` | Subagent handoff patterns and transcript guidance |
|
|
23
|
+
| `references/thariq-x-post-skills.json` | Source reference — lessons from building Claude Code skills |
|
|
24
|
+
| `workflows/new-skill.md` | Full lifecycle for new skills (6 steps) |
|
|
25
|
+
| `workflows/improve-skill.md` | Observation-first flow for existing skills (6 steps) |
|
|
26
|
+
| `workflows/polish-skill.md` | Description trigger-catalog audit and final validation (5 steps) |
|
|
27
|
+
| `templates/gap-analysis.md` | Gaps, composition plan, description triggers, deterministic inventory |
|
|
28
|
+
|
|
29
|
+
## Subdirectories
|
|
30
|
+
|
|
31
|
+
| Directory | Purpose |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `references/` | Best-practice specs and the audit checklist |
|
|
34
|
+
| `workflows/` | Step-by-step workflows for each lifecycle phase |
|
|
35
|
+
| `templates/` | Reusable templates for skill artifacts |
|
|
36
|
+
|
|
37
|
+
## Routing
|
|
38
|
+
|
|
39
|
+
- **New skill** → `workflows/new-skill.md`
|
|
40
|
+
- **Improve existing** → `workflows/improve-skill.md`
|
|
41
|
+
- **Final polish only** → `workflows/polish-skill.md`
|
|
42
|
+
- **Ambiguous** → ask the user which one applies
|
|
43
|
+
|
|
44
|
+
## Conventions
|
|
45
|
+
|
|
46
|
+
- Every build ends with the self-audit at `references/self-audit-checklist.md`; fix failures before delivery.
|
|
47
|
+
- Modularity items, description trigger-catalog items, and deterministic-element classification are mandatory on every delivery.
|
|
48
|
+
- `skill-builder` orchestrates; the `skill-writer-agent` agent authors. Handoff packet must include type, gap analysis, composition plan, description trigger catalog, deterministic inventory, degree-of-freedom assessment, and constraints.
|
|
49
|
+
- Claude A / Claude B: Claude A (this session) designs; Claude B (subagents) tests the built skill on real tasks.
|
|
@@ -1,49 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Orchestrates the skill-building lifecycle: classify type, scaffold folders, write via the `skill-writer-agent` agent, enforce modularity (sub-skills / composition), write description as a trigger catalog, require deterministic steps as code, self-audit, and refine from real usage.
|
|
4
|
-
|
|
5
|
-
**Trigger:** build a skill, new skill workflow, improve this skill, optimize skill description, skill development lifecycle, skill modularity, description trigger catalog, deterministic skill scripts.
|
|
6
|
-
|
|
7
|
-
## Purpose
|
|
8
|
-
|
|
9
|
-
Enforces craft standards for new and existing skills. For quick one-off SKILL.md edits, spawn the `skill-writer-agent` agent directly. This skill classifies, scaffolds, gathers context (composition plan, description triggers, deterministic inventory), delegates writing, and self-audits.
|
|
10
|
-
|
|
11
|
-
## Key files
|
|
12
|
-
|
|
13
|
-
| File | Purpose |
|
|
14
|
-
|---|---|
|
|
15
|
-
| `SKILL.md` | Hub — routing, 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/skill-modularity.md` | Cross-skill modularity, sub-skills, composition plan |
|
|
19
|
-
| `references/description-field.md` | Description as trigger catalog (not story prose) |
|
|
20
|
-
| `references/deterministic-elements.md` | Deterministic steps as code/task seeds; no markdown checkbox boards |
|
|
21
|
-
| `references/self-audit-checklist.md` | Post-build audit task seeds (TaskCreate / TodoWrite) |
|
|
22
|
-
| `references/delegation-map.md` | Subagent handoff patterns and transcript guidance |
|
|
23
|
-
| `references/thariq-x-post-skills.json` | Source reference — lessons from building Claude Code skills |
|
|
24
|
-
| `workflows/new-skill.md` | Full lifecycle for new skills (6 steps) |
|
|
25
|
-
| `workflows/improve-skill.md` | Observation-first flow for existing skills (6 steps) |
|
|
26
|
-
| `workflows/polish-skill.md` | Description trigger-catalog audit and final validation (5 steps) |
|
|
27
|
-
| `templates/gap-analysis.md` | Gaps, composition plan, description triggers, deterministic inventory |
|
|
28
|
-
|
|
29
|
-
## Subdirectories
|
|
30
|
-
|
|
31
|
-
| Directory | Purpose |
|
|
32
|
-
|---|---|
|
|
33
|
-
| `references/` | Best-practice specs and the audit checklist |
|
|
34
|
-
| `workflows/` | Step-by-step workflows for each lifecycle phase |
|
|
35
|
-
| `templates/` | Reusable templates for skill artifacts |
|
|
36
|
-
|
|
37
|
-
## Routing
|
|
38
|
-
|
|
39
|
-
- **New skill** → `workflows/new-skill.md`
|
|
40
|
-
- **Improve existing** → `workflows/improve-skill.md`
|
|
41
|
-
- **Final polish only** → `workflows/polish-skill.md`
|
|
42
|
-
- **Ambiguous** → ask the user which one applies
|
|
43
|
-
|
|
44
|
-
## Conventions
|
|
45
|
-
|
|
46
|
-
- Every build ends with the self-audit at `references/self-audit-checklist.md`; fix failures before delivery.
|
|
47
|
-
- Modularity items, description trigger-catalog items, and deterministic-element classification are mandatory on every delivery.
|
|
48
|
-
- `skill-builder` orchestrates; the `skill-writer-agent` agent authors. Handoff packet must include type, gap analysis, composition plan, description trigger catalog, deterministic inventory, degree-of-freedom assessment, and constraints.
|
|
49
|
-
- Claude A / Claude B: Claude A (this session) designs; Claude B (subagents) tests the built skill on real tasks.
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,25 @@
|
|
|
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` | Audit task seeds after every build, improve, or polish. Register via TaskCreate / TodoWrite. |
|
|
10
|
+
| `skill-types.md` | 9-type skill taxonomy with folder structures per type. |
|
|
11
|
+
| `progressive-disclosure.md` | Hub pattern, folder conventions, hard rules: SKILL.md under 500 lines, one-level references. |
|
|
12
|
+
| `skill-modularity.md` | Cross-skill modularity: one capability, sub-skills by name, composition plan, anti-monolith. |
|
|
13
|
+
| `description-field.md` | Frontmatter description as trigger catalog (capability stem + Triggers). No story prose. |
|
|
14
|
+
| `deterministic-elements.md` | Classify process steps; deterministic ones ship as code, task seeds, or fixed artifacts under CODE_RULES. |
|
|
15
|
+
| `delegation-map.md` | Subagent handoff patterns and transcript guidance for skill-builder → skill-writer-agent. |
|
|
16
|
+
| `thariq-x-post-skills.json` | Source reference data from Anthropic lessons on building Claude Code skills. |
|
|
17
|
+
|
|
18
|
+
## Conventions
|
|
19
|
+
|
|
20
|
+
- These files load on demand from `SKILL.md` routing — not all on every run.
|
|
21
|
+
- `self-audit-checklist.md` always loads at the end of a build cycle.
|
|
22
|
+
- Load `skill-modularity.md` during Gather and when scope/overlap is diagnosed.
|
|
23
|
+
- Load `description-field.md` during Gather, polish Step 1, and any activation diagnosis.
|
|
24
|
+
- Load `deterministic-elements.md` during Gather, when prose-as-code is diagnosed, and on polish structure audit.
|
|
25
|
+
- `thariq-x-post-skills.json` is source reference data, not executable content.
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
|
|
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` | Audit task seeds after every build, improve, or polish. Register via TaskCreate / TodoWrite. |
|
|
10
|
-
| `skill-types.md` | 9-type skill taxonomy with folder structures per type. |
|
|
11
|
-
| `progressive-disclosure.md` | Hub pattern, folder conventions, hard rules: SKILL.md under 500 lines, one-level references. |
|
|
12
|
-
| `skill-modularity.md` | Cross-skill modularity: one capability, sub-skills by name, composition plan, anti-monolith. |
|
|
13
|
-
| `description-field.md` | Frontmatter description as trigger catalog (capability stem + Triggers). No story prose. |
|
|
14
|
-
| `deterministic-elements.md` | Classify process steps; deterministic ones ship as code, task seeds, or fixed artifacts under CODE_RULES. |
|
|
15
|
-
| `delegation-map.md` | Subagent handoff patterns and transcript guidance for skill-builder → skill-writer-agent. |
|
|
16
|
-
| `thariq-x-post-skills.json` | Source reference data from Anthropic lessons on building Claude Code skills. |
|
|
17
|
-
|
|
18
|
-
## Conventions
|
|
19
|
-
|
|
20
|
-
- These files load on demand from `SKILL.md` routing — not all on every run.
|
|
21
|
-
- `self-audit-checklist.md` always loads at the end of a build cycle.
|
|
22
|
-
- Load `skill-modularity.md` during Gather and when scope/overlap is diagnosed.
|
|
23
|
-
- Load `description-field.md` during Gather, polish Step 1, and any activation diagnosis.
|
|
24
|
-
- Load `deterministic-elements.md` during Gather, when prose-as-code is diagnosed, and on polish structure audit.
|
|
25
|
-
- `thariq-x-post-skills.json` is source reference data, not executable content.
|
|
1
|
+
@AGENTS.md
|
|
@@ -112,7 +112,7 @@ The seed list file lives under `reference/` (or is a named section of an existin
|
|
|
112
112
|
|
|
113
113
|
## CODE_RULES bar (every code file in the skill)
|
|
114
114
|
|
|
115
|
-
Skill scripts are production code. They obey the same rules as the rest of the repo (`docs/CODE_RULES.md`
|
|
115
|
+
Skill scripts are production code. They obey the same rules as the rest of the repo (`docs/CODE_RULES.md`), including:
|
|
116
116
|
|
|
117
117
|
- **Named constants** — no bare magic numbers/strings in function bodies; skill-local values live in a `*_constants/` package the script imports.
|
|
118
118
|
- **Types** — parameters and returns annotated; no bare `Any` / untyped escape hatches.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# skill-builder/templates
|
|
2
|
+
|
|
3
|
+
Reusable templates for skill-building artifacts.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `gap-analysis.md` | Template for gaps, composition plan, description triggers, and deterministic-elements inventory. Used in new-skill Gather and improve diagnosis. |
|
|
10
|
+
|
|
11
|
+
## Conventions
|
|
12
|
+
|
|
13
|
+
- Fill the template inline during the workflow; do not commit completed gap analyses to this directory.
|
|
14
|
+
- Composition plan, Description triggers, and Deterministic Elements Inventory sections are required before Write on a new skill.
|
|
@@ -1,14 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Reusable templates for skill-building artifacts.
|
|
4
|
-
|
|
5
|
-
## Key files
|
|
6
|
-
|
|
7
|
-
| File | Purpose |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `gap-analysis.md` | Template for gaps, composition plan, description triggers, and deterministic-elements inventory. Used in new-skill Gather and improve diagnosis. |
|
|
10
|
-
|
|
11
|
-
## Conventions
|
|
12
|
-
|
|
13
|
-
- Fill the template inline during the workflow; do not commit completed gap analyses to this directory.
|
|
14
|
-
- Composition plan, Description triggers, and Deterministic Elements Inventory sections are required before Write on a new skill.
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,19 @@
|
|
|
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: classify, scaffold, gather (composition + description triggers + deterministic inventory), write via the skill-writer-agent agent, self-audit, deliver. |
|
|
10
|
+
| `improve-skill.md` | Observation-first improve: diagnose activation/modularity/quality/deterministic prose, targeted fix, re-audit. |
|
|
11
|
+
| `polish-skill.md` | Description trigger-catalog audit; progressive disclosure + modularity + deterministic audit; task-seeded self-audit. |
|
|
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 verification step.
|
|
17
|
+
- New and improve load `skill-modularity.md`, `description-field.md`, and `deterministic-elements.md` when gathering or diagnosing.
|
|
18
|
+
- Polish Step 1 is the dedicated description rewrite pass; Step 2 covers structure, modularity, and deterministic placement.
|
|
19
|
+
- Load only the workflow that matches the active task; the other two stay out of context.
|
|
@@ -1,19 +1 @@
|
|
|
1
|
-
|
|
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: classify, scaffold, gather (composition + description triggers + deterministic inventory), write via the skill-writer-agent agent, self-audit, deliver. |
|
|
10
|
-
| `improve-skill.md` | Observation-first improve: diagnose activation/modularity/quality/deterministic prose, targeted fix, re-audit. |
|
|
11
|
-
| `polish-skill.md` | Description trigger-catalog audit; progressive disclosure + modularity + deterministic audit; task-seeded self-audit. |
|
|
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 verification step.
|
|
17
|
-
- New and improve load `skill-modularity.md`, `description-field.md`, and `deterministic-elements.md` when gathering or diagnosing.
|
|
18
|
-
- Polish Step 1 is the dedicated description rewrite pass; Step 2 covers structure, modularity, and deterministic placement.
|
|
19
|
-
- Load only the workflow that matches the active task; the other two stay out of context.
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# task-build
|
|
2
|
+
|
|
3
|
+
Gathers every open task in the current session and registers each one with the best available task or plan tool.
|
|
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 task items raised this session, then registers one item per open task — skipping anything already tracked or already complete.
|
|
10
|
+
|
|
11
|
+
## Key files
|
|
12
|
+
|
|
13
|
+
| File | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `SKILL.md` | Complete task discovery and registration workflow |
|
|
16
|
+
| `reference/tool-routing.md` | Progressive-disclosure routing and fallback rules |
|
|
17
|
+
|
|
18
|
+
## How the skill runs
|
|
19
|
+
|
|
20
|
+
1. Reads the current list or visible plan with the selected host tool — prevents duplicates.
|
|
21
|
+
2. Scans `$ARGUMENTS`, the conversation, and any plan or checklist items for open, actionable work.
|
|
22
|
+
3. Prefers `update_plan`; otherwise uses `TaskList`/`TaskCreate`, then `TodoWrite` as the fallback. See `reference/tool-routing.md` for field mapping.
|
|
23
|
+
4. Reports the selected tool, how many tasks were added, and how many were already tracked.
|
|
24
|
+
|
|
25
|
+
## Conventions
|
|
26
|
+
|
|
27
|
+
- This skill only records tasks — it does not start, assign, or complete them.
|
|
28
|
+
- Use the matching host operation to set status after the list is built.
|
|
29
|
+
- `disable-model-invocation: true` is not set; the skill uses model judgment to classify open vs. complete items.
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Gathers every open task in the current session and registers each one with the best available task or plan tool.
|
|
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 task items raised this session, then registers one item per open task — skipping anything already tracked or already complete.
|
|
10
|
-
|
|
11
|
-
## Key files
|
|
12
|
-
|
|
13
|
-
| File | Purpose |
|
|
14
|
-
|---|---|
|
|
15
|
-
| `SKILL.md` | Complete task discovery and registration workflow |
|
|
16
|
-
| `reference/tool-routing.md` | Progressive-disclosure routing and fallback rules |
|
|
17
|
-
|
|
18
|
-
## How the skill runs
|
|
19
|
-
|
|
20
|
-
1. Reads the current list or visible plan with the selected host tool — prevents duplicates.
|
|
21
|
-
2. Scans `$ARGUMENTS`, the conversation, and any plan or checklist items for open, actionable work.
|
|
22
|
-
3. Prefers `update_plan`; otherwise uses `TaskList`/`TaskCreate`, then `TodoWrite` as the fallback. See `reference/tool-routing.md` for field mapping.
|
|
23
|
-
4. Reports the selected tool, how many tasks were added, and how many were already tracked.
|
|
24
|
-
|
|
25
|
-
## Conventions
|
|
26
|
-
|
|
27
|
-
- This skill only records tasks — it does not start, assign, or complete them.
|
|
28
|
-
- Use the matching host operation to set status after the list is built.
|
|
29
|
-
- `disable-model-invocation: true` is not set; the skill uses model judgment to classify open vs. complete items.
|
|
1
|
+
@AGENTS.md
|
|
@@ -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.
|
package/skills/update/CLAUDE.md
CHANGED
|
@@ -1,38 +1 @@
|
|
|
1
|
-
|
|
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.
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# system-prompts
|
|
2
|
+
|
|
3
|
+
System-prompt reference files installed into `~/.claude/system-prompts/` by `bin/install.mjs`. Rules and skills pull a file (or one of its sections) into context on demand by citing its installed path.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
| File | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `software-engineer.xml` | Software-engineering reference: defines the engineering role, task-scope rules, output style, and the BDD `<behavior_protocol>` that `rules/bdd.md` cites on demand |
|
|
10
|
+
|
|
11
|
+
## Format
|
|
12
|
+
|
|
13
|
+
Files use XML with named sections (`<role>`, `<task_scope>`, `<output_style>`, `<behavior_protocol>`, etc.). A rule or skill cites a file, or one of its sections, to pull it into context when the task needs it.
|
|
14
|
+
|
|
15
|
+
## Adding a prompt
|
|
16
|
+
|
|
17
|
+
Create a new `.xml` file and run `bin/install.mjs` to copy it to `~/.claude/system-prompts/`. Reference the new file in the relevant rule or skill by its installed path.
|
package/system-prompts/CLAUDE.md
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
System-prompt reference files installed into `~/.claude/system-prompts/` by `bin/install.mjs`. Rules and skills pull a file (or one of its sections) into context on demand by citing its installed path.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
| File | Purpose |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `software-engineer.xml` | Software-engineering reference: defines the engineering role, task-scope rules, output style, and the BDD `<behavior_protocol>` that `rules/bdd.md` cites on demand |
|
|
10
|
-
|
|
11
|
-
## Format
|
|
12
|
-
|
|
13
|
-
Files use XML with named sections (`<role>`, `<task_scope>`, `<output_style>`, `<behavior_protocol>`, etc.). A rule or skill cites a file, or one of its sections, to pull it into context when the task needs it.
|
|
14
|
-
|
|
15
|
-
## Adding a prompt
|
|
16
|
-
|
|
17
|
-
Create a new `.xml` file and run `bin/install.mjs` to copy it to `~/.claude/system-prompts/`. Reference the new file in the relevant rule or skill by its installed path.
|
|
1
|
+
@AGENTS.md
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
</problem_solving>
|
|
91
91
|
|
|
92
92
|
<code_quality>
|
|
93
|
-
|
|
94
|
-
~/.claude/docs/CODE_RULES.md is the compact projection
|
|
95
|
-
|
|
93
|
+
The checked-in .cursor/BUGBOT.md is the full code-quality review contract.
|
|
94
|
+
~/.claude/docs/CODE_RULES.md is the compact projection for generation load.
|
|
95
|
+
The checklist below is a short reminder, not a
|
|
96
96
|
second canonical source.
|
|
97
97
|
|
|
98
98
|
Naming — full words only:
|
package/skills/imagegen/SKILL.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: imagegen
|
|
3
|
-
description: Generate prompt-driven images at exact requested resolutions through OpenAI API or Codex OAuth, with verified Pillow dimensions, truthful receipts, and safe atomic publication.
|
|
4
|
-
argument-hint: --backend openai-api|codex-oauth --prompt "..." --size 2880x2880 --output path.png
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Exact-resolution image generation
|
|
8
|
-
|
|
9
|
-
Use `scripts/imagegen.py` for reusable image generation.
|
|
10
|
-
|
|
11
|
-
Prerequisites: Python 3.11 or newer and Pillow. The direct backend requires `OPENAI_API_KEY`; the OAuth backend requires an authenticated `codex` installation.
|
|
12
|
-
|
|
13
|
-
```text
|
|
14
|
-
python scripts/imagegen.py --backend openai-api --prompt "..." --size 2880x2880 --output generated.png
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
`openai-api` reads `OPENAI_API_KEY` from the environment and requests `gpt-image-2`. `codex-oauth` invokes the authenticated `codex` executable in an isolated temporary directory and measures its single PNG artifact.
|
|
18
|
-
|
|
19
|
-
Native provider dimensions publish unchanged source bytes. A mismatch fails with the default `--resize-policy forbid`; `--resize-policy allow` applies Pillow resizing and records `resized` in the JSON sidecar receipt.
|
|
20
|
-
|
|
21
|
-
The receipt sits beside the PNG with a `.json` suffix. It contains hashes, observed dimensions, backend, model or tool, transformation classification, prompt hash, and credential source name. Existing output or receipt files require `--overwrite`.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"""Configuration package for the imagegen skill."""
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"""Named imagegen limits and provider settings."""
|
|
2
|
-
|
|
3
|
-
OPENAI_API_URL = "https://api.openai.com/v1/images/generations"
|
|
4
|
-
OPENAI_MODEL = "gpt-image-2"
|
|
5
|
-
OPENAI_OUTPUT_FORMAT = "png"
|
|
6
|
-
OPENAI_API_KEY_NAME = "OPENAI_API_KEY"
|
|
7
|
-
CODEX_TOOL_NAME = "codex-imagegen"
|
|
8
|
-
ALL_SUPPORTED_BACKENDS = ("openai-api", "codex-oauth")
|
|
9
|
-
ALL_SUPPORTED_RESIZE_POLICIES = ("forbid", "allow")
|
|
10
|
-
MAXIMUM_IMAGE_EDGE = 3840
|
|
11
|
-
MINIMUM_PIXEL_COUNT = 655_360
|
|
12
|
-
MAXIMUM_PIXEL_COUNT = 8_294_400
|
|
13
|
-
SIZE_MULTIPLE = 16
|
|
14
|
-
JSON_INDENT_LEVEL = 2
|
|
15
|
-
MAXIMUM_PROVIDER_BYTES = 64 * 1024 * 1024
|
|
16
|
-
CODEX_TIMEOUT_SECONDS = 300
|
|
17
|
-
MAXIMUM_CODEX_OUTPUT_BYTES = 1 * 1024 * 1024
|
|
18
|
-
OPENAI_TIMEOUT_SECONDS = 120
|
|
19
|
-
SIZE_COMPONENT_COUNT = 2
|
|
20
|
-
SIZE_SEPARATOR = "x"
|
|
21
|
-
PNG_SUFFIX = ".png"
|
|
22
|
-
PNG_FORMAT = "PNG"
|
|
23
|
-
RECEIPT_SUFFIX = ".json"
|
|
24
|
-
TEMPORARY_DIRECTORY_PREFIX = "imagegen-"
|
|
25
|
-
TEMPORARY_FILE_TOKEN_BYTES = 8
|
|
26
|
-
DEFAULT_PROVIDER_EDGE = 2048
|
|
27
|
-
MINIMUM_DIMENSION = 1
|
|
28
|
-
MAXIMUM_CODEX_ARTIFACT_COUNT = 1
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"""Command-line entry point for exact-resolution image generation."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
import argparse
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
|
|
8
|
-
from config.constants import ALL_SUPPORTED_BACKENDS, ALL_SUPPORTED_RESIZE_POLICIES
|
|
9
|
-
from imagegen_core import ImagegenError, generate_image, parse_size
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def build_parser() -> argparse.ArgumentParser:
|
|
13
|
-
"""Build the imagegen command-line parser.
|
|
14
|
-
|
|
15
|
-
Returns:
|
|
16
|
-
Parser for the imagegen command-line contract.
|
|
17
|
-
"""
|
|
18
|
-
parser = argparse.ArgumentParser(description="Generate an exact-resolution image")
|
|
19
|
-
parser.add_argument("--backend", choices=ALL_SUPPORTED_BACKENDS, required=True)
|
|
20
|
-
parser.add_argument("--prompt", required=True)
|
|
21
|
-
parser.add_argument("--size", required=True)
|
|
22
|
-
parser.add_argument("--output", dest="destination_path", type=Path, required=True)
|
|
23
|
-
parser.add_argument("--resize-policy", choices=ALL_SUPPORTED_RESIZE_POLICIES, default=ALL_SUPPORTED_RESIZE_POLICIES[0])
|
|
24
|
-
parser.add_argument("--overwrite", action="store_true")
|
|
25
|
-
return parser
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def main() -> int:
|
|
29
|
-
"""Run the CLI and return a process status.
|
|
30
|
-
|
|
31
|
-
Returns:
|
|
32
|
-
Zero for a published artifact and one for a generation failure.
|
|
33
|
-
"""
|
|
34
|
-
arguments = build_parser().parse_args()
|
|
35
|
-
try:
|
|
36
|
-
all_receipt = generate_image(arguments.prompt, arguments.backend, parse_size(arguments.size), arguments.destination_path, arguments.resize_policy, arguments.overwrite)
|
|
37
|
-
except ImagegenError as error:
|
|
38
|
-
print(f"ERROR: {error}")
|
|
39
|
-
return 1
|
|
40
|
-
print(f"Generated {arguments.destination_path} ({all_receipt['transformation']})")
|
|
41
|
-
return 0
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if __name__ == "__main__":
|
|
45
|
-
raise SystemExit(main())
|