@thanbir-tamim/enterprise-project-intelligence-agent 0.0.0-stage → 0.1.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/CHANGELOG.md +29 -0
- package/LICENSE +201 -0
- package/NOTICE +7 -0
- package/README.md +92 -2
- package/SECURITY.md +23 -0
- package/docs/ARCHITECTURE.md +43 -0
- package/docs/DOCUMENT_INGESTION.md +40 -0
- package/docs/EVALUATION_GUIDE.md +36 -0
- package/docs/EVIDENCE_AND_PROVENANCE.md +40 -0
- package/docs/IMPLEMENTATION_REPORT.md +209 -0
- package/docs/INSTALLATION.md +46 -0
- package/docs/KNOWLEDGE_MODEL.md +45 -0
- package/docs/MAINTENANCE.md +30 -0
- package/docs/QUICK_START.md +27 -0
- package/docs/SECURITY_MODEL.md +34 -0
- package/docs/SKILL_CATALOG.md +17 -0
- package/docs/SUPPORTED_FORMATS.md +25 -0
- package/docs/TESTING_STRATEGY.md +41 -0
- package/docs/TROUBLESHOOTING.md +35 -0
- package/docs/USER_GUIDE.md +41 -0
- package/examples/synthetic-inventory-system/ai-opportunity-matrix/AI_OPPORTUNITY_MATRIX.md +65 -0
- package/examples/synthetic-inventory-system/presentation/COMPLIANCE_REPORT.json +34 -0
- package/examples/synthetic-inventory-system/presentation/DEMO_DECK.md +129 -0
- package/examples/synthetic-inventory-system/presentation/demo-deck.json +20 -0
- package/examples/synthetic-inventory-system/source-docs/overview.md +26 -0
- package/examples/synthetic-inventory-system/source-docs/receiving-workflow.md +23 -0
- package/examples/synthetic-inventory-system/source-docs/sample-catalog.csv +5 -0
- package/package.json +51 -4
- package/scripts/cli.mjs +86 -0
- package/scripts/lib/skills.mjs +118 -0
- package/scripts/release-audit.mjs +119 -0
- package/skills/corporate-presentation-generator/SKILL.md +93 -0
- package/skills/corporate-presentation-generator/references/default-style-guide.md +37 -0
- package/skills/corporate-presentation-generator/references/slide-content-patterns.md +10 -0
- package/skills/documentation-quality-auditor/SKILL.md +87 -0
- package/skills/documentation-quality-auditor/references/audit-checks.md +13 -0
- package/skills/documentation-quality-auditor/scripts/audit-docs.mjs +52 -0
- package/skills/engineering-knowledge-transfer/SKILL.md +73 -0
- package/skills/engineering-knowledge-transfer/references/learning-path-patterns.md +18 -0
- package/skills/enterprise-ai-integration-planner/SKILL.md +181 -0
- package/skills/enterprise-ai-integration-planner/references/adoption-roadmap.md +46 -0
- package/skills/enterprise-ai-integration-planner/references/architecture-alternatives.md +27 -0
- package/skills/enterprise-ai-integration-planner/references/feasibility-scoring.md +61 -0
- package/skills/enterprise-ai-integration-planner/references/opportunity-catalog.md +62 -0
- package/skills/enterprise-ai-integration-planner/references/security-patterns.md +36 -0
- package/skills/enterprise-ai-integration-planner/scripts/score-opportunity.mjs +101 -0
- package/skills/presentation-compliance-validator/SKILL.md +89 -0
- package/skills/presentation-compliance-validator/references/rule-schema.md +24 -0
- package/skills/presentation-compliance-validator/scripts/validate-deck.mjs +122 -0
- package/skills/project-documentation-discovery/SKILL.md +141 -0
- package/skills/project-documentation-discovery/references/extraction-checklist.md +22 -0
- package/skills/project-documentation-discovery/references/format-matrix.md +30 -0
- package/skills/project-documentation-discovery/scripts/inventory.mjs +213 -0
- package/skills/project-knowledge-assistant/SKILL.md +89 -0
- package/skills/project-knowledge-assistant/references/citation-format.md +14 -0
- package/skills/project-knowledge-assistant/references/confidence-levels.md +11 -0
- package/skills/software-change-impact-analyzer/SKILL.md +73 -0
- package/skills/software-change-impact-analyzer/references/impact-dimensions.md +10 -0
- package/skills/software-reverse-engineering/SKILL.md +99 -0
- package/skills/software-reverse-engineering/references/architecture-diagram-notation.md +12 -0
- package/skills/software-reverse-engineering/references/reconstruction-method.md +11 -0
- package/skills/technical-document-generator/SKILL.md +77 -0
- package/skills/technical-document-generator/references/document-structure.md +23 -0
- package/skills/technical-document-generator/scripts/render-markdown-to-html.mjs +93 -0
- package/templates/AI_OPPORTUNITY_MATRIX.template.md +32 -0
- package/templates/AI_PILOT_PROPOSAL.template.md +41 -0
- package/templates/presentation-rules.example.json +20 -0
- package/templates/project-profile.example.yaml +18 -0
- package/templates/risk-register.template.md +8 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Implementation Report
|
|
2
|
+
|
|
3
|
+
## 1. Scope of this report
|
|
4
|
+
|
|
5
|
+
This report documents what was actually implemented, tested, and verified in this repository. It
|
|
6
|
+
intentionally contains no private project names, organizational details, internal source paths, or
|
|
7
|
+
confidential findings — see `docs/SECURITY_MODEL.md` for the confidentiality controls that keep it
|
|
8
|
+
that way.
|
|
9
|
+
|
|
10
|
+
## 2. Workspace location note (deviation from the original path)
|
|
11
|
+
|
|
12
|
+
The brief requested a new workspace at a sibling directory named
|
|
13
|
+
`enterprise-project-intelligence-agent`. The execution sandbox for this session only permitted
|
|
14
|
+
filesystem writes inside the directory the session was started in, which is an existing empty
|
|
15
|
+
repository (with its own git remote already configured) named `enterprise-project-intelligence`
|
|
16
|
+
(no `-agent` suffix). Creating a sibling directory was attempted and denied by the sandbox
|
|
17
|
+
(`Operation not permitted`). The toolkit was therefore built in full inside this already-existing,
|
|
18
|
+
writable repository. All structural, naming, and confidentiality requirements from the brief were
|
|
19
|
+
otherwise followed exactly (package name, skill names, directory layout).
|
|
20
|
+
|
|
21
|
+
## 3. Implemented capabilities
|
|
22
|
+
|
|
23
|
+
All 14 capability areas requested in the brief have a corresponding, working implementation:
|
|
24
|
+
|
|
25
|
+
| # | Capability | Where |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 1 | Documentation discovery/ingestion | `skills/project-documentation-discovery/` |
|
|
28
|
+
| 2 | Architecture reverse engineering | `skills/software-reverse-engineering/` |
|
|
29
|
+
| 3 | Business workflow reconstruction | `software-reverse-engineering` (workflow tracing) |
|
|
30
|
+
| 4 | Knowledge retrieval + citations | `skills/project-knowledge-assistant/` |
|
|
31
|
+
| 5 | AI opportunity discovery | `skills/enterprise-ai-integration-planner/` |
|
|
32
|
+
| 6 | AI feasibility analysis + planning | same, `references/feasibility-scoring.md` |
|
|
33
|
+
| 7 | Reference AI architecture design | same, `references/architecture-alternatives.md` |
|
|
34
|
+
| 8 | Corporate presentation generation | `skills/corporate-presentation-generator/` |
|
|
35
|
+
| 9 | Multi-format technical documentation | `skills/technical-document-generator/` |
|
|
36
|
+
| 10 | Documentation consistency/freshness audits | `skills/documentation-quality-auditor/` |
|
|
37
|
+
| 11 | Change impact analysis | `skills/software-change-impact-analyzer/` |
|
|
38
|
+
| 12 | Onboarding/knowledge transfer | `skills/engineering-knowledge-transfer/` |
|
|
39
|
+
| 13 | Technical risk analysis | `templates/risk-register.template.md` + planner risk fields |
|
|
40
|
+
| 14 | Automated artifact validation | `presentation-compliance-validator`, `scripts/release-audit.mjs`, `scripts/cli.mjs validate` |
|
|
41
|
+
|
|
42
|
+
## 4. Skill catalog
|
|
43
|
+
|
|
44
|
+
See `docs/SKILL_CATALOG.md` for the full table. Ten skills were implemented, each with a `SKILL.md`
|
|
45
|
+
(purpose, required inputs, execution procedure, expected outputs, evidence requirements,
|
|
46
|
+
anti-fabrication rules, error handling, security considerations, validation criteria, references),
|
|
47
|
+
plus `references/` material and, where logic benefits from determinism, a `scripts/*.mjs` helper.
|
|
48
|
+
|
|
49
|
+
## 5. Architecture and design decisions
|
|
50
|
+
|
|
51
|
+
- **Skills as instructions, deterministic logic as code.** See `docs/ARCHITECTURE.md`. Anything
|
|
52
|
+
checkable mechanically (skill structure, feasibility-score arithmetic and the non-overridable
|
|
53
|
+
blocker rule, presentation rule matching, Markdown→HTML rendering, secret/path scanning) is a
|
|
54
|
+
tested, dependency-free Node.js module, not left to a model's judgment.
|
|
55
|
+
- **No required third-party dependencies.** `package.json` has an empty `dependencies` block. This
|
|
56
|
+
follows the brief's instruction to avoid unnecessary frameworks and to prefer local processing.
|
|
57
|
+
- **No graph database, vector database, or orchestration framework introduced** — the knowledge
|
|
58
|
+
model (`docs/KNOWLEDGE_MODEL.md`) is plain JSON records, and the AI integration planner applies the
|
|
59
|
+
same anti-overengineering rule to whatever target project it is used on
|
|
60
|
+
(`skills/enterprise-ai-integration-planner/references/architecture-alternatives.md`).
|
|
61
|
+
- **Public/private separation is structural, not just a convention**: `.gitignore`/`.npmignore`
|
|
62
|
+
exclude `.local-knowledge/`, `.private/`, and `tests/`/`evaluations/` from the published package;
|
|
63
|
+
skills are instructed to write project-specific findings outside the repository.
|
|
64
|
+
|
|
65
|
+
## 6. Installation and usage
|
|
66
|
+
|
|
67
|
+
See `docs/QUICK_START.md`, `docs/INSTALLATION.md`, and `docs/USER_GUIDE.md`. Summary:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
node scripts/cli.mjs list
|
|
71
|
+
node scripts/cli.mjs validate
|
|
72
|
+
node scripts/cli.mjs inventory <corpusPath> --out <privateDir>
|
|
73
|
+
npm test
|
|
74
|
+
node scripts/cli.mjs release-audit
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 7. Supported formats and limitations
|
|
78
|
+
|
|
79
|
+
See `docs/SUPPORTED_FORMATS.md`. Verified (tested) support: Markdown, plain text, JSON, YAML
|
|
80
|
+
(subset), CSV, HTML (headings/tables subset), source code as text. **Not implemented** in the
|
|
81
|
+
bundled reference extractor: DOCX, PPTX, PDF, Keynote, Pages — these are honestly reported as
|
|
82
|
+
`unsupported-format` with a suggested remediation (export/convert, or add a verified optional parser)
|
|
83
|
+
rather than silently skipped or falsely claimed as working. This is a deliberate, documented
|
|
84
|
+
limitation, not an oversight — the brief explicitly requires not claiming a format works until
|
|
85
|
+
verified.
|
|
86
|
+
|
|
87
|
+
## 8. Test results
|
|
88
|
+
|
|
89
|
+
`npm test` (Node's built-in `node:test` runner, zero test-framework dependency):
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
tests 23
|
|
93
|
+
pass 23
|
|
94
|
+
fail 0
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Coverage:
|
|
98
|
+
- Skill structural validation (all 10 skills, 0 errors) — `tests/skills.test.mjs`.
|
|
99
|
+
- Documentation inventory: format classification, honest extraction-status reporting, secret
|
|
100
|
+
redaction, and reproducibility on re-scan — `tests/inventory.test.mjs`.
|
|
101
|
+
- Feasibility scoring: weighting formula correctness and — critically — that a structural blocker
|
|
102
|
+
forces `recommendation: "blocked"` even with every dimension scored at the maximum (5/5), proving
|
|
103
|
+
the non-overridable-blocker rule actually holds in code, not just in documentation —
|
|
104
|
+
`tests/feasibility-scoring.test.mjs`.
|
|
105
|
+
- Presentation compliance: required-section/bullet-count/footer/citation violations reported
|
|
106
|
+
individually, `not-checkable-from-this-format` reported honestly when metadata is absent, and
|
|
107
|
+
`humanReviewOnly` items always surfaced — `tests/presentation-compliance.test.mjs`.
|
|
108
|
+
- Markdown→HTML rendering: tag-balance and escaping — `tests/markdown-render.test.mjs`.
|
|
109
|
+
- Release audit: a fixture containing a fake AWS-style secret and a fake user path is detected, and
|
|
110
|
+
the raw matched values are never present anywhere in the audit's own output — `tests/release-audit.test.mjs`.
|
|
111
|
+
- Defense-in-depth scan of the synthetic example/templates/skills/docs for a short list of known
|
|
112
|
+
real private-project terms (zero matches) — `tests/synthetic-example.test.mjs`.
|
|
113
|
+
|
|
114
|
+
### Manual verification performed in addition to automated tests
|
|
115
|
+
|
|
116
|
+
- `node scripts/cli.mjs validate` → 0 errors across all skills.
|
|
117
|
+
- `npm pack --dry-run` (via a local npm cache to work around an unrelated host permission issue) →
|
|
118
|
+
inspected the full file list; confirmed `tests/`, `.idea/`, `.git/`, and any `.local-knowledge/`
|
|
119
|
+
content are excluded from the published tarball.
|
|
120
|
+
- Unpacked the dry-run tarball into a scratch directory and ran `scripts/release-audit.mjs` against
|
|
121
|
+
*only* the files that would actually be published. Result: 8 findings, all manually reviewed and
|
|
122
|
+
confirmed to be false positives from illustrative placeholder text (e.g., the literal string
|
|
123
|
+
`/Users/<name>/...` appearing inside documentation that *describes* the path-detection rule, and
|
|
124
|
+
descriptive text containing multiple `/` characters such as
|
|
125
|
+
`security/privacy/legal/technical/operational`) — not real secrets or real machine paths. No true
|
|
126
|
+
positive was found in the publishable file set.
|
|
127
|
+
- Ran the AI integration planner's reproducible scoring script against the two illustrative
|
|
128
|
+
opportunities in the synthetic opportunity matrix and confirmed the printed scores match the
|
|
129
|
+
numbers documented in that file.
|
|
130
|
+
- Ran the presentation compliance validator against the synthetic demo deck and the example rule
|
|
131
|
+
set; result `pass: true` with two expected `info`-level "not-checkable" findings (palette/
|
|
132
|
+
typography, since the deck representation used doesn't carry that metadata) and three
|
|
133
|
+
`humanReviewOnly` items correctly surfaced rather than silently passed.
|
|
134
|
+
|
|
135
|
+
## 9. AI integration planning workflow (as implemented)
|
|
136
|
+
|
|
137
|
+
`enterprise-ai-integration-planner` (see its `SKILL.md` and five reference files) implements:
|
|
138
|
+
baseline evidence gathering with confidence labeling; an opportunity catalog that pairs every AI
|
|
139
|
+
technique with a non-AI alternative to evaluate first; an eight-dimension, published weighting
|
|
140
|
+
formula (`references/feasibility-scoring.md`) with a **non-overridable blocker list** that forces
|
|
141
|
+
`blocked`/`rework-required` regardless of score (enforced in code, not just prose, and covered by an
|
|
142
|
+
automated test); seven architecture alternatives compared on named axes with an explicit
|
|
143
|
+
anti-overengineering rule; a security-pattern checklist treating all retrieved/user content as
|
|
144
|
+
untrusted; a five-phase adoption roadmap; and a list of nine generatable planning documents plus a
|
|
145
|
+
risk register and pilot checklist. A fully worked, fictional example is in
|
|
146
|
+
`examples/synthetic-inventory-system/ai-opportunity-matrix/`.
|
|
147
|
+
|
|
148
|
+
## 10. Public packaging strategy
|
|
149
|
+
|
|
150
|
+
- Package name: `@thanbir-tamim/enterprise-project-intelligence-agent` (scoped, consistent with the
|
|
151
|
+
existing reference toolkit's naming convention). **Availability on the public npm registry was
|
|
152
|
+
not independently confirmed** — the `npm view` lookup in this environment resolves against a
|
|
153
|
+
corporate registry mirror (`npm.apple.com`) rather than the public registry, so a 404 there does
|
|
154
|
+
not prove the name is free on the real public npm. This must be re-checked against the actual
|
|
155
|
+
public registry before any real publication.
|
|
156
|
+
- `files` allowlist in `package.json` includes only `skills/`, `templates/`, `scripts/`,
|
|
157
|
+
`examples/`, `docs/`, and standard metadata files; `.npmignore` additionally excludes `tests/`,
|
|
158
|
+
`evaluations/`, and editor/VCS directories.
|
|
159
|
+
- Nothing is published or released automatically; `npm run pack:dry-run` plus manual inspection is
|
|
160
|
+
the documented pre-release step (`docs/INSTALLATION.md`).
|
|
161
|
+
|
|
162
|
+
## 11. Security and privacy safeguards
|
|
163
|
+
|
|
164
|
+
See `docs/SECURITY_MODEL.md` for the full threat-model table. Highlights: structural public/private
|
|
165
|
+
separation; secret redaction during ingestion; a release-audit script that reports file/line/category
|
|
166
|
+
without ever printing the matched sensitive value; explicit instructions in every relevant skill
|
|
167
|
+
that AI features must never bypass an existing application's authorization or take irreversible
|
|
168
|
+
action without human approval.
|
|
169
|
+
|
|
170
|
+
## 12. Known limitations
|
|
171
|
+
|
|
172
|
+
- DOCX/PPTX/PDF/Keynote/Pages are not parsed by the bundled reference implementation (by design —
|
|
173
|
+
see §7). A consuming project must add a verified optional parser before claiming support.
|
|
174
|
+
- `scripts/release-audit.mjs` is pattern-based and deliberately conservative (it over-flags rather
|
|
175
|
+
than under-flags); it is a safeguard, not proof of confidentiality, and produced several expected
|
|
176
|
+
false positives during this build's own self-audit (documented in §8).
|
|
177
|
+
- No hosted model/API integration is bundled; skills assume the host AI agent provides inference,
|
|
178
|
+
consistent with the brief's requirement to keep core skills model-provider-agnostic.
|
|
179
|
+
- The package name's real public-npm availability is unverified in this environment (see §10).
|
|
180
|
+
- This report and the synthetic example were authored directly from private reference material's
|
|
181
|
+
*patterns* (document types, workflow shapes, presentation guideline categories), not from its
|
|
182
|
+
literal content; a human reviewer with access to the original private material is still the
|
|
183
|
+
final safeguard before any real-world publication, consistent with the brief's instruction that
|
|
184
|
+
automated scanning does not guarantee confidentiality.
|
|
185
|
+
|
|
186
|
+
## 13. Deferred capabilities
|
|
187
|
+
|
|
188
|
+
- Real DOCX/PPTX/PDF parsing and export (left as a documented, verifiable extension point).
|
|
189
|
+
- A graph-database-backed knowledge model (intentionally deferred until a real project's query needs
|
|
190
|
+
justify it, per the brief).
|
|
191
|
+
- Native rendering/visual inspection of generated PPTX/PDF decks (this environment can validate deck
|
|
192
|
+
*structure* via `validate-deck.mjs`, but does not render a final visual artifact to inspect for
|
|
193
|
+
overflow/truncation; that step is noted in `corporate-presentation-generator/SKILL.md` as a
|
|
194
|
+
required manual/tooling step before calling a real deck final).
|
|
195
|
+
|
|
196
|
+
## 14. Release preparation checklist
|
|
197
|
+
|
|
198
|
+
- [x] All skills pass structural validation (`node scripts/cli.mjs validate`).
|
|
199
|
+
- [x] All automated tests pass (`npm test`).
|
|
200
|
+
- [x] `npm pack --dry-run` contents manually inspected; private directories excluded.
|
|
201
|
+
- [x] `scripts/release-audit.mjs` run against the exact publishable file set; all findings reviewed
|
|
202
|
+
and confirmed as false positives for this synthetic/generic content.
|
|
203
|
+
- [x] Synthetic example and templates scanned for a defense-in-depth list of known private terms
|
|
204
|
+
(zero matches).
|
|
205
|
+
- [ ] Real public-npm name availability check (requires access to the actual public registry, not a
|
|
206
|
+
corporate mirror).
|
|
207
|
+
- [ ] Human legal/brand review of README/LICENSE/package metadata before any real publication.
|
|
208
|
+
- [ ] Actual `npm publish` — **not performed, and not to be performed automatically**, per the
|
|
209
|
+
brief's explicit instruction.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- Node.js >= 18 (the reference scripts use only built-in Node APIs; no install step is required to
|
|
6
|
+
run them).
|
|
7
|
+
- An AI coding agent that supports the Agent Skills convention (a `SKILL.md` file with YAML
|
|
8
|
+
frontmatter per skill directory), to actually use the skills as agent instructions.
|
|
9
|
+
|
|
10
|
+
## Option A — clone and use locally
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
git clone https://github.com/ThanbirTamim/enterprise-project-intelligence.git
|
|
14
|
+
cd enterprise-project-intelligence
|
|
15
|
+
node scripts/cli.mjs list
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Point your agent's skills directory at this repo's `skills/` folder, or copy individual
|
|
19
|
+
`skills/<name>/` directories into your agent's own skills directory.
|
|
20
|
+
|
|
21
|
+
## Option B — install as an npm package
|
|
22
|
+
|
|
23
|
+
Published at
|
|
24
|
+
[`@thanbir-tamim/enterprise-project-intelligence-agent`](https://www.npmjs.com/package/@thanbir-tamim/enterprise-project-intelligence-agent):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g @thanbir-tamim/enterprise-project-intelligence-agent
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Before any new release, run:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm run validate
|
|
34
|
+
npm test
|
|
35
|
+
npm run release-audit
|
|
36
|
+
npm run pack:dry-run # inspect exactly what would be published
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
and manually review the dry-run tarball contents — the automated checks are a safeguard, not a
|
|
40
|
+
guarantee of confidentiality (see `SECURITY.md`).
|
|
41
|
+
|
|
42
|
+
## Dependency philosophy
|
|
43
|
+
|
|
44
|
+
The toolkit intentionally ships with zero required third-party dependencies. If you add an optional
|
|
45
|
+
dependency (e.g., a real PPTX/DOCX/PDF parser) to extend format support, document it explicitly in
|
|
46
|
+
`docs/SUPPORTED_FORMATS.md` and add it as an optional peer dependency, not a hard requirement.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Knowledge model
|
|
2
|
+
|
|
3
|
+
A lightweight, reusable entity model used across skills to represent a target project. This is
|
|
4
|
+
intentionally a plain structured representation (JSON records with typed fields) rather than a graph
|
|
5
|
+
database — introduce a graph database only if a specific project's query needs actually justify it.
|
|
6
|
+
|
|
7
|
+
## Entity types
|
|
8
|
+
|
|
9
|
+
`Requirement`, `ActorOrRole`, `ModuleOrSubsystem`, `UiComponentOrRoute`, `Api`, `Service`,
|
|
10
|
+
`DatabaseEntity`, `BusinessRule`, `Workflow`, `ExternalDependency`, `InfrastructureComponent`,
|
|
11
|
+
`ArchitecturalDecision`, `SecurityBoundary`, `Test`, `KnownDefect`, `TechnicalRisk`,
|
|
12
|
+
`DocumentationReference`.
|
|
13
|
+
|
|
14
|
+
## Fact record shape
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"id": "fact-0001",
|
|
19
|
+
"statement": "Human-readable statement of the fact",
|
|
20
|
+
"entity": "ModuleOrSubsystem:billing-engine",
|
|
21
|
+
"relationship": "depends-on",
|
|
22
|
+
"source_path": "docs/architecture.md",
|
|
23
|
+
"source_location": "docs/architecture.md#billing-engine",
|
|
24
|
+
"evidence_type": "text",
|
|
25
|
+
"confidence": "documented",
|
|
26
|
+
"last_verified": "2024-01-01T00:00:00Z",
|
|
27
|
+
"status": "active"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`status` is one of: `active`, `superseded`, `contradicted`, `unverified`.
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- Facts are never invented to make the model look complete; an absent fact is represented as an
|
|
36
|
+
explicit gap in the relevant report, not a silently-filled placeholder.
|
|
37
|
+
- Contradicting facts about the same entity/relationship are both retained with `status:
|
|
38
|
+
contradicted` and surfaced to the user, never auto-resolved.
|
|
39
|
+
- `last_verified` is updated only when the fact is actually re-checked against the corpus (e.g., on
|
|
40
|
+
re-scan), not on every tool run.
|
|
41
|
+
|
|
42
|
+
## Relationship to the evidence index
|
|
43
|
+
|
|
44
|
+
The knowledge model's `source_path`/`source_location` fields reuse the same conventions as
|
|
45
|
+
`EVIDENCE_AND_PROVENANCE.md`; a fact is only as trustworthy as its evidence record.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Maintenance
|
|
2
|
+
|
|
3
|
+
## Routine maintenance
|
|
4
|
+
|
|
5
|
+
- Re-run `npm test` and `npm run validate` after any skill or script change.
|
|
6
|
+
- Keep `docs/SUPPORTED_FORMATS.md` and
|
|
7
|
+
`skills/project-documentation-discovery/references/format-matrix.md` in sync; update both together.
|
|
8
|
+
- Re-run `npm run release-audit` before any commit that touches `examples/` or `templates/`.
|
|
9
|
+
|
|
10
|
+
## Versioning
|
|
11
|
+
|
|
12
|
+
Semantic versioning (`MAJOR.MINOR.PATCH`):
|
|
13
|
+
- `MAJOR` — breaking change to a skill's inputs/outputs or the scoring/validation rules.
|
|
14
|
+
- `MINOR` — new skill, new reference, new non-breaking script capability.
|
|
15
|
+
- `PATCH` — documentation fixes, bug fixes with no interface change.
|
|
16
|
+
|
|
17
|
+
Record every change in `CHANGELOG.md`.
|
|
18
|
+
|
|
19
|
+
## Adding real format support (DOCX/PPTX/PDF)
|
|
20
|
+
|
|
21
|
+
1. Add the parser as an optional dependency (never a hard dependency).
|
|
22
|
+
2. Add a synthetic fixture under `tests/fixtures/`.
|
|
23
|
+
2. Add a test proving extraction actually works on that fixture.
|
|
24
|
+
4. Update `docs/SUPPORTED_FORMATS.md` and the skill's `references/format-matrix.md` to "Verified".
|
|
25
|
+
5. Do not claim support in any `SKILL.md` prose until steps 1-4 are done.
|
|
26
|
+
|
|
27
|
+
## Deprecating a skill
|
|
28
|
+
|
|
29
|
+
1. Mark it deprecated in its `SKILL.md` frontmatter metadata and in `docs/SKILL_CATALOG.md`.
|
|
30
|
+
2. Keep it for at least one minor version with a deprecation notice before removal.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Quick start
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
git clone <this-repo-url>
|
|
5
|
+
cd enterprise-project-intelligence
|
|
6
|
+
node scripts/cli.mjs list
|
|
7
|
+
node scripts/cli.mjs validate
|
|
8
|
+
npm test
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Analyze a project
|
|
12
|
+
|
|
13
|
+
1. Copy `templates/project-profile.example.yaml`, fill it in, and keep the filled copy **outside**
|
|
14
|
+
this repository (e.g., `~/private-work/my-project/project-profile.yaml`).
|
|
15
|
+
2. Run the documentation discovery skill (or its reference script directly for a quick inventory):
|
|
16
|
+
```bash
|
|
17
|
+
node scripts/cli.mjs inventory /path/to/project/docs --out ~/private-work/my-project/.local-knowledge
|
|
18
|
+
```
|
|
19
|
+
3. Point your AI agent at the `project-documentation-discovery` skill to build the full evidence
|
|
20
|
+
index, then at `software-reverse-engineering` and/or `project-knowledge-assistant`.
|
|
21
|
+
4. Run `enterprise-ai-integration-planner` to get an opportunity matrix, feasibility scores, and a
|
|
22
|
+
roadmap — all written to your private working directory, not this repository.
|
|
23
|
+
5. Optionally generate documentation (`technical-document-generator`) and a presentation
|
|
24
|
+
(`corporate-presentation-generator` + `presentation-compliance-validator`).
|
|
25
|
+
|
|
26
|
+
See `docs/USER_GUIDE.md` for the full workflow and `docs/SKILL_CATALOG.md` for a one-page skill
|
|
27
|
+
reference.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Security model
|
|
2
|
+
|
|
3
|
+
## Threat model summary
|
|
4
|
+
|
|
5
|
+
| Concern | Mitigation |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Confidential project data leaking into the public repo | Skills instructed to write project output outside the repo; `.gitignore`/`.npmignore`; `release-audit.mjs`. |
|
|
8
|
+
| Secrets embedded in ingested documents/config | `inventory.mjs` redacts secret-shaped strings before persisting to the evidence index. |
|
|
9
|
+
| Prompt injection via retrieved documents (RAG features the planner designs for *target* projects) | `enterprise-ai-integration-planner/references/security-patterns.md` requires treating retrieved/user content as untrusted data, never as instructions. |
|
|
10
|
+
| AI feature bypassing application permissions | Explicit rule: access-controlled retrieval must inherit existing permissions; agents must never self-authorize sensitive actions. |
|
|
11
|
+
| Irreversible autonomous actions | Human-approval requirement baked into the security-pattern checklist and the non-overridable blocker list in `feasibility-scoring.md`. |
|
|
12
|
+
| Overclaiming format support or AI accuracy | `SUPPORTED_FORMATS.md` "Verified means tested" policy; `enterprise-ai-integration-planner` anti-fabrication rules against inventing metrics. |
|
|
13
|
+
| Accidental publication of private findings | Nothing in this toolkit publishes/releases automatically; `npm run pack:dry-run` + manual review required before any real release. |
|
|
14
|
+
|
|
15
|
+
## release-audit.mjs scope and limitation
|
|
16
|
+
|
|
17
|
+
`scripts/release-audit.mjs` scans in-repo text files for:
|
|
18
|
+
- secret-shaped values (private key blocks, AWS-style access key IDs, bearer tokens, credentialed
|
|
19
|
+
connection strings, long high-entropy strings);
|
|
20
|
+
- local filesystem paths that look like a specific user's machine (`/Users/<name>/...`,
|
|
21
|
+
`/home/<name>/...`);
|
|
22
|
+
- a configurable, currently-empty list of private terms a consuming project can populate locally
|
|
23
|
+
(never shipped with any real private term).
|
|
24
|
+
|
|
25
|
+
It reports **file, line number, and category only** — it never prints the matched value. This is a
|
|
26
|
+
safeguard, not proof that a release is safe; human review of the dry-run package contents is always
|
|
27
|
+
required.
|
|
28
|
+
|
|
29
|
+
## Model/provider data flow
|
|
30
|
+
|
|
31
|
+
This toolkit does not call any model API itself. If a consuming AI agent uses a hosted model while
|
|
32
|
+
running these skills, the agent's own data-flow and provider documentation governs what data is
|
|
33
|
+
sent externally — this toolkit's skills only instruct the agent on *what* to do and *what rules to
|
|
34
|
+
follow*, including treating retrieved/untrusted content carefully and never fabricating facts.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Skill catalog
|
|
2
|
+
|
|
3
|
+
| Skill | Purpose | Key references/scripts |
|
|
4
|
+
|---|---|---|
|
|
5
|
+
| `project-documentation-discovery` | Inventory and ingest a project corpus; build evidence index | `references/format-matrix.md`, `scripts/inventory.mjs` |
|
|
6
|
+
| `project-knowledge-assistant` | Answer questions with citations from the evidence index | `references/citation-format.md`, `references/confidence-levels.md` |
|
|
7
|
+
| `software-reverse-engineering` | Reconstruct architecture/data model/workflows from evidence | `references/reconstruction-method.md`, `references/architecture-diagram-notation.md` |
|
|
8
|
+
| `enterprise-ai-integration-planner` | Discover, score, and plan AI integration opportunities (flagship skill) | `references/opportunity-catalog.md`, `references/feasibility-scoring.md`, `references/architecture-alternatives.md`, `references/security-patterns.md`, `references/adoption-roadmap.md`, `scripts/score-opportunity.mjs` |
|
|
9
|
+
| `corporate-presentation-generator` | Build evidence-backed decks against supplied/default guidelines | `references/default-style-guide.md`, `references/slide-content-patterns.md` |
|
|
10
|
+
| `presentation-compliance-validator` | Validate a deck against configurable rules, with specific findings | `references/rule-schema.md`, `scripts/validate-deck.mjs` |
|
|
11
|
+
| `technical-document-generator` | Render findings into Markdown/HTML (DOCX/PPTX only if verified) | `references/document-structure.md`, `scripts/render-markdown-to-html.mjs` |
|
|
12
|
+
| `documentation-quality-auditor` | Find contradictions, staleness, broken refs, unsupported claims | `references/audit-checks.md`, `scripts/audit-docs.mjs` |
|
|
13
|
+
| `software-change-impact-analyzer` | Trace likely effects of a proposed change | `references/impact-dimensions.md` |
|
|
14
|
+
| `engineering-knowledge-transfer` | Generate onboarding/runbook/handover/troubleshooting material | `references/learning-path-patterns.md` |
|
|
15
|
+
|
|
16
|
+
Run `node scripts/cli.mjs list` for a live, generated version of this table sourced directly from
|
|
17
|
+
each skill's frontmatter.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Supported formats
|
|
2
|
+
|
|
3
|
+
This is the repository-level summary. The authoritative, detailed matrix (kept in lockstep with the
|
|
4
|
+
reference extractor) lives at
|
|
5
|
+
`skills/project-documentation-discovery/references/format-matrix.md` — read that file for the full
|
|
6
|
+
rationale per format.
|
|
7
|
+
|
|
8
|
+
| Format | Status |
|
|
9
|
+
|---|---|
|
|
10
|
+
| Markdown | Verified |
|
|
11
|
+
| Plain text | Verified |
|
|
12
|
+
| JSON | Verified |
|
|
13
|
+
| YAML | Verified (subset) |
|
|
14
|
+
| CSV | Verified |
|
|
15
|
+
| HTML (headings/tables) | Verified (subset — no CSS/JS rendering) |
|
|
16
|
+
| Source code / config files | Verified (treated as text) |
|
|
17
|
+
| Images / screenshots | Catalogued only (no OCR); flagged for manual review |
|
|
18
|
+
| DOCX | Unsupported in the bundled reference implementation (requires an optional dependency) |
|
|
19
|
+
| PPTX | Unsupported in the bundled reference implementation (requires an optional dependency) |
|
|
20
|
+
| PDF | Unsupported in the bundled reference implementation (requires an optional dependency) |
|
|
21
|
+
| Keynote (.key) | Unsupported — export to PPTX/PDF first |
|
|
22
|
+
| Pages (.pages) | Unsupported — export to DOCX/PDF first |
|
|
23
|
+
|
|
24
|
+
**Policy**: a format is only ever reported "extracted" by a skill if an automated test in `tests/`
|
|
25
|
+
actually exercises it against a fixture. See `docs/TESTING_STRATEGY.md`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Testing strategy
|
|
2
|
+
|
|
3
|
+
## Layers tested
|
|
4
|
+
|
|
5
|
+
1. **Skill structure** — every `SKILL.md` has valid frontmatter (`name` matches folder,
|
|
6
|
+
lowercase-hyphen, unique; `description` present), recommended sections present, and every file
|
|
7
|
+
referenced in backticks (`references/...`, `scripts/...`) actually exists.
|
|
8
|
+
See `tests/skills.test.mjs`.
|
|
9
|
+
2. **Deterministic script behavior** — pure-function tests with synthetic fixtures:
|
|
10
|
+
- `tests/inventory.test.mjs` — format classification, extraction status honesty, evidence index
|
|
11
|
+
shape, secret redaction.
|
|
12
|
+
- `tests/feasibility-scoring.test.mjs` — the weighting formula and, critically, that a structural
|
|
13
|
+
blocker forces `recommendation: "blocked"` even when every score is maxed at 5.
|
|
14
|
+
- `tests/presentation-compliance.test.mjs` — required-section/bullet-count/footer/citation
|
|
15
|
+
violations are reported with specific findings, and `not-checkable-from-this-format` is
|
|
16
|
+
reported rather than a false pass when palette metadata is absent.
|
|
17
|
+
- `tests/markdown-render.test.mjs` — headings, lists, tables, and code fences render to
|
|
18
|
+
well-formed, tag-balanced HTML.
|
|
19
|
+
- `tests/release-audit.test.mjs` — a fixture containing a fake AWS-style key and a fake
|
|
20
|
+
`/Users/<name>/...` path is flagged, and the raw matched value is never present in the audit's
|
|
21
|
+
own console/JSON output (only file/line/category).
|
|
22
|
+
3. **Synthetic-example integrity** — `tests/synthetic-example.test.mjs` asserts the example corpus
|
|
23
|
+
contains none of a small set of known private-project terms (defense in depth; the authoring
|
|
24
|
+
process is the primary control).
|
|
25
|
+
|
|
26
|
+
## Running tests
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm test
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Uses Node's built-in `node:test` runner — no test framework dependency required.
|
|
33
|
+
|
|
34
|
+
## What is intentionally not automatically tested
|
|
35
|
+
|
|
36
|
+
- Semantic quality of model-generated prose (summaries, drafted documentation) — this depends on
|
|
37
|
+
whichever AI agent runs the skill, not on this repository's own code, and is called out in
|
|
38
|
+
`docs/EVALUATION_GUIDE.md` as requiring human/AI-assisted review rather than a unit test.
|
|
39
|
+
- Real DOCX/PPTX/PDF parsing — not implemented in the reference scripts; see
|
|
40
|
+
`docs/SUPPORTED_FORMATS.md`. Do not mark a format "Verified" without first adding both the parser
|
|
41
|
+
and a fixture-based test.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
## `node scripts/cli.mjs validate` reports an error
|
|
4
|
+
|
|
5
|
+
- "frontmatter missing 'name'/'description'" — check the `SKILL.md`'s YAML frontmatter block is a
|
|
6
|
+
valid `---`-delimited block at the very top of the file.
|
|
7
|
+
- "name does not match folder" — the frontmatter `name` must equal the containing directory name.
|
|
8
|
+
- "referenced file does not exist" — a backticked path like `` `references/foo.md` `` in the SKILL.md
|
|
9
|
+
body was not found relative to the skill directory; check for typos or a missing file.
|
|
10
|
+
|
|
11
|
+
## Discovery reports many files as `unsupported-format`
|
|
12
|
+
|
|
13
|
+
Expected for DOCX/PPTX/PDF/Keynote/Pages in the bundled reference implementation — see
|
|
14
|
+
`docs/SUPPORTED_FORMATS.md`. Export those files to a supported format (e.g., Keynote → PDF or PPTX)
|
|
15
|
+
or add a verified optional parser before re-running.
|
|
16
|
+
|
|
17
|
+
## Feasibility score seems to ignore a known serious risk
|
|
18
|
+
|
|
19
|
+
That's intentional if the risk maps to a `blocker:*` value — see
|
|
20
|
+
`skills/enterprise-ai-integration-planner/references/feasibility-scoring.md`. Blockers force the
|
|
21
|
+
recommendation to `blocked`/`rework-required` regardless of the weighted score. If a real risk isn't
|
|
22
|
+
being caught, it's likely not yet mapped to one of the known blocker IDs — add it to the scoring call
|
|
23
|
+
explicitly rather than expecting the scores alone to catch it.
|
|
24
|
+
|
|
25
|
+
## Presentation validator says a rule is "not-checkable-from-this-format"
|
|
26
|
+
|
|
27
|
+
The deck representation you passed in does not expose that property (e.g., no `palette` object).
|
|
28
|
+
This is intentional — the validator refuses to guess a pass/fail for data it cannot see. Supply a
|
|
29
|
+
richer deck representation (or check that property manually) if you need it enforced.
|
|
30
|
+
|
|
31
|
+
## `npm run release-audit` flags something in a file I believe is safe
|
|
32
|
+
|
|
33
|
+
The scanner is pattern-based and conservative on purpose (e.g., any 40+ character base64-looking
|
|
34
|
+
string is flagged). Review the specific line, redact or restructure if it is genuinely sensitive, or
|
|
35
|
+
accept the false positive — the script errs toward over-flagging rather than under-flagging.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# User guide
|
|
2
|
+
|
|
3
|
+
## End-to-end workflow
|
|
4
|
+
|
|
5
|
+
1. **Discover** — `project-documentation-discovery` builds `inventory.json` and
|
|
6
|
+
`evidence-index.json` for the target project's corpus.
|
|
7
|
+
2. **Reverse-engineer** (optional but recommended when code is available) —
|
|
8
|
+
`software-reverse-engineering` reconstructs architecture/data model/workflows, reconciling code
|
|
9
|
+
against documentation.
|
|
10
|
+
3. **Ask questions** — `project-knowledge-assistant` answers questions with citations using the
|
|
11
|
+
evidence from steps 1-2.
|
|
12
|
+
4. **Plan AI integration** — `enterprise-ai-integration-planner` discovers opportunities, scores
|
|
13
|
+
feasibility, designs architecture/security patterns, and produces an adoption roadmap.
|
|
14
|
+
5. **Document** — `technical-document-generator` renders findings into consistent artifacts.
|
|
15
|
+
6. **Present** — `corporate-presentation-generator` builds a deck from the same evidence, validated
|
|
16
|
+
by `presentation-compliance-validator` against your own (or the neutral default) style guide.
|
|
17
|
+
7. **Maintain** — `documentation-quality-auditor` finds contradictions/staleness/broken references;
|
|
18
|
+
`software-change-impact-analyzer` scopes a proposed change; `engineering-knowledge-transfer`
|
|
19
|
+
produces onboarding/runbook material from the same evidence base.
|
|
20
|
+
|
|
21
|
+
## Where private output goes
|
|
22
|
+
|
|
23
|
+
Every skill that produces project-specific findings writes to a private working directory the user
|
|
24
|
+
chooses (commonly `.local-knowledge/<project-id>/`), never into this repository's `skills/`,
|
|
25
|
+
`templates/`, or `examples/` directories. Only the blank templates and the fully synthetic example
|
|
26
|
+
live in the public repository.
|
|
27
|
+
|
|
28
|
+
## Who answers which question
|
|
29
|
+
|
|
30
|
+
| Question | Skill |
|
|
31
|
+
|---|---|
|
|
32
|
+
| "What files/formats do we have and how complete is extraction?" | `project-documentation-discovery` |
|
|
33
|
+
| "How does the system actually work / what's the architecture?" | `software-reverse-engineering` |
|
|
34
|
+
| "What does the documentation say about X, with sources?" | `project-knowledge-assistant` |
|
|
35
|
+
| "Where could AI help, and is it actually a good idea?" | `enterprise-ai-integration-planner` |
|
|
36
|
+
| "Write this up as a formal document" | `technical-document-generator` |
|
|
37
|
+
| "Build a slide deck for this" | `corporate-presentation-generator` |
|
|
38
|
+
| "Does this deck follow our guidelines?" | `presentation-compliance-validator` |
|
|
39
|
+
| "Is our documentation accurate/consistent/current?" | `documentation-quality-auditor` |
|
|
40
|
+
| "What breaks if we change X?" | `software-change-impact-analyzer` |
|
|
41
|
+
| "Help a new engineer/operator get up to speed" | `engineering-knowledge-transfer` |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# AI Opportunity Matrix — Synthetic Inventory Platform (fictional demonstration)
|
|
2
|
+
|
|
3
|
+
> Entirely fictional. Demonstrates the output shape of `enterprise-ai-integration-planner`.
|
|
4
|
+
> Scores below are illustrative, not measured; a real engagement must populate feasibility inputs
|
|
5
|
+
> from real evidence and run `scripts/score-opportunity.mjs` to get a reproducible result.
|
|
6
|
+
|
|
7
|
+
## OPP-001 — Packing-slip extraction assistance
|
|
8
|
+
|
|
9
|
+
| Field | Value |
|
|
10
|
+
|---|---|
|
|
11
|
+
| Target module / workflow | Receiving |
|
|
12
|
+
| Current behavior | Associate manually re-keys packing-slip quantities into the Receiving screen [source: receiving-workflow.md#2-steps]. |
|
|
13
|
+
| User problem | Manual re-keying causes typos and stock mismatches [source: overview.md#3-known-pain-points-fictional-for-demonstration-only]. |
|
|
14
|
+
| Proposed capability | Extract line-item quantities from a scanned/photographed packing slip and pre-fill the Receiving form for associate confirmation. |
|
|
15
|
+
| Proposed integration point | New "suggested receipt" step before the existing manual-entry step; associate still confirms/edits before submission. |
|
|
16
|
+
| Required data | Scanned packing slip images; existing PO line items for cross-checking. |
|
|
17
|
+
| Data availability | Not yet collected in a labeled form (fictional project — would need confirmation in a real engagement). |
|
|
18
|
+
| AI technique | Extraction/classification (document extraction with human confirmation). |
|
|
19
|
+
| Non-AI alternative | A structured supplier EDI/CSV import, if suppliers can provide one — likely lower risk and should be evaluated first. |
|
|
20
|
+
| Expected business value | Reduced data-entry time and fewer stock mismatches — targets to be validated in a pilot, not assumed. |
|
|
21
|
+
| Feasibility scores | businessValue 4, dataReadiness 2, integrationFeasibility 4, technicalMaturity 4, securityReadiness 4, evaluationFeasibility 3, maintainability 3, costEfficiency 3 (illustrative). |
|
|
22
|
+
| Non-overridable blockers | None identified at this illustrative stage. |
|
|
23
|
+
| Weighted score / recommendation | See `scripts/score-opportunity.mjs` output below. |
|
|
24
|
+
| Confidence | low (fictional project; no real data reviewed) |
|
|
25
|
+
| Source evidence | `receiving-workflow.md#2-steps`, `overview.md#3-known-pain-points-fictional-for-demonstration-only` |
|
|
26
|
+
|
|
27
|
+
### Reproducible score for OPP-001
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
node skills/enterprise-ai-integration-planner/scripts/score-opportunity.mjs \
|
|
31
|
+
'{"businessValue":4,"dataReadiness":2,"integrationFeasibility":4,"technicalMaturity":4,"securityReadiness":4,"evaluationFeasibility":3,"maintainability":3,"costEfficiency":3,"blockers":[]}'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## OPP-002 — Automated reorder alerting (non-AI baseline opportunity)
|
|
35
|
+
|
|
36
|
+
| Field | Value |
|
|
37
|
+
|---|---|
|
|
38
|
+
| Target module / workflow | Reporting |
|
|
39
|
+
| Current behavior | A staff member reads a weekly CSV report to decide on reorders [source: overview.md#3-known-pain-points-fictional-for-demonstration-only]. |
|
|
40
|
+
| User problem | Delay between stock dropping below reorder point and a human noticing it. |
|
|
41
|
+
| Proposed capability | Deterministic rule: alert when `current_quantity < reorder_point` (see `sample-catalog.csv`). |
|
|
42
|
+
| Non-AI alternative | **This is the recommended solution.** A scheduled job comparing quantity to reorder point is a complete, lower-risk fit — no AI technique is needed here. |
|
|
43
|
+
| AI technique | None recommended; included to demonstrate that this skill does not default to AI. |
|
|
44
|
+
| Recommendation | Use conventional automation (`non-AI alternative` column), not an AI feature. |
|
|
45
|
+
| Source evidence | `overview.md#3-known-pain-points-fictional-for-demonstration-only`, `sample-catalog.csv#table` |
|
|
46
|
+
|
|
47
|
+
## OPP-003 — Change-history explanation for Purchase Orders
|
|
48
|
+
|
|
49
|
+
| Field | Value |
|
|
50
|
+
|---|---|
|
|
51
|
+
| Target module / workflow | Purchase Orders |
|
|
52
|
+
| Current behavior | Support staff search old email threads to answer "why was this PO changed" [source: overview.md#3-known-pain-points-fictional-for-demonstration-only]. |
|
|
53
|
+
| Proposed capability | A RAG-style assistant over structured PO change logs (once such logs exist) producing cited explanations. |
|
|
54
|
+
| Non-AI alternative | First, simply start recording structured change history (who/when/what/why) on every PO edit — this alone may resolve most of the problem without any AI component. |
|
|
55
|
+
| AI technique | Retrieval-augmented generation, recommended only after structured change history exists. |
|
|
56
|
+
| Non-overridable blockers | `blocker:no-access-control-on-retrieval` — until change-log access control matches PO-level permissions, a retrieval assistant must not be built. |
|
|
57
|
+
| Recommendation | `rework-required` — build structured change history and access-controlled retrieval first. |
|
|
58
|
+
| Source evidence | `overview.md#3-known-pain-points-fictional-for-demonstration-only` |
|
|
59
|
+
|
|
60
|
+
### Reproducible score for OPP-003 (showing the blocker rule)
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
node skills/enterprise-ai-integration-planner/scripts/score-opportunity.mjs \
|
|
64
|
+
'{"businessValue":4,"dataReadiness":1,"integrationFeasibility":3,"technicalMaturity":4,"securityReadiness":2,"evaluationFeasibility":3,"maintainability":3,"costEfficiency":3,"blockers":["blocker:no-access-control-on-retrieval"]}'
|
|
65
|
+
```
|