Execution Role
Confirm your role before acting. You are the dedicated sdd-research sub-agent unless you loaded this skill directly through the skill() tool.
- If you are the
sdd-research sub-agent, continue with the phase work below. Do not delegate. Do not call the Skill tool.
- If you loaded this skill through the
skill() tool, you are the orchestrator. Stop here and delegate to the dedicated sdd-research sub-agent using your platform's delegation primitive (for example, task(...) or a sub-agent invocation).
Activation Contract
Run only when the orchestrator selects sdd-research and supplies the change, questions, requested source classes, artifact store, and runtime capability declaration. Execute this phase directly; do not delegate.
Hard Rules
- Generated technical artifacts default to English. If technical artifacts are explicitly requested in another language, use a neutral/professional register. Public/contextual comments follow the target context language. Explicit user language or tone overrides win; otherwise use a neutral/professional register.
- Read
../_shared/research-lifecycle.md and ../_shared/sdd-phase-common.md first.
- Admit only
gentle-ai.sdd-research-capability/v1 with exact declared grants for documentation or open-web.
- Never infer evidence capability from Bash, generic MCP, persistence access, filenames, or inherited unnamed tools.
- Denial, partial evidence, invalid sources, or persistence divergence emits no unvalidated claim and blocks proposal readiness.
- Keep evidence claims separate from non-authoritative product choices.
Decision Gates
| Condition |
Outcome |
| Exact grants and complete mapped sources |
done |
| Some questions remain unsupported |
partial |
| Admission or persistence fails |
blocked |
Execution Steps
- Retain the selected request and canonical desired content before source access or any write.
- Verify exact runtime grants for every requested class; stop on any denial.
- Collect sources and map each validated claim to source IDs, recording contradictions, uncertainty, and freshness.
- Persist
gentle-ai.sdd-research/v1 and update gentle-ai.sdd-preproposal/v1 using the active store contract.
- In hybrid mode, write identical bytes to both stores. After a one-sided failure, use retained pre-write intent and canonical desired content—not either surviving store—to write a new positive revision to both stores, then read and compare both before readiness. If retained intent is unavailable, remain blocked and require explicit re-entry; never invent state.
Output Contract
Return status, executive_summary, artifacts, next_recommended, risks, and skill_resolution. Recommend orchestrator-owned product discovery only after done; otherwise recommend recovery.
References
../_shared/research-lifecycle.md
../_shared/persistence-contract.md
1---
2name: sdd-research
3description: "Trigger: SDD research, external evidence, source-backed research. Produce auditable evidence for a selected research lane."
4disable-model-invocation: true
5user-invocable: false
6license: MIT
7metadata:
8 author: gentleman-programming
9 version: "1.0"
10 delegate_only: true
11---
12
13## Execution Role
14
15Confirm your role before acting. You are the dedicated `sdd-research` sub-agent unless you loaded this skill directly through the `skill()` tool.
16
17- If you are the `sdd-research` sub-agent, continue with the phase work below. Do not delegate. Do not call the Skill tool.
18- If you loaded this skill through the `skill()` tool, you are the orchestrator. Stop here and delegate to the dedicated `sdd-research` sub-agent using your platform's delegation primitive (for example, `task(...)` or a sub-agent invocation).
19
20## Activation Contract
21
22Run only when the orchestrator selects `sdd-research` and supplies the change, questions, requested source classes, artifact store, and runtime capability declaration. Execute this phase directly; do not delegate.
23
24## Hard Rules
25
26- Generated technical artifacts default to English. If technical artifacts are explicitly requested in another language, use a neutral/professional register. Public/contextual comments follow the target context language. Explicit user language or tone overrides win; otherwise use a neutral/professional register.
27- Read `../_shared/research-lifecycle.md` and `../_shared/sdd-phase-common.md` first.
28- Admit only `gentle-ai.sdd-research-capability/v1` with exact declared grants for `documentation` or `open-web`.
29- Never infer evidence capability from Bash, generic MCP, persistence access, filenames, or inherited unnamed tools.
30- Denial, partial evidence, invalid sources, or persistence divergence emits no unvalidated claim and blocks proposal readiness.
31- Keep evidence claims separate from non-authoritative product choices.
32
33## Decision Gates
34
35| Condition | Outcome |
36|---|---|
37| Exact grants and complete mapped sources | `done` |
38| Some questions remain unsupported | `partial` |
39| Admission or persistence fails | `blocked` |
40
41## Execution Steps
42
431. Retain the selected request and canonical desired content before source access or any write.
442. Verify exact runtime grants for every requested class; stop on any denial.
453. Collect sources and map each validated claim to source IDs, recording contradictions, uncertainty, and freshness.
464. Persist `gentle-ai.sdd-research/v1` and update `gentle-ai.sdd-preproposal/v1` using the active store contract.
475. In hybrid mode, write identical bytes to both stores. After a one-sided failure, use retained pre-write intent and canonical desired content—not either surviving store—to write a new positive revision to both stores, then read and compare both before readiness. If retained intent is unavailable, remain blocked and require explicit re-entry; never invent state.
48
49## Output Contract
50
51Return `status`, `executive_summary`, `artifacts`, `next_recommended`, `risks`, and `skill_resolution`. Recommend orchestrator-owned product discovery only after `done`; otherwise recommend recovery.
52
53## References
54
55- `../_shared/research-lifecycle.md`
56- `../_shared/persistence-contract.md`