claude-dev-env 1.0.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/LICENSE +21 -0
- package/README.md +219 -0
- package/agents/agent-writer.md +157 -0
- package/agents/clasp-deployment-orchestrator.md +609 -0
- package/agents/clean-coder.md +295 -0
- package/agents/code-quality-agent.md +40 -0
- package/agents/code-standards-agent.md +93 -0
- package/agents/config-centralizer.md +686 -0
- package/agents/config-extraction-agent.md +225 -0
- package/agents/doc-orchestrator.md +47 -0
- package/agents/docs-agent.md +112 -0
- package/agents/docx-agent.md +211 -0
- package/agents/git-commit-crafter.md +100 -0
- package/agents/magic-value-eliminator-agent.md +72 -0
- package/agents/mandatory-agent-workflow-agent.md +88 -0
- package/agents/parallel-workflow-coordinator.md +779 -0
- package/agents/pdf-agent.md +302 -0
- package/agents/plan-executor.md +226 -0
- package/agents/pr-description-writer.md +87 -0
- package/agents/project-context-loader.md +238 -0
- package/agents/project-docs-analyzer.md +54 -0
- package/agents/project-structure-organizer-agent.md +72 -0
- package/agents/readability-review-agent.md +76 -0
- package/agents/refactoring-specialist.md +69 -0
- package/agents/right-sized-engineer.md +129 -0
- package/agents/session-continuity-manager.md +53 -0
- package/agents/skill-to-agent-converter.md +371 -0
- package/agents/skill-writer-agent.md +470 -0
- package/agents/stub-detector-agent.md +140 -0
- package/agents/tdd-test-writer.md +62 -0
- package/agents/test-data-builder.md +68 -0
- package/agents/tooling-builder.md +78 -0
- package/agents/user-docs-writer.md +67 -0
- package/agents/validation-expert.md +71 -0
- package/agents/workflow-visual-documenter.md +82 -0
- package/agents/xlsx-agent.md +169 -0
- package/bin/install.mjs +256 -0
- package/commands/commit.md +28 -0
- package/commands/docupdate.md +322 -0
- package/commands/implement.md +102 -0
- package/commands/initialize.md +91 -0
- package/commands/plan.md +63 -0
- package/commands/pr-comments.md +47 -0
- package/commands/readability-review.md +20 -0
- package/commands/review-plan.md +7 -0
- package/commands/right-size.md +15 -0
- package/commands/stubcheck.md +89 -0
- package/commands/sum.md +30 -0
- package/docs/CODE_RULES.md +186 -0
- package/docs/DJANGO_PATTERNS.md +80 -0
- package/docs/REACT_PATTERNS.md +185 -0
- package/docs/TEST_QUALITY.md +104 -0
- package/hooks/advisory/migration-safety-advisor.py +49 -0
- package/hooks/advisory/refactor-guard.py +205 -0
- package/hooks/blocking/block-main-commit.py +168 -0
- package/hooks/blocking/code-rules-enforcer.py +549 -0
- package/hooks/blocking/destructive-command-blocker.py +107 -0
- package/hooks/blocking/docker-settings-guard.py +44 -0
- package/hooks/blocking/hedging-language-blocker.py +130 -0
- package/hooks/blocking/parallel-task-blocker.py +69 -0
- package/hooks/blocking/pr-description-enforcer.py +87 -0
- package/hooks/blocking/pyautogui-scroll-blocker.py +74 -0
- package/hooks/blocking/sensitive-file-protector.py +70 -0
- package/hooks/blocking/tdd-enforcer.py +62 -0
- package/hooks/blocking/test-preflight-check.py +343 -0
- package/hooks/blocking/write-existing-file-blocker.py +63 -0
- package/hooks/git-hooks/post-commit.py +103 -0
- package/hooks/github-action/test_workflow.py +33 -0
- package/hooks/hooks.json +246 -0
- package/hooks/lifecycle/config-change-guard.py +84 -0
- package/hooks/lifecycle/session-end-cleanup.py +59 -0
- package/hooks/notification/attention-needed-notify.py +63 -0
- package/hooks/notification/claude-notification-handler.py +59 -0
- package/hooks/notification/notification_utils.py +206 -0
- package/hooks/rewrite-plugin-paths.py +116 -0
- package/hooks/session/bulk-edit-reminder.py +30 -0
- package/hooks/session/code-rules-reminder.py +97 -0
- package/hooks/session/compact-context-reinject.py +39 -0
- package/hooks/session/hook-structure-context.py +140 -0
- package/hooks/session/plugin-data-dir-cleanup.py +39 -0
- package/hooks/validation/code-style-validator.py +145 -0
- package/hooks/validation/e2e-test-validator.py +142 -0
- package/hooks/validation/hook-format-validator.py +66 -0
- package/hooks/validation/mypy_validator.py +180 -0
- package/hooks/validators/README.md +125 -0
- package/hooks/validators/VALIDATION_REPORT.md +287 -0
- package/hooks/validators/__init__.py +19 -0
- package/hooks/validators/abbreviation_checks.py +82 -0
- package/hooks/validators/code_quality_checks.py +133 -0
- package/hooks/validators/comment_checks.py +188 -0
- package/hooks/validators/file_structure_checks.py +182 -0
- package/hooks/validators/git_checks.py +107 -0
- package/hooks/validators/health_check.py +214 -0
- package/hooks/validators/magic_value_checks.py +81 -0
- package/hooks/validators/mypy_integration.py +52 -0
- package/hooks/validators/output_formatter.py +266 -0
- package/hooks/validators/pr_reference_checks.py +72 -0
- package/hooks/validators/python_antipattern_checks.py +110 -0
- package/hooks/validators/python_style_checks.py +364 -0
- package/hooks/validators/react_checks.py +90 -0
- package/hooks/validators/ruff_integration.py +80 -0
- package/hooks/validators/run_all_validators.py +772 -0
- package/hooks/validators/security_checks.py +135 -0
- package/hooks/validators/test_abbreviation_checks.py +76 -0
- package/hooks/validators/test_bad.tsx +7 -0
- package/hooks/validators/test_code_quality_checks.py +129 -0
- package/hooks/validators/test_file_structure_checks.py +307 -0
- package/hooks/validators/test_files/01_basic_component.tsx +10 -0
- package/hooks/validators/test_files/02_component_without_react.tsx +10 -0
- package/hooks/validators/test_files/03_pure_component.tsx +10 -0
- package/hooks/validators/test_files/04_pure_component_import.tsx +10 -0
- package/hooks/validators/test_files/05_typescript_generics.tsx +14 -0
- package/hooks/validators/test_files/06_typescript_two_generics.tsx +18 -0
- package/hooks/validators/test_files/07_multiline_declaration.tsx +11 -0
- package/hooks/validators/test_files/08_error_boundary_valid.tsx +14 -0
- package/hooks/validators/test_files/09_error_boundary_with_other_class.tsx +20 -0
- package/hooks/validators/test_files/10_inheritance_chain.tsx +16 -0
- package/hooks/validators/test_files/11_ts_file.ts +10 -0
- package/hooks/validators/test_files/12_non_react_class.tsx +14 -0
- package/hooks/validators/test_files/13_functional_component.tsx +8 -0
- package/hooks/validators/test_files/14_indented_class.tsx +13 -0
- package/hooks/validators/test_files/15_getDerivedStateFromError.tsx +14 -0
- package/hooks/validators/test_files/16_mixed_components.tsx +20 -0
- package/hooks/validators/test_files/EXECUTIVE_SUMMARY.md +175 -0
- package/hooks/validators/test_files/TEST_RESULTS_TABLE.txt +60 -0
- package/hooks/validators/test_files/VALIDATION_REPORT.md +201 -0
- package/hooks/validators/test_files/async_views.py +23 -0
- package/hooks/validators/test_files/async_with_imports.py +14 -0
- package/hooks/validators/test_files/bad_inline_imports.py +37 -0
- package/hooks/validators/test_files/management/commands/cmd_01_no_debug_check.py +10 -0
- package/hooks/validators/test_files/management/commands/cmd_02_proper_debug_check.py +14 -0
- package/hooks/validators/test_files/management/commands/cmd_03_debug_check_with_return.py +14 -0
- package/hooks/validators/test_files/management/commands/cmd_04_imported_DEBUG.py +14 -0
- package/hooks/validators/test_files/management/commands/cmd_05_debug_check_in_helper.py +16 -0
- package/hooks/validators/test_files/management/commands/cmd_06_debug_check_late.py +22 -0
- package/hooks/validators/test_files/management/commands/cmd_07_positive_debug_check.py +15 -0
- package/hooks/validators/test_files/management/commands/cmd_08_debug_with_and.py +14 -0
- package/hooks/validators/test_files/not_management_command.py +10 -0
- package/hooks/validators/test_files/skip_decorators/test_01_simple_skip.py +8 -0
- package/hooks/validators/test_files/skip_decorators/test_02_pytest_skipif.py +8 -0
- package/hooks/validators/test_files/skip_decorators/test_03_unittest_skipIf.py +8 -0
- package/hooks/validators/test_files/skip_decorators/test_04_skip_with_parens.py +8 -0
- package/hooks/validators/test_files/skip_decorators/test_05_xfail.py +7 -0
- package/hooks/validators/test_files/skip_decorators/test_06_custom_skip.py +11 -0
- package/hooks/validators/test_files/skip_decorators/test_07_capital_Skip.py +8 -0
- package/hooks/validators/test_files/skip_decorators/test_08_skipUnless.py +7 -0
- package/hooks/validators/test_files/skip_decorators/test_09_pytest_mark_skip_simple.py +7 -0
- package/hooks/validators/test_files/test_async_functions.py +45 -0
- package/hooks/validators/test_files/test_purecomponent/PureComponentExample.tsx +7 -0
- package/hooks/validators/test_files/test_purecomponent/ReactPureComponentExample.tsx +7 -0
- package/hooks/validators/test_git_checks.py +295 -0
- package/hooks/validators/test_good.tsx +5 -0
- package/hooks/validators/test_health_check.py +57 -0
- package/hooks/validators/test_magic_value_checks.py +63 -0
- package/hooks/validators/test_mypy_integration.py +27 -0
- package/hooks/validators/test_output_formatter.py +150 -0
- package/hooks/validators/test_pr_reference_checks.py +41 -0
- package/hooks/validators/test_python_antipattern_checks.py +113 -0
- package/hooks/validators/test_python_style_checks.py +439 -0
- package/hooks/validators/test_react_checks.py +213 -0
- package/hooks/validators/test_results.txt +25 -0
- package/hooks/validators/test_ruff_integration.py +27 -0
- package/hooks/validators/test_run_all_validators.py +228 -0
- package/hooks/validators/test_run_all_validators_integration.py +48 -0
- package/hooks/validators/test_safety_checks.py +243 -0
- package/hooks/validators/test_security_checks.py +105 -0
- package/hooks/validators/test_test_safety_checks.py +321 -0
- package/hooks/validators/test_todo_checks.py +39 -0
- package/hooks/validators/test_type_safety_checks.py +85 -0
- package/hooks/validators/test_useless_test_checks.py +55 -0
- package/hooks/validators/test_validator_base.py +26 -0
- package/hooks/validators/test_verify_paths.py +34 -0
- package/hooks/validators/todo_checks.py +59 -0
- package/hooks/validators/type_safety_checks.py +101 -0
- package/hooks/validators/useless_test_checks.py +92 -0
- package/hooks/validators/validator_base.py +19 -0
- package/hooks/validators/verify_paths.py +57 -0
- package/hooks/workflow/auto-formatter.py +114 -0
- package/hooks/workflow/investigation-tracker-reset.py +46 -0
- package/package.json +30 -0
- package/rules/agent-spawn-protocol.md +47 -0
- package/rules/cleanup-temp-files.md +27 -0
- package/rules/code-reviews.md +11 -0
- package/rules/code-standards.md +43 -0
- package/rules/conservative-action.md +20 -0
- package/rules/context7.md +12 -0
- package/rules/explore-thoroughly.md +27 -0
- package/rules/git-workflow.md +42 -0
- package/rules/parallel-tools.md +23 -0
- package/rules/research-mode.md +23 -0
- package/rules/right-sized-engineering.md +28 -0
- package/rules/tdd.md +7 -0
- package/rules/testing.md +12 -0
- package/skills/agent-prompt/SKILL.md +102 -0
- package/skills/anthropic-plan/SKILL.md +107 -0
- package/skills/everything-search/SKILL.md +144 -0
- package/skills/ingest/SKILL.md +40 -0
- package/skills/npm-creator/SKILL.md +183 -0
- package/skills/pr-review-responder/EXAMPLES.md +590 -0
- package/skills/pr-review-responder/PRINCIPLES.md +539 -0
- package/skills/pr-review-responder/README.md +209 -0
- package/skills/pr-review-responder/SKILL.md +202 -0
- package/skills/pr-review-responder/TESTING.md +407 -0
- package/skills/pr-review-responder/scripts/respond_to_reviews.py +376 -0
- package/skills/pr-review-responder/update_skill.py +297 -0
- package/skills/prompt-generator/REFERENCE.md +150 -0
- package/skills/prompt-generator/SKILL.md +154 -0
- package/skills/readability-review/SKILL.md +127 -0
- package/skills/recall/SKILL.md +27 -0
- package/skills/remember/SKILL.md +63 -0
- package/skills/rule-audit/SKILL.md +307 -0
- package/skills/rule-creator/SKILL.md +150 -0
- package/skills/skill-writer/REFERENCE.md +246 -0
- package/skills/skill-writer/SKILL.md +270 -0
- package/skills/tdd-team/SKILL.md +128 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Git Workflow
|
|
2
|
+
|
|
3
|
+
User-level rule: applies to **every** git repo that uses GitHub with `gh` (no exceptions for “small” or non-primary repos unless the user says otherwise in the session).
|
|
4
|
+
|
|
5
|
+
## Workflow Decision Tree
|
|
6
|
+
|
|
7
|
+
**When to use stacked PRs:** Feature B depends on Feature A's implementation
|
|
8
|
+
|
|
9
|
+
**When to extract shared infrastructure first:** Multiple features need same utilities/helpers
|
|
10
|
+
|
|
11
|
+
**Extract Shared Infrastructure Pattern:**
|
|
12
|
+
1. Create infrastructure PR with only shared code
|
|
13
|
+
2. Get reviewed and MERGE infrastructure first
|
|
14
|
+
3. Launch parallel feature PRs that use merged infrastructure
|
|
15
|
+
|
|
16
|
+
## PR Submission Rules
|
|
17
|
+
|
|
18
|
+
**ALWAYS create PRs as DRAFT:** Use `gh pr create --draft` for ALL PRs
|
|
19
|
+
|
|
20
|
+
## Git Golden Rules (NON-NEGOTIABLE)
|
|
21
|
+
|
|
22
|
+
1. **DRAFT BEFORE PUSH**: When pushing ANYTHING to a PR, it MUST be in draft state first
|
|
23
|
+
- Before push: `gh pr ready --undo`
|
|
24
|
+
- After review approved: `gh pr ready`
|
|
25
|
+
|
|
26
|
+
2. **ONE COMMIT PER REVIEW STAGE**: Each review round gets exactly ONE commit
|
|
27
|
+
- Initial feature: 1 commit
|
|
28
|
+
- After review #1: 2 commits (initial + review #1 fixes)
|
|
29
|
+
- After review #2: 3 commits (initial + review #1 fixes + review #2 fixes)
|
|
30
|
+
- NEVER squash multiple review stages into one commit
|
|
31
|
+
- NEVER have multiple commits for the same review stage
|
|
32
|
+
|
|
33
|
+
## Never Commit Working Documents or Images
|
|
34
|
+
|
|
35
|
+
**NEVER commit these files to the repo:**
|
|
36
|
+
|
|
37
|
+
| Pattern | Reason |
|
|
38
|
+
|---------|--------|
|
|
39
|
+
| `docs/plans/*.md` | Working documents for planning, not repo content |
|
|
40
|
+
| `*.plan.md` | Temporary planning files |
|
|
41
|
+
| `SESSION_STATE.md` | Local session state |
|
|
42
|
+
| `*.png *.jpg *.jpeg *.gif *.webp *.avif *.svg *.ico` | Images go to external storage, not GitHub |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Parallel Tool Calls
|
|
2
|
+
|
|
3
|
+
Source: [Anthropic - Parallel Tool Calling](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#optimize-parallel-tool-calling)
|
|
4
|
+
|
|
5
|
+
<use_parallel_tool_calls>
|
|
6
|
+
When multiple tool calls have no dependencies between them, make all independent calls in a single response. Only sequence calls when a later call needs an earlier call's result.
|
|
7
|
+
</use_parallel_tool_calls>
|
|
8
|
+
|
|
9
|
+
## Examples
|
|
10
|
+
|
|
11
|
+
- Reading 3 files: call all 3 Read operations at once.
|
|
12
|
+
- Running independent searches: launch all Grep/Glob calls simultaneously.
|
|
13
|
+
- Checking git status + reading a config file: both in one response.
|
|
14
|
+
- Reading a file, then editing based on its content: sequential (edit depends on read result).
|
|
15
|
+
|
|
16
|
+
## Guard rails
|
|
17
|
+
|
|
18
|
+
- Use real parameter values only. Do not guess or use placeholders to force parallelism.
|
|
19
|
+
- If you are unsure whether calls are independent, run them sequentially.
|
|
20
|
+
|
|
21
|
+
## Why
|
|
22
|
+
|
|
23
|
+
Explicit reinforcement of parallel calling boosts compliance to near 100%. Sequential calls for independent operations waste time and round-trips for the user.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Research Mode (Global)
|
|
2
|
+
|
|
3
|
+
Three anti-hallucination constraints are ALWAYS active.
|
|
4
|
+
|
|
5
|
+
Source: [Anthropic - Reduce Hallucinations](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
|
|
6
|
+
|
|
7
|
+
## 1. Say "I don't know"
|
|
8
|
+
If you don't have a credible source for a claim, say so. Don't guess. Don't infer. "I don't have data on this" is always a valid answer.
|
|
9
|
+
|
|
10
|
+
## 2. Verify with citations
|
|
11
|
+
Every recommendation, claim, or piece of advice must cite a specific source:
|
|
12
|
+
- A file in the current project
|
|
13
|
+
- An external source found via web search (with URL)
|
|
14
|
+
- A named expert, paper, or researcher
|
|
15
|
+
- Official documentation
|
|
16
|
+
|
|
17
|
+
If you generate a claim and cannot find a supporting source, retract it. Do not present it.
|
|
18
|
+
|
|
19
|
+
## 3. Direct quotes for factual grounding
|
|
20
|
+
When working from documents, extract the actual text first before analyzing. Ground your response in word-for-word quotes, not paraphrased summaries. Reference the quote when making your point.
|
|
21
|
+
|
|
22
|
+
## Exceptions
|
|
23
|
+
Creative thinking, brainstorming, and novel ideas don't require citation. You can synthesize across sources to reach new conclusions, but the inputs must be grounded.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Right-Sized Engineering
|
|
2
|
+
|
|
3
|
+
**Build it right, but build it simple.** Good engineering principles at the appropriate scale.
|
|
4
|
+
|
|
5
|
+
## Always Do
|
|
6
|
+
- Extract constants and configuration (no hardcoding)
|
|
7
|
+
- Create reusable functions (no copy-paste)
|
|
8
|
+
- Use proper error handling
|
|
9
|
+
- Follow DRY from the start
|
|
10
|
+
- Single responsibility per function
|
|
11
|
+
|
|
12
|
+
## Never Do (Solo Scale)
|
|
13
|
+
- Abstract base classes for single implementations
|
|
14
|
+
- Dependency injection frameworks
|
|
15
|
+
- Complex patterns (CQRS, microservices)
|
|
16
|
+
- Multiple inheritance hierarchies
|
|
17
|
+
- Over-abstracted interfaces
|
|
18
|
+
|
|
19
|
+
## Complexity Budget
|
|
20
|
+
|
|
21
|
+
**State BEFORE implementation:** Files (target 1-2, max 3), Lines (~50-300), Checkpoints ("Is this MINIMUM?", "Fewer files?", "Functions vs classes?")
|
|
22
|
+
|
|
23
|
+
## YAGNI for API Surface
|
|
24
|
+
|
|
25
|
+
**Don't expose optional parameters until they're actually used.**
|
|
26
|
+
|
|
27
|
+
If a value will always be a constant for now, use the constant internally.
|
|
28
|
+
Only add the parameter when callers actually need to vary it.
|
package/rules/tdd.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# TDD Process: Red-Green-Refactor
|
|
2
|
+
|
|
3
|
+
**TEST-DRIVEN DEVELOPMENT IS NON-NEGOTIABLE.** Every single line of production code must be written in response to a failing test. No exceptions.
|
|
4
|
+
|
|
5
|
+
1. **Red**: Write failing test. NO PRODUCTION CODE.
|
|
6
|
+
2. **Green**: MINIMUM code to pass. Resist urge for more.
|
|
7
|
+
3. **Refactor**: Assess improvements. Only if valuable.
|
package/rules/testing.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Testing Standards
|
|
2
|
+
|
|
3
|
+
> **Reference:** TEST_QUALITY.md - Load when writing or reviewing tests.
|
|
4
|
+
|
|
5
|
+
@${CLAUDE_PLUGIN_ROOT}/docs/TEST_QUALITY.md
|
|
6
|
+
|
|
7
|
+
## Complete Mocks for Testability
|
|
8
|
+
|
|
9
|
+
**Mocks must include all fields the component actually uses.**
|
|
10
|
+
|
|
11
|
+
If a component renders field X, the mock must have field X with a valid value.
|
|
12
|
+
Incomplete mocks make it impossible to distinguish "broken code" from "missing data".
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-prompt
|
|
3
|
+
description: >-
|
|
4
|
+
Craft a structured prompt using prompt-generator's workflow, then spawn a
|
|
5
|
+
background agent to execute it after user approval. Use instead of
|
|
6
|
+
/prompt-generator when the user wants execution, not just the prompt.
|
|
7
|
+
Triggers on /agent-prompt, "launch an agent for this", "spawn agent to do X",
|
|
8
|
+
"delegate this", "run this in background", or any task that benefits from
|
|
9
|
+
agent delegation with prompt quality.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
@~/.claude/skills/prompt-generator/SKILL.md
|
|
13
|
+
@~/.claude/skills/prompt-generator/REFERENCE.md
|
|
14
|
+
|
|
15
|
+
# Agent Prompt
|
|
16
|
+
|
|
17
|
+
Craft a structured agent prompt, get approval, spawn a background agent.
|
|
18
|
+
|
|
19
|
+
The prompt-generator skill above defines the prompt-crafting workflow. This skill extends it: instead of delivering the prompt as a fenced block, it presents the prompt for approval and spawns a background agent.
|
|
20
|
+
|
|
21
|
+
## When this skill applies
|
|
22
|
+
|
|
23
|
+
Trigger when the user wants to delegate a task to an agent. The difference from /prompt-generator: this skill **executes**.
|
|
24
|
+
|
|
25
|
+
When invoked with arguments (e.g. `/agent-prompt fix the auth bug via TDD`), treat the arguments as the task to build a prompt for and execute.
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
### Steps 1-8: Craft the prompt
|
|
30
|
+
|
|
31
|
+
Follow the prompt-generator workflow steps 1 through 8 exactly as written. Classify the prompt type, set degree of freedom, collect missing facts, build the prompt with XML tags and role, control format and style, add examples if needed, and self-check against the rubric.
|
|
32
|
+
|
|
33
|
+
Skip step 9 (Deliver). Continue below instead.
|
|
34
|
+
|
|
35
|
+
### Step 9: Gather context before crafting
|
|
36
|
+
|
|
37
|
+
The agent starts with zero conversation history. Before building the prompt, use Read, Glob, Grep, and other research tools to gather the concrete values the agent will need -- file paths, function signatures, existing patterns, branch names. Embed these directly in the prompt instead of telling the agent to "find" them.
|
|
38
|
+
|
|
39
|
+
The agent-spawn-protocol rule requires this: if any context question has the answer "I don't know", investigate first. Do not delegate the context-gathering.
|
|
40
|
+
|
|
41
|
+
Proactive context gathering enables agents to plan effectively from the start. Anthropic's emotion concepts research (2026) found that agents produce higher-quality output when they understand constraints, available tools, and system boundaries upfront — they incorporate these into their approach naturally, leading to better first attempts and more accurate results.
|
|
42
|
+
|
|
43
|
+
### Step 10: Determine agent configuration
|
|
44
|
+
|
|
45
|
+
Map the task to agent parameters:
|
|
46
|
+
|
|
47
|
+
| Task type | subagent_type | mode |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| Codebase exploration, search, research | Explore | default |
|
|
50
|
+
| Code implementation, bug fix, refactoring | general-purpose | auto |
|
|
51
|
+
| Read-only audit, analysis, review | general-purpose | default |
|
|
52
|
+
| Architecture, multi-step planning | Plan | plan |
|
|
53
|
+
|
|
54
|
+
Always set `run_in_background: true`.
|
|
55
|
+
|
|
56
|
+
Generate a descriptive `name` (3-5 words, kebab-case) so the user can track progress and send follow-up messages via `SendMessage({to: name})`.
|
|
57
|
+
|
|
58
|
+
### Step 11: Present for approval
|
|
59
|
+
|
|
60
|
+
Use AskUserQuestion with one question. The question text should summarize the agent config (type, mode, name). Each option should use the `preview` field to show the full crafted prompt.
|
|
61
|
+
|
|
62
|
+
Options:
|
|
63
|
+
1. "Launch it" (recommended) -- preview shows the crafted prompt
|
|
64
|
+
2. "Edit first" -- preview shows the prompt with a note that user can provide changes
|
|
65
|
+
3. "Cancel" -- no preview
|
|
66
|
+
|
|
67
|
+
### Step 12: Spawn
|
|
68
|
+
|
|
69
|
+
On **"Launch it"**: spawn the Agent tool with the crafted prompt and configuration. Report the agent name so the user knows what's running.
|
|
70
|
+
|
|
71
|
+
On **"Edit first"**: present the prompt in conversation text. After the user provides changes, return to step 11 with the updated prompt.
|
|
72
|
+
|
|
73
|
+
On **"Cancel"**: acknowledge and stop.
|
|
74
|
+
|
|
75
|
+
## Prompt adjustments for agent execution
|
|
76
|
+
|
|
77
|
+
When building the prompt in step 4, these adjustments ensure the agent can work independently:
|
|
78
|
+
|
|
79
|
+
**Context completeness** -- include file paths, line numbers, function names, branch state, and anything you learned during step 9. The agent cannot see this conversation.
|
|
80
|
+
|
|
81
|
+
**Acceptance criteria** -- state what "done" looks like. For code: include the test command. For research: specify the output format and save location.
|
|
82
|
+
|
|
83
|
+
**Scope boundary** -- include "Only make changes directly requested; do not refactor surrounding code" or equivalent. Agents without scope constraints tend to over-engineer.
|
|
84
|
+
|
|
85
|
+
**Constraints from this project** -- if the project has CODE_RULES.md, TDD requirements, or naming conventions, include the relevant subset in the prompt so the agent follows them.
|
|
86
|
+
|
|
87
|
+
**Emotion-informed briefing** -- Anthropic's emotion concepts research (2026) found that briefing style causally affects output quality. Frame tasks collaboratively ("work on this together", "help figure out"). Include permission to express uncertainty ("flag anything you're unsure about", "use [PLACEHOLDER] for unverified specifics"). Provide motivation behind constraints ("this ordering ensures tests define behavior before implementation exists"). Share system context proactively (what hooks enforce, what tools are available, what the fallback is) so the agent can incorporate constraints into its plan from the start.
|
|
88
|
+
|
|
89
|
+
**Anti-test-fixation** -- For code tasks, include guidance against test-specific solutions. Anthropic: "Implement a solution that works correctly for all valid inputs, not just the test cases. Tests are there to verify correctness, not to define the solution. If the task is unreasonable or infeasible, or if any of the tests are incorrect, please inform me rather than working around them."
|
|
90
|
+
|
|
91
|
+
**Commit-and-execute** -- For multi-step agent work, include decision commitment guidance. Anthropic: "When deciding how to approach a problem, choose an approach and commit to it. Avoid revisiting decisions unless you encounter new information that directly contradicts your reasoning."
|
|
92
|
+
|
|
93
|
+
**Temp file cleanup** -- If the agent may create scratch files during iteration, include cleanup instructions. Anthropic: "If you create any temporary new files, scripts, or helper files for iteration, clean up these files by removing them at the end of the task."
|
|
94
|
+
|
|
95
|
+
## Constraints
|
|
96
|
+
|
|
97
|
+
- Always present for approval via AskUserQuestion -- never auto-spawn
|
|
98
|
+
- Always run agents in background
|
|
99
|
+
- Gather context before crafting -- do not send an agent in blind
|
|
100
|
+
- If the task is too small for an agent (single file read, quick grep), say so and just do it directly
|
|
101
|
+
- Include obstacle handling: "When encountering obstacles, do not use destructive actions as a shortcut (e.g. --no-verify, discarding unfamiliar files)" -- agents without this guidance may take irreversible shortcuts
|
|
102
|
+
- Frame agent tasks with collaborative language and include permission to express uncertainty — agents produce higher-quality output with collaborative briefing (Anthropic emotion concepts research, 2026)
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: anthropic-plan
|
|
3
|
+
description: Structured implementation planning through readonly codebase exploration before any code changes. Produces a plan file for approval. Use when the user says /anthropic-plan, "plan this first", "think before coding", "explore before implementing", "make a plan", or when approaching non-trivial tasks that benefit from upfront exploration and design. Also triggers on "what would the approach be", "scope this out", or "don't code yet, just plan".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Claude Plan
|
|
7
|
+
|
|
8
|
+
Explore the codebase, design an approach, and write a plan file -- all without touching production code.
|
|
9
|
+
|
|
10
|
+
## Why
|
|
11
|
+
|
|
12
|
+
Jumping straight to code on non-trivial tasks leads to wasted effort when the approach conflicts with existing patterns, misses reusable code, or misunderstands the user's intent. This skill enforces "look before you leap": explore first, design second, write the plan third, get approval last. No code changes until the user says go.
|
|
13
|
+
|
|
14
|
+
## Constraints
|
|
15
|
+
|
|
16
|
+
Treat the codebase as readonly throughout this skill. The only file you may create or edit is the plan file.
|
|
17
|
+
|
|
18
|
+
**Allowed:** Read files, Grep, Glob, launch Explore agents, launch Plan agents, write/edit the plan file, AskUserQuestion for clarification.
|
|
19
|
+
|
|
20
|
+
**Not allowed:** Edit source files, Write new source files, run tests, install packages, run non-readonly Bash commands, or make any system changes.
|
|
21
|
+
|
|
22
|
+
This discipline exists because the user invoked this skill specifically to understand the approach before committing to it. Violating readonly would undermine the whole point.
|
|
23
|
+
|
|
24
|
+
## Plan File
|
|
25
|
+
|
|
26
|
+
Write to `~/.claude/plans/<slug>.md`.
|
|
27
|
+
|
|
28
|
+
Generate the slug from the task -- descriptive, kebab-case, 2-4 words. Examples: `add-user-auth.md`, `fix-payment-retry.md`, `refactor-config-loading.md`. Avoid the random-word convention used by built-in plan mode.
|
|
29
|
+
|
|
30
|
+
**Announce at start:** "Planning: `<slug>` -- exploring before writing code."
|
|
31
|
+
|
|
32
|
+
## Workflow
|
|
33
|
+
|
|
34
|
+
### Phase 1: Explore
|
|
35
|
+
|
|
36
|
+
Understand the problem space before proposing solutions. Launch Explore agents in parallel -- up to 3, but use the minimum needed. Quality over quantity.
|
|
37
|
+
|
|
38
|
+
What to look for:
|
|
39
|
+
- Files and modules the task will touch
|
|
40
|
+
- Existing patterns for similar functionality
|
|
41
|
+
- Utilities, helpers, constants, and shared code to reuse
|
|
42
|
+
- Test patterns already in place
|
|
43
|
+
|
|
44
|
+
Skip this phase only if the task is trivial and full context already exists in the conversation.
|
|
45
|
+
|
|
46
|
+
### Phase 2: Design
|
|
47
|
+
|
|
48
|
+
Launch Plan agent(s) to design the implementation -- up to 3 for complex or multi-area tasks, skip entirely for trivial tasks. Feed them comprehensive context from Phase 1; they cannot explore on their own, so everything they need must come from you.
|
|
49
|
+
|
|
50
|
+
### Phase 3: Review
|
|
51
|
+
|
|
52
|
+
Before committing to the plan:
|
|
53
|
+
- Read the critical files yourself to verify the agents got it right
|
|
54
|
+
- Check alignment with what the user actually asked for
|
|
55
|
+
- If requirements are ambiguous, use AskUserQuestion now -- not after writing the plan
|
|
56
|
+
|
|
57
|
+
### Phase 4: Write the Plan
|
|
58
|
+
|
|
59
|
+
Write incrementally as you learn things in Phases 1-3, then refine here. The plan file has these sections:
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
## Context
|
|
63
|
+
Why this change is needed, what problem it solves, what the outcome looks like.
|
|
64
|
+
|
|
65
|
+
## Approach
|
|
66
|
+
The recommended implementation. One approach, not a menu of alternatives.
|
|
67
|
+
Concise but detailed enough to execute without re-exploring.
|
|
68
|
+
|
|
69
|
+
## Files
|
|
70
|
+
Critical file paths that will be created or modified.
|
|
71
|
+
|
|
72
|
+
## Reuse
|
|
73
|
+
Existing functions, utilities, constants, or patterns to leverage.
|
|
74
|
+
Include file:line references so the implementer can find them instantly.
|
|
75
|
+
|
|
76
|
+
## Steps
|
|
77
|
+
Ordered implementation steps. Each step is a discrete, testable unit of work.
|
|
78
|
+
|
|
79
|
+
## Verification
|
|
80
|
+
How to confirm end-to-end that the implementation works.
|
|
81
|
+
Specific commands, test files, or manual verification steps.
|
|
82
|
+
|
|
83
|
+
## Bash Permissions
|
|
84
|
+
Semantic descriptions of bash actions the implementation will need:
|
|
85
|
+
- "run tests"
|
|
86
|
+
- "install dependencies"
|
|
87
|
+
- "start dev server"
|
|
88
|
+
These are action descriptions, not specific commands.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Phase 5: Present for Approval
|
|
92
|
+
|
|
93
|
+
Use AskUserQuestion to present the completed plan. Do not ask about approval in regular text -- always use AskUserQuestion so the user gets a clear, structured decision point.
|
|
94
|
+
|
|
95
|
+
Options:
|
|
96
|
+
- **Approve** -- proceed with implementation
|
|
97
|
+
- **Revise** -- user has feedback to incorporate
|
|
98
|
+
- **Cancel** -- abandon the plan
|
|
99
|
+
|
|
100
|
+
## Scaling
|
|
101
|
+
|
|
102
|
+
Not every task needs all five phases. Match effort to complexity:
|
|
103
|
+
|
|
104
|
+
- **Trivial** (rename, typo fix): Ask if a formal plan is even wanted. If yes, skip Phases 1-2, write a minimal plan.
|
|
105
|
+
- **Small** (single-file change, clear scope): One Explore agent, skip Design phase, concise plan.
|
|
106
|
+
- **Medium** (multi-file feature, some ambiguity): Full workflow, 1-2 agents per phase.
|
|
107
|
+
- **Large** (cross-cutting change, architectural): Full workflow, max agents, thorough Review phase.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: everything-search
|
|
3
|
+
description: Fast file search on Windows using Everything (voidtools) es.exe command-line tool. Use when searching for files by extension, name, date modified, size, or path. Triggers on "find files", "search for files", "locate files", or when user asks to use Everything.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Everything Search
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Search files instantly on Windows using the Everything command-line interface (es.exe).
|
|
11
|
+
|
|
12
|
+
**Announce at start:** "I'm using the everything-search skill to find files."
|
|
13
|
+
|
|
14
|
+
## Instructions
|
|
15
|
+
|
|
16
|
+
### Command Syntax
|
|
17
|
+
|
|
18
|
+
**Path (WSL):** `/mnt/c/Program\ Files/Everything/es.exe`
|
|
19
|
+
**Path (Windows):** `"C:/Program Files/Everything/es.exe"`
|
|
20
|
+
|
|
21
|
+
**CRITICAL:**
|
|
22
|
+
- Search terms are SPACE-SEPARATED, not quoted together
|
|
23
|
+
- When searching a path, use backslashes inside quotes: `"Y:\\path\\to\\folder"`
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# CORRECT - WSL format with path search
|
|
27
|
+
/mnt/c/Program\ Files/Everything/es.exe "Y:\\path\\to\\folder" searchterm
|
|
28
|
+
|
|
29
|
+
# CORRECT - space-separated terms
|
|
30
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 dm:last3months
|
|
31
|
+
|
|
32
|
+
# WRONG - quoted with semicolons (breaks parsing)
|
|
33
|
+
/mnt/c/Program\ Files/Everything/es.exe "ext:mp4;mov;avi dm:last3months"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Search Operators
|
|
37
|
+
|
|
38
|
+
**By Extension:**
|
|
39
|
+
```bash
|
|
40
|
+
ext:mp4 # Single extension
|
|
41
|
+
ext:mp4 | ext:mov | ext:avi # Multiple extensions (OR)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**By Date Modified:**
|
|
45
|
+
```bash
|
|
46
|
+
dm:last3months # Modified in last 3 months
|
|
47
|
+
dm:lastweek # Modified in last week
|
|
48
|
+
dm:today # Modified today
|
|
49
|
+
dm:>=2024-01-01 # Modified on or after date
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**By Path:**
|
|
53
|
+
```bash
|
|
54
|
+
/mnt/c/Program\ Files/Everything/es.exe "D:\\Projects\\My App\\assets" ext:mp4
|
|
55
|
+
/mnt/c/Program\ Files/Everything/es.exe "D:\\Projects" ext:prproj
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**By Size:**
|
|
59
|
+
```bash
|
|
60
|
+
size:>100mb # Larger than 100MB
|
|
61
|
+
size:<1gb # Smaller than 1GB
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**By Name:**
|
|
65
|
+
```bash
|
|
66
|
+
*.prproj # Wildcard match
|
|
67
|
+
"exact filename.txt" # Exact match (quote the filename)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Combining Multiple Extensions
|
|
71
|
+
|
|
72
|
+
Run separate searches for each extension type:
|
|
73
|
+
```bash
|
|
74
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 dm:last3months
|
|
75
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mov dm:last3months
|
|
76
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:prproj dm:last3months
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Output Options
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Sort by date modified (descending)
|
|
83
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 dm:last3months -sort dm -sort-descending
|
|
84
|
+
|
|
85
|
+
# Limit results
|
|
86
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 -n 50
|
|
87
|
+
|
|
88
|
+
# Show size
|
|
89
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 -size
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Examples
|
|
93
|
+
|
|
94
|
+
### Video files (last 90 days)
|
|
95
|
+
```bash
|
|
96
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 dm:last3months
|
|
97
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mov dm:last3months
|
|
98
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:avi dm:last3months
|
|
99
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mkv dm:last3months
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Premiere projects
|
|
103
|
+
```bash
|
|
104
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:prproj
|
|
105
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:prproj dm:lastmonth
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Large files
|
|
109
|
+
```bash
|
|
110
|
+
/mnt/c/Program\ Files/Everything/es.exe size:>1gb
|
|
111
|
+
/mnt/c/Program\ Files/Everything/es.exe ext:mp4 size:>500mb
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Config files in a project
|
|
115
|
+
```bash
|
|
116
|
+
/mnt/c/Program\ Files/Everything/es.exe "Y:\\path\\to\\project" config.py
|
|
117
|
+
/mnt/c/Program\ Files/Everything/es.exe "Y:\\path\\to\\project" constants.py
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Best Practices
|
|
121
|
+
|
|
122
|
+
- Everything must be running (system tray) for es.exe to work
|
|
123
|
+
- Run one extension per search for cleaner results
|
|
124
|
+
- Use `dm:` for recent file searches instead of manual date filtering
|
|
125
|
+
- Combine with path to narrow scope
|
|
126
|
+
- Results return instantly regardless of drive size
|
|
127
|
+
|
|
128
|
+
### Junctions, Symlinks & Drive Mapping
|
|
129
|
+
|
|
130
|
+
Everything indexes REAL paths only, not junctions or mapped drives.
|
|
131
|
+
|
|
132
|
+
| Drive | Type | Indexed? | Action |
|
|
133
|
+
|-------|------|----------|--------|
|
|
134
|
+
| Y:\ | Real NTFS | Yes | Use this path |
|
|
135
|
+
| Z:\ | Junction to Y: | No | Use Y:\ instead |
|
|
136
|
+
|
|
137
|
+
**If search returns empty:**
|
|
138
|
+
1. Check if the path is a junction/symlink
|
|
139
|
+
2. Find the real path and search that instead
|
|
140
|
+
3. Or use Glob tool as fallback (works on any path)
|
|
141
|
+
|
|
142
|
+
**Common drive mappings:**
|
|
143
|
+
- `Z:\Projects\` -> `Y:\Work\Projects\`
|
|
144
|
+
- When in Z:\, translate to Y:\ equivalent for Everything searches
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ingest
|
|
3
|
+
description: Digest the codebase using gitingest into LLM-friendly text files, one per top-level folder. Use when user wants to create a text digest/summary of their repo for AI consumption.
|
|
4
|
+
user_invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ingest Codebase with GitIngest
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. **Ensure gitingest is installed**: `pip install gitingest`
|
|
12
|
+
|
|
13
|
+
2. **Clone repo locally** (avoids network drive slowness and enables long paths):
|
|
14
|
+
```bash
|
|
15
|
+
REMOTE=$(git remote get-url origin)
|
|
16
|
+
TEMP_DIR=$(mktemp -d)/gitingest_repo
|
|
17
|
+
git clone --depth 1 -c core.longpaths=true "$REMOTE" "$TEMP_DIR"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
3. **Identify top-level folders** in the clone to ingest (skip `.git`, `.Codex`, `.planning`, etc.)
|
|
21
|
+
|
|
22
|
+
4. **Run gitingest Python API on each folder separately** (running separately avoids spaces-in-names breaking CLI glob patterns):
|
|
23
|
+
```python
|
|
24
|
+
from gitingest import ingest
|
|
25
|
+
|
|
26
|
+
summary, tree, content = ingest(
|
|
27
|
+
folder_path,
|
|
28
|
+
include_patterns=["*.py", "*.md", "*.json", "*.yaml", "*.yml", "*.cfg", "*.toml", "*.txt"],
|
|
29
|
+
exclude_patterns=["**/venv/**", "**/logs/**", "**/__pycache__/**", "**/Archive/**",
|
|
30
|
+
"**/*.png", "**/*.jpg", "**/*.mp4", "**/*.gif", "**/*.pyc",
|
|
31
|
+
"**/*.rdp", "**/node_modules/**", "**/.git/**"],
|
|
32
|
+
max_file_size=102400,
|
|
33
|
+
)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
5. **Save each digest** as `digest_<folder_name>.txt` in the corresponding source folder on the original working directory (not the temp clone)
|
|
37
|
+
|
|
38
|
+
6. **Clean up** the temp clone directory
|
|
39
|
+
|
|
40
|
+
7. **Report** file count, token count, and output paths for each folder
|