self-evolve-framework 1.0.7 → 1.1.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/README.md +12 -8
- package/bin/cli.js +63 -35
- package/package.json +1 -1
- package/template/rules/CodeGraph.mdc +23 -0
- package/template/rules/Svelte_5.mdc +167 -0
- package/template/rules/Svelte_Flow.mdc +176 -0
- package/template/rules/Tailwind_CSS_v4.mdc +187 -0
- package/template/rules/Tauri.mdc +145 -0
- package/template/rules/app-error-pattern.mdc +65 -0
- package/template/rules/invoke-safe-pattern.mdc +53 -0
- package/template/rules/js.mdc +10 -0
- package/template/rules/powershell.mdc +9 -0
- package/template/rules/self-evolve.mdc +4 -4
- package/template/rules//346/227/245/345/277/227.mdc +15 -0
- package/template/rules//350/257/267/346/261/202.mdc +49 -0
- package/template/skills/caveman/SKILL.md +49 -0
- package/template/skills/check/SKILL.md +393 -0
- package/template/skills/check/agents/reviewer-architecture.md +39 -0
- package/template/skills/check/agents/reviewer-security.md +39 -0
- package/template/skills/check/references/persona-catalog.md +56 -0
- package/template/skills/check/references/project-context.md +120 -0
- package/template/skills/check/references/public-reply.md +14 -0
- package/template/skills/check/scripts/audit_signals.py +666 -0
- package/template/skills/check/scripts/run-tests.sh +19 -0
- package/template/skills/design/SKILL.md +173 -0
- package/template/skills/design/references/design-aesthetic-quality.md +67 -0
- package/template/skills/design/references/design-data-viz.md +34 -0
- package/template/skills/design/references/design-reference.md +295 -0
- package/template/skills/design/references/design-tokens.md +45 -0
- package/template/skills/design/references/design-traps.md +43 -0
- package/template/skills/design-an-interface/SKILL.md +94 -0
- package/template/skills/diagnose/SKILL.md +117 -0
- package/template/skills/diagnose/scripts/hitl-loop.template.sh +41 -0
- package/template/skills/edit-article/SKILL.md +14 -0
- package/template/skills/git-guardrails-claude-code/SKILL.md +95 -0
- package/template/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
- package/template/skills/grill-me/SKILL.md +10 -0
- package/template/skills/grill-with-docs/ADR-FORMAT.md +47 -0
- package/template/skills/grill-with-docs/CONTEXT-FORMAT.md +60 -0
- package/template/skills/grill-with-docs/SKILL.md +88 -0
- package/template/skills/handoff/SKILL.md +15 -0
- package/template/skills/health/SKILL.md +260 -0
- package/template/skills/health/agents/inspector-context.md +119 -0
- package/template/skills/health/agents/inspector-control.md +84 -0
- package/template/skills/health/agents/inspector-maintainability.md +55 -0
- package/template/skills/health/scripts/check-agent-context.sh +5 -0
- package/template/skills/health/scripts/check-doc-refs.sh +8 -0
- package/template/skills/health/scripts/check-maintainability.sh +8 -0
- package/template/skills/health/scripts/check-verifier-output.sh +5 -0
- package/template/skills/health/scripts/check_agent_context.py +444 -0
- package/template/skills/health/scripts/check_doc_refs.py +110 -0
- package/template/skills/health/scripts/check_maintainability.py +635 -0
- package/template/skills/health/scripts/check_verifier_output.py +116 -0
- package/template/skills/health/scripts/collect-data.sh +751 -0
- package/template/skills/hunt/SKILL.md +232 -0
- package/template/skills/hunt/references/failure-patterns.md +138 -0
- package/template/skills/hunt/references/ime-unicode.md +58 -0
- package/template/skills/hunt/references/logging-techniques.md +72 -0
- package/template/skills/hunt/references/rendering-debug.md +34 -0
- package/template/skills/impeccable/SKILL.md +47 -0
- package/template/skills/improve-codebase-architecture/DEEPENING.md +37 -0
- package/template/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/template/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -0
- package/template/skills/improve-codebase-architecture/LANGUAGE.md +53 -0
- package/template/skills/improve-codebase-architecture/SKILL.md +81 -0
- package/template/skills/learn/SKILL.md +140 -0
- package/template/skills/migrate-to-shoehorn/SKILL.md +118 -0
- package/template/skills/obsidian-vault/SKILL.md +59 -0
- package/template/skills/prototype/LOGIC.md +79 -0
- package/template/skills/prototype/SKILL.md +30 -0
- package/template/skills/prototype/UI.md +112 -0
- package/template/skills/qa/SKILL.md +130 -0
- package/template/skills/read/SKILL.md +141 -0
- package/template/skills/read/references/read-methods.md +129 -0
- package/template/skills/read/scripts/fetch.sh +106 -0
- package/template/skills/read/scripts/fetch_feishu.py +251 -0
- package/template/skills/read/scripts/fetch_local.py +218 -0
- package/template/skills/read/scripts/fetch_weixin.py +107 -0
- package/template/skills/request-refactor-plan/SKILL.md +68 -0
- package/template/skills/review/SKILL.md +78 -0
- package/template/skills/rust-auto-fix/SKILL.md +94 -0
- package/template/skills/scaffold-exercises/SKILL.md +106 -0
- package/template/skills/sdd-dev/SKILL.md +114 -0
- package/template/skills/setup-matt-pocock-skills/SKILL.md +121 -0
- package/template/skills/setup-matt-pocock-skills/domain.md +51 -0
- package/template/skills/setup-matt-pocock-skills/issue-tracker-github.md +22 -0
- package/template/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -0
- package/template/skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
- package/template/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/template/skills/setup-pre-commit/SKILL.md +91 -0
- package/template/skills/skillopt-sleep/SKILL.md +1 -1
- package/template/skills/svelte-warnings-fix/SKILL.md +94 -0
- package/template/skills/tauri-nsis-installer-icon/SKILL.md +92 -0
- package/template/skills/tauri-nsis-installer-icon/references/tauri-nsis-schema.md +71 -0
- package/template/skills/tb/SKILL.md +62 -0
- package/template/skills/tdd/SKILL.md +109 -0
- package/template/skills/tdd/deep-modules.md +33 -0
- package/template/skills/tdd/interface-design.md +31 -0
- package/template/skills/tdd/mocking.md +59 -0
- package/template/skills/tdd/refactoring.md +10 -0
- package/template/skills/tdd/tests.md +61 -0
- package/template/skills/teach/GLOSSARY-FORMAT.md +35 -0
- package/template/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/template/skills/teach/MISSION-FORMAT.md +31 -0
- package/template/skills/teach/RESOURCES-FORMAT.md +32 -0
- package/template/skills/teach/SKILL.md +91 -0
- package/template/skills/think/SKILL.md +184 -0
- package/template/skills/to-issues/SKILL.md +83 -0
- package/template/skills/to-prd/SKILL.md +74 -0
- package/template/skills/triage/AGENT-BRIEF.md +168 -0
- package/template/skills/triage/OUT-OF-SCOPE.md +101 -0
- package/template/skills/triage/SKILL.md +103 -0
- package/template/skills/ubiquitous-language/SKILL.md +93 -0
- package/template/skills/ver/SKILL.md +62 -0
- package/template/skills/write/SKILL.md +209 -0
- package/template/skills/write/references/write-en.md +199 -0
- package/template/skills/write/references/write-product-localization.md +43 -0
- package/template/skills/write/references/write-zh-bilingual.md +59 -0
- package/template/skills/write/references/write-zh-prose.md +50 -0
- package/template/skills/write/references/write-zh-release-notes.md +40 -0
- package/template/skills/write/references/write-zh.md +721 -0
- package/template/skills/write-a-skill/SKILL.md +117 -0
- package/template/skills/writing-beats/SKILL.md +52 -0
- package/template/skills/writing-fragments/SKILL.md +75 -0
- package/template/skills/writing-shape/SKILL.md +64 -0
- package/template/skills/zoom-out/SKILL.md +7 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: write-a-skill
|
|
3
|
+
description: Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Skills
|
|
7
|
+
|
|
8
|
+
## Process
|
|
9
|
+
|
|
10
|
+
1. **Gather requirements** - ask user about:
|
|
11
|
+
- What task/domain does the skill cover?
|
|
12
|
+
- What specific use cases should it handle?
|
|
13
|
+
- Does it need executable scripts or just instructions?
|
|
14
|
+
- Any reference materials to include?
|
|
15
|
+
|
|
16
|
+
2. **Draft the skill** - create:
|
|
17
|
+
- SKILL.md with concise instructions
|
|
18
|
+
- Additional reference files if content exceeds 500 lines
|
|
19
|
+
- Utility scripts if deterministic operations needed
|
|
20
|
+
|
|
21
|
+
3. **Review with user** - present draft and ask:
|
|
22
|
+
- Does this cover your use cases?
|
|
23
|
+
- Anything missing or unclear?
|
|
24
|
+
- Should any section be more/less detailed?
|
|
25
|
+
|
|
26
|
+
## Skill Structure
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
skill-name/
|
|
30
|
+
├── SKILL.md # Main instructions (required)
|
|
31
|
+
├── REFERENCE.md # Detailed docs (if needed)
|
|
32
|
+
├── EXAMPLES.md # Usage examples (if needed)
|
|
33
|
+
└── scripts/ # Utility scripts (if needed)
|
|
34
|
+
└── helper.js
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## SKILL.md Template
|
|
38
|
+
|
|
39
|
+
```md
|
|
40
|
+
---
|
|
41
|
+
name: skill-name
|
|
42
|
+
description: Brief description of capability. Use when [specific triggers].
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# Skill Name
|
|
46
|
+
|
|
47
|
+
## Quick start
|
|
48
|
+
|
|
49
|
+
[Minimal working example]
|
|
50
|
+
|
|
51
|
+
## Workflows
|
|
52
|
+
|
|
53
|
+
[Step-by-step processes with checklists for complex tasks]
|
|
54
|
+
|
|
55
|
+
## Advanced features
|
|
56
|
+
|
|
57
|
+
[Link to separate files: See [REFERENCE.md](REFERENCE.md)]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Description Requirements
|
|
61
|
+
|
|
62
|
+
The description is **the only thing your agent sees** when deciding which skill to load. It's surfaced in the system prompt alongside all other installed skills. Your agent reads these descriptions and picks the relevant skill based on the user's request.
|
|
63
|
+
|
|
64
|
+
**Goal**: Give your agent just enough info to know:
|
|
65
|
+
|
|
66
|
+
1. What capability this skill provides
|
|
67
|
+
2. When/why to trigger it (specific keywords, contexts, file types)
|
|
68
|
+
|
|
69
|
+
**Format**:
|
|
70
|
+
|
|
71
|
+
- Max 1024 chars
|
|
72
|
+
- Write in third person
|
|
73
|
+
- First sentence: what it does
|
|
74
|
+
- Second sentence: "Use when [specific triggers]"
|
|
75
|
+
|
|
76
|
+
**Good example**:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Bad example**:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Helps with documents.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The bad example gives your agent no way to distinguish this from other document skills.
|
|
89
|
+
|
|
90
|
+
## When to Add Scripts
|
|
91
|
+
|
|
92
|
+
Add utility scripts when:
|
|
93
|
+
|
|
94
|
+
- Operation is deterministic (validation, formatting)
|
|
95
|
+
- Same code would be generated repeatedly
|
|
96
|
+
- Errors need explicit handling
|
|
97
|
+
|
|
98
|
+
Scripts save tokens and improve reliability vs generated code.
|
|
99
|
+
|
|
100
|
+
## When to Split Files
|
|
101
|
+
|
|
102
|
+
Split into separate files when:
|
|
103
|
+
|
|
104
|
+
- SKILL.md exceeds 100 lines
|
|
105
|
+
- Content has distinct domains (finance vs sales schemas)
|
|
106
|
+
- Advanced features are rarely needed
|
|
107
|
+
|
|
108
|
+
## Review Checklist
|
|
109
|
+
|
|
110
|
+
After drafting, verify:
|
|
111
|
+
|
|
112
|
+
- [ ] Description includes triggers ("Use when...")
|
|
113
|
+
- [ ] SKILL.md under 100 lines
|
|
114
|
+
- [ ] No time-sensitive info
|
|
115
|
+
- [ ] Consistent terminology
|
|
116
|
+
- [ ] Concrete examples included
|
|
117
|
+
- [ ] References one level deep
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-beats
|
|
3
|
+
description: Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<what-to-do>
|
|
7
|
+
|
|
8
|
+
The user has passed (or will pass) a markdown file of raw material.
|
|
9
|
+
|
|
10
|
+
If the user did not say where to save the article, ask once and remember the path.
|
|
11
|
+
|
|
12
|
+
Then run a beat-by-beat journey:
|
|
13
|
+
|
|
14
|
+
1. Write 2–3 candidate **starting beats**, drawn from the raw material. Each is a different entry point into the article. Show the user the beats before writing it to the article file. The user picks one. Preview what beats that might lead to once written - as if the user is seeing a little way down the path.
|
|
15
|
+
2. Once the user picks a starting beat, write **only that beat** to the article file. A beat may be one sentence or several paragraphs — whatever that beat naturally is. Stop there.
|
|
16
|
+
3. Re-read the article file from disk. Then offer 2–3 candidate **next beats** — different directions the journey could pivot to from where the article now stands.
|
|
17
|
+
4. Loop steps 2–4 until the article reaches a natural end.
|
|
18
|
+
|
|
19
|
+
</what-to-do>
|
|
20
|
+
|
|
21
|
+
<supporting-info>
|
|
22
|
+
|
|
23
|
+
## What is a beat
|
|
24
|
+
|
|
25
|
+
A beat is one move in the journey. It does one thing — sets a scene, lands a point, asks a question, drops an aside, twists the angle. Then it stops, leaving the reader at a place where the next beat can pivot.
|
|
26
|
+
|
|
27
|
+
A beat is sized by what it needs:
|
|
28
|
+
|
|
29
|
+
- A single sentence if that's all the move is ("And then nothing happened for three weeks.").
|
|
30
|
+
- A short paragraph if the move needs setup.
|
|
31
|
+
- Multiple paragraphs if the beat is a self-contained vignette, argument, or example.
|
|
32
|
+
|
|
33
|
+
If a "beat" needs five paragraphs and three subheadings, it's not a beat — it's two beats glued together. Split it.
|
|
34
|
+
|
|
35
|
+
## Writing one beat
|
|
36
|
+
|
|
37
|
+
Once a beat is picked, write _that beat only_ to the article file. Do not write the next beat.
|
|
38
|
+
|
|
39
|
+
Pull material from the raw pile to populate the beat. You can paraphrase, split, recombine, or quote. The pile is a quarry.
|
|
40
|
+
|
|
41
|
+
## Ending the journey
|
|
42
|
+
|
|
43
|
+
The article ends when the journey is complete — not when the pile is empty. Most piles will have leftover fragments that don't make it in. That is fine; that is the point of having more raw material than you need.
|
|
44
|
+
|
|
45
|
+
## Writing rhythm
|
|
46
|
+
|
|
47
|
+
- Append one beat at a time. Never write ahead.
|
|
48
|
+
- Re-read the article file from disk before every write. Preserve user edits absolutely.
|
|
49
|
+
- If the user edits a previous beat substantially, let it change what comes next.
|
|
50
|
+
- If the user says "rewrite that beat" or "go back and try a different beat 3", do it — edit in place, leave the rest alone.
|
|
51
|
+
|
|
52
|
+
</supporting-info>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-fragments
|
|
3
|
+
description: Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions "fragments", "ideate", or "raw material" for writing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<what-to-do>
|
|
7
|
+
|
|
8
|
+
Run a grilling session that produces fragments. Interview the user relentlessly about whatever they want to write about. Do not impose phases, outlines, or structure — that is explicitly out of scope.
|
|
9
|
+
|
|
10
|
+
As fragments emerge from either side of the conversation, append them to a single markdown file. The user will be editing this file during the session; always re-read it before writing so their edits are preserved.
|
|
11
|
+
|
|
12
|
+
If the user did not pass a path, ask once where to save the document, then remember it for the rest of the session.
|
|
13
|
+
|
|
14
|
+
Capture fragments from the very first thing the user says, including the initial prompt.
|
|
15
|
+
|
|
16
|
+
On first write, put a single H1 at the top with a working title (it can change later) and nothing else — no metadata, no TOC, no date.
|
|
17
|
+
|
|
18
|
+
</what-to-do>
|
|
19
|
+
|
|
20
|
+
<supporting-info>
|
|
21
|
+
|
|
22
|
+
## What is a fragment
|
|
23
|
+
|
|
24
|
+
A fragment is any piece of text that might survive into the final article. It must be _readable by the author_ — the author can tell what it means — but it does not need to define its terms or be comprehensible to a cold reader. The bar is "is this a piece of good writing?", not "is this a self-contained argument?"
|
|
25
|
+
|
|
26
|
+
Fragments are deliberately heterogeneous. Examples of what could be a fragment:
|
|
27
|
+
|
|
28
|
+
- A sharp sentence you'd want to deploy somewhere but don't yet know where.
|
|
29
|
+
- A claim with a one-line justification.
|
|
30
|
+
- A vignette: a thing that happened, a code snippet, a scenario, an analogy.
|
|
31
|
+
- A half-thought: "something about how X feels like Y, work this out later."
|
|
32
|
+
- A quote, a piece of dialogue, an overheard line.
|
|
33
|
+
- A list of related observations that hang together by feel.
|
|
34
|
+
- A complaint, a confession, a punchline.
|
|
35
|
+
|
|
36
|
+
The novelist's diary is the model: years of unstructured noticings that later get mined for raw material. Fragments are noticings.
|
|
37
|
+
|
|
38
|
+
## File format
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Working title
|
|
42
|
+
|
|
43
|
+
A first fragment lives here.
|
|
44
|
+
|
|
45
|
+
It can be multiple paragraphs. It can include lists, code, quotes — whatever
|
|
46
|
+
shape the fragment naturally takes.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
A second fragment.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
> A quoted line that the user wants to keep around.
|
|
55
|
+
|
|
56
|
+
A reaction to it.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
- A cluster of related observations
|
|
61
|
+
- That hang together by feel
|
|
62
|
+
- And want to be near each other
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Fragments are separated by a horizontal rule (`\n---\n`). No headings inside the body. No tags. No order beyond the order they were added.
|
|
66
|
+
|
|
67
|
+
## Writing rhythm
|
|
68
|
+
|
|
69
|
+
Append silently. Don't ask permission for each fragment. Mention what you added in passing ("adding that"), but don't interrupt the conversation with save dialogs.
|
|
70
|
+
|
|
71
|
+
Before every write: re-read the file from disk. The user may have edited, reordered, or deleted fragments between turns — preserve their changes. Never overwrite the file; only append (or, if the user asks, edit a specific fragment in place).
|
|
72
|
+
|
|
73
|
+
The user can say "cut the last one", "rewrite that one sharper", "merge those two" at any time. Treat those as first-class instructions.
|
|
74
|
+
|
|
75
|
+
</supporting-info>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-shape
|
|
3
|
+
description: Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<what-to-do>
|
|
7
|
+
|
|
8
|
+
The user has passed (or will pass) a markdown file of raw material. Treat it as the input pile — anything from a tidy list of fragments to a wall of unstructured prose to a transcript. The format does not matter. Read it end-to-end before doing anything else.
|
|
9
|
+
|
|
10
|
+
Then run a shaping session that produces a separate article document. Do not edit the raw material file — it is read-only to this skill.
|
|
11
|
+
|
|
12
|
+
If the user did not say where to save the article, ask once and remember the path. The user will be editing the article file during the session; always re-read it before writing so their edits are preserved.
|
|
13
|
+
|
|
14
|
+
</what-to-do>
|
|
15
|
+
|
|
16
|
+
<supporting-info>
|
|
17
|
+
|
|
18
|
+
## The loop
|
|
19
|
+
|
|
20
|
+
1. **Read the pile.** Read the input file in full. Form a sense of what's in it.
|
|
21
|
+
2. **Draft 2–3 candidate openings.** Each opening should imply a different thesis or angle for the article. Show all of them. Force the user to pick or compose a hybrid. The chosen opening defines what the rest of the article must do.
|
|
22
|
+
3. **Grow paragraph by paragraph.** After the opening lands, ask "given this opening, what does the reader need to hear next?" Pull material from the pile to answer. Argue about whether the next beat is a paragraph, a list, a table, a callout, a quote, a code block. Each format choice should be deliberate and defensible.
|
|
23
|
+
4. **Append to the article file as you go.** Don't batch. Write each agreed paragraph or block immediately so the user can see the article taking shape.
|
|
24
|
+
5. **Loop step 3 until the article is done.** The user decides when it's done.
|
|
25
|
+
|
|
26
|
+
## Conversational feel
|
|
27
|
+
|
|
28
|
+
This is a grilling session inverted. In ideation, the question was "what are you actually noticing?" Here it's "what is this article actually arguing, and in what order does the reader need to hear it?" Push back. Refuse to let weak transitions slide. If a paragraph doesn't earn its place, cut it.
|
|
29
|
+
|
|
30
|
+
Specific moves to keep using:
|
|
31
|
+
|
|
32
|
+
- "What does this paragraph do for the reader that the previous one didn't?"
|
|
33
|
+
- "If I cut this, what breaks?"
|
|
34
|
+
- "Is this prose, or should it be a list? Why prose?"
|
|
35
|
+
- "This sentence is doing two jobs — split it or pick one."
|
|
36
|
+
- "The opening promised X. We've drifted to Y. Either re-thread it or change the opening."
|
|
37
|
+
|
|
38
|
+
## Pulling from the pile
|
|
39
|
+
|
|
40
|
+
Treat the raw material as a quarry, not a script. Pull a fragment, rework it to fit the surrounding paragraph, and place it. A fragment may be split across multiple paragraphs, merged with another, or paraphrased. The pile's job is to be mined; the article's job is to read as one voice.
|
|
41
|
+
|
|
42
|
+
If the pile lacks something the article needs, name the gap explicitly: "We need an example here and the pile doesn't have one — give me one now or we cut this section."
|
|
43
|
+
|
|
44
|
+
## Format arguments to actually have
|
|
45
|
+
|
|
46
|
+
When choosing how to render a beat, weigh these tradeoffs out loud with the user, not silently:
|
|
47
|
+
|
|
48
|
+
- **Prose vs. list.** Prose carries argument; lists carry parallel items. If items aren't truly parallel, prose is better. If they are, a list is faster to scan.
|
|
49
|
+
- **Inline vs. callout.** Tips, warnings, and asides go in callouts (`> [!TIP]`, `> [!NOTE]`) — but only if they'd genuinely derail the main argument inline. Otherwise leave them inline.
|
|
50
|
+
- **Table vs. repeated structure.** If the same shape repeats 3+ times with the same fields, a table. Otherwise prose with bold leads.
|
|
51
|
+
- **Quote vs. paraphrase.** Quote when the original wording is the point. Paraphrase when only the idea matters.
|
|
52
|
+
- **Code block vs. inline code.** Multi-line, runnable, or illustrative → block. Single token or identifier → inline.
|
|
53
|
+
|
|
54
|
+
## Writing rhythm
|
|
55
|
+
|
|
56
|
+
Append to the article file as each block is agreed. Re-read the file from disk before every write — the user may have edited between turns. Never overwrite blindly. If the user wants a paragraph rewritten, edit that specific paragraph in place; leave the rest alone.
|
|
57
|
+
|
|
58
|
+
## Out of scope
|
|
59
|
+
|
|
60
|
+
- Mining for new fragments that aren't in the pile (the pile is the input — if it's incomplete, name the gap and either get the user to fill it or cut the section).
|
|
61
|
+
- Editing the raw material file.
|
|
62
|
+
- Publishing, formatting for a specific platform, or adding frontmatter the user didn't ask for.
|
|
63
|
+
|
|
64
|
+
</supporting-info>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-out
|
|
3
|
+
description: Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary vocabulary.
|