Skip to content

Commit 95d5cd7

Browse files
Add specs for product positioning and artifact roles
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
1 parent ad69531 commit 95d5cd7

File tree

2 files changed

+297
-0
lines changed

2 files changed

+297
-0
lines changed
Lines changed: 246 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,246 @@
1+
# code2skill Positioning as a CI-Native Repo-Knowledge Compiler
2+
3+
## Goal
4+
5+
Sharpen the product direction of `code2skill` so future work converges on a clear lane: a CLI-first, Python-first compiler that turns repository evidence into durable AI-consumable artifacts for local development and CI/CD workflows.
6+
7+
This document does not replace `docs/superpowers/specs/2026-04-07-code2skill-architecture-product-upgrade-design.md`. It narrows the product boundary that the architecture work should serve.
8+
9+
## Decision Summary
10+
11+
`code2skill` should position itself as a **CI-native repo-knowledge compiler and adapter**, not as a generic agent platform and not as a knowledge-graph product.
12+
13+
The core user promise is:
14+
15+
1. read a real Python repository
16+
2. compile repository evidence into a durable artifact bundle
17+
3. keep that bundle incrementally fresh in CI
18+
4. adapt the same knowledge base into multiple assistant-specific instruction targets
19+
20+
In this model, the main product output is not chat behavior, runtime orchestration, or an interactive graph. The main output is a reviewed, commit-friendly artifact set written to disk.
21+
22+
## Why This Position Fits the Existing Product
23+
24+
The current public surface already points in this direction.
25+
26+
- `README.md` describes one workflow-oriented chain: `scan`, `estimate`, `ci`, and `adapt`
27+
- `docs/cli.md` explicitly says those commands are one repository-knowledge workflow rather than unrelated utilities
28+
- `docs/ci.md` makes `ci --mode auto` the automation-oriented entrypoint
29+
- the generated outputs already emphasize durable files, incremental state reuse, and target-specific instruction artifacts
30+
31+
That means the strongest direction is not to invent a new identity. It is to tighten the identity the repository already has.
32+
33+
## Direct Answer to the Graphify Question
34+
35+
`graphify` does **not** make this work redundant.
36+
37+
It becomes a problem only if `code2skill` tries to compete on `graphify`'s axis.
38+
39+
`graphify` is best understood as a **multimodal knowledge-graph builder plus assistant-side skill and hook layer**. Its center of gravity is graph creation, graph querying, assistant installation, and graph-first navigation across code, docs, PDFs, and images.
40+
41+
`code2skill` is strongest when it focuses on a different center of gravity: **repository evidence -> artifact bundle -> CI refresh -> multi-target rule emission**.
42+
43+
Those are adjacent spaces, not the same product.
44+
45+
## Comparison: code2skill vs graphify
46+
47+
| Dimension | code2skill | graphify |
48+
|---|---|---|
49+
| Primary user moment | maintainer workflow, repository setup, CI refresh | assistant-side exploration and graph-guided understanding |
50+
| Primary input | real Python repository | mixed corpus: code, docs, PDFs, images, notes |
51+
| Core artifact | Skills, blueprints, plans, reports, adapted rule files | `graph.json`, `graph.html`, `GRAPH_REPORT.md`, wiki/Obsidian/Neo4j exports |
52+
| Product center | compile and maintain AI-facing repository knowledge | build and query a graph of relationships |
53+
| Automation story | incremental CI and durable artifact refresh | local graph refresh, query, watch, and assistant hooks |
54+
| Defensible promise | one evidence base, many assistant targets, CI-safe refresh | structure discovery, graph traversal, multimodal context compression |
55+
56+
## What code2skill Should Explicitly Be
57+
58+
### 1. A compiler, not a chat runtime
59+
60+
The product should take repository inputs and produce structured outputs with predictable phases, machine-readable reports, and stable file contracts.
61+
62+
The right mental model is closer to:
63+
64+
`repo -> analysis snapshot -> skill plan -> generated skills -> adapted targets -> run report`
65+
66+
than to:
67+
68+
`assistant plugin -> runtime memory -> interactive exploration surface`
69+
70+
### 2. CI-native, not assistant-runtime-native
71+
72+
The highest-leverage use case is not “help an assistant browse this repo right now.”
73+
74+
It is:
75+
76+
- make repository knowledge maintainable as code changes
77+
- regenerate only what is affected
78+
- keep AI-facing instruction files aligned with the current repository state
79+
- make the refresh path auditable in pull requests and CI logs
80+
81+
### 3. Python-first in this phase
82+
83+
The current analyzer value comes from being opinionated and grounded in real Python repository structure. The product should deepen that advantage before expanding into a generic multi-language ingestion platform.
84+
85+
### 4. One knowledge source, many instruction targets
86+
87+
The strongest downstream story is that one repository knowledge base can emit consistent outputs for:
88+
89+
- `AGENTS.md`
90+
- `CLAUDE.md`
91+
- Cursor rules
92+
- GitHub Copilot instructions
93+
- Windsurf rules
94+
95+
That is a clear operational value proposition for teams standardizing AI collaboration across tools.
96+
97+
## What code2skill Should Not Become
98+
99+
The following directions should be de-emphasized or explicitly cut in this phase:
100+
101+
### 1. General knowledge-graph platform
102+
103+
Do not compete on graph visualization, graph traversal UX, graph query commands, graph databases, or graph export ecosystems.
104+
105+
### 2. Multimodal ingestion platform
106+
107+
Do not expand into PDFs, screenshots, whiteboards, or general document corpus ingestion as a primary product story.
108+
109+
### 3. Always-on assistant hook installer
110+
111+
Do not center the product around assistant-specific runtime hooks, slash-command installation flows, or “always read this first” hook behavior.
112+
113+
### 4. Generic agent platform
114+
115+
Do not reposition the repo as a general-purpose agent operating system, agent marketplace, or assistant runtime layer.
116+
117+
Those paths would blur the product, duplicate adjacent tools, and weaken the current CI/compiler identity.
118+
119+
## Recommended Product Surface
120+
121+
The existing public command model is already close to the right shape.
122+
123+
### `scan`
124+
125+
Full local compile of repository knowledge into the artifact bundle.
126+
127+
### `estimate`
128+
129+
Dry-run preview for cost, scope, impact, and likely output changes.
130+
131+
### `ci`
132+
133+
Automation-first compile path that selects full or incremental execution and explains why.
134+
135+
### `adapt`
136+
137+
Artifact publication layer that maps generated repository knowledge into target-specific instruction files.
138+
139+
The command model should keep feeling like one workflow with four phases, not four mini-products.
140+
141+
## Recommended Artifact Model
142+
143+
The primary artifact bundle should stay explicit and file-based.
144+
145+
At minimum, the product should keep treating these as first-class outputs:
146+
147+
- analysis artifacts
148+
- planning artifacts
149+
- generated Skill artifacts
150+
- adapted target artifacts
151+
- diagnostics and reports
152+
- incremental state artifacts
153+
154+
The artifact bundle is the product boundary. CI should be able to reason about it, review it, cache it, diff it, and publish from it.
155+
156+
## Recommended Architecture Implications
157+
158+
The architecture-upgrade direction from `2026-04-07` still holds, but this positioning sharpens what those layers are for.
159+
160+
### Product interface layer
161+
162+
Should present one compiler-like workflow across CLI, Python API, and CI invocation.
163+
164+
### Workflow layer
165+
166+
Should coordinate explicit phases such as analyze, plan, generate, adapt, and report.
167+
168+
### Domain layer
169+
170+
Should define stable contracts for the artifact bundle and run summaries, not assistant runtime behavior.
171+
172+
### Capability layer
173+
174+
Should focus on repository analysis, planning, generation, adaptation, state reuse, and diagnostics.
175+
176+
### Infrastructure layer
177+
178+
Should isolate filesystem, git, serialization, and LLM-provider concerns without becoming the product center.
179+
180+
In short: the architecture should optimize for **trustworthy compilation and refresh of repository knowledge artifacts**, not for interactive graph exploration.
181+
182+
## Recommended Near-Term Priorities
183+
184+
### Priority 1: Tighten product copy around the compiler lane
185+
186+
Every public description should reinforce that `code2skill` is for compiling repository knowledge into durable AI-facing artifacts and keeping them fresh in CI.
187+
188+
### Priority 2: Make diagnostics and incremental decisions more legible
189+
190+
The strongest differentiator is trustworthy CI behavior. Users should understand:
191+
192+
- why a run was full or incremental
193+
- what changed
194+
- which artifacts were affected
195+
- what was written
196+
- what still needs confirmation
197+
198+
### Priority 3: Treat the artifact bundle as a stable contract
199+
200+
The output layout should feel like an intentional product interface, not just a side effect of command execution.
201+
202+
### Priority 4: Strengthen target adapters
203+
204+
The more reliable and consistent the downstream adapters are, the stronger the “one evidence base, many assistant targets” story becomes.
205+
206+
### Priority 5: Improve packaging and smoke-tested install paths
207+
208+
The compiler story becomes more credible when the package can be installed, invoked, and embedded in CI without local-environment ambiguity.
209+
210+
## Non-Goals for This Phase
211+
212+
- interactive graph explorer
213+
- graph query language or path traversal surface
214+
- wiki/obsidian/neo4j export ecosystem
215+
- multimodal document understanding productization
216+
- assistant marketplace or plugin platform strategy
217+
- generalized non-Python repository support as the main positioning change
218+
219+
## Success Criteria
220+
221+
This positioning is working when:
222+
223+
- users can explain `code2skill` in one sentence as a CI-native repo-knowledge compiler
224+
- the command model feels like one end-to-end workflow
225+
- generated artifacts are reviewed and reused as durable assets
226+
- CI runs can incrementally refresh those artifacts with clear diagnostics
227+
- adapter outputs become a trusted bridge from one repository knowledge source to many AI tools
228+
- future work is evaluated against the question: “does this strengthen the compiler-and-adapter lane?”
229+
230+
## Relationship to Existing Architecture Work
231+
232+
The existing architecture-upgrade design should remain active.
233+
234+
This document changes the frame around it:
235+
236+
- the purpose of decomposition is not generic platformization
237+
- the purpose is to make the compiler workflow clearer, more testable, and more trustworthy in CI
238+
- feature selection should prefer improvements to artifact quality, diagnostics, incremental behavior, and adapter reliability
239+
240+
## Final Recommendation
241+
242+
The winning move is not to chase graphify.
243+
244+
The winning move is to become the best tool for **compiling repository evidence into durable, incrementally maintained, assistant-specific knowledge artifacts for Python repositories**.
245+
246+
That is narrower than a generic agent platform, but stronger, clearer, and more defensible.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Skill-Final Artifact Model Design
2+
3+
## Goal
4+
5+
Align `code2skill`'s product surface with one clear rule: the final product is Skill output.
6+
Everything else inside `.code2skill/` remains important, but it is treated as an intermediate artifact that supports generation, review, reporting, and incremental CI refresh.
7+
8+
## Decision
9+
10+
`code2skill` should separate artifact roles in both code and docs:
11+
12+
- **final products**: `skills/index.md`, `skills/*.md`, and the target-facing instruction files produced by `adapt`
13+
- **intermediate artifacts**: `project-summary.md`, `skill-blueprint.json`, `skill-plan.json`, `references/*.md`, `report.json`, and `state/analysis-state.json`
14+
15+
## Why This Is The Right Shape
16+
17+
The repository already behaves like a compiler pipeline:
18+
19+
1. analyze repository structure
20+
2. plan a Skill set
21+
3. generate Skill documents
22+
4. adapt them into downstream tool formats
23+
24+
In that pipeline, blueprint, plan, report, and state are not independent products. They are support artifacts for producing and maintaining Skills.
25+
26+
Making that boundary explicit improves product clarity, report clarity, and CLI clarity.
27+
28+
## Code-Level Changes
29+
30+
The implementation should make this role split explicit in four places:
31+
32+
1. `ArtifactLayout` partitions bundle paths into final Skill products versus intermediate artifacts.
33+
2. `ExecutionReport` exposes `final_product_files` and `intermediate_artifact_files`.
34+
3. `CommandRunSummary` and CLI rendering surface final Skill products first.
35+
4. `adapt` treats its written target files as final published Skill outputs.
36+
37+
## Non-Goals
38+
39+
- changing the underlying `scan` / `estimate` / `ci` / `adapt` pipeline shape
40+
- introducing graph-style outputs or graph terminology
41+
- removing intermediate artifacts from the bundle
42+
- collapsing planning, reporting, or state into the Skill documents themselves
43+
44+
## Success Criteria
45+
46+
This design is successful when:
47+
48+
- bundle classification distinguishes Skill products from intermediate artifacts
49+
- `report.json` exposes that distinction explicitly
50+
- CLI summaries highlight final Skill products first
51+
- docs consistently describe Skills as the final product layer

0 commit comments

Comments
 (0)