@syntesseraai/opencode-feature-factory 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/ff-learning/SKILL.md +31 -34
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@syntesseraai/opencode-feature-factory",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "OpenCode plugin for Feature Factory agents - provides sub-agents and skills for validation, review, security, and architecture assessment",
|
|
7
7
|
"license": "MIT",
|
|
@@ -1,25 +1,36 @@
|
|
|
1
1
|
# Feature Factory Learning Protocol
|
|
2
2
|
|
|
3
|
-
This skill enables agents to continuously document and retrieve knowledge across the lifecycle of a task
|
|
3
|
+
This skill enables agents to continuously document, organize, and retrieve knowledge across the lifecycle of a task using a strict hierarchical index structure. It ensures that knowledge is discoverable, context-rich, and properly categorized to aid LLM reasoning.
|
|
4
4
|
|
|
5
|
-
## Core Philosophy
|
|
5
|
+
## Core Philosophy & Hierarchy
|
|
6
6
|
|
|
7
|
-
1. **
|
|
8
|
-
2. **
|
|
9
|
-
3. **
|
|
7
|
+
1. **High Priority Context (`AGENTS.md`)**: Contains mandatory, "must-have" information that applies to every session. This is the root of all agent behavioral rules.
|
|
8
|
+
2. **Discoverable Knowledge (`docs/INDEX.md`)**: The root index for all discoverable project information. Agents MUST consult this index when assessing user input or starting a new task.
|
|
9
|
+
3. **Hierarchical Indexing**:
|
|
10
|
+
- `docs/INDEX.md` points to subfolder `INDEX.md` files (e.g., `docs/architecture/INDEX.md`, `docs/learnings/INDEX.md`).
|
|
11
|
+
- Every link in an `INDEX.md` file MUST include a **verbose, detailed description** of the target file or subfolder's purpose. This description is specifically designed to aid LLM reasoning when an agent is deciding which path to follow.
|
|
12
|
+
- Each subfolder's `INDEX.md` references the files at its own level and any nested subfolder `INDEX.md` files, alongside their descriptive purposes.
|
|
13
|
+
4. **Continuous Documentation**: Write down important facts, solutions, architectural decisions, and progress as soon as verified. Always link new documents in the relevant `INDEX.md`.
|
|
10
14
|
|
|
11
15
|
## How to Use This Skill
|
|
12
16
|
|
|
13
|
-
### 1.
|
|
17
|
+
### 1. Retrieving Knowledge (Reading & Discovery)
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
Before diving into implementation, debugging, or when assessing user input:
|
|
16
20
|
|
|
17
|
-
**
|
|
21
|
+
- **Start at `docs/INDEX.md`**: Read the root index to understand the available knowledge domains.
|
|
22
|
+
- **Navigate the Tree**: Follow the descriptive links to subfolder `INDEX.md` files to find specific guidelines, architecture rules, or past learnings.
|
|
23
|
+
- **Use the right tools**: Use the `read` tool to traverse the `INDEX.md` files.
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
Use descriptive, kebab-case filenames: `docs/learnings/auth-token-refresh-flow.md`, `docs/learnings/docker-build-caching.md`.
|
|
25
|
+
### 2. Documenting New Knowledge (Writing)
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
Whenever you discover a non-obvious solution, establish a new convention, resolve a complex bug, or need to document progress:
|
|
28
|
+
|
|
29
|
+
1. **Create the Document**: Use the `write` tool to create a detailed markdown file in the appropriate subfolder (e.g., `docs/learnings/auth-token-refresh-flow.md`).
|
|
30
|
+
2. **Update the Index**: You MUST update the `INDEX.md` file in that same folder. Add a link to your new file along with a verbose description of what the file contains and when another agent should read it.
|
|
31
|
+
3. **Create Missing Indexes**: If a folder does not have an `INDEX.md` file, you MUST create it and link it back to the parent `INDEX.md` with a detailed reasoning description.
|
|
32
|
+
|
|
33
|
+
**Template for new learning documents:**
|
|
23
34
|
|
|
24
35
|
```markdown
|
|
25
36
|
# [Topic Title]
|
|
@@ -37,32 +48,18 @@ Use descriptive, kebab-case filenames: `docs/learnings/auth-token-refresh-flow.m
|
|
|
37
48
|
|
|
38
49
|
## Why this matters
|
|
39
50
|
|
|
40
|
-
[Explain why this approach was chosen or why the bug occurred.]
|
|
51
|
+
[Explain why this approach was chosen or why the bug occurred. Provide enough context to guide future agents.]
|
|
41
52
|
```
|
|
42
53
|
|
|
43
|
-
###
|
|
44
|
-
|
|
45
|
-
Before diving into debugging or implementing features, scan the `docs/` and `docs/learnings/` directories for relevant context.
|
|
46
|
-
|
|
47
|
-
**Tools to use:**
|
|
48
|
-
|
|
49
|
-
- `glob` tool with pattern `docs/learnings/*.md` to see all stored learnings.
|
|
50
|
-
- `grep` tool to search inside `docs/` and `docs/learnings/` for specific keywords (e.g., error messages, library names).
|
|
51
|
-
- `read` tool to pull the full context of relevant markdown files.
|
|
52
|
-
|
|
53
|
-
### 3. Updating Existing Knowledge (Refining)
|
|
54
|
-
|
|
55
|
-
If you find an existing learning document that is outdated or incomplete based on new work, use the `edit` tool to update it. Knowledge should evolve with the codebase.
|
|
56
|
-
|
|
57
|
-
## When to Document a Learning
|
|
54
|
+
### 3. Maintaining the Index Tree
|
|
58
55
|
|
|
59
|
-
- **
|
|
60
|
-
|
|
61
|
-
- **
|
|
62
|
-
- **Undocumented Behaviors:** Workarounds for third-party API quirks or internal system edge cases.
|
|
56
|
+
- **Verbose Descriptions**: When adding an entry to an `INDEX.md`, do not just list the filename. Explain _why_ the file exists, _what_ specific problems it solves, and _when_ an agent should consult it.
|
|
57
|
+
_Example:_ `* [auth-flow.md](./auth-flow.md) - Details the OAuth2 token refresh cycle, including how to handle race conditions when multiple requests hit an expired token. Consult this when modifying any API client or authentication middleware.`
|
|
58
|
+
- **Refinement**: If an existing learning document or its index description is outdated, use the `edit` tool to update it.
|
|
63
59
|
|
|
64
60
|
## Checklist for Agents
|
|
65
61
|
|
|
66
|
-
- [ ]
|
|
67
|
-
- [ ]
|
|
68
|
-
- [ ]
|
|
62
|
+
- [ ] Am I assessing user input or starting a task? -> **Read `docs/INDEX.md` to discover context.**
|
|
63
|
+
- [ ] Have I encountered a novel problem, architectural decision, or established a new pattern? -> **Document it in a new file.**
|
|
64
|
+
- [ ] Did I create a new document in `docs/`? -> **Update the local `INDEX.md` with a verbose description.**
|
|
65
|
+
- [ ] Is a folder missing an `INDEX.md`? -> **Create it and link it to the parent `INDEX.md`.**
|