mindforge-cc 11.5.1 → 11.6.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/mindforge/skill-tdd.md +53 -0
- package/.agent/mindforge/skills-index.md +118 -0
- package/.agent/mindforge/systematic-debug.md +60 -0
- package/.agent/skills/1password-skill/SKILL.md +156 -0
- package/.agent/skills/1password-skill/references/cli-examples.md +31 -0
- package/.agent/skills/1password-skill/references/get-started.md +21 -0
- package/.agent/skills/article-illustrator/SKILL.md +199 -0
- package/.agent/skills/article-illustrator/references/prompt-construction.md +426 -0
- package/.agent/skills/article-illustrator/references/style-presets.md +80 -0
- package/.agent/skills/article-illustrator/references/styles.md +224 -0
- package/.agent/skills/article-illustrator/references/usage.md +50 -0
- package/.agent/skills/article-illustrator/references/workflow.md +332 -0
- package/.agent/skills/arxiv/SKILL.md +275 -0
- package/.agent/skills/blogwatcher/SKILL.md +130 -0
- package/.agent/skills/code-wiki/SKILL.md +438 -0
- package/.agent/skills/code-wiki/templates/README.md +31 -0
- package/.agent/skills/code-wiki/templates/architecture.md +30 -0
- package/.agent/skills/code-wiki/templates/getting-started.md +47 -0
- package/.agent/skills/code-wiki/templates/module.md +38 -0
- package/.agent/skills/codebase-inspection/SKILL.md +109 -0
- package/.agent/skills/comic-creator/SKILL.md +240 -0
- package/.agent/skills/comic-creator/references/analysis-framework.md +176 -0
- package/.agent/skills/comic-creator/references/auto-selection.md +71 -0
- package/.agent/skills/comic-creator/references/base-prompt.md +98 -0
- package/.agent/skills/comic-creator/references/character-template.md +180 -0
- package/.agent/skills/comic-creator/references/ohmsha-guide.md +85 -0
- package/.agent/skills/comic-creator/references/partial-workflows.md +106 -0
- package/.agent/skills/comic-creator/references/storyboard-template.md +143 -0
- package/.agent/skills/comic-creator/references/workflow.md +401 -0
- package/.agent/skills/concept-diagrams/SKILL.md +355 -0
- package/.agent/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/.agent/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/.agent/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/.agent/skills/creative-ideation/SKILL.md +144 -0
- package/.agent/skills/creative-ideation/references/full-prompt-library.md +110 -0
- package/.agent/skills/devops-cli/SKILL.md +149 -0
- package/.agent/skills/devops-cli/references/app-discovery.md +112 -0
- package/.agent/skills/devops-cli/references/authentication.md +59 -0
- package/.agent/skills/devops-cli/references/cli-reference.md +104 -0
- package/.agent/skills/devops-cli/references/running-apps.md +171 -0
- package/.agent/skills/devops-watchers/SKILL.md +103 -0
- package/.agent/skills/docker-management/SKILL.md +273 -0
- package/.agent/skills/domain-intel/SKILL.md +96 -0
- package/.agent/skills/duckduckgo-search/SKILL.md +230 -0
- package/.agent/skills/github-auth/SKILL.md +240 -0
- package/.agent/skills/github-code-review/SKILL.md +474 -0
- package/.agent/skills/github-code-review/references/review-output-template.md +74 -0
- package/.agent/skills/github-issues/SKILL.md +363 -0
- package/.agent/skills/github-issues/templates/bug-report.md +35 -0
- package/.agent/skills/github-issues/templates/feature-request.md +31 -0
- package/.agent/skills/github-pr-workflow/SKILL.md +360 -0
- package/.agent/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/.agent/skills/github-pr-workflow/references/conventional-commits.md +71 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/.agent/skills/github-repo-management/SKILL.md +509 -0
- package/.agent/skills/github-repo-management/references/github-api-cheatsheet.md +161 -0
- package/.agent/skills/godmode/SKILL.md +396 -0
- package/.agent/skills/godmode/references/jailbreak-templates.md +128 -0
- package/.agent/skills/godmode/references/refusal-detection.md +142 -0
- package/.agent/skills/hyperframes/SKILL.md +182 -0
- package/.agent/skills/hyperframes/references/cli.md +185 -0
- package/.agent/skills/hyperframes/references/composition.md +129 -0
- package/.agent/skills/hyperframes/references/features.md +289 -0
- package/.agent/skills/hyperframes/references/gsap.md +136 -0
- package/.agent/skills/hyperframes/references/troubleshooting.md +137 -0
- package/.agent/skills/hyperframes/references/website-to-video.md +145 -0
- package/.agent/skills/jupyter-live-kernel/SKILL.md +160 -0
- package/.agent/skills/kanban-orchestrator/SKILL.md +209 -0
- package/.agent/skills/kanban-worker/SKILL.md +188 -0
- package/.agent/skills/llm-wiki/SKILL.md +499 -0
- package/.agent/skills/meme-generation/SKILL.md +122 -0
- package/.agent/skills/node-inspect-debugger/SKILL.md +312 -0
- package/.agent/skills/obsidian/SKILL.md +60 -0
- package/.agent/skills/osint-investigation/SKILL.md +269 -0
- package/.agent/skills/osint-investigation/templates/source-template.md +59 -0
- package/.agent/skills/oss-forensics/SKILL.md +422 -0
- package/.agent/skills/oss-forensics/references/evidence-types.md +89 -0
- package/.agent/skills/oss-forensics/references/github-archive-guide.md +184 -0
- package/.agent/skills/oss-forensics/references/investigation-templates.md +131 -0
- package/.agent/skills/oss-forensics/references/recovery-techniques.md +164 -0
- package/.agent/skills/oss-forensics/templates/forensic-report.md +151 -0
- package/.agent/skills/oss-forensics/templates/malicious-package-report.md +43 -0
- package/.agent/skills/parallel-cli/SKILL.md +384 -0
- package/.agent/skills/pinggy-tunnel/SKILL.md +302 -0
- package/.agent/skills/pixel-art/SKILL.md +209 -0
- package/.agent/skills/pixel-art/references/palettes.md +49 -0
- package/.agent/skills/plan/SKILL.md +331 -0
- package/.agent/skills/polymarket/SKILL.md +75 -0
- package/.agent/skills/polymarket/references/api-endpoints.md +220 -0
- package/.agent/skills/python-debugpy/SKILL.md +368 -0
- package/.agent/skills/requesting-code-review/SKILL.md +273 -0
- package/.agent/skills/research-paper-writing/SKILL.md +2367 -0
- package/.agent/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/.agent/skills/research-paper-writing/references/checklists.md +434 -0
- package/.agent/skills/research-paper-writing/references/citation-workflow.md +563 -0
- package/.agent/skills/research-paper-writing/references/experiment-patterns.md +728 -0
- package/.agent/skills/research-paper-writing/references/human-evaluation.md +476 -0
- package/.agent/skills/research-paper-writing/references/paper-types.md +481 -0
- package/.agent/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/.agent/skills/research-paper-writing/references/sources.md +191 -0
- package/.agent/skills/research-paper-writing/references/writing-guide.md +474 -0
- package/.agent/skills/research-paper-writing/templates/README.md +251 -0
- package/.agent/skills/rest-graphql-debug/SKILL.md +507 -0
- package/.agent/skills/s6-container-supervision/SKILL.md +171 -0
- package/.agent/skills/scrapling/SKILL.md +328 -0
- package/.agent/skills/sherlock/SKILL.md +186 -0
- package/.agent/skills/simplify-code/SKILL.md +168 -0
- package/.agent/skills/skill-authoring/SKILL.md +158 -0
- package/.agent/skills/spike/SKILL.md +190 -0
- package/.agent/skills/subagent-driven-development/SKILL.md +345 -0
- package/.agent/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
- package/.agent/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
- package/.agent/skills/systematic-debugging/SKILL.md +360 -0
- package/.agent/skills/test-driven-development/SKILL.md +336 -0
- package/.agent/skills/video-orchestrator/SKILL.md +194 -0
- package/.agent/skills/video-orchestrator/references/examples.md +227 -0
- package/.agent/skills/video-orchestrator/references/intake.md +166 -0
- package/.agent/skills/video-orchestrator/references/kanban-setup.md +278 -0
- package/.agent/skills/video-orchestrator/references/monitoring.md +180 -0
- package/.agent/skills/video-orchestrator/references/role-archetypes.md +298 -0
- package/.agent/skills/video-orchestrator/references/tool-matrix.md +317 -0
- package/.agent/skills/web-pentest/SKILL.md +332 -0
- package/.agent/skills/web-pentest/references/bypass-techniques.md +133 -0
- package/.agent/skills/web-pentest/references/exploitation-techniques.md +204 -0
- package/.agent/skills/web-pentest/references/scope-enforcement.md +110 -0
- package/.agent/skills/web-pentest/references/vuln-taxonomy.md +81 -0
- package/.agent/skills/web-pentest/templates/authorization.md +69 -0
- package/.agent/skills/web-pentest/templates/pentest-report.md +178 -0
- package/.claude/commands/mindforge/skill-tdd.md +53 -0
- package/.claude/commands/mindforge/skills-index.md +118 -0
- package/.claude/commands/mindforge/systematic-debug.md +60 -0
- package/.mindforge/config.json +2 -2
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/skills/arxiv/SKILL.md +294 -0
- package/.mindforge/skills/blogwatcher/SKILL.md +147 -0
- package/.mindforge/skills/code-wiki/SKILL.md +457 -0
- package/.mindforge/skills/codebase-inspection/SKILL.md +126 -0
- package/.mindforge/skills/concept-diagrams/SKILL.md +373 -0
- package/.mindforge/skills/creative-ideation/SKILL.md +162 -0
- package/.mindforge/skills/domain-intel/SKILL.md +116 -0
- package/.mindforge/skills/duckduckgo-search/SKILL.md +249 -0
- package/.mindforge/skills/github-code-review/SKILL.md +493 -0
- package/.mindforge/skills/github-issues/SKILL.md +382 -0
- package/.mindforge/skills/github-pr-workflow/SKILL.md +379 -0
- package/.mindforge/skills/jupyter-live-kernel/SKILL.md +179 -0
- package/.mindforge/skills/kanban-orchestrator/SKILL.md +227 -0
- package/.mindforge/skills/kanban-worker/SKILL.md +206 -0
- package/.mindforge/skills/meme-generation/SKILL.md +141 -0
- package/.mindforge/skills/obsidian/SKILL.md +80 -0
- package/.mindforge/skills/osint-investigation/SKILL.md +288 -0
- package/.mindforge/skills/oss-forensics/SKILL.md +421 -0
- package/.mindforge/skills/pixel-art/SKILL.md +228 -0
- package/.mindforge/skills/plan/SKILL.md +350 -0
- package/.mindforge/skills/requesting-code-review/SKILL.md +292 -0
- package/.mindforge/skills/research-paper-writing/SKILL.md +2384 -0
- package/.mindforge/skills/scrapling/SKILL.md +345 -0
- package/.mindforge/skills/sherlock/SKILL.md +203 -0
- package/.mindforge/skills/simplify-code/SKILL.md +187 -0
- package/.mindforge/skills/spike/SKILL.md +209 -0
- package/.mindforge/skills/subagent-driven-development/SKILL.md +364 -0
- package/.mindforge/skills/systematic-debugging/SKILL.md +379 -0
- package/.mindforge/skills/test-driven-development/SKILL.md +355 -0
- package/.mindforge/skills/web-pentest/SKILL.md +327 -0
- package/CHANGELOG.md +43 -0
- package/MINDFORGE.md +2 -2
- package/README.md +39 -3
- package/RELEASENOTES.md +55 -0
- package/docs/getting-started.md +42 -5
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Test-Driven Development — RED-GREEN-REFACTOR discipline. Write the failing test first, always."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# MindForge — TDD Skill Command
|
|
6
|
+
# Usage: /mindforge:skill-tdd [feature or bug to implement]
|
|
7
|
+
|
|
8
|
+
Activates the test-driven development skill. The core rule: **if you didn't watch the test fail, you don't know if it tests the right thing.**
|
|
9
|
+
|
|
10
|
+
## Activation
|
|
11
|
+
|
|
12
|
+
Load `.mindforge/skills/test-driven-development/SKILL.md` immediately.
|
|
13
|
+
Follow its RED-GREEN-REFACTOR cycle strictly for the full duration of this session.
|
|
14
|
+
|
|
15
|
+
## The Cycle (non-negotiable)
|
|
16
|
+
|
|
17
|
+
### RED — Write a failing test
|
|
18
|
+
1. Identify the smallest next behavior to implement.
|
|
19
|
+
2. Write one test that asserts that behavior.
|
|
20
|
+
3. Run it — confirm it FAILS for the right reason (not a syntax error, not a missing import — the actual assertion fails).
|
|
21
|
+
4. Do not proceed until the test fails correctly.
|
|
22
|
+
|
|
23
|
+
### GREEN — Write minimal code to pass
|
|
24
|
+
1. Write the simplest code that makes the test pass.
|
|
25
|
+
2. No gold-plating, no extra features. Minimum viable.
|
|
26
|
+
3. Run the test — it must pass.
|
|
27
|
+
4. Run the full suite — no regressions.
|
|
28
|
+
|
|
29
|
+
### REFACTOR — Clean up
|
|
30
|
+
1. Improve code structure, naming, and clarity.
|
|
31
|
+
2. Remove duplication.
|
|
32
|
+
3. Tests stay green throughout — run after every change.
|
|
33
|
+
|
|
34
|
+
## Mandatory gates
|
|
35
|
+
|
|
36
|
+
- **Never write code without a failing test.** Not for "obvious" cases, not for "quick" fixes, not for "trivial" implementations.
|
|
37
|
+
- **One cycle at a time.** Complete RED-GREEN-REFACTOR before starting the next behavior.
|
|
38
|
+
- **A passing test suite is always the starting state.** If tests are red when you begin, fix them first.
|
|
39
|
+
|
|
40
|
+
## When the user asks for a feature
|
|
41
|
+
|
|
42
|
+
1. Decompose into the smallest testable behavior.
|
|
43
|
+
2. Start with the first RED step before writing any implementation.
|
|
44
|
+
3. Repeat the cycle for each behavior.
|
|
45
|
+
|
|
46
|
+
## When the user asks for a bug fix
|
|
47
|
+
|
|
48
|
+
1. Write a failing test that reproduces the bug (this is your RED step).
|
|
49
|
+
2. Confirm it fails.
|
|
50
|
+
3. Fix the code (GREEN).
|
|
51
|
+
4. Refactor if needed.
|
|
52
|
+
|
|
53
|
+
The bug test becomes the regression guard — it must remain in the suite permanently.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Browse all available skills by category — discover and activate any skill by name."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# MindForge — Skills Index
|
|
6
|
+
# Usage: /mindforge:skills-index [optional: category or keyword filter]
|
|
7
|
+
|
|
8
|
+
Lists all skills available in this MindForge installation. Skills in the **Engine** tier activate automatically via trigger-matching. Skills in the **Extended** tier require explicit invocation.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## How to activate a skill
|
|
13
|
+
|
|
14
|
+
**Engine tier** (auto-triggers from `.mindforge/skills/`): Just describe the task — the skill-loader matches your request against each skill's `triggers:` field and loads the relevant skill automatically.
|
|
15
|
+
|
|
16
|
+
**Extended tier** (explicit from `.agent/skills/`): Ask Claude to "use the [skill-name] skill" or invoke it by name.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Engine Tier Skills (auto-triggered)
|
|
21
|
+
|
|
22
|
+
### Software Development
|
|
23
|
+
| Skill | Triggers |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `systematic-debugging` | systematic debugging, root cause analysis, debug methodology, 4-phase debug |
|
|
26
|
+
| `test-driven-development` | TDD, red green refactor, write test first, test before code |
|
|
27
|
+
| `plan` | write a plan, plan mode, implementation plan, plan before coding |
|
|
28
|
+
| `simplify-code` | simplify code, clean up code, refactor for clarity, reduce complexity |
|
|
29
|
+
| `requesting-code-review` | request code review, code review protocol, review this PR |
|
|
30
|
+
| `spike` | technical spike, time-boxed spike, explore this problem |
|
|
31
|
+
| `subagent-driven-development` | subagent driven development, delegate to subagent, multi-agent implementation |
|
|
32
|
+
| `code-wiki` | code wiki, document codebase, knowledge wiki, explain codebase |
|
|
33
|
+
|
|
34
|
+
### DevOps & Orchestration
|
|
35
|
+
| Skill | Triggers |
|
|
36
|
+
|---|---|
|
|
37
|
+
| `kanban-orchestrator` | kanban orchestrator, multi-agent kanban, decompose and route, orchestrate tasks |
|
|
38
|
+
| `kanban-worker` | kanban worker, pick up kanban task, complete kanban card |
|
|
39
|
+
|
|
40
|
+
### GitHub Workflows
|
|
41
|
+
| Skill | Triggers |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `github-code-review` | github code review, review PR, pull request review workflow |
|
|
44
|
+
| `github-pr-workflow` | github pr workflow, pull request lifecycle, open PR, merge PR |
|
|
45
|
+
| `github-issues` | github issues, create issue, manage issues, issue triage |
|
|
46
|
+
| `codebase-inspection` | codebase inspection, explore codebase, understand repository |
|
|
47
|
+
|
|
48
|
+
### Research & Intelligence
|
|
49
|
+
| Skill | Triggers |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `research-paper-writing` | research paper, academic paper, write paper, arxiv paper |
|
|
52
|
+
| `arxiv` | arxiv search, find papers, search arxiv, academic literature |
|
|
53
|
+
| `osint-investigation` | OSINT investigation, public records research, entity investigation |
|
|
54
|
+
| `domain-intel` | domain intelligence, investigate domain, domain research |
|
|
55
|
+
| `duckduckgo-search` | duckduckgo search, DDG search, web search |
|
|
56
|
+
| `scrapling` | scrape website, web scraping, extract web content |
|
|
57
|
+
| `blogwatcher` | monitor blog, watch blog, track blog updates |
|
|
58
|
+
|
|
59
|
+
### Creative
|
|
60
|
+
| Skill | Triggers |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `concept-diagrams` | concept diagram, educational diagram, SVG diagram, visual explanation |
|
|
63
|
+
| `creative-ideation` | creative ideation, brainstorm ideas, creative ideas, generate concepts |
|
|
64
|
+
| `pixel-art` | pixel art, create pixel art, sprite design |
|
|
65
|
+
| `meme-generation` | meme generation, create meme, generate meme |
|
|
66
|
+
|
|
67
|
+
### Security
|
|
68
|
+
| Skill | Triggers |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `web-pentest` | web penetration test, pentest this app, security test web app, OWASP test |
|
|
71
|
+
| `oss-forensics` | OSS forensics, open source forensics, supply chain audit |
|
|
72
|
+
| `sherlock` | sherlock, username investigation, find accounts, OSINT username |
|
|
73
|
+
|
|
74
|
+
### Data & Tooling
|
|
75
|
+
| Skill | Triggers |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `jupyter-live-kernel` | jupyter kernel, live jupyter, interactive notebook |
|
|
78
|
+
| `obsidian` | obsidian notes, obsidian vault, obsidian workflow |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Extended Tier Skills (`.agent/skills/`, explicit activation)
|
|
83
|
+
|
|
84
|
+
### Software Development
|
|
85
|
+
`node-inspect-debugger` · `python-debugpy` · `skill-authoring` · `rest-graphql-debug`
|
|
86
|
+
|
|
87
|
+
### GitHub
|
|
88
|
+
`github-auth` · `github-repo-management`
|
|
89
|
+
|
|
90
|
+
### DevOps
|
|
91
|
+
`docker-management` · `devops-cli` · `devops-watchers` · `pinggy-tunnel` · `s6-container-supervision`
|
|
92
|
+
|
|
93
|
+
### Research
|
|
94
|
+
`llm-wiki` · `polymarket` · `parallel-cli`
|
|
95
|
+
|
|
96
|
+
### Security
|
|
97
|
+
`godmode` · `1password-skill`
|
|
98
|
+
|
|
99
|
+
### Creative
|
|
100
|
+
`hyperframes` · `article-illustrator` · `comic-creator` · `video-orchestrator`
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Usage examples
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
"Debug this null pointer — use systematic debugging"
|
|
108
|
+
→ Engine tier: systematic-debugging activates automatically
|
|
109
|
+
|
|
110
|
+
"I want to do TDD on this new auth module"
|
|
111
|
+
→ Engine tier: test-driven-development activates automatically
|
|
112
|
+
|
|
113
|
+
"Use the docker-management skill to set up my containers"
|
|
114
|
+
→ Extended tier: explicit invocation of docker-management
|
|
115
|
+
|
|
116
|
+
"Run an OSINT investigation on this company"
|
|
117
|
+
→ Engine tier: osint-investigation activates automatically
|
|
118
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "4-phase root cause debugging — understand the bug completely before attempting any fix."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# MindForge — Systematic Debug Command
|
|
6
|
+
# Usage: /mindforge:systematic-debug [problem description]
|
|
7
|
+
|
|
8
|
+
Activates the systematic debugging skill. The iron law: **NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST**. Symptom fixes are failure.
|
|
9
|
+
|
|
10
|
+
## Activation
|
|
11
|
+
|
|
12
|
+
Load `.mindforge/skills/systematic-debugging/SKILL.md` immediately.
|
|
13
|
+
Follow its 4-phase protocol for the full duration of this session.
|
|
14
|
+
|
|
15
|
+
## Phase 1 — Understand the Bug
|
|
16
|
+
|
|
17
|
+
Before touching any code:
|
|
18
|
+
|
|
19
|
+
1. **Reproduce it.** Can you reproduce it in a minimal, isolated environment?
|
|
20
|
+
- If no: document what you tried. Ask the user for more context. Do not guess.
|
|
21
|
+
- If yes: record the exact reproduction steps.
|
|
22
|
+
|
|
23
|
+
2. **Read the error completely.** Stack trace, logs, error message — read every line.
|
|
24
|
+
|
|
25
|
+
3. **Identify the invariant.** What assumption is being violated? What should be true that isn't?
|
|
26
|
+
|
|
27
|
+
4. **Map the control flow.** Trace the path from input to failure point.
|
|
28
|
+
|
|
29
|
+
**Output of Phase 1:** A written statement of the root cause hypothesis with evidence.
|
|
30
|
+
|
|
31
|
+
## Phase 2 — Isolate the Root Cause
|
|
32
|
+
|
|
33
|
+
1. Write a failing test that exercises exactly the broken invariant.
|
|
34
|
+
2. Confirm the test fails for the right reason (not just any reason).
|
|
35
|
+
3. Narrow scope: is the bug in this file? This function? This line?
|
|
36
|
+
4. Check: is this a regression? Run `git log --oneline -20` on affected files.
|
|
37
|
+
|
|
38
|
+
**Gate:** Do not proceed to Phase 3 without a failing test that proves the bug.
|
|
39
|
+
|
|
40
|
+
## Phase 3 — Fix
|
|
41
|
+
|
|
42
|
+
1. Apply the minimal fix that restores the invariant.
|
|
43
|
+
2. Do not fix adjacent issues or refactor — single responsibility per fix.
|
|
44
|
+
3. Run the failing test — it must now pass.
|
|
45
|
+
4. Run the full test suite — zero new failures allowed.
|
|
46
|
+
|
|
47
|
+
## Phase 4 — Verify and Document
|
|
48
|
+
|
|
49
|
+
1. Confirm the original reproduction steps no longer trigger the bug.
|
|
50
|
+
2. Write a one-paragraph RCA summary: what was broken, why, how it was fixed.
|
|
51
|
+
3. Commit with a message that explains the root cause, not the symptom.
|
|
52
|
+
|
|
53
|
+
## When you cannot find the root cause
|
|
54
|
+
|
|
55
|
+
- Add logging/instrumentation at the point of failure.
|
|
56
|
+
- Form 2–3 competing hypotheses and test each independently.
|
|
57
|
+
- Document what you ruled out — negative evidence is evidence.
|
|
58
|
+
- Ask the user for additional context before guessing.
|
|
59
|
+
|
|
60
|
+
Do not apply a fix that "might work." Every fix requires a root cause explanation.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 1password
|
|
3
|
+
description: Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in, and reading/injecting secrets for commands.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
setup:
|
|
6
|
+
help: "Create a service account at https://my.1password.com → Settings → Service Accounts"
|
|
7
|
+
collect_secrets:
|
|
8
|
+
- env_var: OP_SERVICE_ACCOUNT_TOKEN
|
|
9
|
+
prompt: "1Password Service Account Token"
|
|
10
|
+
provider_url: "https://developer.1password.com/docs/service-accounts/"
|
|
11
|
+
secret: true
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# 1Password CLI
|
|
15
|
+
|
|
16
|
+
Use this skill when the user wants secrets managed through 1Password instead of plaintext env vars or files.
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
|
|
20
|
+
- 1Password account
|
|
21
|
+
- 1Password CLI (`op`) installed
|
|
22
|
+
- One of: desktop app integration, service account token (`OP_SERVICE_ACCOUNT_TOKEN`), or Connect server
|
|
23
|
+
- `tmux` available for stable authenticated sessions during the agent terminal calls (desktop app flow only)
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- Install or configure 1Password CLI
|
|
28
|
+
- Sign in with `op signin`
|
|
29
|
+
- Read secret references like `op://Vault/Item/field`
|
|
30
|
+
- Inject secrets into config/templates using `op inject`
|
|
31
|
+
- Run commands with secret env vars via `op run`
|
|
32
|
+
|
|
33
|
+
## Authentication Methods
|
|
34
|
+
|
|
35
|
+
### Service Account (recommended for the agent)
|
|
36
|
+
|
|
37
|
+
Set `OP_SERVICE_ACCOUNT_TOKEN` in `${HERMES_HOME:-~/.hermes}/.env` (the skill will prompt for this on first load).
|
|
38
|
+
No desktop app needed. Supports `op read`, `op inject`, `op run`.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
export OP_SERVICE_ACCOUNT_TOKEN="your-token-here"
|
|
42
|
+
op whoami # verify — should show Type: SERVICE_ACCOUNT
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Desktop App Integration (interactive)
|
|
46
|
+
|
|
47
|
+
1. Enable in 1Password desktop app: Settings → Developer → Integrate with 1Password CLI
|
|
48
|
+
2. Ensure app is unlocked
|
|
49
|
+
3. Run `op signin` and approve the biometric prompt
|
|
50
|
+
|
|
51
|
+
### Connect Server (self-hosted)
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
export OP_CONNECT_HOST="http://localhost:8080"
|
|
55
|
+
export OP_CONNECT_TOKEN="your-connect-token"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Setup
|
|
59
|
+
|
|
60
|
+
1. Install CLI:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# macOS
|
|
64
|
+
brew install 1password-cli
|
|
65
|
+
|
|
66
|
+
# Linux (official package/install docs)
|
|
67
|
+
# See references/get-started.md for distro-specific links.
|
|
68
|
+
|
|
69
|
+
# Windows (winget)
|
|
70
|
+
winget install AgileBits.1Password.CLI
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
2. Verify:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
op --version
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. Choose an auth method above and configure it.
|
|
80
|
+
|
|
81
|
+
## the agent Execution Pattern (desktop app flow)
|
|
82
|
+
|
|
83
|
+
the agent terminal commands are non-interactive by default and can lose auth context between calls.
|
|
84
|
+
For reliable `op` use with desktop app integration, run sign-in and secret operations inside a dedicated tmux session.
|
|
85
|
+
|
|
86
|
+
Note: This is NOT needed when using `OP_SERVICE_ACCOUNT_TOKEN` — the token persists across terminal calls automatically.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
SOCKET_DIR="${TMPDIR:-/tmp}/hermes-tmux-sockets"
|
|
90
|
+
mkdir -p "$SOCKET_DIR"
|
|
91
|
+
SOCKET="$SOCKET_DIR/hermes-op.sock"
|
|
92
|
+
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
|
|
93
|
+
|
|
94
|
+
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
|
|
95
|
+
|
|
96
|
+
# Sign in (approve in desktop app when prompted)
|
|
97
|
+
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "eval \"\$(op signin --account my.1password.com)\"" Enter
|
|
98
|
+
|
|
99
|
+
# Verify auth
|
|
100
|
+
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
|
|
101
|
+
|
|
102
|
+
# Example read
|
|
103
|
+
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op read 'op://Private/Npmjs/one-time password?attribute=otp'" Enter
|
|
104
|
+
|
|
105
|
+
# Capture output when needed
|
|
106
|
+
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
|
|
107
|
+
|
|
108
|
+
# Cleanup
|
|
109
|
+
tmux -S "$SOCKET" kill-session -t "$SESSION"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Common Operations
|
|
113
|
+
|
|
114
|
+
### Read a secret
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
op read "op://app-prod/db/password"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Get OTP
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
op read "op://app-prod/npm/one-time password?attribute=otp"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Inject into template
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
echo "db_password: {{ op://app-prod/db/password }}" | op inject
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Run a command with secret env var
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
export DB_PASSWORD="op://<vault>/<item>/<field>"
|
|
136
|
+
op run -- sh -c '[ -n "$DB_PASSWORD" ] && echo "DB_PASSWORD is set" || echo "DB_PASSWORD missing"'
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Guardrails
|
|
140
|
+
|
|
141
|
+
- Never print raw secrets back to user unless they explicitly request the value.
|
|
142
|
+
- Prefer `op run` / `op inject` instead of writing secrets into files.
|
|
143
|
+
- If command fails with "account is not signed in", run `op signin` again in the same tmux session.
|
|
144
|
+
- If desktop app integration is unavailable (headless/CI), use service account token flow.
|
|
145
|
+
|
|
146
|
+
## CI / Headless note
|
|
147
|
+
|
|
148
|
+
For non-interactive use, authenticate with `OP_SERVICE_ACCOUNT_TOKEN` and avoid interactive `op signin`.
|
|
149
|
+
Service accounts require CLI v2.18.0+.
|
|
150
|
+
|
|
151
|
+
## References
|
|
152
|
+
|
|
153
|
+
- `references/get-started.md`
|
|
154
|
+
- `references/cli-examples.md`
|
|
155
|
+
- https://developer.1password.com/docs/cli/
|
|
156
|
+
- https://developer.1password.com/docs/service-accounts/
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# op CLI examples
|
|
2
|
+
|
|
3
|
+
## Sign-in and identity
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
op signin
|
|
7
|
+
op signin --account my.1password.com
|
|
8
|
+
op whoami
|
|
9
|
+
op account list
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Read secrets
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
op read "op://app-prod/db/password"
|
|
16
|
+
op read "op://app-prod/npm/one-time password?attribute=otp"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Inject secrets
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
echo "api_key: {{ op://app-prod/openai/api key }}" | op inject
|
|
23
|
+
op inject -i config.tpl.yml -o config.yml
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Run command with secrets
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
export DB_PASSWORD="op://<vault>/<item>/<field>"
|
|
30
|
+
op run -- sh -c '[ -n "$DB_PASSWORD" ] && echo "DB_PASSWORD is set"'
|
|
31
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 1Password CLI get-started (summary)
|
|
2
|
+
|
|
3
|
+
Official docs: https://developer.1password.com/docs/cli/get-started/
|
|
4
|
+
|
|
5
|
+
## Core flow
|
|
6
|
+
|
|
7
|
+
1. Install `op` CLI.
|
|
8
|
+
2. Enable desktop app integration in 1Password app.
|
|
9
|
+
3. Unlock app.
|
|
10
|
+
4. Run `op signin` and approve prompt.
|
|
11
|
+
5. Verify with `op whoami`.
|
|
12
|
+
|
|
13
|
+
## Multiple accounts
|
|
14
|
+
|
|
15
|
+
- Use `op signin --account <subdomain.1password.com>`
|
|
16
|
+
- Or set `OP_ACCOUNT`
|
|
17
|
+
|
|
18
|
+
## Non-interactive / automation
|
|
19
|
+
|
|
20
|
+
- Use service accounts and `OP_SERVICE_ACCOUNT_TOKEN`
|
|
21
|
+
- Prefer `op run` and `op inject` for runtime secret handling
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: baoyu-article-illustrator
|
|
3
|
+
description: "Article illustrations: type × style × palette consistency."
|
|
4
|
+
version: 1.57.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Article Illustrator
|
|
8
|
+
|
|
9
|
+
Adapted from [baoyu-article-illustrator](https://github.com/JimLiu/baoyu-skills) for
|
|
10
|
+
|
|
11
|
+
Analyze articles, identify illustration positions, generate images with **Type × Style × Palette** consistency.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
Trigger this skill when the user asks to illustrate an article, add images to an article, generate illustrations for content, or uses phrases like "为文章配图", "illustrate article", or "add images". The user provides an article (file path or pasted content) and optionally specifies type, style, palette, or density.
|
|
16
|
+
|
|
17
|
+
## Three Dimensions
|
|
18
|
+
|
|
19
|
+
| Dimension | Controls | Examples |
|
|
20
|
+
|-----------|----------|----------|
|
|
21
|
+
| **Type** | Information structure | infographic, scene, flowchart, comparison, framework, timeline |
|
|
22
|
+
| **Style** | Rendering approach | notion, warm, minimal, blueprint, watercolor, elegant |
|
|
23
|
+
| **Palette** | Color scheme (optional) | macaron, warm, neon — overrides style's default colors |
|
|
24
|
+
|
|
25
|
+
Combine freely: `type=infographic, style=vector-illustration, palette=macaron`.
|
|
26
|
+
|
|
27
|
+
Or use presets: `edu-visual` → type + style + palette in one shot. See [style-presets.md](references/style-presets.md).
|
|
28
|
+
|
|
29
|
+
## Types
|
|
30
|
+
|
|
31
|
+
| Type | Best For |
|
|
32
|
+
|------|----------|
|
|
33
|
+
| `infographic` | Data, metrics, technical |
|
|
34
|
+
| `scene` | Narratives, emotional |
|
|
35
|
+
| `flowchart` | Processes, workflows |
|
|
36
|
+
| `comparison` | Side-by-side, options |
|
|
37
|
+
| `framework` | Models, architecture |
|
|
38
|
+
| `timeline` | History, evolution |
|
|
39
|
+
|
|
40
|
+
## Styles
|
|
41
|
+
|
|
42
|
+
See [references/styles.md](references/styles.md) for Core Styles, the full gallery, and Type × Style compatibility.
|
|
43
|
+
|
|
44
|
+
## Output Structure
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
{output-dir}/
|
|
48
|
+
├── source-{slug}.{ext} # Only for pasted content
|
|
49
|
+
├── outline.md
|
|
50
|
+
├── prompts/
|
|
51
|
+
│ └── NN-{type}-{slug}.md
|
|
52
|
+
└── NN-{type}-{slug}.png
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Default output directory**:
|
|
56
|
+
|
|
57
|
+
| Input | Output Directory | Markdown Insert Path |
|
|
58
|
+
|-------|------------------|----------------------|
|
|
59
|
+
| Article file path | `{article-dir}/imgs/` | `imgs/NN-{type}-{slug}.png` |
|
|
60
|
+
| Pasted content | `illustrations/{topic-slug}/` (cwd) | `illustrations/{topic-slug}/NN-{type}-{slug}.png` |
|
|
61
|
+
|
|
62
|
+
If the user asks for a different layout (e.g., images alongside the article, or a `illustrations/` subdirectory), honor that.
|
|
63
|
+
|
|
64
|
+
**Slug**: 2-4 words, kebab-case. **Conflict**: append `-YYYYMMDD-HHMMSS`.
|
|
65
|
+
|
|
66
|
+
## Core Principles
|
|
67
|
+
|
|
68
|
+
- **Visualize concepts, not metaphors** — if the article uses a metaphor (e.g., "电锯切西瓜"), illustrate the underlying concept, not the literal image.
|
|
69
|
+
- **Labels use article data** — actual numbers, terms, and quotes from the article, not generic placeholders.
|
|
70
|
+
- **Prompt files are reproducibility records** — every illustration must have a saved prompt file under `prompts/` before any image is generated.
|
|
71
|
+
- **Strip secrets** — scan source content for API keys, tokens, or credentials before writing anything to disk.
|
|
72
|
+
|
|
73
|
+
## Workflow
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
- [ ] Step 1: Detect reference images (if provided)
|
|
77
|
+
- [ ] Step 2: Analyze content
|
|
78
|
+
- [ ] Step 3: Confirm settings (clarify tool, one question at a time)
|
|
79
|
+
- [ ] Step 4: Generate outline
|
|
80
|
+
- [ ] Step 5: Generate prompts
|
|
81
|
+
- [ ] Step 6: Generate images (image_generate)
|
|
82
|
+
- [ ] Step 7: Finalize
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step 1: Detect Reference Images
|
|
86
|
+
|
|
87
|
+
If the user supplies reference images (paths pasted inline, attachments, or a URL):
|
|
88
|
+
|
|
89
|
+
1. For each reference, call `vision_analyze` with the path/URL and a question asking for style, palette, composition, and subject. Record the returned description in `{output-dir}/references/NN-ref-{slug}.md` via `write_file`.
|
|
90
|
+
2. **Do not** try to copy the binary via `write_file` / `read_file` — those are text-only. If you want a local copy for the record, use `terminal` (`cp "$src" "{output-dir}/references/NN-ref-{slug}.{ext}"`). The skill itself never needs to read the binary; it works off the vision description.
|
|
91
|
+
3. Since `image_generate` doesn't take image inputs, the vision description is what gets embedded in prompts during Step 5.
|
|
92
|
+
|
|
93
|
+
Full procedures: [references/workflow.md](references/workflow.md#step-1-detect-reference-images).
|
|
94
|
+
|
|
95
|
+
### Step 2: Analyze
|
|
96
|
+
|
|
97
|
+
| Analysis | Output |
|
|
98
|
+
|----------|--------|
|
|
99
|
+
| Content type | Technical / Tutorial / Methodology / Narrative |
|
|
100
|
+
| Purpose | information / visualization / imagination |
|
|
101
|
+
| Core arguments | 2-5 main points |
|
|
102
|
+
| Positions | Where illustrations add value |
|
|
103
|
+
|
|
104
|
+
Read source (file path → `read_file`, or pasted text) and write the analysis to `{output-dir}/analysis.md` using `write_file`.
|
|
105
|
+
|
|
106
|
+
Full procedures: [references/workflow.md](references/workflow.md#step-2-analyze).
|
|
107
|
+
|
|
108
|
+
### Step 3: Confirm Settings
|
|
109
|
+
|
|
110
|
+
Use the `clarify` tool. Since `clarify` handles one question at a time, ask the most important question first. Skip any question whose answer is already present in the user's request.
|
|
111
|
+
|
|
112
|
+
| Order | Question | Options |
|
|
113
|
+
|-------|----------|---------|
|
|
114
|
+
| Q1 | **Preset or Type** | [Recommended preset], [alt preset], or manual: infographic, scene, flowchart, comparison, framework, timeline, mixed |
|
|
115
|
+
| Q2 | **Density** | minimal (1-2), balanced (3-5), per-section (Recommended), rich (6+) |
|
|
116
|
+
| Q3 | **Style** *(skip if preset chosen in Q1)* | [Recommended], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster |
|
|
117
|
+
| Q4 | **Palette** *(optional)* | Default (style colors), macaron, warm, neon |
|
|
118
|
+
| Q5 | **Language** *(only if article language is ambiguous)* | article language / user language |
|
|
119
|
+
|
|
120
|
+
Don't ask more than 2-3 `clarify` questions in a row. If the user already specified these in their request, skip entirely.
|
|
121
|
+
|
|
122
|
+
Full procedures: [references/workflow.md](references/workflow.md#step-3-confirm-settings).
|
|
123
|
+
|
|
124
|
+
### Step 4: Generate Outline → `outline.md`
|
|
125
|
+
|
|
126
|
+
Save `{output-dir}/outline.md` using `write_file` with frontmatter (type, density, style, palette, image_count) and one entry per illustration:
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
## Illustration 1
|
|
130
|
+
**Position**: [section/paragraph]
|
|
131
|
+
**Purpose**: [why]
|
|
132
|
+
**Visual Content**: [what to show]
|
|
133
|
+
**Filename**: 01-infographic-concept-name.png
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Full template: [references/workflow.md](references/workflow.md#step-4-generate-outline).
|
|
137
|
+
|
|
138
|
+
### Step 5: Generate Prompts
|
|
139
|
+
|
|
140
|
+
**BLOCKING**: Every illustration must have a saved prompt file before any image is generated — the prompt file is the reproducibility record.
|
|
141
|
+
|
|
142
|
+
For each illustration:
|
|
143
|
+
|
|
144
|
+
1. Create a prompt file per [references/prompt-construction.md](references/prompt-construction.md).
|
|
145
|
+
2. Save to `{output-dir}/prompts/NN-{type}-{slug}.md` using `write_file` with YAML frontmatter.
|
|
146
|
+
3. Prompts MUST use type-specific templates with structured sections (ZONES / LABELS / COLORS / STYLE / ASPECT).
|
|
147
|
+
4. LABELS MUST include article-specific data: actual numbers, terms, metrics, quotes.
|
|
148
|
+
5. Process references (`direct`/`style`/`palette`) per prompt frontmatter — for `direct` usage, embed a textual description of the reference in the prompt (since `image_generate` doesn't take reference-image inputs).
|
|
149
|
+
|
|
150
|
+
### Step 6: Generate Images
|
|
151
|
+
|
|
152
|
+
For each prompt file:
|
|
153
|
+
|
|
154
|
+
1. Call `image_generate(prompt=..., aspect_ratio=...)`. `image_generate` returns a JSON result containing an image URL; it does NOT write to disk and does NOT accept an output path.
|
|
155
|
+
2. Map the prompt's `ASPECT` to `image_generate`'s enum: `16:9` → `landscape`, `9:16` → `portrait`, `1:1` → `square`. Custom ratios → nearest named aspect.
|
|
156
|
+
3. Download the returned URL to `{output-dir}/NN-{type}-{slug}.png` via `terminal` (e.g. `curl -sSL -o "{output-dir}/NN-{type}-{slug}.png" "{url}"`).
|
|
157
|
+
4. On generation failure, auto-retry once.
|
|
158
|
+
|
|
159
|
+
Note: the underlying image-generation backend is user-configured (default: FAL FLUX 2 Klein 9B) and is NOT agent-selectable via `image_generate`. Do not write model names into prompts expecting them to route.
|
|
160
|
+
|
|
161
|
+
### Step 7: Finalize
|
|
162
|
+
|
|
163
|
+
Insert `` after the corresponding paragraph. Alt text: concise description in the article's language.
|
|
164
|
+
|
|
165
|
+
Report:
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
Article Illustration Complete!
|
|
169
|
+
Article: [path] | Type: [type] | Density: [level] | Style: [style] | Palette: [palette or default]
|
|
170
|
+
Images: X/N generated
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Modification
|
|
174
|
+
|
|
175
|
+
| Action | Steps |
|
|
176
|
+
|--------|-------|
|
|
177
|
+
| Edit | Update prompt → Regenerate → Update reference |
|
|
178
|
+
| Add | Position → Prompt → Generate → Update outline → Insert |
|
|
179
|
+
| Delete | Delete files → Remove reference → Update outline |
|
|
180
|
+
|
|
181
|
+
## References
|
|
182
|
+
|
|
183
|
+
| File | Content |
|
|
184
|
+
|------|---------|
|
|
185
|
+
| [references/workflow.md](references/workflow.md) | Detailed procedures |
|
|
186
|
+
| [references/usage.md](references/usage.md) | Invocation examples |
|
|
187
|
+
| [references/styles.md](references/styles.md) | Style gallery + Palette gallery |
|
|
188
|
+
| [references/style-presets.md](references/style-presets.md) | Preset shortcuts (type + style + palette) |
|
|
189
|
+
| [references/prompt-construction.md](references/prompt-construction.md) | Prompt templates |
|
|
190
|
+
|
|
191
|
+
## Pitfalls
|
|
192
|
+
|
|
193
|
+
1. **Data integrity is paramount** — never summarize, paraphrase, or alter source statistics. "73% increase" stays "73% increase".
|
|
194
|
+
2. **Strip secrets** — scan source content for API keys, tokens, or credentials before including in any output file.
|
|
195
|
+
3. **Don't illustrate metaphors literally** — visualize the underlying concept.
|
|
196
|
+
4. **Prompt files are mandatory** — no image generation without a saved prompt file. The file is what lets you regenerate or switch backends later.
|
|
197
|
+
5. **`image_generate` aspect ratios** — the tool supports `landscape`, `portrait`, and `square`. Custom ratios map to the nearest option.
|
|
198
|
+
6. **`image_generate` returns a URL, not a local file** — always download via `terminal` (`curl`) before inserting local image paths into the article.
|
|
199
|
+
7. **No backend selection from the agent** — `image_generate` uses whatever model the user configured (default: FAL FLUX 2 Klein 9B). Don't write `"use <model> to generate this"` into prompts expecting it to route.
|