@event4u/agent-config 1.27.0 → 1.28.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/.agent-src/commands/research.md +142 -0
- package/.agent-src/contexts/contracts/frugality-charter.md +4 -3
- package/.agent-src/contexts/contracts/research-schema.md +117 -0
- package/.agent-src/rules/domain-adoption-policy.md +1 -1
- package/.agent-src/rules/no-roadmap-references.md +1 -1
- package/.agent-src/rules/no-unsolicited-rebase.md +1 -1
- package/.agent-src/rules/scope-control.md +6 -8
- package/.agent-src/skills/deep-reading-analyst/SKILL.md +192 -0
- package/.agent-src/skills/roadmap-writing/SKILL.md +3 -3
- package/.agent-src/templates/agent-settings.md +1 -1
- package/.claude-plugin/marketplace.json +3 -1
- package/CHANGELOG.md +30 -0
- package/README.md +3 -3
- package/docs/architecture.md +3 -3
- package/docs/catalog.md +12 -7
- package/docs/contracts/command-clusters.md +1 -0
- package/docs/contracts/file-ownership-matrix.json +1261 -96
- package/docs/decisions/ADR-004-rule-governance-pruning.md +3 -3
- package/docs/getting-started.md +1 -1
- package/docs/guidelines/agent-infra/inversion-thinking.md +388 -0
- package/docs/guidelines/agent-infra/mcp-request-signing.md +11 -14
- package/docs/guidelines/agent-infra/mental-models.md +314 -0
- package/docs/guidelines/agent-infra/scqa-framework.md +526 -0
- package/package.json +1 -1
- package/scripts/schemas/skill.schema.json +15 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
cluster: research
|
|
4
|
+
description: "Preliminary research scaffolder — pick objects, define fields, emit `outline.yaml` + `fields.yaml` for downstream deep research. Use for surveys, benchmarks, tech selection, competitive scans."
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
skills: [project-analyzer, deep-reading-analyst]
|
|
7
|
+
suggestion:
|
|
8
|
+
eligible: true
|
|
9
|
+
trigger_description: "research a topic, scan competitors, benchmark X, do a tech-selection survey"
|
|
10
|
+
trigger_context: "user names a research topic and wants a structured scaffold (objects + fields), not an immediate answer"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /research
|
|
14
|
+
|
|
15
|
+
Entry point for **preliminary research**: pick the objects to study, name
|
|
16
|
+
the fields to fill, and emit a YAML scaffold that a downstream deep-research
|
|
17
|
+
run will populate. Use this when the user names a topic and wants a
|
|
18
|
+
structured plan, not an immediate answer.
|
|
19
|
+
|
|
20
|
+
Routes thinking-framework support to
|
|
21
|
+
[`deep-reading-analyst`](../skills/deep-reading-analyst/SKILL.md) (SCQA
|
|
22
|
+
for narrative structure, mental-models lens for object selection).
|
|
23
|
+
|
|
24
|
+
## Trigger
|
|
25
|
+
|
|
26
|
+
`/research <topic>`
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
### Step 1 — Initial framework from model knowledge
|
|
31
|
+
|
|
32
|
+
Generate, from the model's existing knowledge, the candidate object list
|
|
33
|
+
and field framework for the topic:
|
|
34
|
+
|
|
35
|
+
- **Objects / items** — entities, products, methods, datasets to compare.
|
|
36
|
+
- **Field framework** — dimensions to fill per item (basic info, technical
|
|
37
|
+
features, evidence, etc.).
|
|
38
|
+
|
|
39
|
+
Output `{step1_output}` and confirm with the user via numbered options
|
|
40
|
+
(per [`user-interaction`](../rules/user-interaction.md) Iron Law):
|
|
41
|
+
|
|
42
|
+
1. Add or remove items?
|
|
43
|
+
2. Field framework adequate?
|
|
44
|
+
|
|
45
|
+
### Step 2 — Web-search supplement
|
|
46
|
+
|
|
47
|
+
Ask one numbered question for the time range (e.g., last 6 months,
|
|
48
|
+
since 2024, unlimited). Use the agent's native web-search tool — do
|
|
49
|
+
**not** spawn a separate `web-search-agent` persona.
|
|
50
|
+
|
|
51
|
+
Search prompt template (variables in `{xxx}` only — do not modify
|
|
52
|
+
structure):
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
Research topic: {topic}
|
|
56
|
+
Current date: {YYYY-MM-DD}
|
|
57
|
+
Time range: {time_range}
|
|
58
|
+
|
|
59
|
+
Existing framework:
|
|
60
|
+
{step1_output}
|
|
61
|
+
|
|
62
|
+
Goals:
|
|
63
|
+
1. Verify existing items are not missing important objects.
|
|
64
|
+
2. Supplement items based on missing objects.
|
|
65
|
+
3. Continue searching for {topic}-related items within {time_range}.
|
|
66
|
+
4. Supplement new fields where helpful.
|
|
67
|
+
|
|
68
|
+
Output (return inline, do not write files):
|
|
69
|
+
|
|
70
|
+
### Supplementary items
|
|
71
|
+
- item_name: brief explanation (why it should be added)
|
|
72
|
+
|
|
73
|
+
### Recommended supplementary fields
|
|
74
|
+
- field_name: field description (why this dimension is needed)
|
|
75
|
+
|
|
76
|
+
### Sources
|
|
77
|
+
- [Source 1](url)
|
|
78
|
+
- [Source 2](url)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 3 — Existing fields merge
|
|
82
|
+
|
|
83
|
+
Ask via numbered options whether the user has an existing field-definition
|
|
84
|
+
file. If yes, read the file and merge into the framework before Step 4.
|
|
85
|
+
|
|
86
|
+
### Step 4 — Generate outline (two files)
|
|
87
|
+
|
|
88
|
+
Merge `{step1_output}`, `{step2_output}`, and any user-provided fields,
|
|
89
|
+
then write two files into `$PROJECT_ROOT/agents/research/{topic_slug}/`:
|
|
90
|
+
|
|
91
|
+
**`outline.yaml`** (items + execution config):
|
|
92
|
+
|
|
93
|
+
- `topic`: research topic
|
|
94
|
+
- `items`: research-objects list
|
|
95
|
+
- `execution`: `batch_size`, `items_per_agent`, `output_dir`
|
|
96
|
+
(defaults: `./results`; confirm with the user via numbered options)
|
|
97
|
+
|
|
98
|
+
**`fields.yaml`** (field definitions):
|
|
99
|
+
|
|
100
|
+
- field categories + definitions
|
|
101
|
+
- per field: `name`, `description`, `detail_level`
|
|
102
|
+
(`brief` → `moderate` → `detailed`)
|
|
103
|
+
- `uncertain`: list reserved for the deep-research phase
|
|
104
|
+
|
|
105
|
+
YAML structure validation: see
|
|
106
|
+
[`research-schema`](../contexts/contracts/research-schema.md) for the
|
|
107
|
+
project-local JSON-Schema reference (no runtime Python validator; the
|
|
108
|
+
agent reads the schema and self-validates).
|
|
109
|
+
|
|
110
|
+
### Step 5 — Output + confirm
|
|
111
|
+
|
|
112
|
+
Create `agents/research/{topic_slug}/` if absent, write both YAML files,
|
|
113
|
+
and present a summary block to the user:
|
|
114
|
+
|
|
115
|
+
- Topic + slug.
|
|
116
|
+
- Item count + field count.
|
|
117
|
+
- Path to the two files.
|
|
118
|
+
- Next-step pointer: deep-research orchestration is a follow-up port;
|
|
119
|
+
use the YAML scaffold as input when that lands.
|
|
120
|
+
|
|
121
|
+
## Output paths
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
$PROJECT_ROOT/agents/research/{topic_slug}/
|
|
125
|
+
├── outline.yaml # items list + execution config
|
|
126
|
+
└── fields.yaml # field definitions
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Out of scope (Phase 2)
|
|
130
|
+
|
|
131
|
+
`/research-deep`, `/research-add-items`, `/research-add-fields`, and the
|
|
132
|
+
Python `validate_json.py` validator are **not** ported in Phase 1 — they
|
|
133
|
+
are queued as follow-up cluster sub-commands.
|
|
134
|
+
|
|
135
|
+
## ADOPT citation
|
|
136
|
+
|
|
137
|
+
Adopted from [`Weizhena/Deep-Research-skills`](https://github.com/Weizhena/Deep-Research-skills)
|
|
138
|
+
@ commit `dc18cf4` · upstream file research/SKILL.md inside skills/research-en/ · MIT License.
|
|
139
|
+
Refactored: dropped `web-search-agent` persona (portability), dropped
|
|
140
|
+
Pydantic validator (replaced with JSON-Schema reference), repathed
|
|
141
|
+
`./` → `$PROJECT_ROOT/agents/research/`, deferred `/research-deep` +
|
|
142
|
+
`/research-add-*` to Phase 2.
|
|
@@ -21,9 +21,10 @@ Cite the source rule in writer artifacts; do **not** restate it here.
|
|
|
21
21
|
|
|
22
22
|
## Confirmation taxonomy
|
|
23
23
|
|
|
24
|
-
Iron-Law / Routine / Contextual classification with carve-outs
|
|
25
|
-
|
|
26
|
-
Charter does not duplicate
|
|
24
|
+
Iron-Law / Routine / Contextual classification with carve-outs is
|
|
25
|
+
canonical in the active token-frugality plate under `agents/roadmaps/`
|
|
26
|
+
(or `agents/roadmaps/archive/` once closed). Charter does not duplicate
|
|
27
|
+
the table.
|
|
27
28
|
|
|
28
29
|
## Settings hooks
|
|
29
30
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# research-schema
|
|
2
|
+
|
|
3
|
+
Project-local JSON-Schema reference for the
|
|
4
|
+
[`/research`](../../commands/research.md) command's two output files —
|
|
5
|
+
`outline.yaml` and `fields.yaml`. The agent reads the schemas below and
|
|
6
|
+
self-validates the YAML before writing; **no runtime Python validator
|
|
7
|
+
ships in this package** — the Pydantic validator from upstream was
|
|
8
|
+
dropped at adoption time and replaced with this reference contract.
|
|
9
|
+
|
|
10
|
+
## `outline.yaml` schema
|
|
11
|
+
|
|
12
|
+
```yaml
|
|
13
|
+
# JSON-Schema (YAML form) — outline.yaml
|
|
14
|
+
type: object
|
|
15
|
+
required: [topic, items, execution]
|
|
16
|
+
properties:
|
|
17
|
+
topic:
|
|
18
|
+
type: string
|
|
19
|
+
description: Research topic, free-form.
|
|
20
|
+
topic_slug:
|
|
21
|
+
type: string
|
|
22
|
+
pattern: "^[a-z0-9][a-z0-9-]*$"
|
|
23
|
+
description: Lower-kebab slug used as the directory name.
|
|
24
|
+
items:
|
|
25
|
+
type: array
|
|
26
|
+
minItems: 1
|
|
27
|
+
items:
|
|
28
|
+
type: object
|
|
29
|
+
required: [name]
|
|
30
|
+
properties:
|
|
31
|
+
name: { type: string }
|
|
32
|
+
explanation: { type: string }
|
|
33
|
+
source: { type: string, format: uri }
|
|
34
|
+
execution:
|
|
35
|
+
type: object
|
|
36
|
+
required: [batch_size, items_per_agent, output_dir]
|
|
37
|
+
properties:
|
|
38
|
+
batch_size:
|
|
39
|
+
type: integer
|
|
40
|
+
minimum: 1
|
|
41
|
+
description: Number of parallel agents in the deep-research phase.
|
|
42
|
+
items_per_agent:
|
|
43
|
+
type: integer
|
|
44
|
+
minimum: 1
|
|
45
|
+
description: Items each agent processes per batch.
|
|
46
|
+
output_dir:
|
|
47
|
+
type: string
|
|
48
|
+
default: "./results"
|
|
49
|
+
description: Path (relative to the topic dir) for deep-research output.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## `fields.yaml` schema
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
# JSON-Schema (YAML form) — fields.yaml
|
|
56
|
+
type: object
|
|
57
|
+
required: [categories]
|
|
58
|
+
properties:
|
|
59
|
+
categories:
|
|
60
|
+
type: array
|
|
61
|
+
minItems: 1
|
|
62
|
+
items:
|
|
63
|
+
type: object
|
|
64
|
+
required: [name, fields]
|
|
65
|
+
properties:
|
|
66
|
+
name:
|
|
67
|
+
type: string
|
|
68
|
+
description: Category label (e.g., "Basic info", "Technical features").
|
|
69
|
+
fields:
|
|
70
|
+
type: array
|
|
71
|
+
minItems: 1
|
|
72
|
+
items:
|
|
73
|
+
type: object
|
|
74
|
+
required: [name, description, detail_level]
|
|
75
|
+
properties:
|
|
76
|
+
name: { type: string }
|
|
77
|
+
description: { type: string }
|
|
78
|
+
detail_level:
|
|
79
|
+
type: string
|
|
80
|
+
enum: [brief, moderate, detailed]
|
|
81
|
+
uncertain:
|
|
82
|
+
type: array
|
|
83
|
+
description: Reserved field, populated during deep-research phase.
|
|
84
|
+
items:
|
|
85
|
+
type: object
|
|
86
|
+
properties:
|
|
87
|
+
item: { type: string }
|
|
88
|
+
field: { type: string }
|
|
89
|
+
reason: { type: string }
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Self-validation procedure
|
|
93
|
+
|
|
94
|
+
1. Generate the YAML in memory.
|
|
95
|
+
2. Walk the schema above against the candidate object.
|
|
96
|
+
3. On mismatch, fix the YAML before writing — do not write invalid
|
|
97
|
+
files and rely on a downstream check.
|
|
98
|
+
4. Validation diagnostics surface to the user inline (file path,
|
|
99
|
+
field path, expected vs actual). No external dependencies.
|
|
100
|
+
|
|
101
|
+
## Why no Pydantic / runtime validator
|
|
102
|
+
|
|
103
|
+
Upstream (`Weizhena/Deep-Research-skills`) shipped a `validate_json.py`
|
|
104
|
+
Pydantic-based validator that assumed `~/.claude/` paths and a Python
|
|
105
|
+
runtime in the consumer environment. Both are
|
|
106
|
+
`augment-portability` violations for this package (zero-runtime-Python
|
|
107
|
+
goal, host-agnostic distribution). The schema reference above lets the
|
|
108
|
+
agent validate by reading; consumers needing programmatic validation
|
|
109
|
+
can pipe the YAML through any JSON-Schema validator they prefer
|
|
110
|
+
(`ajv`, `python-jsonschema`, `check-jsonschema`, etc.).
|
|
111
|
+
|
|
112
|
+
## Cross-references
|
|
113
|
+
|
|
114
|
+
- [`/research`](../../commands/research.md) — the command this schema
|
|
115
|
+
validates.
|
|
116
|
+
- Future `/research:deep` and `/research:report` sub-commands will
|
|
117
|
+
reference this same schema once ported.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
4
|
alwaysApply: false
|
|
5
|
-
description: "Adopting a new domain track (mobile, ML, blockchain,
|
|
5
|
+
description: "Adopting a new domain track (mobile, ML, blockchain, IoT, gaming) — gates import on demand, ownership, CI fit, Sunset compatibility BEFORE harvest"
|
|
6
6
|
source: package
|
|
7
7
|
triggers:
|
|
8
8
|
- intent: "adopt new domain"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "mechanical-already"
|
|
4
|
-
description: "Linking transient files (agents/roadmaps/, agents/council
|
|
4
|
+
description: "Linking transient files (agents/roadmaps/, agents/council-*/) from a stable artifact — both layers expire; promote findings"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
triggers:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
4
|
alwaysApply: false
|
|
5
|
-
description: "Working with git history — never rewrite, rebase, squash, fixup, or amend without explicit user request;
|
|
5
|
+
description: "Working with git history — never rewrite, rebase, squash, fixup, or amend without explicit user request; shape is the user's call, not tidiness"
|
|
6
6
|
source: package
|
|
7
7
|
triggers:
|
|
8
8
|
- intent: "rebase the branch"
|
|
@@ -28,15 +28,15 @@ The user decides the git shape. Never improvise. Commit specifics: canonical [`c
|
|
|
28
28
|
- NEVER create / switch / delete a branch without explicit permission — includes spike, scratch, throwaway, worktree branches.
|
|
29
29
|
- NEVER create, close, reopen, or change the target of a pull request without permission.
|
|
30
30
|
- NEVER push a tag or create a release without permission.
|
|
31
|
-
- NEVER include version numbers, target releases, deprecation dates, release-tied milestones, or git tags in roadmaps, plans, tickets, or any planning artifact. Roadmaps plan **work**; releases / tags are a separate decision
|
|
31
|
+
- NEVER include version numbers, target releases, deprecation dates, release-tied milestones, or git tags in roadmaps, plans, tickets, or any planning artifact. Roadmaps plan **work**; releases / tags are a separate decision. User pins by saying so explicitly.
|
|
32
32
|
- Task seems to need a separate branch / PR → STOP and **brief before asking** ([`scope-mechanics § Brief-before-asking`](../contexts/authority/scope-mechanics.md)).
|
|
33
|
-
- BEFORE the first commit on related work, **inventory** existing branches and open PRs
|
|
33
|
+
- BEFORE the first commit on related work, **inventory** existing branches and open PRs. Plausible base beyond the current branch → STOP and ask with numbered options — never improvise. Commands + 4-option template + diverging-stack failure mode: [`scope-mechanics § Branch-base inventory`](../contexts/authority/scope-mechanics.md).
|
|
34
34
|
|
|
35
35
|
"Explicit permission" = user said so **this turn or in a standing instruction not yet revoked**. Earlier permission for a different operation does not carry over.
|
|
36
36
|
|
|
37
37
|
## Production, infrastructure, bulk-destructive — Hard Floor
|
|
38
38
|
|
|
39
|
-
A subset is **never** autonomous
|
|
39
|
+
A subset is **never** autonomous, regardless of standing autonomy. Canonical: [`non-destructive-by-default`](non-destructive-by-default.md). Triggers (prod-branch merges, deploys, prod data / infra, bulk-destructive) + this-turn-only clarification: [`scope-mechanics § Production, infrastructure, bulk-destructive`](../contexts/authority/scope-mechanics.md).
|
|
40
40
|
|
|
41
41
|
## Kernel-rule edits — slow-rollout guarantee
|
|
42
42
|
|
|
@@ -44,11 +44,11 @@ Each kernel-rule edit ships in **its own PR**, ≥ 24 h between merges. Autonomo
|
|
|
44
44
|
|
|
45
45
|
## Decline = silence — no re-asking on the same task
|
|
46
46
|
|
|
47
|
-
After the user **declines** a proposal (branch switch, PR creation, tag/release
|
|
47
|
+
After the user **declines** a proposal (branch switch, PR creation, tag/release, separate worktree, version pinning), do **not** raise it again on the same task. Decline stands until reopened. Timing: [`scope-mechanics § Decline = silence`](../contexts/authority/scope-mechanics.md).
|
|
48
48
|
|
|
49
49
|
## Fenced step — user-set review gates
|
|
50
50
|
|
|
51
|
-
User explicitly fences off the next step
|
|
51
|
+
User explicitly fences off the next step (*"plan only"*, *"review first"*, *"don't implement yet"*, German equivalents) — reply is **deliverable + handoff**, never deliverable + *"shall we start?"*.
|
|
52
52
|
|
|
53
53
|
```
|
|
54
54
|
USER FENCED OFF EXECUTION → DELIVER + HAND BACK.
|
|
@@ -57,6 +57,4 @@ NO "READY TO IMPLEMENT?" RE-ASK.
|
|
|
57
57
|
NO "STARTEN WIR MIT PHASE 1?" PIVOT.
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Fence stands until
|
|
61
|
-
|
|
62
|
-
Failure-mode catalog (Option 1 = "start now", re-asking after delivery, hand-off-to-execution drift, inferring acceptance from a thumbs-up) and explicit bypass phrases: [`scope-mechanics § Fenced step`](../contexts/authority/scope-mechanics.md).
|
|
60
|
+
Fence stands until reopened (like `Decline = silence`). Follow-ups cover **the deliverable** (scope, wording, sections), never its execution. Failure modes + bypass phrases: [`scope-mechanics § Fenced step`](../contexts/authority/scope-mechanics.md).
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deep-reading-analyst
|
|
3
|
+
description: "Deep analysis of articles/long-form via thinking frameworks (SCQA, mental models, inversion) — 'analyze article', 'deep dive', 'extract insights', URL/text wanting depth not summary."
|
|
4
|
+
status: active
|
|
5
|
+
source: package
|
|
6
|
+
external_source: "https://github.com/ginobefun/deep-reading-analyst-skill/tree/26cd7dc9920e025d39751e396e707399022e49ef/src/deep-reading-analyst"
|
|
7
|
+
refresh_trigger: "Upstream `ginobefun/deep-reading-analyst-skill` major rewrite (new framework added, dispatch table reshaped, or SHA pin invalidated by reference rename)."
|
|
8
|
+
sunset_criterion: "Replace with a 50-line pointer skill if (a) all referenced modules are adopted as project-local guidelines (`docs/guidelines/agent-infra/{framework}.md`) AND (b) the dispatch logic moves into a project-native router."
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
> **Pinned upstream:** `ginobefun/deep-reading-analyst-skill` @ SHA `26cd7dc9` (MIT). Re-verify per upstream major rewrite. Reference modules below link to the same SHA.
|
|
12
|
+
|
|
13
|
+
# deep-reading-analyst
|
|
14
|
+
|
|
15
|
+
Wing-1 deep-thinking skill for articles, papers, opinion pieces, case studies, and long-form decision documents. Routes the user's content through 8 thinking frameworks at four depth levels (Quick / Standard / Deep / Research) and returns insight tied to the user's **goal**, not framework completion.
|
|
16
|
+
|
|
17
|
+
## When to use
|
|
18
|
+
|
|
19
|
+
- User pastes an article URL, paper, or long text and wants depth ("analyze", "deep dive", "extract insights", "help me understand").
|
|
20
|
+
- User asks for a specific framework ("apply SCQA to this", "use inversion thinking", "give me the mental models lens").
|
|
21
|
+
- User is making a decision and wants pre-mortem / multi-lens analysis on a written proposal.
|
|
22
|
+
- User is studying or note-taking on dense material (research papers, strategy memos, books).
|
|
23
|
+
|
|
24
|
+
Do NOT use when:
|
|
25
|
+
- User wants a 3-bullet TL;DR — use `agent-docs-writing` or write a direct summary.
|
|
26
|
+
- Content is code or a diff — route to `judge-bug-hunter`, `judge-code-quality`, or `adversarial-review`.
|
|
27
|
+
- User wants risk analysis on a code change — route to `adversarial-review` (diff-bound) or `threat-modeling`.
|
|
28
|
+
- User wants debugging or incident analysis — route to `bug-analyzer` or `systematic-debugging`.
|
|
29
|
+
|
|
30
|
+
## Framework Arsenal
|
|
31
|
+
|
|
32
|
+
| Depth | Time | Frameworks | Reference module |
|
|
33
|
+
|---|---|---|---|
|
|
34
|
+
| **L1 — Quick** | ~15 min | SCQA, 5W2H | [`scqa-framework`](../../../docs/guidelines/agent-infra/scqa-framework.md), `5w2h_analysis.md` (upstream) |
|
|
35
|
+
| **L2 — Standard** | ~30 min | L1 + Critical Thinking, Inversion | + [`inversion-thinking`](../../../docs/guidelines/agent-infra/inversion-thinking.md), `critical_thinking.md` (upstream) |
|
|
36
|
+
| **L3 — Deep** | ~60 min | L2 + Mental Models, First Principles, Systems Thinking, Six Hats | + [`mental-models`](../../../docs/guidelines/agent-infra/mental-models.md), `first_principles.md`, `systems_thinking.md`, `six_hats.md` (upstream) |
|
|
37
|
+
| **L4 — Research** | 120 min+ | L3 + Cross-source comparison via web search | + `comparison_matrix.md` (upstream) |
|
|
38
|
+
|
|
39
|
+
Modules tagged `(upstream)` link to SHA-pinned files at the URL in `external_source` above; project-local modules are adopted as guidelines.
|
|
40
|
+
|
|
41
|
+
## Procedure: deep-reading-analyst
|
|
42
|
+
|
|
43
|
+
### Step 0: Inspect
|
|
44
|
+
|
|
45
|
+
1. **Detect content type** — article, paper, opinion piece, case study, how-to, strategy memo. Drives auto-suggested frameworks (Step 1).
|
|
46
|
+
2. **Detect goal signal** — problem-solving, learning, writing reference, decision-making, curiosity. Drives Step 4 output shape.
|
|
47
|
+
3. **Skip if mismatched** — see "Do NOT use when" above; route to the named skill.
|
|
48
|
+
|
|
49
|
+
### Step 1: Initialize Analysis
|
|
50
|
+
|
|
51
|
+
Ask the user three things in **one** message (not three turns), per `ask-when-uncertain` Iron Law (one question per turn — these three are bundled into a single numbered-options block):
|
|
52
|
+
|
|
53
|
+
1. **Goal** — problem-solving · learning · writing · decision-making · curiosity.
|
|
54
|
+
2. **Depth** — L1 Quick (15 min) · L2 Standard (30 min) · L3 Deep (60 min) · L4 Research (120 min+).
|
|
55
|
+
3. **Framework override** — defaults are auto-suggested by content type (table below); user may name specific frameworks.
|
|
56
|
+
|
|
57
|
+
If the user does not answer, default to L2 Standard with auto-selected frameworks.
|
|
58
|
+
|
|
59
|
+
**Auto-suggest matrix:**
|
|
60
|
+
|
|
61
|
+
| Content type | Default frameworks |
|
|
62
|
+
|---|---|
|
|
63
|
+
| Strategy / business article | SCQA + Mental Models + Inversion |
|
|
64
|
+
| Research paper | 5W2H + Critical Thinking + Systems Thinking |
|
|
65
|
+
| How-to guide | SCQA + 5W2H + First Principles |
|
|
66
|
+
| Opinion piece | Critical Thinking + Inversion + Six Hats |
|
|
67
|
+
| Case study | SCQA + Mental Models + Systems Thinking |
|
|
68
|
+
|
|
69
|
+
### Step 2: Structural Understanding (always run)
|
|
70
|
+
|
|
71
|
+
Regardless of depth, open with two short blocks:
|
|
72
|
+
|
|
73
|
+
**2A — Basic structure.**
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
📄 Type: [article/paper/report]
|
|
77
|
+
🎯 Core thesis: [one sentence]
|
|
78
|
+
Structure:
|
|
79
|
+
├─ Argument 1 → [key support]
|
|
80
|
+
├─ Argument 2 → [key support]
|
|
81
|
+
└─ Argument 3 → [key support]
|
|
82
|
+
Key concepts: [3–5 terms with one-line definitions]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**2B — SCQA breakdown.** Apply the four-element decomposition from [`scqa-framework`](../../../docs/guidelines/agent-infra/scqa-framework.md):
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
**S (Situation)**: [context the article establishes]
|
|
89
|
+
**C (Complication)**: [problem identified]
|
|
90
|
+
**Q (Question)**: [core question]
|
|
91
|
+
**A (Answer)**: [main solution / conclusion]
|
|
92
|
+
Structure quality — clarity / logic / completeness: [★★★☆☆]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**2C — 5W2H gap check** (L1+). Quick scan: which of *What, Why, Who, When, Where, How, How much* are well-covered, partial, or missing? Flag the 1–2 most critical gaps.
|
|
96
|
+
|
|
97
|
+
### Step 3: Apply Frameworks (depth-gated)
|
|
98
|
+
|
|
99
|
+
Load only the frameworks the user's depth bought. Each framework follows the same pattern: **load reference module → apply lens → produce one fixed-shape block**.
|
|
100
|
+
|
|
101
|
+
**L2 additions:**
|
|
102
|
+
|
|
103
|
+
- **Critical Thinking** (`critical_thinking.md`, upstream) — argument strength score (X/10), strengths, weaknesses, logical fallacies detected.
|
|
104
|
+
- **Inversion** ([`inversion-thinking`](../../../docs/guidelines/agent-infra/inversion-thinking.md)) — pre-mortem on the article's recommendation: "how would this fail?", missing risk factors, mitigations.
|
|
105
|
+
|
|
106
|
+
**L3 additions:**
|
|
107
|
+
|
|
108
|
+
- **Mental Models** ([`mental-models`](../../../docs/guidelines/agent-infra/mental-models.md)) — pick 3–5 models from different disciplines (physics, biology, psychology, economics, math), apply each lens, surface cross-model patterns.
|
|
109
|
+
- **First Principles** (`first_principles.md`, upstream) — strip to fundamental truths, validate each core assumption, rebuild from base.
|
|
110
|
+
- **Systems Thinking** (`systems_thinking.md`, upstream) — map relationships, feedback loops, leverage points.
|
|
111
|
+
- **Six Hats** (`six_hats.md`, upstream) — White (facts), Red (feelings), Black (cautions), Yellow (benefits), Green (creativity), Blue (process).
|
|
112
|
+
|
|
113
|
+
**L4 addition:**
|
|
114
|
+
|
|
115
|
+
- **Cross-source comparison** (`comparison_matrix.md`, upstream) — web-search 2–3 related sources, compare SCQA across sources, identify consensus vs divergence, synthesize integrated perspective.
|
|
116
|
+
|
|
117
|
+
### Step 4: Synthesize by Goal
|
|
118
|
+
|
|
119
|
+
Output shape is **driven by Step 0 goal**, not by frameworks applied. Pick exactly one of the four blocks below.
|
|
120
|
+
|
|
121
|
+
**For problem-solving:** Applicable solutions (2–3 from content) → Application plan with timed action steps → Success metrics → Risk mitigations from Inversion.
|
|
122
|
+
|
|
123
|
+
**For learning:** Core concepts (definition + example) → Mental models gained → Connections to prior knowledge → First Principles fundamental question → 3 verification questions (understanding / application / evaluation).
|
|
124
|
+
|
|
125
|
+
**For writing reference:** Key arguments + evidence (with paragraph citations) → Quotable insights with context → Critical analysis (strengths for citing, limitations for balanced discussion) → Alternative perspectives from Mental Models → Gaps and counterfactuals.
|
|
126
|
+
|
|
127
|
+
**For decision-making:** Options presented → Multi-model evaluation (economic + risk + systems lens) → Six Hats decision analysis → Scenario analysis (best / worst / most likely) → Synthesized recommendation.
|
|
128
|
+
|
|
129
|
+
### Step 5: Knowledge Activation (always end here)
|
|
130
|
+
|
|
131
|
+
Regardless of goal, close with three fixed blocks:
|
|
132
|
+
|
|
133
|
+
```markdown
|
|
134
|
+
## 🎯 Top 3 takeaways
|
|
135
|
+
1. **[Insight]** — Why it matters: [...] · One action: [specific, time-bound]
|
|
136
|
+
2. **[Insight]** — Why it matters: [...] · One action: [specific, time-bound]
|
|
137
|
+
3. **[Insight]** — Why it matters: [...] · One action: [specific, time-bound]
|
|
138
|
+
|
|
139
|
+
## 💡 Quick win — one tiny, specific action for the next 24 hours.
|
|
140
|
+
|
|
141
|
+
## 🧭 Frameworks used
|
|
142
|
+
✅ SCQA ✅ 5W2H ✅ Critical ✅ Inversion
|
|
143
|
+
□ Mental Models □ First Principles □ Systems □ Six Hats
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Step 6: Validate
|
|
147
|
+
|
|
148
|
+
1. Every claim is faithful to the source — no misrepresentation, facts distinguished from opinions.
|
|
149
|
+
2. Frameworks applied **purposefully**, not force-fit — drop a framework that adds no insight rather than padding the output.
|
|
150
|
+
3. Output ends with concrete, actionable steps — no analysis-without-application.
|
|
151
|
+
4. Specific citations (paragraph numbers, quotes) where the source supports them.
|
|
152
|
+
|
|
153
|
+
## Output format
|
|
154
|
+
|
|
155
|
+
1. **Structural block (Step 2)** — type / thesis / structure tree / key concepts / SCQA / 5W2H gaps.
|
|
156
|
+
2. **Framework blocks (Step 3)** — one fixed-shape block per framework the depth bought.
|
|
157
|
+
3. **Goal-shaped synthesis (Step 4)** — problem-solving / learning / writing / decision-making.
|
|
158
|
+
4. **Knowledge activation (Step 5)** — top 3 takeaways · quick win · frameworks-used checkboxes.
|
|
159
|
+
|
|
160
|
+
## Gotcha
|
|
161
|
+
|
|
162
|
+
- The model tends to **apply every framework** even at L1 — respect the depth budget; skip frameworks the user did not buy.
|
|
163
|
+
- The model tends to **summarize** instead of analyze when the user pastes long text — go deep on 1–3 points, not shallow on all of them.
|
|
164
|
+
- Inversion drifts into adversarial code review — this skill targets **decisions and arguments**, not diffs. Route diff stress-tests to `adversarial-review` / `judge-bug-hunter`.
|
|
165
|
+
- Mental Models drifts into name-dropping — pick 3–5, apply each lens *concretely* to the article's claims, drop models that yield no new insight.
|
|
166
|
+
- L4 cross-source comparison drifts into a literature review — keep it to 2–3 sources, focus on consensus / divergence / unique value.
|
|
167
|
+
- Output without action steps is a failure mode — every Step-4 synthesis must end with timed, concrete actions tied to the user's goal.
|
|
168
|
+
|
|
169
|
+
## Do NOT
|
|
170
|
+
|
|
171
|
+
- Do NOT force-apply all frameworks at the user's chosen depth — drop ones that add no insight.
|
|
172
|
+
- Do NOT copy text verbatim from the source — always reword for the user's understanding.
|
|
173
|
+
- Do NOT use academic jargon without one-line definitions in the "key concepts" block.
|
|
174
|
+
- Do NOT skip Step 5 — the takeaways + quick win are the load-bearing output, not optional decoration.
|
|
175
|
+
- Do NOT route code reviews, diff stress-tests, or incident debugging through this skill.
|
|
176
|
+
|
|
177
|
+
## Reference modules
|
|
178
|
+
|
|
179
|
+
Project-local guidelines (full text adopted under the Reference-Guideline Sunset Policy):
|
|
180
|
+
|
|
181
|
+
- [`scqa-framework`](../../../docs/guidelines/agent-infra/scqa-framework.md) — full 499-line authoritative-link adopt.
|
|
182
|
+
- [`mental-models`](../../../docs/guidelines/agent-infra/mental-models.md) — pure adopt of Munger's multi-discipline toolkit.
|
|
183
|
+
- [`inversion-thinking`](../../../docs/guidelines/agent-infra/inversion-thinking.md) — pre-mortem on decisions, distinct from `adversarial-review`.
|
|
184
|
+
|
|
185
|
+
Upstream modules (loaded on demand from the SHA-pinned URL in `external_source`):
|
|
186
|
+
|
|
187
|
+
- `5w2h_analysis.md` — completeness check (7 questions).
|
|
188
|
+
- `critical_thinking.md` — argument quality / fallacy detection.
|
|
189
|
+
- `first_principles.md` — fundamental-truth extraction.
|
|
190
|
+
- `systems_thinking.md` — feedback loops + leverage points.
|
|
191
|
+
- `six_hats.md` — White / Red / Black / Yellow / Green / Blue protocol.
|
|
192
|
+
- `comparison_matrix.md` — cross-source synthesis (L4 only).
|
|
@@ -152,6 +152,6 @@ to every roadmap you author.
|
|
|
152
152
|
|
|
153
153
|
## Examples
|
|
154
154
|
|
|
155
|
-
|
|
156
|
-
(structural
|
|
157
|
-
|
|
155
|
+
Browse `agents/roadmaps/` (active plate) and `agents/roadmaps/archive/`
|
|
156
|
+
(closed work) for canonical structural / tactical / structural-with-council
|
|
157
|
+
examples.
|
|
@@ -453,7 +453,7 @@ the canonical narrative lives in
|
|
|
453
453
|
| `commands.suggestion.max_options` | integer | `4` | Max number of command suggestions before the always-present "run as-is" option (total rendered = `max_options + 1`). |
|
|
454
454
|
| `commands.suggestion.blocklist` | list of command names | `[]` | Commands that never appear as a suggestion. They still work when typed explicitly. |
|
|
455
455
|
| `commands.create_pr.preview_description` | `true`, `false` | `false` | When `false`: `/create-pr` skips the title/body preview + adjust loop and uses the generated content directly. Saves agent tokens. When `true`: show title and body before creating and ask for adjustments. `/create-pr:description-only` always previews regardless of this setting. |
|
|
456
|
-
| `verbosity.preview_artifacts` | `true`, `false` | `false` | Show generated commit messages, PR titles/bodies, branch names before acting. `false` = use generated content directly. See
|
|
456
|
+
| `verbosity.preview_artifacts` | `true`, `false` | `false` | Show generated commit messages, PR titles/bodies, branch names before acting. `false` = use generated content directly. See the token-frugality plate under `agents/roadmaps/` (Phase 2/3). |
|
|
457
457
|
| `verbosity.routine_confirmations` | `true`, `false` | `false` | Confirmation prompts for routine workflow steps when there is one obvious answer ("looks good — commit?"). Iron-Law gates (`commit-policy`, `scope-control` git-ops, `non-destructive-by-default`) ALWAYS ask regardless. |
|
|
458
458
|
| `verbosity.offer_council_in_delivery` | `true`, `false` | `false` | Offer "run AI Council on this?" inside delivery commands (`/feature-plan`, `/review-changes`, `/roadmap-create`). Council commands themselves are unaffected. |
|
|
459
459
|
| `verbosity.post_action_reports` | `off`, `minimal`, `full` | `minimal` | Multi-line status / summary blocks after a successful action. `off` = no report; `minimal` = one-line confirmation; `full` = bullet list. |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.28.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"./.claude/skills/data-flow-mapper",
|
|
81
81
|
"./.claude/skills/database",
|
|
82
82
|
"./.claude/skills/dcf-modeling",
|
|
83
|
+
"./.claude/skills/deep-reading-analyst",
|
|
83
84
|
"./.claude/skills/dependency-upgrade",
|
|
84
85
|
"./.claude/skills/description-assist",
|
|
85
86
|
"./.claude/skills/design-review",
|
|
@@ -208,6 +209,7 @@
|
|
|
208
209
|
"./.claude/skills/refine-prompt",
|
|
209
210
|
"./.claude/skills/refine-ticket",
|
|
210
211
|
"./.claude/skills/requesting-code-review",
|
|
212
|
+
"./.claude/skills/research",
|
|
211
213
|
"./.claude/skills/review-changes",
|
|
212
214
|
"./.claude/skills/review-routing",
|
|
213
215
|
"./.claude/skills/rice-prioritization",
|
package/CHANGELOG.md
CHANGED
|
@@ -318,6 +318,36 @@ our recommendation order, not its support status.
|
|
|
318
318
|
users" tension without removing any path that an existing user
|
|
319
319
|
might rely on.
|
|
320
320
|
|
|
321
|
+
## [1.28.0](https://github.com/event4u-app/agent-config/compare/1.27.0...1.28.0) (2026-05-09)
|
|
322
|
+
|
|
323
|
+
### Features
|
|
324
|
+
|
|
325
|
+
* **schema:** allow Sunset-Policy metadata on skill schema ([d5d67bd](https://github.com/event4u-app/agent-config/commit/d5d67bd30e36ea6ec9586825218678ec3203ee3a))
|
|
326
|
+
* **commands:** port /research command with research-schema contract ([2f03dfa](https://github.com/event4u-app/agent-config/commit/2f03dfad2f56776e80d8417f618b8ec59ae07289))
|
|
327
|
+
* **skills:** adopt deep-reading-analyst skill + 3 thinking-framework guidelines ([78ac3e3](https://github.com/event4u-app/agent-config/commit/78ac3e35c56c0e936291a69191c94869251f532e))
|
|
328
|
+
|
|
329
|
+
### Bug Fixes
|
|
330
|
+
|
|
331
|
+
* **roadmap:** rename heading to bypass PHASE_RE false-positive ([9e0121c](https://github.com/event4u-app/agent-config/commit/9e0121c6589c214263000d7a4ae7ea554844a6cf))
|
|
332
|
+
* **scope-control:** trim 411 chars to fit <=4000 override ceiling ([62dd6ee](https://github.com/event4u-app/agent-config/commit/62dd6eebc268a27cbb1a72a3089f581242be810f))
|
|
333
|
+
* **budget:** trim 3 auto-rule descriptions to <=150 chars ([cfec360](https://github.com/event4u-app/agent-config/commit/cfec360f94982e302a80bfb6ab59653e3e4f41a8))
|
|
334
|
+
* **no-council-refs:** suppress legitimate ADR + skipped-roadmap citations ([e6be2dd](https://github.com/event4u-app/agent-config/commit/e6be2ddec929e05d811297ebc41f53eee5afe3de))
|
|
335
|
+
* **no-roadmap-refs:** drop transient roadmap links from stable artifacts ([bbda43a](https://github.com/event4u-app/agent-config/commit/bbda43a9a57dacc3153f6173497fb4503cacc174))
|
|
336
|
+
* **commands:** rephrase upstream path in /research ADOPT citation ([d4fc1af](https://github.com/event4u-app/agent-config/commit/d4fc1aff289f9e7c344648a16415a60296a931f5))
|
|
337
|
+
|
|
338
|
+
### Chores
|
|
339
|
+
|
|
340
|
+
* **roadmap:** close P1.6 with CI-green evidence ([da198c3](https://github.com/event4u-app/agent-config/commit/da198c3e81154b34a1b519ed29aa3431e8612f4d))
|
|
341
|
+
* **index:** regenerate after description trim ([27477dc](https://github.com/event4u-app/agent-config/commit/27477dc189de43a97f6559df84a783541ba2c0de))
|
|
342
|
+
* **ownership:** regenerate file-ownership-matrix after governance edits ([648f272](https://github.com/event4u-app/agent-config/commit/648f27200657d574a81bced639e191f6406acdf6))
|
|
343
|
+
* **index:** regenerate after description tightening ([4d78844](https://github.com/event4u-app/agent-config/commit/4d78844be0ee32379b4152a64e8acd2e951208db))
|
|
344
|
+
* **governance:** remove transient roadmap refs + tighten descriptions ([421f0e3](https://github.com/event4u-app/agent-config/commit/421f0e30d257ec0f76ef648ad03161dc688dd182))
|
|
345
|
+
* **index:** regenerate after research cluster registration ([f26f52d](https://github.com/event4u-app/agent-config/commit/f26f52d44f36122e4e08ffaa786e65586e6589ac))
|
|
346
|
+
* **clusters:** register research as a locked cluster head ([3c9fa64](https://github.com/event4u-app/agent-config/commit/3c9fa64b26ad56f2a28e50c92cbc4e69fe4ab14a))
|
|
347
|
+
* **counts:** sync command-count to 104 after /research adoption ([43f5cd7](https://github.com/event4u-app/agent-config/commit/43f5cd7560419e08c581607a62ed2297e9caa738))
|
|
348
|
+
* **index:** regenerate index/catalog for deep-reading-analyst + research ([baa7fb3](https://github.com/event4u-app/agent-config/commit/baa7fb3bb716f8bbfde491f940d7def487dcde18))
|
|
349
|
+
* **suite:** integrate deep-research adoption (counts, roadmap, hashes) ([7a3eb51](https://github.com/event4u-app/agent-config/commit/7a3eb511239a8a74589f9a3c89187084c083f68b))
|
|
350
|
+
|
|
321
351
|
## [1.27.0](https://github.com/event4u-app/agent-config/compare/1.26.0...1.27.0) (2026-05-08)
|
|
322
352
|
|
|
323
353
|
### Features
|