---
name: do-action
created: 2026-04-12 14:53:26
status: DOING
attach-change: .sspec/changes/archive/26-04-12T15-03_do-action/spec.md
tldr: ''
archived: '2026-04-12T16:24:40'
---
<!-- @RULE: Frontmatter Type
status: OPEN | DOING | DONE | CLOSED;
tldr: One-sentence summary for list views — fill this!
 -->

# Request: do-action

## Problem
<!-- What is not working or missing -->
我在考虑，增加一个 action 操作

也就是在创建完毕之后，自动执行的某些指令，比如自定义的脚本等等。

并且需要能有效引用前面创建的 asset 的目录等

Question: [[引用问题]] {
  如何能在 action 中声明对创建资源的引用呢？用什么语法？
  
  比如给 asset 增加可选的 ref 字段？或者直接用简单粗暴的 {{asset.0}} {{asset.1}} 引用数组结果？
}

此外我还考虑是否可以在模板变量中增加一个动态 shell 结果，比如
{{!<command>}} 代表对 command 的执行结果? —— 不过这个做法的问题是，没法在 command 中引用变量了吧？

或者和 action 合在一起？ pre sprout 和 post sprout 执行？不过要避免复杂度过高。

## Success Criteria
<!-- The conditions or criteria that indicate
the problem has been resolved and meets the user's intention -->

把 sprout 创建变得更加优秀，比如完全可以创建一个 scanfold 骨架之后，直接自动在下面运行 git init 等等?

我们的目标是让 sprout 逐渐变成通用性强的骨架创建的工具模板。

不过具体怎么样需要深刻讨论。

---

## @AGENT
<!-- What should Agent do to implement this request -->
Adhere to the SSPEC protocol specifications and commence development from the current Request file, following the SSPEC/Development Lifecycle.
Next step: Read `sspec-clarify` SKILL + `sspec-design` SKILLs + `sspec change new --from <this>`.
