@shadowclone/cli 0.0.17 → 0.0.19

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.
Files changed (30) hide show
  1. package/README.md +3 -0
  2. package/dist/_.._/web/client/index.html +13 -12
  3. package/dist/shadowclone.js +529 -508
  4. package/dist/web/index-3mf7t8r9.js +134 -0
  5. package/dist/web/index-t330dg8e.css +1 -0
  6. package/package.json +3 -9
  7. package/plugins/shadowclone/.claude-plugin/plugin.json +1 -1
  8. package/plugins/shadowclone/.codex-plugin/plugin.json +1 -1
  9. package/plugins/shadowclone/plugin.json +1 -1
  10. package/skills/choose-by-consequence/SKILL.md +66 -0
  11. package/skills/design-deep-modules/SKILL.md +32 -15
  12. package/skills/diagnose-before-editing/SKILL.md +38 -17
  13. package/skills/plan-with-review-page/SKILL.md +73 -0
  14. package/skills/plan-with-review-page/assets/review-page.html +160 -0
  15. package/skills/plan-with-review-page/scripts/validate-page.mjs +158 -0
  16. package/skills/research-primary-sources/SKILL.md +32 -14
  17. package/skills/resolve-conflicts-by-intent/SKILL.md +34 -15
  18. package/skills/scope-confirmed-changes/SKILL.md +44 -14
  19. package/skills/shadowclone-work/SKILL.md +5 -2
  20. package/skills/tests-that-catch-bugs/SKILL.md +73 -0
  21. package/skills/typescript-type-safety/SKILL.md +32 -16
  22. package/skills/verify-and-review/SKILL.md +40 -16
  23. package/skills/verify-review-findings/SKILL.md +59 -0
  24. package/skills/write-plain-english/SKILL.md +58 -0
  25. package/skills/write-plain-english/scripts/check-ste.mjs +200 -0
  26. package/dist/web/index-ntyv9x8a.css +0 -1
  27. package/dist/web/index-twq4tm3n.js +0 -135
  28. package/skills/prove-regression-tests/SKILL.md +0 -33
  29. package/skills/testing-first/SKILL.md +0 -35
  30. package/skills/testing-risk-based/SKILL.md +0 -34
@@ -1,33 +0,0 @@
1
- ---
2
- name: prove-regression-tests
3
- description: Prove that a regression test detects the defect it claims to guard by temporarily removing or inverting the enforcing change. Use when adding a test for a confirmed bug or review finding.
4
- metadata:
5
- shadowclone-category: testing
6
- shadowclone-section: workflow
7
- shadowclone-applies-when: adding a regression test for a confirmed defect
8
- ---
9
- # Prove Regression Tests
10
-
11
- ## Use when
12
-
13
- A confirmed defect has a focused test and a fix. Verify that the test can detect the original failure.
14
-
15
- ## Process
16
-
17
- 1. Identify the smallest production change that enforces the fix.
18
- 2. Temporarily invert it to restore the defect while keeping the code compilable.
19
- 3. Print the changed lines with file and line numbers. Run the narrow test and confirm its assertion fails on the original symptom.
20
- 4. If it passes or fails for another reason, improve the test before claiming coverage.
21
- 5. Restore and display the enforcing lines, then rerun the same test and affected suite.
22
-
23
- ## Guardrails
24
-
25
- Keep the mutation local and reversible. Preserve unrelated work and avoid destructive Git operations. Mutate production behavior, not the assertion.
26
-
27
- A setup error, compilation failure, timeout, or unrelated assertion does not prove the regression. Restore the code before starting other work. Broaden the proof only when the fix covers distinct public behaviors.
28
-
29
- ## Completion
30
-
31
- The visible inverse fails the intended assertion, restoration passes, and the final diff contains no proof mutation.
32
-
33
- Report the test name, the inverse you applied, the assertion line that failed under it, and the passing run after restoring. Keep the reply to these facts. When a pull request exists, put full command output in its verification section instead of the reply.
@@ -1,35 +0,0 @@
1
- ---
2
- name: testing-first
3
- description: Build observable behavior through a red-green cycle at a stable public seam. Use when the user asks for test-first work, TDD, or a regression test before implementation.
4
- metadata:
5
- shadowclone-category: testing
6
- shadowclone-section: engineering
7
- shadowclone-applies-when: changing observable behavior with a test-first workflow
8
- shadowclone-axis: testing-approach
9
- ---
10
- # Test First Through a Public Seam
11
-
12
- ## Use when
13
-
14
- Following a test-first workflow for behavior that a caller can observe. Settle the intended interface before choosing test structure.
15
-
16
- ## Process
17
-
18
- 1. State one behavior as concrete input and observable output.
19
- 2. Write a test through the narrowest stable caller interface, using an expected result obtained independently of the implementation.
20
- 3. Run it and confirm it fails because the behavior is missing or wrong.
21
- 4. Implement the smallest complete slice that makes it pass, including every required layer.
22
- 5. Repeat for the next behavior once the current test is green.
23
- 6. Run affected checks and remove code justified only by an unwritten future test.
24
-
25
- ## Guardrails
26
-
27
- Keep each cycle to one behavioral claim; several assertions can describe that outcome. Prefer real collaborators inside the module and replace dependencies only at established external boundaries.
28
-
29
- Do not weaken an assertion to make a failing implementation pass. If harmless refactoring breaks a test without changing behavior, move it to a more stable interface. Avoid recreating the production calculation to derive expected values.
30
-
31
- ## Completion
32
-
33
- Requested behaviors have tests observed failing first, implementation passes through public interfaces, and affected checks pass.
34
-
35
- Report each test name with the assertion that failed first and its passing run, then the affected checks with their result. Keep the reply to these facts. When a pull request exists, put full command output in its verification section instead of the reply.
@@ -1,34 +0,0 @@
1
- ---
2
- name: testing-risk-based
3
- description: Select tests from concrete regression risk instead of applying test-first work to every edit. Use for changes where the user wants proportional coverage or where existing behavior may regress.
4
- metadata:
5
- shadowclone-category: testing
6
- shadowclone-section: engineering
7
- shadowclone-applies-when: changing observable behavior with proportional test coverage
8
- shadowclone-axis: testing-approach
9
- ---
10
- # Test Where Behavior Is at Risk
11
-
12
- ## Use when
13
-
14
- Choosing coverage in proportion to a change's possible consequences.
15
-
16
- ## Process
17
-
18
- 1. Identify affected behavior and callers. Rank risks by consequence, likelihood, and existing coverage.
19
- 2. Read nearby tests for the established public interface and fixture style.
20
- 3. Cover material gaps with the smallest fixture that crosses the real failure boundary.
21
- 4. Run focused tests and the repository checks covering affected consumers.
22
- 5. Define any necessary manual check with its setup, action, and expected result, then report what remains unverified.
23
-
24
- ## Guardrails
25
-
26
- Prioritize state changes, permissions, persistence, parsing, routing, and public contracts. Reuse existing coverage when it already detects the regression.
27
-
28
- Skip tests that mirror private branches or assert reversible text and styling changes unless those details are a supported contract. Keep expected results independent of production calculations and avoid redundant cases for the same risk.
29
-
30
- ## Completion
31
-
32
- Each material risk has a meaningful automated or manual check, selected checks have run, and remaining uncertainty is explicit.
33
-
34
- Report each material risk with the check that covers it and its result, and each risk left uncovered with the reason. Keep the reply to these facts. When a pull request exists, put full command output in its verification section instead of the reply.