opencodekit 0.16.18 → 0.16.20
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/dist/index.js +8 -18
- package/dist/template/.opencode/opencode.json +160 -59
- package/dist/template/.opencode/skill/context-management/SKILL.md +47 -60
- package/dist/template/.opencode/skill/pdf-extract/SKILL.md +428 -0
- package/dist/template/.opencode/skill/playwright/SKILL.md +263 -65
- package/package.json +3 -13
package/dist/index.js
CHANGED
|
@@ -759,16 +759,9 @@ var cac = (name = "") => new CAC(name);
|
|
|
759
759
|
// package.json
|
|
760
760
|
var package_default = {
|
|
761
761
|
name: "opencodekit",
|
|
762
|
-
version: "0.16.
|
|
762
|
+
version: "0.16.20",
|
|
763
763
|
description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
764
|
-
keywords: [
|
|
765
|
-
"agents",
|
|
766
|
-
"cli",
|
|
767
|
-
"mcp",
|
|
768
|
-
"opencode",
|
|
769
|
-
"opencodekit",
|
|
770
|
-
"template"
|
|
771
|
-
],
|
|
764
|
+
keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
|
|
772
765
|
license: "MIT",
|
|
773
766
|
author: "OpenCodeKit",
|
|
774
767
|
repository: {
|
|
@@ -778,10 +771,7 @@ var package_default = {
|
|
|
778
771
|
bin: {
|
|
779
772
|
ock: "dist/index.js"
|
|
780
773
|
},
|
|
781
|
-
files: [
|
|
782
|
-
"dist",
|
|
783
|
-
"README.md"
|
|
784
|
-
],
|
|
774
|
+
files: ["dist", "README.md"],
|
|
785
775
|
type: "module",
|
|
786
776
|
publishConfig: {
|
|
787
777
|
access: "public",
|
|
@@ -9273,12 +9263,12 @@ var MODEL_PRESETS = {
|
|
|
9273
9263
|
build: "github-copilot/claude-opus-4.6",
|
|
9274
9264
|
plan: "openai/gpt-5.3-codex",
|
|
9275
9265
|
review: "openai/gpt-5.3-codex",
|
|
9276
|
-
explore: "proxypal/gemini-3-flash
|
|
9266
|
+
explore: "proxypal/gemini-3-flash",
|
|
9277
9267
|
general: "github-copilot/gpt-5.2-codex",
|
|
9278
|
-
looker: "proxypal/gemini-3-flash
|
|
9279
|
-
vision: "proxypal/gemini-3-pro
|
|
9280
|
-
scout: "proxypal/gemini-3-flash
|
|
9281
|
-
painter: "proxypal/gemini-3-pro
|
|
9268
|
+
looker: "proxypal/gemini-3-flash",
|
|
9269
|
+
vision: "proxypal/gemini-3-pro",
|
|
9270
|
+
scout: "proxypal/gemini-3-flash",
|
|
9271
|
+
painter: "proxypal/gemini-3-pro"
|
|
9282
9272
|
}
|
|
9283
9273
|
}
|
|
9284
9274
|
};
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"agent": {
|
|
4
4
|
"build": {
|
|
5
5
|
"description": "Primary development agent with full codebase access",
|
|
6
|
-
"model": "
|
|
6
|
+
"model": "opencode/kimi-k2.5-free"
|
|
7
7
|
},
|
|
8
8
|
"compaction": {
|
|
9
9
|
"description": "Session summarizer for context continuity across compactions"
|
|
10
10
|
},
|
|
11
11
|
"explore": {
|
|
12
12
|
"description": "Fast codebase search specialist",
|
|
13
|
-
"model": "opencode/
|
|
13
|
+
"model": "opencode/minimax-m2.1-free"
|
|
14
14
|
},
|
|
15
15
|
"general": {
|
|
16
16
|
"description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
},
|
|
19
19
|
"looker": {
|
|
20
20
|
"description": "Media extraction specialist for images, PDFs, diagrams",
|
|
21
|
-
"model": "
|
|
21
|
+
"model": "proxypal/gemini-3-flash"
|
|
22
22
|
},
|
|
23
23
|
"painter": {
|
|
24
24
|
"description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
|
|
25
|
-
"model": "
|
|
25
|
+
"model": "proxypal/gemini-3-pro-image"
|
|
26
26
|
},
|
|
27
27
|
"plan": {
|
|
28
28
|
"description": "Primary planning agent for architecture and multi-phase execution",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"review": {
|
|
32
32
|
"description": "Code review, debugging, and security audit specialist",
|
|
33
|
-
"model": "
|
|
33
|
+
"model": "openai/gpt-5.3-codex"
|
|
34
34
|
},
|
|
35
35
|
"scout": {
|
|
36
36
|
"description": "External research specialist for library docs and patterns",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"vision": {
|
|
40
40
|
"description": "Visual content specialist for multimodal analysis and UI/UX guidance",
|
|
41
|
-
"model": "
|
|
41
|
+
"model": "proxypal/gemini-3-pro-high"
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"autoupdate": false,
|
|
@@ -257,6 +257,9 @@
|
|
|
257
257
|
"variants": {
|
|
258
258
|
"adaptive": {
|
|
259
259
|
"options": {
|
|
260
|
+
"output_config": {
|
|
261
|
+
"effort": "high"
|
|
262
|
+
},
|
|
260
263
|
"thinking": {
|
|
261
264
|
"type": "adaptive"
|
|
262
265
|
}
|
|
@@ -362,6 +365,9 @@
|
|
|
362
365
|
}
|
|
363
366
|
}
|
|
364
367
|
}
|
|
368
|
+
},
|
|
369
|
+
"options": {
|
|
370
|
+
"timeout": 600000
|
|
365
371
|
}
|
|
366
372
|
},
|
|
367
373
|
"kimi-for-coding": {
|
|
@@ -515,6 +521,91 @@
|
|
|
515
521
|
},
|
|
516
522
|
"proxypal": {
|
|
517
523
|
"models": {
|
|
524
|
+
"claude-opus-4-5-thinking": {
|
|
525
|
+
"limit": {
|
|
526
|
+
"context": 200000,
|
|
527
|
+
"output": 64000
|
|
528
|
+
},
|
|
529
|
+
"name": "Claude Opus 4 5 Thinking",
|
|
530
|
+
"options": {
|
|
531
|
+
"thinking": {
|
|
532
|
+
"budgetTokens": 8192,
|
|
533
|
+
"type": "enabled"
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"reasoning": true,
|
|
537
|
+
"variants": {
|
|
538
|
+
"low": {
|
|
539
|
+
"thinkingConfig": {
|
|
540
|
+
"thinkingBudget": 8192
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
"max": {
|
|
544
|
+
"thinkingConfig": {
|
|
545
|
+
"thinkingBudget": 32768
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"claude-opus-4-6-thinking": {
|
|
551
|
+
"limit": {
|
|
552
|
+
"context": 200000,
|
|
553
|
+
"output": 64000
|
|
554
|
+
},
|
|
555
|
+
"name": "Claude Opus 4 6 Thinking",
|
|
556
|
+
"options": {
|
|
557
|
+
"thinking": {
|
|
558
|
+
"budgetTokens": 8192,
|
|
559
|
+
"type": "enabled"
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"reasoning": true,
|
|
563
|
+
"variants": {
|
|
564
|
+
"low": {
|
|
565
|
+
"thinkingConfig": {
|
|
566
|
+
"thinkingBudget": 8192
|
|
567
|
+
}
|
|
568
|
+
},
|
|
569
|
+
"max": {
|
|
570
|
+
"thinkingConfig": {
|
|
571
|
+
"thinkingBudget": 32768
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
"claude-sonnet-4-5": {
|
|
577
|
+
"limit": {
|
|
578
|
+
"context": 200000,
|
|
579
|
+
"output": 64000
|
|
580
|
+
},
|
|
581
|
+
"name": "Claude Sonnet 4 5"
|
|
582
|
+
},
|
|
583
|
+
"claude-sonnet-4-5-thinking": {
|
|
584
|
+
"limit": {
|
|
585
|
+
"context": 200000,
|
|
586
|
+
"output": 64000
|
|
587
|
+
},
|
|
588
|
+
"name": "Claude Sonnet 4 5 Thinking",
|
|
589
|
+
"options": {
|
|
590
|
+
"thinking": {
|
|
591
|
+
"budgetTokens": 8192,
|
|
592
|
+
"type": "enabled"
|
|
593
|
+
}
|
|
594
|
+
},
|
|
595
|
+
"reasoning": true,
|
|
596
|
+
"variants": {
|
|
597
|
+
"low": {
|
|
598
|
+
"thinkingConfig": {
|
|
599
|
+
"thinkingBudget": 8192
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
"max": {
|
|
603
|
+
"thinkingConfig": {
|
|
604
|
+
"thinkingBudget": 32768
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
},
|
|
518
609
|
"gemini-2.5-flash": {
|
|
519
610
|
"limit": {
|
|
520
611
|
"context": 1000000,
|
|
@@ -566,7 +657,7 @@
|
|
|
566
657
|
},
|
|
567
658
|
"name": "Gemini 2 5 Pro"
|
|
568
659
|
},
|
|
569
|
-
"gemini-3-flash
|
|
660
|
+
"gemini-3-flash": {
|
|
570
661
|
"limit": {
|
|
571
662
|
"context": 1000000,
|
|
572
663
|
"output": 65536
|
|
@@ -581,7 +672,7 @@
|
|
|
581
672
|
"text"
|
|
582
673
|
]
|
|
583
674
|
},
|
|
584
|
-
"name": "Gemini 3 Flash
|
|
675
|
+
"name": "Gemini 3 Flash",
|
|
585
676
|
"options": {
|
|
586
677
|
"generationConfig": {
|
|
587
678
|
"thinkingConfig": {
|
|
@@ -603,14 +694,7 @@
|
|
|
603
694
|
}
|
|
604
695
|
}
|
|
605
696
|
},
|
|
606
|
-
"gemini-3-
|
|
607
|
-
"limit": {
|
|
608
|
-
"context": 1000000,
|
|
609
|
-
"output": 65536
|
|
610
|
-
},
|
|
611
|
-
"name": "Gemini 3 Pro Image Preview"
|
|
612
|
-
},
|
|
613
|
-
"gemini-3-pro-preview": {
|
|
697
|
+
"gemini-3-flash-preview": {
|
|
614
698
|
"limit": {
|
|
615
699
|
"context": 1000000,
|
|
616
700
|
"output": 65536
|
|
@@ -625,7 +709,7 @@
|
|
|
625
709
|
"text"
|
|
626
710
|
]
|
|
627
711
|
},
|
|
628
|
-
"name": "Gemini 3
|
|
712
|
+
"name": "Gemini 3 Flash Preview",
|
|
629
713
|
"options": {
|
|
630
714
|
"generationConfig": {
|
|
631
715
|
"thinkingConfig": {
|
|
@@ -647,10 +731,10 @@
|
|
|
647
731
|
}
|
|
648
732
|
}
|
|
649
733
|
},
|
|
650
|
-
"gemini-
|
|
734
|
+
"gemini-3-pro-high": {
|
|
651
735
|
"limit": {
|
|
652
|
-
"context":
|
|
653
|
-
"output":
|
|
736
|
+
"context": 1000000,
|
|
737
|
+
"output": 65536
|
|
654
738
|
},
|
|
655
739
|
"modalities": {
|
|
656
740
|
"input": [
|
|
@@ -662,48 +746,39 @@
|
|
|
662
746
|
"text"
|
|
663
747
|
]
|
|
664
748
|
},
|
|
665
|
-
"name": "Gemini
|
|
749
|
+
"name": "Gemini 3 Pro High",
|
|
666
750
|
"options": {
|
|
667
|
-
"
|
|
668
|
-
"
|
|
669
|
-
|
|
751
|
+
"generationConfig": {
|
|
752
|
+
"thinkingConfig": {
|
|
753
|
+
"includeThoughts": true,
|
|
754
|
+
"thinkingLevel": "medium"
|
|
755
|
+
}
|
|
670
756
|
}
|
|
671
757
|
},
|
|
672
758
|
"reasoning": true,
|
|
673
759
|
"variants": {
|
|
760
|
+
"high": {
|
|
761
|
+
"thinkingLevel": "high"
|
|
762
|
+
},
|
|
674
763
|
"low": {
|
|
675
|
-
"
|
|
676
|
-
"thinkingBudget": 8192
|
|
677
|
-
}
|
|
764
|
+
"thinkingLevel": "low"
|
|
678
765
|
},
|
|
679
|
-
"
|
|
680
|
-
"
|
|
681
|
-
"thinkingBudget": 32768
|
|
682
|
-
}
|
|
766
|
+
"medium": {
|
|
767
|
+
"thinkingLevel": "medium"
|
|
683
768
|
}
|
|
684
769
|
}
|
|
685
770
|
},
|
|
686
|
-
"gemini-
|
|
771
|
+
"gemini-3-pro-image": {
|
|
687
772
|
"limit": {
|
|
688
|
-
"context":
|
|
689
|
-
"output":
|
|
690
|
-
},
|
|
691
|
-
"modalities": {
|
|
692
|
-
"input": [
|
|
693
|
-
"text",
|
|
694
|
-
"image",
|
|
695
|
-
"pdf"
|
|
696
|
-
],
|
|
697
|
-
"output": [
|
|
698
|
-
"text"
|
|
699
|
-
]
|
|
773
|
+
"context": 1000000,
|
|
774
|
+
"output": 65536
|
|
700
775
|
},
|
|
701
|
-
"name": "Gemini
|
|
776
|
+
"name": "Gemini 3 Pro Image"
|
|
702
777
|
},
|
|
703
|
-
"gemini-
|
|
778
|
+
"gemini-3-pro-preview": {
|
|
704
779
|
"limit": {
|
|
705
|
-
"context":
|
|
706
|
-
"output":
|
|
780
|
+
"context": 1000000,
|
|
781
|
+
"output": 65536
|
|
707
782
|
},
|
|
708
783
|
"modalities": {
|
|
709
784
|
"input": [
|
|
@@ -715,24 +790,25 @@
|
|
|
715
790
|
"text"
|
|
716
791
|
]
|
|
717
792
|
},
|
|
718
|
-
"name": "Gemini
|
|
793
|
+
"name": "Gemini 3 Pro Preview",
|
|
719
794
|
"options": {
|
|
720
|
-
"
|
|
721
|
-
"
|
|
722
|
-
|
|
795
|
+
"generationConfig": {
|
|
796
|
+
"thinkingConfig": {
|
|
797
|
+
"includeThoughts": true,
|
|
798
|
+
"thinkingLevel": "medium"
|
|
799
|
+
}
|
|
723
800
|
}
|
|
724
801
|
},
|
|
725
802
|
"reasoning": true,
|
|
726
803
|
"variants": {
|
|
804
|
+
"high": {
|
|
805
|
+
"thinkingLevel": "high"
|
|
806
|
+
},
|
|
727
807
|
"low": {
|
|
728
|
-
"
|
|
729
|
-
"thinkingBudget": 8192
|
|
730
|
-
}
|
|
808
|
+
"thinkingLevel": "low"
|
|
731
809
|
},
|
|
732
|
-
"
|
|
733
|
-
"
|
|
734
|
-
"thinkingBudget": 32768
|
|
735
|
-
}
|
|
810
|
+
"medium": {
|
|
811
|
+
"thinkingLevel": "medium"
|
|
736
812
|
}
|
|
737
813
|
}
|
|
738
814
|
},
|
|
@@ -881,6 +957,31 @@
|
|
|
881
957
|
},
|
|
882
958
|
"name": "Gpt Oss 120b Medium"
|
|
883
959
|
},
|
|
960
|
+
"kimi-k2": {
|
|
961
|
+
"limit": {
|
|
962
|
+
"context": 128000,
|
|
963
|
+
"output": 16384
|
|
964
|
+
},
|
|
965
|
+
"name": "Kimi K2"
|
|
966
|
+
},
|
|
967
|
+
"kimi-k2-thinking": {
|
|
968
|
+
"limit": {
|
|
969
|
+
"context": 128000,
|
|
970
|
+
"output": 16384
|
|
971
|
+
},
|
|
972
|
+
"name": "Kimi K2 Thinking",
|
|
973
|
+
"options": {
|
|
974
|
+
"reasoningEffort": "high"
|
|
975
|
+
},
|
|
976
|
+
"reasoning": true
|
|
977
|
+
},
|
|
978
|
+
"kimi-k2.5": {
|
|
979
|
+
"limit": {
|
|
980
|
+
"context": 128000,
|
|
981
|
+
"output": 16384
|
|
982
|
+
},
|
|
983
|
+
"name": "Kimi K2 5"
|
|
984
|
+
},
|
|
884
985
|
"kiro-auto": {
|
|
885
986
|
"limit": {
|
|
886
987
|
"context": 128000,
|
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-management
|
|
3
|
-
description: Use when context is growing large, needing to prune/distill tool outputs, or managing conversation size - covers
|
|
3
|
+
description: Use when context is growing large, needing to prune/distill tool outputs, or managing conversation size - covers distill and prune tools with context budgets
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Context Management
|
|
6
|
+
# Context Management
|
|
7
7
|
|
|
8
|
-
Manage conversation context to prevent degradation. Uses
|
|
8
|
+
Manage conversation context to prevent degradation. Uses distill and prune tools.
|
|
9
9
|
|
|
10
|
-
## The
|
|
10
|
+
## The Two Tools
|
|
11
11
|
|
|
12
|
-
| Tool
|
|
13
|
-
|
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
|
|
12
|
+
| Tool | Purpose | When to Use |
|
|
13
|
+
| --------- | ----------------------------- | ---------------------------------------- |
|
|
14
|
+
| `distill` | Extract key info, then remove | Large outputs with valuable details |
|
|
15
|
+
| `prune` | Remove tool outputs (no save) | Noise, irrelevant reads, superseded info |
|
|
16
|
+
|
|
17
|
+
**Distill is the favored tool.** It preserves knowledge while freeing context. Prune is for pure noise removal.
|
|
17
18
|
|
|
18
19
|
## When to Evaluate
|
|
19
20
|
|
|
20
21
|
**DO evaluate context when:**
|
|
21
22
|
|
|
23
|
+
- Starting a new phase of work (best timing)
|
|
22
24
|
- Accessed something irrelevant
|
|
23
25
|
- Information superseded by newer outputs
|
|
24
|
-
-
|
|
25
|
-
- Large tool outputs with valuable details
|
|
26
|
+
- Large tool outputs with extractable details
|
|
26
27
|
- Phase complete (research, exploration, implementation)
|
|
27
28
|
|
|
28
|
-
**DO NOT
|
|
29
|
+
**DO NOT manage when:**
|
|
29
30
|
|
|
30
31
|
- Output needed for upcoming edits
|
|
31
32
|
- Contains files you'll reference when editing
|
|
@@ -33,50 +34,43 @@ Manage conversation context to prevent degradation. Uses prune/distill/compress
|
|
|
33
34
|
|
|
34
35
|
## Tool Usage
|
|
35
36
|
|
|
36
|
-
###
|
|
37
|
+
### Distill — Preserve + Remove (Preferred)
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
prune({ ids: ["5", "8"] }); // IDs from <prunable-tools> list
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Distill - Preserve + Remove
|
|
39
|
+
Extract high-fidelity knowledge from tool outputs, then remove the raw output. Your distillation must be a **complete technical substitute** — capture signatures, types, logic, constraints, everything essential.
|
|
43
40
|
|
|
44
41
|
```typescript
|
|
45
42
|
distill({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
targets: [
|
|
44
|
+
{
|
|
45
|
+
id: "10",
|
|
46
|
+
distillation:
|
|
47
|
+
"auth.ts: validateToken(token: string) -> User|null, uses bcrypt 12 rounds, throws on expired tokens",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "11",
|
|
51
|
+
distillation:
|
|
52
|
+
"user.ts: interface User { id: string, email: string, permissions: Permission[], status: 'active'|'suspended' }",
|
|
53
|
+
},
|
|
50
54
|
],
|
|
51
55
|
});
|
|
52
56
|
```
|
|
53
57
|
|
|
54
|
-
###
|
|
58
|
+
### Prune — Remove Noise (Last Resort)
|
|
59
|
+
|
|
60
|
+
Delete tool outputs entirely. No preservation. Use for noise, wrong targets, or superseded information.
|
|
55
61
|
|
|
56
62
|
```typescript
|
|
57
|
-
|
|
58
|
-
input: [
|
|
59
|
-
"exact text from start", // Must exist VERBATIM
|
|
60
|
-
"exact text from end", // Must come AFTER start
|
|
61
|
-
"Topic Label", // 3-5 words
|
|
62
|
-
"Summary of accomplishments", // Replacement text
|
|
63
|
-
],
|
|
64
|
-
});
|
|
63
|
+
prune({ ids: ["5", "8"] }); // IDs from <prunable-tools> list
|
|
65
64
|
```
|
|
66
65
|
|
|
67
66
|
## Critical Rules
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- IDs
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
**For compress:**
|
|
76
|
-
|
|
77
|
-
- Start/end strings must match EXACTLY
|
|
78
|
-
- Start must appear BEFORE end chronologically
|
|
79
|
-
- Both strings must be unique (appear only once)
|
|
68
|
+
- IDs MUST come from the current `<prunable-tools>` list
|
|
69
|
+
- The list refreshes after every tool use — don't cache IDs
|
|
70
|
+
- Invalid IDs will error
|
|
71
|
+
- **Distill before prune** — if there's anything worth keeping, distill it
|
|
72
|
+
- **Batch operations** — accumulate several candidates before acting
|
|
73
|
+
- **Timing** — manage at the START of a new turn (after user message), not at the end of your turn
|
|
80
74
|
|
|
81
75
|
## Protected Content
|
|
82
76
|
|
|
@@ -86,30 +80,23 @@ Auto-protected from pruning:
|
|
|
86
80
|
- `AGENTS.md`
|
|
87
81
|
- `.opencode/**` config
|
|
88
82
|
- `.beads/**` tasks
|
|
89
|
-
- `package.json`, `tsconfig.json
|
|
83
|
+
- `package.json`, `tsconfig.json`
|
|
90
84
|
|
|
91
85
|
## Context Budget Guidelines
|
|
92
86
|
|
|
93
|
-
| Phase | Target | Action
|
|
94
|
-
| ----------------- | ------- |
|
|
95
|
-
| Starting work | <50k | Load only essential AGENTS.md + task spec
|
|
96
|
-
| Mid-task | 50-100k |
|
|
97
|
-
| Approaching limit | >100k | Aggressive
|
|
98
|
-
| Near capacity | >150k | Session restart with handoff
|
|
99
|
-
|
|
100
|
-
## DCP Commands (User)
|
|
101
|
-
|
|
102
|
-
- `/dcp context` - Token usage breakdown
|
|
103
|
-
- `/dcp stats` - Cumulative pruning statistics
|
|
104
|
-
- `/dcp sweep` - Prune all tools since last user message
|
|
105
|
-
- `/dcp sweep 10` - Prune last 10 tools
|
|
87
|
+
| Phase | Target | Action |
|
|
88
|
+
| ----------------- | ------- | ------------------------------------------ |
|
|
89
|
+
| Starting work | <50k | Load only essential AGENTS.md + task spec |
|
|
90
|
+
| Mid-task | 50-100k | Distill completed reads, keep active files |
|
|
91
|
+
| Approaching limit | >100k | Aggressive distill, prune remaining noise |
|
|
92
|
+
| Near capacity | >150k | Session restart with handoff |
|
|
106
93
|
|
|
107
94
|
## Quick Reference
|
|
108
95
|
|
|
109
96
|
```
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
COMPRESS: Collapse phase → compress({ input: [start, end, topic, summary] })
|
|
97
|
+
DISTILL: Save + remove → distill({ targets: [{ id, distillation }] })
|
|
98
|
+
PRUNE: Remove noise → prune({ ids: [...] })
|
|
113
99
|
|
|
114
|
-
BUDGET: <50k start → 50-100k mid → >100k
|
|
100
|
+
BUDGET: <50k start → 50-100k mid → >100k distill → >150k restart
|
|
101
|
+
TIMING: Manage at turn START, not turn END
|
|
115
102
|
```
|