Gjalla Spec

gjalla/engineering/skills/gjalla-spec

作者 gjalla4d328da6c0b728ca72add7d4255aeb0c4ef2a8b5无许可证收录于 2026年10月9日更新于 2026年10月9日

Create a well-thought-out plan covering problem statement, goals, technical approach, and verification criteria. Use while planning / before implementing any non-trivial feature.

AI 生成的概览

指导编写软件变更规格,涵盖问题、目标、技术方案与验证标准。

功能
该技能引导智能体在实现非平凡功能之前,产出一份生产级变更规格或计划。它要求智能体通过 gjalla CLI 或 MCP 获取当前状态上下文与规则,收集所需的源代码细节,就未决问题询问用户,并用 gjalla spec new 搭建规格骨架。最终文档涵盖问题陈述、目标、非目标、行为需求、威胁模型、技术方案、验证策略、依赖项与回滚计划,并在实现前提交人工审批。
适用场景
适用于规划阶段、在实现任何非平凡功能之前,需要一份书面规格作为参考文档时。它适合以规格产物为准、后续验证并合并到主规格的工作流。
运行要求
需要访问 gjalla CLI 或 MCP 服务器,以获取主规格与规则并运行 gjalla spec new。该技能不附带脚本,仅为说明文档。开始实现前需要人工审批。

Goal

The best, most elegant and effective software systems are ones that are well-informed, well-planned, and verifiable. The final output is a plan/spec that can act as a reference doc, covering the problem/motivation, technical approach, deltas (what properties of the system will change once implemented), and verification criteria. The first step is always understanding the current state. Use gjalla (CLI or MCP) to fetch the relevant parts of the master spec, including the architecture, capabilities, data flows, etc that are relevant to this problem/solution space. Also fetch the gjalla rules so you know what boundaries there are on your final solution. Once you understand the relevant properties and constraints, identify any specific details that you need from the source code and gather them. Now you have everything you can find yourself. Are there any outstanding questions that will affect the specifics of the solution you propose? If so, ask the user for input.

When you have everything you need, go ahead and use gjalla spec new which will scaffold a change spec for you to edit. This is necessary for workflows where spec artifacts are canonical, and the gjalla platform will facilitate verifying and merging changes into the master spec once implementation is complete. Think through the end-goal, the context (architecture, data flows, use case, etc.) and your rules/constraints, then work to design an elegant, maintainable, effective solution to the goal.

The information needed for a production-grade spec / reference doc includes the following:

  • Problem Statement: What user or system problem does this solve?
  • Goals: What must be true when this is done?
  • Non-Goals: What is explicitly out of scope?
  • Behavioral Requirements: Observable behaviors the feature must exhibit, in other words, new capability properties that will be present within the system. For any requirement about what the system permits or prevents, state it as system state rather than as something the user sees, and name the file and function that enforces it. A requirement no code location owns is a wish.
  • Threat model and security requirements: What are the adversarial security cases we have considered with this design? What properties of secure software systems need to be built into the solution and have associated tests to ensure we never regress?
  • Technical Approach: How will this be built? How will this affect architecture, data flows, surface area, and other gjalla primitives?
  • Verification Strategy: Unit and integration tests for positive/negative/edge cases are a given; you should also consider security & safety (i.e. do our tests include common secure coding pitfalls like the AI OWASP Top 10 or tests for other security mistakes that could make us vulnerable?), maintainability, performance, user experience, or domain-specific verification criteria such as compliance, business constraints, or platform constraints. Name at least one test that fails today and passes once this is built — if you can't name one, the goal isn't yet concrete enough to implement against.
  • Dependencies: What must exist or be deployed first? Consult gjalla if your project is a part of a system and this may affect its interoperability.
  • Rollback Plan: How to safely revert if something goes wrong.

Guidelines

  • Specs and plans are not novels. Background information and context is totally acceptable (in fact its preferred) as long as the information is clear, salient, relevant, and not overly verbose.
  • The goal is to get ahead of unintended consequences. Use second order thinking to get ahead of potential surprises.

Present and bind

Once you're happy with the solution you've written into the spec, it should be presented to the human for approval — this is the first of two human gates in the gjalla-autonomous process (the other is at commit). Use your native plan-presentation mechanism where you have one (Claude plan mode, Cursor plan); otherwise present the spec plainly and wait. Do not begin implementing without explicit approval.

On approval, start implementing. If you're Claude Code, the approval itself is recorded by gjalla automatically; nothing else needs to be marked.

来源与署名

来源:gjalla/engineering位于skills/gjalla-spec提交4d328da

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架