@jenga-ai/agent 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 +201 -0
- package/README.md +340 -0
- package/agents/ai_engineer.md +113 -0
- package/agents/developer.md +236 -0
- package/agents/scrum-master.md +349 -0
- package/agents/scrutiny-agent.md +137 -0
- package/agents/solution-assessor.md +185 -0
- package/agents/tester.md +339 -0
- package/bin/jenga.js +70 -0
- package/hooks/copilot_session_end.sh +29 -0
- package/hooks/on_session_end.sh +238 -0
- package/hooks/prompt_router.sh +11 -0
- package/hooks/prompt_router_helper.js +52 -0
- package/hooks/session_end_helper.js +29 -0
- package/hooks/session_end_watcher.sh +24 -0
- package/lib/commands/attach.js +47 -0
- package/lib/commands/init.js +207 -0
- package/lib/commands/start.js +16 -0
- package/lib/commands/status.js +53 -0
- package/lib/config-schema.js +72 -0
- package/lib/inject-settings.js +61 -0
- package/lib/mirror.js +244 -0
- package/lib/resolve-project-dir.sh +47 -0
- package/mcp/execute-ticket/index.js +10 -0
- package/mcp/execute-ticket/package.json +5 -0
- package/mcp/help/index.js +79 -0
- package/mcp/help/package.json +14 -0
- package/mcp/router/README.md +19 -0
- package/mcp/router/embedder.js +23 -0
- package/mcp/router/index.js +204 -0
- package/mcp/router/matcher.js +87 -0
- package/mcp/router/package-lock.json +1048 -0
- package/mcp/router/package.json +11 -0
- package/mcp/router/skill-index.js +104 -0
- package/package.json +47 -0
- package/scripts/board_resolver.sh +46 -0
- package/scripts/e25_s01_extract_board_graph.py +292 -0
- package/scripts/e25_s01_generate_synthetic_board.py +90 -0
- package/scripts/measurement-10x.json +50 -0
- package/scripts/measurement-10x.txt +4 -0
- package/scripts/measurement-real.json +50 -0
- package/scripts/measurement-real.txt +4 -0
- package/scripts/postinstall.js +165 -0
- package/scripts/todo_cleanup.sh +22 -0
- package/scripts/todo_manager.sh +86 -0
- package/scripts/validate-board.sh +190 -0
- package/scripts/validate-story-format.sh +53 -0
- package/skills/brainstorm/SKILL.md +47 -0
- package/skills/btw/SKILL.md +42 -0
- package/skills/commit/SKILL.md +29 -0
- package/skills/commit/assets/user_instructions_template.md +22 -0
- package/skills/continue/SKILL.md +29 -0
- package/skills/convert/SKILL.md +124 -0
- package/skills/convert/convert_cli.py +235 -0
- package/skills/convert/tests/sample.csv +4 -0
- package/skills/convert/tests/sample.json +5 -0
- package/skills/convert/tests/sample.jsonl +3 -0
- package/skills/convert/tests/sample.yaml +18 -0
- package/skills/convert/tests/sample_obj.csv +2 -0
- package/skills/convert/tests/sample_obj.json +9 -0
- package/skills/deep-dive/SKILL.md +167 -0
- package/skills/do/SKILL.md +88 -0
- package/skills/do/assets/sender_template.json +12 -0
- package/skills/doc/SKILL.md +314 -0
- package/skills/doc/assets/path-objectives.yaml +38 -0
- package/skills/doc-sync/SKILL.md +167 -0
- package/skills/doc-sync/assets/default_excludes.txt +21 -0
- package/skills/doc-sync/assets/doc_targets.md +14 -0
- package/skills/dooo/SKILL.md +60 -0
- package/skills/error/SKILL.md +29 -0
- package/skills/evaluate/SKILL.md +45 -0
- package/skills/evaluate/assets/evaluation_invokation_template.yml +3 -0
- package/skills/evaluate/assets/evaluation_rapport_template.md +24 -0
- package/skills/examplify/SKILL.md +42 -0
- package/skills/help/SKILL.md +36 -0
- package/skills/improve/SKILL.md +55 -0
- package/skills/index/scripts/board-index +4 -0
- package/skills/index/scripts/board_index.py +615 -0
- package/skills/index/scripts/smoke_test.sh +86 -0
- package/skills/init/SKILL.md +44 -0
- package/skills/init/assets/.gitignore_template +15 -0
- package/skills/init/assets/PROJECT_SUMMARY_template.md +13 -0
- package/skills/init/assets/directory_structure.txt +13 -0
- package/skills/init/assets/test-config_template.json +4 -0
- package/skills/init/assets/workflow_template.json +30 -0
- package/skills/init/scripts/init.sh +48 -0
- package/skills/jbp/SKILL.md +25 -0
- package/skills/jenga/SKILL.md +68 -0
- package/skills/lgtm/SKILL.md +21 -0
- package/skills/mirror-public/SKILL.md +237 -0
- package/skills/mirror-public/assets/config.json +5 -0
- package/skills/mirror-public/scripts/mirror.sh +374 -0
- package/skills/pi-plan/SKILL.md +62 -0
- package/skills/pi-plan/assets/epic.json +7 -0
- package/skills/pi-plan/assets/story_template.md +18 -0
- package/skills/proceed/SKILL.md +29 -0
- package/skills/publish/SKILL.md +351 -0
- package/skills/publish/adapters/droplet.md +200 -0
- package/skills/publish/adapters/mobile-ios.md +114 -0
- package/skills/publish/adapters/npm-ci.md +223 -0
- package/skills/publish/adapters/npm.md +121 -0
- package/skills/publish/assets/ExportOptions.plist.template +19 -0
- package/skills/publish/assets/ci-contract.md +111 -0
- package/skills/publish/assets/ownership-matrix.md +17 -0
- package/skills/publish/assets/publish.example.json +85 -0
- package/skills/publish/assets/publish.example.npm-ci.json +40 -0
- package/skills/publish/assets/publish.example.npm.json +41 -0
- package/skills/publish/assets/secrets-guide.md +104 -0
- package/skills/publish/schemas/fixtures/npm-ci-minimal.json +17 -0
- package/skills/publish/schemas/fixtures/npm-ci-with-empty-secrets.json +18 -0
- package/skills/publish/schemas/fixtures/npm-ci-with-workflow-path.json +18 -0
- package/skills/publish/schemas/publish.schema.json +428 -0
- package/skills/publish/scripts/check_target_config.sh +96 -0
- package/skills/publish/scripts/droplet_pipeline.sh +208 -0
- package/skills/publish/scripts/generate_release_notes.sh +200 -0
- package/skills/publish/scripts/ios_pipeline.sh +486 -0
- package/skills/publish/scripts/npm_ci_pipeline.sh +225 -0
- package/skills/publish/scripts/npm_pipeline.sh +249 -0
- package/skills/publish/scripts/publish_common.sh +253 -0
- package/skills/publish/scripts/publish_deploy.sh +538 -0
- package/skills/publish/scripts/reconcile_tags.sh +135 -0
- package/skills/publish/scripts/run_gates.sh +616 -0
- package/skills/publish/scripts/setup_wizard.sh +394 -0
- package/skills/publish/scripts/show_history.sh +95 -0
- package/skills/publish/scripts/suggest_semver_bump.sh +105 -0
- package/skills/publish/scripts/validate_config.sh +163 -0
- package/skills/publish/scripts/validate_droplet_env.sh +45 -0
- package/skills/publish/scripts/validate_ios_env.sh +68 -0
- package/skills/publish/scripts/validate_npm_ci_env.sh +71 -0
- package/skills/publish/scripts/validate_npm_env.sh +22 -0
- package/skills/publish/scripts/write_ledger_entry.sh +126 -0
- package/skills/publish/wizards/droplet.md +275 -0
- package/skills/publish/wizards/mobile-ios.md +157 -0
- package/skills/publish/wizards/npm-ci.md +240 -0
- package/skills/publish/wizards/npm.md +224 -0
- package/skills/reconcile/SKILL.md +93 -0
- package/skills/reconcile/assets/report_format.md +44 -0
- package/skills/reconcile-origin/SKILL.md +75 -0
- package/skills/reconcile-origin/scripts/reconcile-origin.sh +372 -0
- package/skills/redo/SKILL.md +70 -0
- package/skills/route/SKILL.md +180 -0
- package/skills/self-sync/SKILL.md +73 -0
- package/skills/self-sync/scripts/run.js +136 -0
- package/skills/skillify/SKILL.md +68 -0
- package/skills/skillify/assets/init-new/SKILL.md +35 -0
- package/skills/skillify/assets/init-new/assets/.gitignore_template +15 -0
- package/skills/skillify/assets/init-new/assets/PROJECT_SUMMARY_template.md +13 -0
- package/skills/skillify/assets/init-new/assets/directory_structure.txt +10 -0
- package/skills/skillify/assets/init-new/assets/test-config_template.json +4 -0
- package/skills/skillify/assets/init-new/assets/workflow_template.json +17 -0
- package/skills/skillify/assets/init-new/scripts/init.sh +48 -0
- package/skills/skillify/assets/init-old/SKILL.md +124 -0
- package/skills/spinoff/SKILL.md +48 -0
- package/skills/status/SKILL.md +33 -0
- package/skills/status/assets/output_format.md +41 -0
- package/skills/todo/SKILL.md +46 -0
- package/skills/todo/assets/todo_handoff_template.md +22 -0
- package/skills/todo/assets/todo_template.md +3 -0
- package/skills/train/SKILL.md +116 -0
- package/skills/train/assets/dashboard-templates/classifiers.html +106 -0
- package/skills/train/assets/dashboard-templates/nlp.html +102 -0
- package/skills/train/assets/dashboard-templates/transformers.html +98 -0
- package/skills/train/assets/results-parsers/__init__.py +9 -0
- package/skills/train/assets/results-parsers/classifiers.py +84 -0
- package/skills/train/assets/results-parsers/nlp.py +88 -0
- package/skills/train/assets/results-parsers/reporter.py +154 -0
- package/skills/train/assets/results-parsers/transformers.py +120 -0
- package/skills/train/train_cli.py +786 -0
- package/templates/EXECUTION_PLAN_TEMPLATE.md +43 -0
- package/templates/EXECUTION_SUMMARY_TEMPLATE.md +50 -0
- package/templates/JENGA_CONFIG_TEMPLATE.json +23 -0
- package/templates/PROBLEM_RAPPORT_TEMPLATE.md +88 -0
- package/templates/SCRUM_BOARD_SCHEMA.md +311 -0
- package/templates/SKILL.md +16 -0
- package/templates/SKILL_TEMPLATE.md +28 -0
- package/templates/USER_INSTRUCTIONS_TEMPLATE.md +22 -0
- package/templates/copilot-instructions.md.tpl +55 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dooo
|
|
3
|
+
description: Parallel execution orchestrator. Calls /do to start implementations via sub-agents, then loops back to the board to identify and offer parallelisable tasks until the user selects "Done".
|
|
4
|
+
keywords:
|
|
5
|
+
- dooo
|
|
6
|
+
- parallel
|
|
7
|
+
- batch
|
|
8
|
+
- multiple tasks
|
|
9
|
+
- orchestrate
|
|
10
|
+
examples:
|
|
11
|
+
- "run all pending tasks in parallel"
|
|
12
|
+
- "execute multiple tasks at once"
|
|
13
|
+
metadata:
|
|
14
|
+
prefered_agent: scrum-master
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Dooo — Parallel Execution Orchestrator
|
|
18
|
+
|
|
19
|
+
## Instructions
|
|
20
|
+
|
|
21
|
+
### 1. Invoke `/do`
|
|
22
|
+
Call the `/do` skill to let the user select and start an implementation. `/do` will launch a background sub-agent to handle the implementation. Once the sub-agent is launched, `/do` returns control here.
|
|
23
|
+
|
|
24
|
+
After `/do` hands back control, mark the story/task that was just started as **Running** in its board file (update the `status:` field in the YAML front-matter).
|
|
25
|
+
|
|
26
|
+
### 2. Return to the board — identify parallelisable tasks
|
|
27
|
+
|
|
28
|
+
Collect candidates from two sources:
|
|
29
|
+
|
|
30
|
+
1. **Stories** — read all files from `project/board/stories/`.
|
|
31
|
+
2. **Tasks derived from stories** — read all files from `project/board/tasks/`. A task is considered in-scope if its parent story (`story_id` in the task's front-matter) is listed in `project/todo.md`, even if the task itself is not directly listed there.
|
|
32
|
+
|
|
33
|
+
A story or task is **eligible** to be presented as a parallel candidate if ALL of the following are true:
|
|
34
|
+
- Its status is `Pending` (not `Running`, `In Progress`, `Passed`, etc.)
|
|
35
|
+
- It has no unresolved dependencies (all blocking stories/tasks are at least `Running` or `Passed`)
|
|
36
|
+
- It is directly listed in `project/todo.md`, **OR** its parent story is listed in `project/todo.md`
|
|
37
|
+
|
|
38
|
+
### 3. Present choices to the user
|
|
39
|
+
|
|
40
|
+
Build a numbered list of eligible story titles (use `ask_user` with `choices`). **Always append "Done" as the last option.**
|
|
41
|
+
|
|
42
|
+
Example:
|
|
43
|
+
```
|
|
44
|
+
Which task would you like to start next?
|
|
45
|
+
1. Create /spinoff skill (E02_S02)
|
|
46
|
+
2. Training Skill Assets & Templates (E01_S06)
|
|
47
|
+
3. Done
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
If there are **no eligible tasks** (all remaining todos are blocked or already running), skip straight to step 4.
|
|
51
|
+
|
|
52
|
+
### 4. Branch on user selection
|
|
53
|
+
|
|
54
|
+
- If the user selects **"Done"** — exit the loop and inform the user that no more implementations will be started in this session.
|
|
55
|
+
- If the user selects a task — go back to step 1 (invoke `/do` for the selected task, then loop).
|
|
56
|
+
|
|
57
|
+
### 5. Loop termination
|
|
58
|
+
The loop ends when:
|
|
59
|
+
- The user selects "Done", OR
|
|
60
|
+
- There are no more eligible parallel tasks to offer
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: error
|
|
3
|
+
description: Guided troubleshooting flow that gathers context about an error — where it occurs, what was attempted, what went wrong, and what was expected.
|
|
4
|
+
keywords:
|
|
5
|
+
- error
|
|
6
|
+
- bug
|
|
7
|
+
- fix
|
|
8
|
+
- troubleshoot
|
|
9
|
+
- debug
|
|
10
|
+
- broken
|
|
11
|
+
examples:
|
|
12
|
+
- "I'm getting an error"
|
|
13
|
+
- "help me fix this bug"
|
|
14
|
+
metadata:
|
|
15
|
+
prefered_agent: tester
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Error — Guided Troubleshooting
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
Ask the following questions to understand the background of the error:
|
|
23
|
+
|
|
24
|
+
1. Where does the error occur?
|
|
25
|
+
2. What are you trying to do?
|
|
26
|
+
3. What went wrong?
|
|
27
|
+
4. What was the expected outcome?
|
|
28
|
+
|
|
29
|
+
Then use the answers to investigate and resolve the issue by creating a issue using the /todo skill.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: evaluate
|
|
3
|
+
description: Analyzes example files against a target goal and produces a structured evaluation rapport.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Evaluate
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
|
|
10
|
+
Expects a filled `eval_invokation_template.yml` with:
|
|
11
|
+
- `goal`: the confirmed target goal
|
|
12
|
+
- `paths`: list of example files from `/examplify` to analyze
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### 1. Read Input
|
|
17
|
+
Parse the provided YAML file. If `goal` is empty or `paths` is empty/missing,
|
|
18
|
+
stop and ask the user to fill in the missing fields before proceeding.
|
|
19
|
+
|
|
20
|
+
### 2. Read Example Files
|
|
21
|
+
Load each file listed under `paths`. These are outputs from `/examplify` and
|
|
22
|
+
represent real observed behavior in the codebase.
|
|
23
|
+
|
|
24
|
+
### 3. Analyze Against Goal
|
|
25
|
+
For each example file, evaluate:
|
|
26
|
+
- **Qualitative observations**: What is the current behavior? How does it relate
|
|
27
|
+
to the goal?
|
|
28
|
+
- **Gaps and issues**: What is missing, broken, or misaligned relative to the goal?
|
|
29
|
+
- **Score**: How well does the current behavior satisfy the goal?
|
|
30
|
+
Use a simple 1–5 scale with a one-line justification.
|
|
31
|
+
|
|
32
|
+
### 4. Synthesize
|
|
33
|
+
Across all examples, identify:
|
|
34
|
+
- Recurring patterns or systemic issues
|
|
35
|
+
- The most critical gaps blocking the goal
|
|
36
|
+
- Any areas that are already well-aligned
|
|
37
|
+
|
|
38
|
+
### 5. Write Rapport
|
|
39
|
+
Copy `evaluation_rapport_template.md`. Derive the rapport filename from the goal in kebab-case:
|
|
40
|
+
`<target-goal-in-kebab-case>-eval.md`
|
|
41
|
+
|
|
42
|
+
Fill in the rapport based on the template structure and save to `project/rapports/analysis/` with this structure.
|
|
43
|
+
|
|
44
|
+
### 6. Return
|
|
45
|
+
Return the rapport filename to the caller (e.g. `/improve`).
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Evaluation Rapport: <target-goal-in-kebab-case>
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
<!-- The confirmed target goal -->
|
|
5
|
+
|
|
6
|
+
## References
|
|
7
|
+
<!-- Comma-separated list of example files analyzed -->
|
|
8
|
+
|
|
9
|
+
## Observations
|
|
10
|
+
<!-- Qualitative prose per example file, grouped by file -->
|
|
11
|
+
### `<file-name>`
|
|
12
|
+
<!-- What does this example reveal about current behavior? -->
|
|
13
|
+
|
|
14
|
+
## Gaps & Issues
|
|
15
|
+
<!-- Bulleted list, most critical first -->
|
|
16
|
+
-
|
|
17
|
+
|
|
18
|
+
## Score
|
|
19
|
+
<!-- 1–5 with one-line justification -->
|
|
20
|
+
**Score**: /5
|
|
21
|
+
**Justification**:
|
|
22
|
+
|
|
23
|
+
## Summary
|
|
24
|
+
<!-- 2–3 sentences synthesizing the most important findings -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: examplify
|
|
3
|
+
description: Explains concepts, features, use cases, and patterns based on provided context — a description, scenario, code snippet, or file. Use when the user wants to understand what something is, how it works, when to use it, or wants a concrete example.
|
|
4
|
+
keywords:
|
|
5
|
+
- examplify
|
|
6
|
+
- explain
|
|
7
|
+
- example
|
|
8
|
+
- how does
|
|
9
|
+
- understand
|
|
10
|
+
examples:
|
|
11
|
+
- "explain how this works"
|
|
12
|
+
- "give me an example of X"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Concept Explainer
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
19
|
+
If the context is unclear or too broad, ask one focused clarifying question before proceeding. Otherwise, infer and proceed.
|
|
20
|
+
|
|
21
|
+
Explain the concept by covering:
|
|
22
|
+
|
|
23
|
+
1. **What it is** — a plain-language definition
|
|
24
|
+
2. **Why it exists** — the problem it solves
|
|
25
|
+
3. **How it works** — core mechanics
|
|
26
|
+
4. **When to use it** — and when not to
|
|
27
|
+
5. **Example(s)** — grounded in the user's context; show a before/after when relevant
|
|
28
|
+
|
|
29
|
+
After delivering the explanation, save a copy to:
|
|
30
|
+
`project/documentation/examples/<concept_and_context>.md`
|
|
31
|
+
|
|
32
|
+
Derive the filename from the concept + context (lowercased, hyphenated). Tell the user where the file was saved.
|
|
33
|
+
|
|
34
|
+
## Follow-up
|
|
35
|
+
|
|
36
|
+
If further discussion reveals new information about the topic — a new use case, correction, or better example — ask the user:
|
|
37
|
+
|
|
38
|
+
> "That adds something new to what we covered — want me to update the saved file?"
|
|
39
|
+
1. Yes
|
|
40
|
+
2. No
|
|
41
|
+
|
|
42
|
+
If yes, append the new content under an `## Additional Notes` section. Do not overwrite the original.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: help
|
|
3
|
+
description: List all available skills with a short description of what each one does. Also use this skill when the user wants to know what commands or skills are available in the project.
|
|
4
|
+
keywords:
|
|
5
|
+
- help
|
|
6
|
+
- skills
|
|
7
|
+
- commands
|
|
8
|
+
- what can you do
|
|
9
|
+
- list skills
|
|
10
|
+
examples:
|
|
11
|
+
- "what skills are available?"
|
|
12
|
+
- "show me all commands"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Help — List Available Skills
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
19
|
+
List all available skills (from the current skill list) with a short description of what each one does. Format the output as a table with columns for the slash command and its description.
|
|
20
|
+
|
|
21
|
+
## MCP Tool (Dynamic Discovery)
|
|
22
|
+
|
|
23
|
+
An MCP server ships inside the `jenga-agent` package at `mcp/help/` that dynamically discovers skills at runtime.
|
|
24
|
+
|
|
25
|
+
To install and run (from a consumer project that has `jenga-agent` installed):
|
|
26
|
+
```bash
|
|
27
|
+
cd node_modules/jenga-agent/mcp/help && npm install
|
|
28
|
+
node index.js
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Or wire it as an MCP server in `.claude/settings.json` — `jenga attach` does this automatically for the router; the help server can be added the same way, pointing `args` at `node_modules/jenga-agent/mcp/help/index.js`.
|
|
32
|
+
|
|
33
|
+
The `help` tool accepts an optional `path` argument (defaults to `cwd`) and:
|
|
34
|
+
1. Looks for a `.claude/skills` directory at that path, falling back to `.agents/skills`.
|
|
35
|
+
2. If found, returns a list of all folder names inside it.
|
|
36
|
+
3. If neither exists, returns a clear message listing the paths it checked.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: improve
|
|
3
|
+
description: A skill for analyzing a codebase and producing a structured improvement plan toward a defined goal.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Improve
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
Before doing anything, check the attached description for an explicit or implicit goal.
|
|
11
|
+
|
|
12
|
+
- **Explicit goal**: clearly stated (e.g. "improve login performance")
|
|
13
|
+
- **Implicit goal**: inferable from context (e.g. "the checkout flow feels slow" → goal: improve checkout performance)
|
|
14
|
+
|
|
15
|
+
If no goal can be determined, ask:
|
|
16
|
+
> "What's the outcome you're trying to achieve with this improvement?"
|
|
17
|
+
|
|
18
|
+
Do not proceed until a goal is confirmed.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
### 1. Search the Codebase
|
|
25
|
+
Search for files and flows relevant to the target goal. Look for:
|
|
26
|
+
- Entry points, handlers, or controllers related to the feature
|
|
27
|
+
- Shared utilities or services it depends on
|
|
28
|
+
- Recent changes in the area (if git history is accessible)
|
|
29
|
+
|
|
30
|
+
### 2. Check Project Documentation
|
|
31
|
+
Look in `project/documentation/` for `.md` files that offer insight into:
|
|
32
|
+
- Architecture decisions
|
|
33
|
+
- Known limitations
|
|
34
|
+
- Intended behavior of the relevant area
|
|
35
|
+
|
|
36
|
+
### 3. Evaluate Insight Sufficiency
|
|
37
|
+
Assess whether you have enough context to evaluate current behavior against the goal.
|
|
38
|
+
|
|
39
|
+
- If yes: proceed to step 5.
|
|
40
|
+
- If no: proceed to step 4.
|
|
41
|
+
|
|
42
|
+
### 4. Run `/examplify`
|
|
43
|
+
Invoke the `/examplify` skill. Specify clearly what you want it to find out — e.g. which code paths are exercised, what inputs/outputs look like, or what edge cases exist.
|
|
44
|
+
|
|
45
|
+
### 5. Run `/evaluate`
|
|
46
|
+
Copy `.agents/skills/evaluate/assets/evaluation_invokation_template.yml` and fill in:
|
|
47
|
+
- `paths`: path(s) to the relevant example files
|
|
48
|
+
- `goal`: the confirmed target goal
|
|
49
|
+
|
|
50
|
+
This generates `<target-goal-in-kebab-case>-eval.md` inside `project/rapports/analysis/`.
|
|
51
|
+
|
|
52
|
+
### 6. Invoke `/todo`
|
|
53
|
+
Call `/todo` with the following message:
|
|
54
|
+
|
|
55
|
+
"invoke /brainstorm <path-to-evaluation-rapport>".
|