Skip to content
Back to skills

Sdd Project Init

ASecurity

Survey a project that already has its own documents, tools, ceremonies and rules, then integrate sdd-flow with them instead of replacing them. Writes the project-owned adapter, proposes at most one removable pointer into a document the project owns, and never edits an agent doc without the owner's confirmation. Use when adopting sdd-flow in an existing project, when the project's ceremonies should drive the lifecycle, or when a project carries a hand-maintained copy of the framework canon.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
developmentgo

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add zakyrion/sdd-flow --skill sdd-project-init --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sdd Project Init?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sdd Project Init
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zakyrion-sdd-project-init/badge)](https://www.skillsdirectory.com/skills/zakyrion-sdd-project-init)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sdd-project-init
description: Survey a project that already has its own documents, tools, ceremonies and rules, then integrate sdd-flow with them instead of replacing them. Writes the project-owned adapter, proposes at most one removable pointer into a document the project owns, and never edits an agent doc without the owner's confirmation. Use when adopting sdd-flow in an existing project, when the project's ceremonies should drive the lifecycle, or when a project carries a hand-maintained copy of the framework canon.
---

# Load

```clojure
{:requires [".sdd-flow/references/PROJECT_ADAPTER.md"
            ".sdd-flow/templates/PROJECT.md"
            ".sdd-flow/FLOW_CONTRACT.md"]
 :missing (:then (stop!)
                 (tell-user! "run sdd-flow doctor ."))
 :authority "PROJECT_ADAPTER.md holds the contract — this file is the procedure"}
```

# Nature

```clojure
{:is "a survey of the project in front of us, not a schema to fill"
 :why "projects carry different amounts of ceremony; a fixed schema would make the first surveyed project the definition of the word"
 :kind :mutation
 :gate "the lifecycle's own — restate the task, stop, wait for the owner's go"
 :never "adapting the project to the framework"}
```

# Case

```clojure
(cond
  (carries-a-copy-of-our-canon? project) :origin
  (has-its-own-behavioral-framework? project) :parallel
  (has-documents-tools-or-ceremonies? project) :parallel
  :else :base)
```

```clojure
{:origin {:means "the project holds a hand-maintained copy of the canon"
          :do (:then (run! "sdd-flow diff")
                     (separate-project-residue-from-copied-text!)
                     (propose-replacing-the-copy-with-a-reference!)
                     (name-promotion-candidates!))
          :never "removing the copy without showing the diff first"}
 :parallel {:means "the project has its own truth and possibly its own framework"
            :do (:then (survey!)
                       (write-adapter!)
                       (offer-one-pointer!))
            :rule "we adopt the project's facts; we never claim its process"}
 :base {:means "nothing to adapt to"
        :do (:then (install-defaults!)
                   (say-no-adapter-is-needed!))}}
```

# Survey

```clojure
(-> (:read-1 "what the project says an agent must read, and in what order")
    (:read-2 "what tools it already owns — for each, the situation in which it MUST be used and why, the search it replaces, and what it must not be used for (PROJECT_ADAPTER.md (def tool-orders)); each checked by one real call")
    (:read-2b "what traps its code and libraries hold that are expensive to rediscover")
    (:read-3 "what commands mean done here")
    (:read-4 "what must never be run, read, or written")
    (:read-5 "what named procedures already exist and when they run")
    (:read-6 "where its task documents live and how their sections are arranged")
    (:read-7 "whether any of its documents carry a copy of our canon"))
```

```clojure
{:source "the project's own documents and configuration — read them, do not guess"
 :unknown ?
 :record "each slot filled from a named source, or left ? and asked"
 :never #{"inventing a ceremony the project does not have"
          "copying the content of a project document into the adapter"}}
```

# Report

```clojure
{:before-writing "show the owner what the survey found, slot by slot, with the source of each fact"
 :contains #{:filled-slots :open-slots :proposed-pointer :proposed-writes :what-rollback-removes}
 :options "every proposal carries its confidence 0-100"
 :then (:then (stop!)
              (wait-for-go!))
 :why "the owner knows their project; a survey is a reading, not a verdict"}
```

# Write

```clojure
{:ours ".sdd-flow/project.md — written freely once the report is confirmed"
 :theirs {:requires "the owner's explicit word for this specific document"
          :form "a marked block, BEGIN SDD-FLOW / END SDD-FLOW, carrying its id"
          :size "one pointer — where sdd-flow lives and how to invoke it"
          :recorded "the file is declared under :footprint in the adapter"}
 :never #{"an unmarked edit in a document the project owns"
          "writing into an agent doc because it seemed useful"
          "more than the owner confirmed"}}
```

# Rollback

```clojure
{:command "sdd-flow unlink"
 :removes "every marked block from every file the adapter declares under :footprint"
 :ours "delete .sdd-flow/project.md — nothing else of ours was written"
 :promise "after rollback the project reads exactly as it did before the survey"}
```

# Coexistence

```clojure
{:when (has-its-own-behavioral-framework? project)
 :declare {:exclusive true}
 :effect "the lifecycle narrows to explicit invocation — it no longer offers itself for every engineering request"
 :why "two behavioral frameworks loaded together blend instead of letting the user choose"
 :tell-the-owner "which invocation selects which framework"}
```

Files in this skill

  • SKILL.md4.6 KB
  • agents/openai.yaml238 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.