docs(07): resolve open questions in RESEARCH.md

This commit is contained in:
2026-06-15 20:24:44 +08:00
parent 38a0d1af6d
commit 17cd0b64aa

View File

@@ -687,22 +687,13 @@ Pattern for caching and refreshing epics:
| A6 | The `ngn-agent` Confluence tag doesn't yet exist and needs to be created | E2: Confluence Integration | **Low risk.** If there are already pages with this tag, even better — search will find them. If not, the first session-end update will create the first tagged page. |
| A7 | The skill file path `~/.hermes/skills/ngn-agent/session/SKILL.md` is the correct location for Hermes discovery | Standard Stack | **Very low risk.** Hermes scans `~/.hermes/skills/` recursively for SKILL.md files. All 4 existing ngn-agent skills use subdirectories under `~/.hermes/skills/ngn-agent/`. |
## Open Questions
## Open Questions (RESOLVED)
1. **How does Hermes resolve skill names with nested directories?**
- What we know: Skills are stored in `~/.hermes/skills/<category>/<name>/SKILL.md`. Hermes scans recursively. The skill's `name` in frontmatter is what appears in `skills_list()`.
- What's unclear: Does Hermes use the directory name or the frontmatter `name` field as the primary identifier? If the skill is at `ngn-agent/session/SKILL.md` with `name: ngn-agent-session`, does the agent see it as `ngn-agent/session` (path) or `ngn-agent-session` (frontmatter)?
- **Recommendation:** Check with `hermes skills list` after installing. Set a clean frontmatter name (`ngn-agent-session`). Use both the directory path and frontmatter name in the procedure's `skill_view()` call to be safe. If in doubt, match the pattern of the existing 4 skills (which use directory names matching frontmatter names).
1. **How does Hermes resolve skill names with nested directories?** — RESOLVED: Set `name: ngn-agent-session` in frontmatter matching the following pattern in existing 4 skills (directory name `session` with frontmatter name `ngn-agent-session`). Plan uses directory path `ngn-agent/session/SKILL.md` consistent with existing skills. Verification step (`hermes skills list`) will confirm discoverability.
2. **What happens when skill_view() is called from within another skill's procedure?**
- What we know: `skill_view` is a tool the agent calls. It loads skill content into context.
- What's unclear: Does the newly loaded skill's content REPLACE the current skill's content, or append? If it replaces, the session skill's remaining steps would be lost.
- **Recommendation:** Design the procedure so cross-skill loading happens early and is optional. The Jira and Confluence operations are simple enough to encode directly in the session skill (using `ngn-jira` and `ngn-confluence` scripts) without loading the full skills. `skill_view` for jira-query/confluence-search is a nice-to-have for extra context, not a requirement.
2. **What happens when skill_view() is called from within another skill's procedure?** — RESOLVED: The Procedure encodes Jira and Confluence operations directly using `ngn-jira` and `ngn-confluence` CLI scripts (already mounted in Docker) instead of depending on `skill_view()` cross-skill loading. This avoids any skill context replacement issues. `skill_view` is optional for extra context only.
3. **Does the agent need to save the Jira ticket key in memory to reference it at session end?**
- What we know: The session-end steps need the ticket key to add comments.
- What's unclear: How does the agent remember the ticket key across a long session? Hindsight auto-retain may capture it, but the agent needs it in active context.
- **Recommendation:** In the Procedure, tell the agent to note the ticket key explicitly in a way that persists across turns. For example: "After creating the ticket, remember the key (e.g., PLATFORM-123). You'll need it in the session-end step to add a summary comment."
3. **Does the agent need to save the Jira ticket key in memory to reference it at session end?** — RESOLVED: The Procedure instructs the agent to explicitly note the ticket key after creation (e.g., "Save the ticket key (e.g., PROJ-123) — you'll need it in Step 5 to add a comment"). This places the key in the agent's active context for the session duration.
## Environment Availability